MP3 zní skvěle!

1. 1. 1999

Sdílet

Kvalitní zvuk býval ve světě PC spíše popelkou, než se na Internetu objevilymalé zvukové soubory a v nich skvěle znějící nahrávky. Konečně technologie, kterou vyvinuli profesionálov...

Kvalitní zvuk býval ve světě PC spíše popelkou, než se na Internetu objevily
malé zvukové soubory a v nich skvěle znějící nahrávky. Konečně technologie,

kterou vyvinuli profesionálové! Její principy jsou základem většiny moderních

kompresních standardů typu RealAudio. Pojďte si o ní přečíst něco víc.

Kde se vzal, tu se vzal, objevil se…

Není pravda, že počítače umějí jenom Ame-ričané, Japonci a Rusové. Evropa dala

počítačům teoretické základy, vyrobila domácí ZX Spectrum, fanouškovský

operační systém Linux a právě kompresi MP3. Posledně zmíněná vznikla v rámci

profesionálního projektu digitálního rozhlasu EUREKA EU147, známějšího spíše

jako Digital Audio Broadcasting, již v roce 1987 (!) v rámci spolupráce Ústavu

integrovaných obvodů akciové společnosti Fraunhofer s Erlangenskou univerzitou

v Německu (i když při pročítání seznamu spolupracovníků zjistíte, že i Asiaté

se zde dosti vydováděli).

Vzniklá komprese byla akceptována jako dostatečně kvalitní algoritmus pro

kompresi zvuku organizací Motion Picture Experts Group (MPEG), která pracuje

pod záštitou ISO a IEC. Tato organizace se již předtím zabývala jinými

podobnými algoritmy pro své formáty MPEG-1 a MPEG-2 pro přenos komprimovaného

ozvučeného obrazu (za tyto standardy obdržela v r. 1996 prestižní americkou

televizní cenu Emmy). Již dříve na stejných principech vznikly formáty pro

kompresi zvuku Audio Layer I a Audio Layer II a jejich zdokonalením se teprve

objevil Audio Layer III („audio layer“ = „zvuková vrstva“). Odtud tedy MP3. Pod

těmito označeními byly komprese převzaty i do norem ISO (např. ISO-MPEG Audio

Layer-3). Jsou pochopitelně předmětem zájmu prestižních mezinárodních

profesních společností jako Audio Engineering Society.

…soubor rozhodně menší než váš běžný WAV,…

Když budete zaznamenávat a ukládat zvuk běžným programem a technologií

používanou na současných audio CD, vyprodukujete každou sekundu právě 88 200

šestnáctibitových čísel, která popisují dva zvukové kanály (tedy zpravidla

stereo). Každé číslo říká, jaké napětí by se mělo objevit v dané 1/44100

sekundy na výstupu číslicově analogového převodníku ve vaší zvukové kartě.

Prostou násobilkou zjistíte, že vyprodukujete konstantní datový proud

(bitstream) 1 411 200 bitů/s (1,34 Mb/s), bez ohledu na to, přenášíte-li ticho

nebo death metal. A to je poněkud luxus. MPEG ustavil formáty, které přinášejí

výrazné zlepšení, a to se ještě přizpůsobují skutečné informační hustotě

přenášeného signálu, takže následující hodnoty jsou pouze přibližné: pro Layer

I (který se vynořil ze tmy před několika lety v tzv. Digital Compact Cassette

firmy Philips, a spolu s ní opět zmizel z mého obzoru) se udává jako

dostačující datový proud pro zachování kvality srovnatelné poslechem s CD cca

384 Kb/s, pro Layer II 192–256 Kb/s a pro Layer III dokonce jenom 112–128 Kb/s.

Hovoříme tedy jenom asi o jedné dvanáctině původního objemu! A pokud chceme

přenášet lidský hlas a jde nám pouze o zachování základní srozumitelnosti (a

samozřejmě v monofonním provedení), vystačíme si s asi 8–16 kb/s (tj. až 1 : 96

oproti „monofonnímu CD“, abychom srovnávali srovnatelné). Této kompresi se

