Egy korábbi blogbejegyzésben Rahul beszélt a hangkódexekről és az átkódolásról, amelyek közül néhány a tárhely megtakarítása érdekében “tömöríti” a hangot. De pontosan mit is csinálnak ezek a hangkódexek a tömörítés szempontjából, és egyáltalán mi határozza meg egy hangfájl minőségét?
A hangfeldolgozással kapcsolatban rengeteg olyan terminológia létezik, amelyet a legtöbb ember már hallott, de nem igazán ért. Én is ilyen ember voltam, mielőtt hangfeldolgozással kellett foglalkoznom. Ezért szerettem volna beszélni néhány ilyen kifejezésről, leírni, hogy mik ezek, és bemutatni, hogy mit jelentenek egy hangfelvétel vagy -folyam minősége szempontjából. A bejegyzés további részében feltételezzük, hogy csak egy csatornás tömörítetlen hanggal van dolgunk.
(1) Mintavételi ráta / mintavételi frekvencia
Az első kifejezés, amiről gyakran hallunk, a mintavételi ráta vagy a mintavételi frekvencia, amelyek mindketten ugyanazt a dolgot jelentik. Néhány érték, amivel már találkozhattál: 8kHz, 44.1kHz és 48kHz. Mi pontosan egy hangfájl mintavételi frekvenciája?
A mintavételi frekvencia a másodpercenként rögzített hangminták számára utal. Ezt másodpercenkénti mintákban vagy hertzben mérik (rövidítve Hz vagy kHz, egy kHz 1000 Hz-nek felel meg). Egy hangminta csak egy szám, amely a mért akusztikus hullámértéket képviseli egy adott időpontban. Nagyon fontos megjegyezni, hogy ezeket a mintákat a másodperc időben azonos időpontokban veszik. Ha például a mintavételi frekvencia 8000 Hz, akkor nem elég, ha egy másodperc alatt 8000 mintát veszünk; ezeket pontosan 1/8000 másodpercenként kell venni. Az 1/8000-es számot ebben az esetben mintavételi intervallumnak neveznénk (másodpercben mérve), a mintavételi ráta pedig egyszerűen ennek szorzatos inverze.
A mintavételi ráta analóg a videóknál használt képkockasebesség vagy FPS (képkocka/másodperc) mérésével. A videó egyszerűen képek sorozata, amelyeket ebben az összefüggésben általában “képkockáknak” neveznek, és amelyeket nagyon gyorsan egymás után jelenítenek meg, hogy (legalábbis számunkra, emberek számára) a folyamatos, megszakítás nélküli mozgás vagy mozgás illúzióját keltsék.
Míg a hangmintavételezési sebesség és a videó képkockasebesség hasonló, a garantált használhatóság szokásos numerikus minimuma mindkettőnél nagyon eltérő. A videó esetében legalább 24 képkocka/másodperc szükséges a mozgás pontos ábrázolásának garantálásához; ennél kevesebb, és a mozgás szaggatottnak tűnhet, és a folyamatos, megszakítás nélküli mozgás illúziója nem tartható fenn. Ez különösen igaz, minél több mozgás történik a képkockák között. Ráadásul egy másodpercenként 1-2 képkockás videónál előfordulhatnak olyan “másodperc töredék” események, amelyek garantáltan kimaradnak a képkockák között.
A hang esetében az angol beszéd egyértelmű ábrázolásához szükséges másodpercenkénti mintavételek minimális száma 8000 Hz. Ennél kevesebbet használva olyan beszédet kapnánk, amely számos okból nem biztos, hogy érthető lenne, többek között azért, mert a hasonló megszólalások nem lesznek megkülönböztethetők egymástól. Az alacsonyabb mintavételi frekvenciák összezavarják a fonémákat, vagyis azokat a hangokat egy nyelvben, amelyek jelentős magas frekvenciájú energiával rendelkeznek; például 5000 Hz esetén nehéz megkülönböztetni az /s/-t az /sh/-től vagy az /f/-től.
Miözben a videókereteket említettük, egy másik kifejezés, amelyet érdemes részletezni, a hangkeretek fogalma. Bár a hangmintákat és a hangkockákat is hertzben mérik, ezek nem ugyanazok. Egy hangkocka egy időpillanatra vonatkozó hangminták csoportja, amelyek egy vagy több hangcsatornáról származnak.
A mintavételi frekvencia leggyakoribb értékei a már említett 8 kHz (a telefonos kommunikációban a leggyakoribb), 44,1 kHz (a zenei CD-knél a leggyakoribb) és 48 kHz (a filmekben használt hangsávoknál a leggyakoribb). Az alacsonyabb mintavételi frekvenciák másodpercenként kevesebb mintát jelentenek, ami viszont kevesebb hangadatot jelent, mivel a hangot kevesebb mintavételi pontból kell ábrázolni. A mintavételi sebességet egy adott alkalmazáshoz attól függően választják ki, hogy milyen akusztikai leleteket kell rögzíteni. Egyes akusztikai műtárgyak, például a beszédhangok alacsonyabb mintavételi sebességet igényelnek, mint az olyan akusztikai műtárgyak, mint például egy zenei CD-n található zenei dallam. Fontos megjegyezni, hogy a magasabb mintavételi sebességek nagyobb tárhelyet és feldolgozási teljesítményt igényelnek, bár ez ma már talán nem olyan nagy probléma, mint a régi időkben, amikor a digitális tárolás és a feldolgozási teljesítmény volt az elsődleges szempont.
(2) Mintavételi mélység / Mintavételi pontosság / Mintavételi méret
A mintavételi sebességen kívül, ami azt jelenti, hogy hány adatpontnyi audióval rendelkezünk, létezik a mintavételi mélység is. A mintánként bitben mérve a mintamélység (más néven mintaprecizitás vagy mintaméret) a hangfájl vagy -folyam második fontos tulajdonsága, és azt mutatja meg, hogy az egyes minták milyen részletességgel vagy “minőséggel” rendelkeznek. Ahogy fentebb említettük, minden egyes hangminta csak egy szám, és bár a sok szám hasznos a hang reprezentálásához, az egyes számok tartományának vagy “minőségének” is elég nagynak kell lennie ahhoz, hogy minden egyes mintát vagy adatpontot pontosan reprezentáljon.
Mit jelent a “minőség”? Egy hangminta esetében egyszerűen azt jelenti, hogy a hangminta nagyobb amplitúdótartományt tud reprezentálni. A 8 bites mintavételi mélység azt jelenti, hogy 2^8 = 256 különböző amplitúdót képviselhet egy hangminta, a 16 bites mintavételi mélység pedig azt jelenti, hogy 2^16 = 65 536 különböző amplitúdót képviselhet egy hangminta, és így tovább a nagyobb mintavételi mélységeknél. A telefonos hangok esetében a leggyakoribb mintavételi mélységek a 16 és a 32 bit. Minél több különböző amplitúdó van egy digitális felvételben, annál közelebb áll a digitális felvétel az eredeti akusztikai eseményhez.
Ez ismét analóg a 8 bites vagy 16 bites számokkal, amelyekről a képminőséggel kapcsolatban hallhatunk. Képek vagy videók esetében egy kép vagy videóképkocka minden egyes képpontja szintén rendelkezik a színeket ábrázoló bitek számával. Ha egy pixelben nagyobb a bitmélység, akkor a pixel színhűbb lesz, mivel a pixel több bitet tartalmaz a képernyőn megjelenítendő szín “leírására”, és a pixel vagy a kép összességében valósághűbben néz ki, mint ahogyan azt a való életben látnánk. Technikailag a pixel bitmélysége azt jelzi, hogy hány különböző színt lehet ábrázolni a pixelben. Ha megengedjük, hogy az R, G és B színek mindegyikét 8 bites számmal ábrázoljuk, akkor minden egyes pixel 3 x 8 = 24 bitből áll. Ez azt jelenti, hogy 2^24 ~ 17 millió különböző színt reprezentálhat az adott képpont.
(3) Bitráta
A mintavételi sebességet és a mintavételi mélységet összekötve a bitráta, amely egyszerűen a kettő szorzata. Mivel a mintavételezési sebességet másodpercenkénti mintákban, a mintamélységet pedig mintánként bitekben mérik, ezért (másodpercenkénti minták) x (mintánként bit) = másodpercenkénti bitekben mérik, rövidítve bps vagy kbps. Érdemes megjegyezni, hogy mivel a mintamélység és a bitsebesség összefügg, gyakran, de tévesen felváltva használják őket.
A bitsebesség az audióban az alkalmazástól függően változik. A magas hangminőséget igénylő alkalmazások, mint például a zene, általában magasabb bitsebességet alkalmaznak, ami jobb minőségű vagy “élesebb” hangot eredményez. A telefonos hang, beleértve a telefonközpontok hangját is, nem igényel magas bitrátát, ezért egy közönséges telefonhívás bitrátája általában sokkal alacsonyabb, mint egy zenei CD-é. Akár a mintavételi sebesség, akár a bitsebesség esetében az alacsonyabb értékek (szó szerint) rosszabbul hangzanak, de ismét az alkalmazástól függően az alacsonyabb értékek tárhelyet és/vagy feldolgozási teljesítményt takarítanak meg.
Mindent egybevetve, mit is jelent valójában a tömörítés, amikor a hangról van szó? A tömörített audioformátumok, mint például az AAC vagy az MP3 olyan bitsebességgel rendelkeznek, amely valamilyen kisebb szám, mint a mintavételi sebesség és a mintavételi mélység valódi szorzata. A formátumok ezt úgy érik el, hogy érzékelési okokból “sebészi úton” eltávolítják az információt a bitfolyamból, ami azt jelenti, hogy — dinamikus kontextusban — azokat a frekvenciákat vagy amplitúdókat, amelyeket az emberi fül biológiai okokból nem hall, nem tárolják, ami összességében kisebb fájlméretet eredményez.
Az elismerés Laskowski Kornelnek, a Voci vezető tudósának jár, aki átnézte a cikk technikai részleteit.