MP3 zní skvěle!

1. 1. 1999

Sdílet

Kvalitní zvuk býval ve světě PC spíše Popelkou, než se na Internetu objevily malé zvukové soubory a v nich skvěl...





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ě zvuková 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 Američ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 kbps (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.



---vložit tabulku 1---



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 které 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. Toto 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.









datový proud [Kb/s] <TAB>režim <TAB>šířka pásma [kHz]



8 <TAB>mono <TAB>2,5



16 <TAB>mono <TAB>4,5



32 <TAB>mono <TAB>7,5



56…64 <TAB>stereo <TAB>11



96 <TAB>stereo <TAB>15



112…128 <TAB>stereo <TAB>>15









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

pouze 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!