neoficiálně říká MPEG 2,5.

Datovému proudu se navíc při kódování/dekódování přizpůsobí podle definic MP3 i

režim mono/stereo a výsledná šířka pásma

při přehrávání viz tabulka. Připomínám, že ideální lidské ucho vnímá kmitočtový

rozsah 20–20 000 Hz, s věkem tato hranice rychle klesá, takže dnešní

padesátníci slyší už často jen do cca 12 kHz. A ještě dva příklady pro

srovnání: časové znamení Českého rozhlasu představuje 6 pípnutí o frekvenci 1

kHz. Současné VKV rozhlasové vysílání ve stereu je z důvodu kódování přenosu

stereofonní směrové informace záměrně kmitočtově omezeno tak, aby nepřenášelo

zvuk do více nežli 15 kHz.

Dodávám, že tyto audio layery byly přeneseny a dovybaveny ve formátu MPEG-2,

který „umí“ až 5 audiokanálů pro vytvoření lepšího prostorového dojmu + 1

společný „nízkokmitočtový“ LFE (low frequency enhancement člověk neumí

rozeznat, odkud k němu přicházejí velmi hluboké kmitočty, proto příliš nezáleží

na tom, odkud je pouštíte, ale jestli na to máte vhodný, zpravidla větší

reproduktor) místo pouhého dvoukanálového sterea, a na druhou stranu připouští

i velmi nízkou kvalitu zvuku za cenu nízkého datového proudu.

…kvalitnější než předchozí kompresní metody,…

Zatímco se pracovalo na kompresních technologiích, ze kterých vzešly tyto

layery, existovaly i různé jiné směry vývoje. Ve své době posloužily, ale

milovníci dobrého zvuku by od nich měli dát raději ruce dál. Komprese spočívala

v tom, že místo aby se přenášela celá šestnáctibitová slova, vysílala se pouze

hrubá informace typu „následující hodnota vzorku je o n větší/menší nežli

předchozí“. Někdy tyto komprese ani neudávaly, o kolik se nová hodnota liší

proti staré a předpokládalo se, že vždy o 1, případně o různé Cimrmanovy

konstanty. Fungování těchto kompresí ve světě PC je nevalné. Zvuk zní zpravidla

zkresleně, všelijak prská a šumí a kupodivu, pokud by měly tyto komprese hrát

opravdu pěkně, nepřinášejí úsporu větší než 1 : 2. Jejich pozůstatky najdete

možná stále ještě ve svých Windows, když v Ovládacím panelu kliknete na položku

Multimédia, na kartu Upřesnit a otevřete složku Kodeky pro kompresi zvuku. Pak

vzdejte tichý hold dílkům jako Kodek ADPCM (Kodér/dekodér adaptivní delta

pulzně kódované Modulace to je obecný terminus technicus pro jeden z principů,

o kterých zde píši) firmy Microsoft, a pak potichu doufejte, že už jej nebudete

nikdy potřebovat.

…a na zcela jiném principu.

Lidské ucho je, podobně jako oko, poměrně nedokonalý orgán. Pozorování na

pokusných králících, pardon, posluchačích, ukázala, že když současně znějí dva

tóny jeden silnější a jeden slabší, a jsou si kmitočtově velmi blízko, ucho

rozezná pouze jeden z nich (frequence masking). Uchu dokonce nějakou chvíli

trvá, než je opět schopno začít vnímat onen slabší zvuk, i když silnější už

dozněl (temporal masking). U různých dvojic kmitočtů ucho reaguje jinak i

provedly se rozsáhlé pokusy a vytvořily se tabulky, které popisují „průměrné

ucho“. Podle nich pak vznikly různé psychoakustické modely (Musicam, AT&T),

které popisují, co všechno lze zahodit, aby se hodně ušetřilo a jen málo to

vadilo.

Přestaneme tedy uvažovat o zvuku tak, že bychom jej popisovali jako nějaké

vzorky v čase. Rozsekáme zvuk na krátké úseky v délce řádově desítek milisekund

