Wat is een codec?
Hoe die audiodata compacter maken? Een sleutelrol is daarbij weggelegd voor de zogenaamde codec die gebruikt wordt. Zeg maar: de manier hoe de audiodata verpakt en kleiner wordt gemaakt. De audiodata waar we het over hebben kan muziek zijn, maar ook het geluid van een game of de soundtrack van een streaming video. De Bluetooth-zender (je smartphone, tablet of ander toestel) zal de audiostream terwijl het afspeelt met deze codec comprimeren. Deze compactere stream gaat dan naar de ontvanger. Wellicht is dat een Bluetooth-hoofdtelefoon, maar het kan ook een Bluetooth-speaker zijn of een ontvanger die gekoppeld is aan de ingang van een muzieksysteem.
Een codec is met andere woorden een algoritme dat de audiodata comprimeert. Je kent het ook van digitale muziekbestanden. MP3’s of FLAC’s bijvoorbeeld, worden gecreëerd met een encoder die een bepaalde codec toepast. Er bestaan ook codecs voor video, zoals H.265. Een codec moet aanwezig zijn in de zender (die de audiodata verpakt) en de ontvanger (die de gecomprimeerde data weer omzet naar audiodata die afgespeeld kan worden). Een smartphone en een hoofdtelefoon moeten dus beiden dezelfde codecs ondersteunen om een bepaalde codec te gebruiken.
Er bestaan best wel wat audiocodecs. Deels omdat er verschillende manieren zijn om data te comprimeren, deels omdat sommige codec-algoritmes eigendom zijn van een bepaalde organisatie. Ze gebruiken kost een hardwarefabrikant geld, in de vorm van licentiekosten. Dat is bijvoorbeeld het geval bij MP3. Nog een reden waarom er doorheen de tijd nieuwe codecs ontwikkeld werden: batterijleven. Het afspelen van een gecomprimeerde audiostream verbruikt namelijk stroom. Een complexer algoritme zal dus het batterijleven van een Bluetooth-hoofdtelefoon inkorten. Er zijn codecs die hiervoor geoptimaliseerd zijn.
Een belangrijk verschil tussen codecs zit in hoever ze willen gaan om audiodata compacter te maken. Sommige codecs, zoals AAC of MP3, gooien een deel van de audiodata weg. Een destructieve of lossy aanpak, die echter niet lukraak frequenties elimineert. Deze algoritmes hanteren een bepaald psycho-akoestisch model over wat we als mens zeker horen en wellicht niet. Alle data weggooien boven 18 kHz bijvoorbeeld, kan bijvoorbeeld acceptabel zijn omdat nagenoeg niemand voorbij zijn kinderjaren deze tonen echt goed hoort. Extreem diepe bassen zijn dan weer moeilijk weer te geven op een hoofdtelefoon, dus ook die kunnen theoretisch weggegooid worden. De frequenties tussen 2 en 5 kHz moeten dan weer echt met respect behandeld worden. Die horen we namelijk het best. En zo zijn er nog aannames die gehanteerd kunnen worden om een muziekbestand of audiostream lichter te maken. Sommige codecs zijn gebaseerd op algoritmes uit de jaren tachtig en negentig, die op hun beurt ook op oudere inzichten over ons gehoor gebaseerd zijn.
Bij het omzetten van audio met een lossy codec kun je aangeven hoe destructief ze zijn. Dat doe je door te kiezen voor een bepaalde bitrate van het eindresultaat. Een lage bitrate levert een kleiner bestand op of een stream die minder bandbreedte nodig heeft. De geluidskwaliteit boet dan wel in.
Er zijn echter ook codecs die lossless zijn. Zij verkleinen audiodata enkel door wiskundige bewerkingen. Een beetje simplistisch gesteld: stel dat er in een lied een seconde absolute stilte is. In plaats van je data dan uit heel veel nullen te laten bestaan, gebruik je een functie die iets stelt als ‘1 seconde lang 0’. Zo krijg je een kleiner bestand (of een stroom die minder bandbreedte nodig heeft) die echter uitgepakt kan worden tot audiodata die niet verschilt van het origineel. Vandaar lossless: zonder verlies.
Reacties (0)