In een eerdere blog post, sprak Rahul over audio codecs en transcoding, waarvan sommige audio “comprimeren” om opslagruimte te besparen. Maar wat doen deze audio codecs precies in termen van compressie, en wat bepaalt de kwaliteit van een audiobestand in de eerste plaats?
Wanneer het aankomt op audioverwerking, is er veel terminologie die de meeste mensen al eerder hebben gehoord, maar niet echt begrijpen. Ik was vroeger een van die mensen voordat ik met audio processing te maken kreeg. Daarom wil ik een aantal van deze termen bespreken, beschrijven wat ze zijn, en laten zien wat ze betekenen voor de kwaliteit van een audio opname of stream. Voor de rest van dit bericht gaan we ervan uit dat we te maken hebben met slechts één kanaal van ongecomprimeerde audio.
(1) Sampling Rate / Sampling Frequency
De eerste term waar we vaak over horen is de sampling rate of sampling frequentie, die beide naar hetzelfde verwijzen. Enkele van de waarden die u misschien bent tegengekomen zijn 8kHz, 44.1kHz, en 48kHz. Wat is precies de bemonsteringsfrequentie van een audiobestand?
De bemonsteringsfrequentie verwijst naar het aantal bemonsteringen van audio dat elke seconde wordt opgenomen. Het wordt gemeten in samples per seconde of Hertz (afgekort als Hz of kHz, waarbij één kHz 1000 Hz is). Een audiomonster is gewoon een getal dat de gemeten akoestische golfwaarde op een specifiek tijdstip weergeeft. Het is zeer belangrijk op te merken dat deze samples worden genomen op gelijke tijdstippen in een seconde. Bijvoorbeeld, als de bemonsteringsfrequentie 8000 Hz is, is het niet voldoende dat er 8000 monsters worden genomen gedurende een seconde; zij moeten worden genomen met een tussenpoos van precies 1/8000 van een seconde. Het getal 1/8000 wordt in dit geval het bemonsteringsinterval genoemd (gemeten in seconden), en de bemonsteringsfrequentie is eenvoudigweg het vermenigvuldigende inverse daarvan.
De bemonsteringsfrequentie is analoog aan de meting van de beeldsnelheid of FPS (frames per seconde) voor video’s. Een video is eenvoudigweg een reeks beelden, in deze context meestal “frames” genoemd, die zeer snel achter elkaar worden weergegeven om de illusie te wekken (althans voor ons mensen) van continue niet-onderbroken beweging of beweging.
Hoewel de audio sampling rate en de video frame rate vergelijkbaar zijn, is het gebruikelijke numerieke minimum voor gegarandeerde bruikbaarheid bij elk van beide zeer verschillend. Voor video is een minimum van 24 beelden per seconde vereist om te garanderen dat de beweging nauwkeurig wordt weergegeven; minder dan dat, en de beweging zou haperig kunnen lijken, en de illusie van ononderbroken niet-onderbroken beweging kan niet worden gehandhaafd. Dit geldt vooral naarmate er meer beweging is tussen de frames. Bovendien kunnen in een video met 1 of 2 beelden per seconde “split-second”-gebeurtenissen voorkomen die gegarandeerd tussen de beelden worden gemist.
Voor audio is het minimumaantal samples per seconde om Engelse spraak ondubbelzinnig weer te geven 8000 Hz. Gebruik van minder dan dat zou resulteren in spraak die mogelijk niet begrijpelijk is door een verscheidenheid van redenen, een daarvan is hoe gelijksoortige uitingen niet van elkaar te onderscheiden zullen zijn. Lagere bemonsteringsfrequenties verwarren fonemen, of klanken in een taal, die een aanzienlijke hoogfrequente energie hebben; met 5000 Hz is het bijvoorbeeld moeilijk om /s/ van /sh/ of /f/ te onderscheiden.
Nadat we het over videoframes hadden, is een andere term die de moeite waard is om nader toe te lichten, die van audioframes. Hoewel audiosamples en audioframes beide worden gemeten in Hertz, zijn ze niet hetzelfde. Een audioframe is de groep audiosamples voor een bepaald tijdsinterval die afkomstig zijn van een of meer audiokanalen.
De meest gebruikelijke waarden voor de bemonsteringsfrequentie zijn de eerder genoemde 8kHz (meest gebruikelijk voor telefooncommunicatie), 44,1kHz (meest gebruikelijk voor muziek-CD’s), en 48kHz (meest gebruikelijk voor audiotracks in films). Lagere bemonsteringsfrequenties betekenen minder samples per seconde, wat op zijn beurt minder audiogegevens betekent, aangezien er een kleiner aantal samplepunten is om de audio weer te geven. De bemonsteringsfrequentie wordt voor een bepaalde toepassing gekozen afhankelijk van de akoestische artefacten die moeten worden vastgelegd. Sommige akoestische artefacten zoals spraakuitingen vereisen een lagere bemonsteringsfrequentie dan een akoestisch artefact zoals een muziekdeuntje op een muziek-CD. Het is belangrijk op te merken dat hogere bemonsteringsfrequenties meer opslagruimte en rekenkracht vergen, hoewel dit nu wellicht niet meer zo’n probleem is als vroeger, toen digitale opslag en rekenkracht van primair belang waren.
(2) Sample Depth / Sample Precision / Sample Size
Naast de bemonsteringsfrequentie, die aangeeft hoeveel datapunten van audio we hebben, is er ook nog de sample diepte. Gemeten in bits per sample, is de sample diepte (ook bekend als sample precisie of sample grootte), de tweede belangrijke eigenschap van een audio bestand of stream, en het vertegenwoordigt het niveau van detail, of “kwaliteit” dat elk sample heeft. Zoals we hierboven al zeiden, is elk audio sample slechts een getal, en hoewel het hebben van veel getallen nuttig is om audio weer te geven, moet ook het bereik of de “kwaliteit” van elk individueel getal groot genoeg zijn om elk sample of datapunt accuraat weer te geven.
Wat betekent “kwaliteit”? Voor een audiomonster betekent het eenvoudig dat het audiomonster een groter bereik van amplitudes kan weergeven. Een samplediepte van 8 bits betekent dat we 2^8 = 256 verschillende amplitudes hebben die elk audiomonster kan weergeven, en een samplediepte van 16 bits betekent dat we 2^16 = 65.536 verschillende amplitudes hebben die een audiomonster kan weergeven, enzovoort voor hogere sampledieptes. De meest voorkomende sampledieptes voor telefonie-audio zijn 16 bits en 32 bits. Hoe meer verschillende amplitudes een digitale opname heeft, hoe dichter de digitale opname klinkt bij de oorspronkelijke akoestische gebeurtenis.
Opnieuw is dit analoog aan de 8bit of 16bit getallen waarover we kunnen horen met betrekking tot beeldkwaliteit. Voor afbeeldingen of video’s heeft elke pixel in een afbeelding of een videoframe ook een aantal bits om de kleur weer te geven. Een grotere bitdiepte in een pixel geeft een pixel die nauwkeuriger is qua kleur, aangezien de pixel meer bits heeft om de kleur te “beschrijven” die op een scherm moet worden weergegeven, en de pixel of afbeelding er in het algemeen realistischer zou uitzien dan hoe men het in het echt zou zien. Meer technisch gesproken geeft de bitdiepte van een pixel aan hoeveel verschillende kleuren in de pixel kunnen worden weergegeven. Als je toestaat dat R, G en B elk worden weergegeven door een getal van 8 bits, dan wordt elke pixel weergegeven door 3 x 8 = 24 bits. Dit betekent dat er 2^24 ~ 17 miljoen verschillende kleuren zijn die door die pixel kunnen worden weergegeven.
(3) Bitsnelheid
Het verbinden van de bemonsteringsfrequentie en de bemonsteringsdiepte is de bitsnelheid, die eenvoudig het product van beide is. Aangezien de bemonsteringsfrequentie wordt gemeten in monsters per seconde en de bemonsteringsdiepte wordt gemeten in bits per monster, wordt deze dus gemeten in (monsters per seconde) x (bits per monster) = bits per seconde, afgekort als bps of kbps. Omdat de samplediepte en de bitsnelheid aan elkaar verwant zijn, worden ze vaak, maar ten onrechte, door elkaar gebruikt.
De bitsnelheid in audio varieert naar gelang van de toepassing. Toepassingen die een hoge geluidskwaliteit vereisen, zoals muziek, hebben meestal een hogere bitsnelheid die een hogere kwaliteit, of “scherper” geluid oplevert. Telefonie-audio, inclusief die van callcenters, heeft geen hoge bitsnelheid nodig, en dus is de bitsnelheid voor een gewoon telefoongesprek gewoonlijk veel lager dan die van een muziek-CD. Voor zowel de bemonsteringsfrequentie als de bitsnelheid geldt dat lagere waarden (letterlijk) slechter kunnen klinken, maar ook hier geldt weer dat, afhankelijk van de toepassing, lagere waarden opslagruimte en/of rekenkracht besparen.
Al met al, wat betekent compressie nu eigenlijk, als het om audio gaat? Gecomprimeerde audioformaten, zoals AAC of MP3 hebben een bit rate die een kleiner getal is dan het werkelijke product van de bemonsteringsfrequentie en de bemonsteringsdiepte. De formaten bereiken dit door informatie “chirurgisch” te verwijderen uit de bitstream op perceptuele gronden, wat betekent dat — in dynamische contexten — die frequenties of amplitudes die om biologische redenen niet door het menselijk oor worden gehoord, niet worden opgeslagen, wat leidt tot een algehele kleinere bestandsgrootte.
Credits to Kornel Laskowski, Voci’s Chief Scientist, voor het beoordelen van de technische details van dit artikel.