(„granule“) a v nich pak pomocí matematických metod (zpravidla diskrétních

transformací) rozeznáme v předepsaných 32 kmitočtových pásmech, jak silná je

pro tu chvíli skupina zvuků té které výšky. Tím dostaneme informaci ve

frekvenční doméně. Takto vytvořené údaje vyhodnotíme a odstraníme z nich ta

data, která posluchačovo ucho nebude bez náhrady potřebovat. Výsledek výpočtů,

jenž by měl být „řidší“, budeme chápat jako bitové pole, na něž nasadíme

Huffmanovo kódování (algoritmus pro bezeztrátovou kompresi dat; něco podobného,

jako když komprimujete pomocí ARJ), výsledek zabezpečíme protichybovým kódem

CRC a prokládáme synchronizačními slovy, která umožňují dekodérům zorientovat

se i v náhodně roztrhaných kouscích souborů viz rozhlasová minulost souborů:

takto lze začít přijímat bitový proud v libovolném okamžiku vysílání, ale také

synchronizovat zvuk s obrazem.

Mezi synchronizační slova a data vkládáme „hlavičku“, která obsahuje informace

podobné těm, jež jsou v datových stopách klasického audio CD jako „Toto je

copyrighted material.“, „Toto je kopie souboru.“, „mono / stereo / joint-stereo

/ dual zvuk“. Najdeme zde pochopitelně bity udávající správnou rychlost

reprodukce podle standardizované tabulky, i informaci, zda je na zvuk

aplikováno „preemphasis“ výrazné zdůraznění vysokých kmitočtů v nahrávce. To-to

bývá aplikováno i u běžných CD proto, aby se mírně zdokonalil odstup signál/šum

v reprodukčním zařízení po D/A převodu a zpracování v analogové části by mělo

být jednoduchým prvkem v přehrávači toto zdůraznění opět potlačeno

(deemphasis). (Mimochodem, je docela dobře možné, že pokud jste si zvuk z

takového CD překopírovali pomocí vhodné CD–ROM jednotky digitální cestou do

souboru WAV prostřednictvím vhodného softwaru, patrně teď máte od zlomové

frekvence 3,2 kHz zdůrazněné výšky v nahrávce.) Výsledek práce pak odbavujeme

jako rámce (frames) datového proudu.

Podrobné vysvětlování fungování algoritmů komprese či rozdílů mezi jednotlivými

layery by bylo poměrně náročné a patrně přísluší spíše jiným časopisům a

čtenářům, kteří se vášnivě kochají brilantními matematickými znalostmi. Ve

výsledku lze ale říci, že Layer I při zpracování slotů nedbá důsledně na okolí

granulí, a nedokáže tak při redukci využít temporal masking. Layer III oproti

předchozím layerům používá navíc modifikovanou diskrétní kosinovou transformaci

(abych přiložil alespoň něco vědy) pro vylepšení frekvenčního rozlišení.

Dosahuje 18× lepšího frekvenčního rozlišení oproti Layeru II a potlačí tak

kvantizační zkreslení. Entropickým kódováním sníží redundanci dat. Dokáže také

lépe redukovat objem dat u „joint-stereofonního“ signálu (stereo s velmi

podobným signálem v obou kanálech) zohledňováním obsahu obou kanálů při

zpracování. A s pomocí „bitového rezervoáru“ lépe ošetří artefakty při

kritických změnách zvuku. Znalci videokompresí JPEG vědí, o čem píši.

Nevýhodou kompresí je zpoždění, které vytvářejí kodeky v praxi je to u kodeků

Layeru III zhruba 150 ms a více, což v některých případech (přímé přenosy) může

přinášet uživatelům problémy, které musejí být kompenzovány zpožďovacími

linkami.

8 0716/JL



MPEG je ambiciózní, a určitě bude zajímavé alespoň proběhnout jeho standardy:



- MPEG-1 řeší problém synchronizace datových proudů pro obraz a zvuk.

Standardizuje způsob kódování videosekvencí vhodný pro evropskou i americkou

