Codering of eigenlijk broncodering is het proces waarbij een meestal analoog signaal, bij een bepaalde kwaliteitsdoelstelling, wordt omgezet in een zo klein mogelijke bitstroom. Bij broncodering gaat in principe informatie verloren. Een goede codering wordt zodanig uitgevoerd dat de weggelaten informatie in grote mate redundant of irrelevant is omdat een mens dergelijke informatie toch niet kan waarnemen. Een goede broncodering maakt dan ook gebruik van bepaalde eigenschappen van de bron en/of de waarnemer.
Voor deze datareductie zijn een groot aantal algoritmen ontwikkeld. Naast enkele algemene reductiemethoden zijn er vele methoden die specifiek voor spraak, audio, grafische beelden of video zijn geoptimaliseerd.