televizi s datovým proudem kolem 1,5 Mb/s pomocí diskrétní kosinové

transformace s kauzální a nekauzální predikcí pohybu v obraze. Dále

standardizuje

způsob audiokódování (viz předchozí text). Popisuje, jak ověřit správnost

implementace těchto postupů, a jako neveřejnou část standardu obsahuje plnou

softwarovou implementaci kodeku.

- MPEG-2 vychází ze standardu MPEG-1, ale činí tento standard všeobecněji

použitelným. Přichází například s přenosem prostorového obrazu Multiview, či s

vícekanálovým zvukem. A popisuje protokol pro zpracování datových proudů

technologií server/klient v heterogenních sítích.

- MPEG-3 neexistuje! Zdůrazňuji to ještě jednou, abych vykořenil zaběhaný omyl

ve vysvětlování zkratky „MP3“.

- MPEG-4, který by měl být přijat v prosinci r. 1998, bude popisovat tzv. media

objects multimediální formáty vhodné pro objekty vzniklé snímáním nebo umělým

vytvářením. Bude též popisovat optimální technologické postupy pro skládání

těchto objektů. Bude se zabývat multiplexem a synchronizací dat,

reprezentujících tyto objekty tak, aby mohly být přenášeny po rozsáhlých

sítích, a bude popisovat standardní technologické postupy pro řešení interakce

mezi objektem a uživatelem (má ambice zavést k tomu nový protokol DMIF, který

jakoby konkuroval a zároveň rozšiřoval HTTP). K přenosu zvuku po sítích se

staví čelem zaváděním nových algoritmů CELP (6–24 Kb/s) speciálně pro mluvené

slovo a AAC a TwinVQ pro obecný signál se vzorkovacími frekvencemi od 8 kHz a

kvalitou srovnatelnou se středovlnným rozhlasem.

Standard, který je poměrně objemný, má ještě mnoho dalších smělých ambicí (v

audiooblasti ještě např. jazyk pro syntézu zvuku SAOL nebo „Text-To-Speech“) a

za jeden z důležitých cílů si rovněž klade výrazné zkomplikování nelegálního

šíření materiálů chráněných autorskými právy po sítích.

- MPEG-7 „Multimedia Content Description Interface“ by mělo být v budoucnu

standardizované rozhraní postavené nad MPEG-1,

-2 a –4, které by pomocí zvláštního jazyka (Description Definition Language)

umožňovalo hledacím strojům identifikovat multimediální objekty tak, aby je

bylo možno organizovat, třídit a prohledávat.



Download!

Myslím, že vědy už asi bylo dost, a proto vás odkážu na trochu praxe. Domnívám

se, že k přehrávání souborů MP3 je dnes asi nejoblíbenější velmi elegantní

sharewarový program WinAmp a jeho freewarové imitace, pokud máte pomalejší

počítač (486), osvědčí se vám možná lépe ovládáním poněkud těžkopádný program

WinPlay3. Tento algoritmus je dokonce poskytován pro ukládání i samotným

Microsoftem ale v omezené míře, kterou poskytuje program Záznam zvuku, s

nekompatibilní koncovkou WAV a s některými netypickými formáty, s nimiž pak má

WinAmp potíže. K vytváření MP3 z připravených souborů WAV tedy poslouží lépe

MP3 Compressor a ke stahování zvuku digitální cestou z CD (tzv. grabbing) je s

oblibou využíván program CD Copy. V této souvislosti pochopitelně upozorňuji na

platnou právní úpravu, která uvádí, že z „copyrighted“ materiálu si smíte

pořídit pouze jednu kopii pro vlastní potřebu (takže chcete-li mít například v

práci sbírku vaší oblíbené hudby a nechcete-li si s sebou neustále převážet svá

CD, která máte doma, vyřešte to MP3 na vašem osobním počítači). Na závěr tedy

snad jen dvě výmluvná URL, na nichž najdete snadno vše potřebné: www.mp3.com a

www.mp3.cz. Dobrý poslech!