Home › Tématické články › Audio › Kvalita převodu do MP3
Kvalita převodu do MP3
(prosinec 2002)
Kvalita převodu do MP3 aneb opravdu slyší netopýři trávu růst?
K napsání tohoto článku mě vyprovokovaly názory několika lidí v mém okolí a též mnoho názorů na Internetu, kde se tvrdí o MP3 něco, co považuji za naprosté nepochopení, ne-li za naprostý nesmysl. Často se jedná o naprosté začátečníky a bylo by dobré objasnit a vyjasnit těmto lidem pár věcí okolo celé této oblasti. Bude řeč především o ztrátové kompresi MP3, ale obsah celého článku se dá vztáhnout obecně na jakoukoliv ztrátovou kompresi (OGG, RA, WMA, VQF, MP+ …).
Po možná trochu únavném začátku bych se chtěl věnovat tomu, co vše dnes už ztrátová komprese dokáže a alespoň trochu vyvrátit názory lidí, kteří o MP3 říkají, že se nedá poslouchat, že se jedná o naprostou degradaci hudby.
Minulost MP3
Abychom mohli pokračovat dále, je potřeba se mírně podívat do minulosti samotného formátu MP3. Asi nejvíce mu ublížilo tvrzení (bohužel i jeho tvůrců), že kvality CD se dá dosáhnout už při 128 kb/s (neboli 128 kilobitů za sekundu). Na poznámky o „CD kvalitě při 128 kb/s“ od zasvěcených lidí tehdy nikdo nehleděl, obecně vládlo nadšení z něčeho nového, dosud prakticky nepoznaného. Já osobně si pamatuji na to nadšení (až možná dětinské), které mě ovládlo, když se mi písnička o velikosti 40 MB z audio CD vešla do 3 MB MP3. Co na tom, že z dnešního pohledu se tato skladba nedá kvůli kvalitě poslouchat, bylo v tom nadšení, kdy se odpouštělo mnohé.
S rostoucí popularitou MP3 vznikaly pochopitelně i nástroje k jejich vytváření. Trendem bylo co nejjednodušší používání a málokdo si uvědomoval, že mnohem více než na přátelskosti uživatelského rozhraní, záleží na kvalitě samotného kodeku, který komprimuje do MP3. Vznikaly tedy programy, kterým dnes mnoho lidí nemůže přijít na jméno (zejména kvůli kvalitě výsledného MP3 souboru), jako: Xing Encoder, Blade … Je jich více, ale tyto byly nejznámější, nejpoužívanější a nejhorší.
Jako příklad „Tudy tedy ne, pánové“ použiji výše zmíněný Xing Encoder. Zde je vidět, že tvůrci tohoto programu obětovali rychlosti převodu do MP3 naprosto všechno, bohužel i kvalitu převodu. Tento „kodek“ ořezával všechny frekvence nad 16 kHz (teoreticky slyšitelný rozsah je 0 – 22 kHz), obsahoval chyby v části, která se starala o analýzu ještě nezkomprimované souboru, kdy při zpracování do výsledného souboru MP3 se běžně stávalo, že se nezpracovaly důležité slyšitelné frekvence. Až do určité verze byla komprimace v čistém stereu (ne v tzv. joint-stereu), kdy např. při 128 kb/s jste ve skutečnosti komprimovali pouze 64 kb/s (2 stereo kanály x 64 kb/s = 128 kb/s (poloviční kvalita, než jste původně chtěli!), při joint-stereo se provádí analýza levé a pravé části zvukového kanálu a zaznamenávají se pouze rozdíly. Jak mohla dopadnout výsledná MP3 si jistě domyslíte sami. V programu prakticky nezáleželo, zda jste použili kódování 128 kb/s nebo 320 kb/s, zvýšení kvality kódování zde mělo určitý vliv, ale díky chybám v samotném kodeku měly písničky při podrobném poslechu stále výrazné artefakty, které ovlivňovaly kvalitu výsledné produkce písničky (např. známé hihotání ve vyšších frekvencích).
Abych ještě podtrhl situaci, která dříve panovala, uvedu mnohem populárnější nástroj, který obsahoval též velmi závažnou chybu zhruba do roku 2001; byl jím program NERO, známý spíše tím, že slouží k vypalování CDček. Obsahoval však docela použitelnou utilitu na převod přímo z CD do MP3 a mnoho lidí toho pochopitelně využívalo. Zde se opět jednalo o chybu v ořezávání frekvencí, které byly slyšitelné a přesto se nezpracovaly. Ani tolik populární a stále používaný cracklý kodek z laboratoří Fraunhofer Institut nebyl zcela košer, též zde se našlo pár maličkostí, které negativně ovlivňovaly kvalitu výsledné MP3.
Minulost je minulostí, Blade už naštěstí neexistuje, Xing se dočkal nové, opravené verze, stále nedokonalé, oproti předchozí verzi však už nebe a dudy, ale hlavně ho už málokdo používá. A především je vystřídaly kodeky řekněme nové „generace“.
Samotná kvalita převodu do MP3
A nyní se tedy už skutečně budeme věnovat tomu, proč jsem se vlastně odhodlal pro tento článek. Tedy naprosté odsuzování ztrátové komprese. Tento postoj by se dal vysvětlit dobou, kterou jsem zmínil výše, tedy dobou, kdy MP3 skutečně tak kvalitní nebyly, ale co vede lidi k odsuzování ztrátové komprese dnes, skutečně nechápu. Je to něco podobného, jako když vedle sebe postavíte 100 roků staré auto a auto z roku 2000. Stále je to auto, ale je zde stoletý vývoj! To samé se stalo i s MP3. Z málo použitelné technologie před 10 lety se vyvinul kodek, který je schopen podat vynikající výsledky.
Pokud však používáte malé plastikové bedničky, či tzv. výdobytky moderní techniky, bedničky o velikosti 15 x 20 cm apod. o výkonu stovky Wattů, může vám být jakákoliv kvalita výsledné MP3 úplně jedno, stejně nemáte šanci rozdíl poznat.
Mnoho lidí právě proto, že není schopno slyšet na svých „bedničkách“ rozdíl, stále používá kódování v např. naprosto nedostačujících 128 kb/s (proč, to se dozvíte v následujícím testu), popř. stále používají zastaralé programy pro převod do MP3. Na tomto přístupu není nic špatného, ale uvědomte si, že jednoho dne si určitě pořídíte lepší vybavení (v době, kdy už téměř každý domácí DVD přehrávač za 5 000,- Kč umí i MP3…) a mohli byste nad výsledkem zaplakat. To samé potkalo i mne. Také jsem si to myslel, na svých chrchlajících bedničkách za 800 stovek jsem neslyšel rozdíl mezi 128 kb/s a 256 kb/s. Naštěstí pro mne jsem to zjistil velmi brzy.
Kvalitní bedny pro dobrý poslech se dnes dají sehnat poměrně levně: 4 000 – 20 000 korun. Bedny za desítky či stovky tisíc jsou už pro skutečně fajnšmekry, ne pro obyčejně smrtelníky. V dnešní době, kdy CD-R stojí 10 Kč je jedno, zda se vám na jedno CD vejde 8 nebo 10 alb, v kvalitě však neporovnatelné.
Největší problém je v tom, že lidé, kteří odsuzují MP3, absolutně neznají možnosti tohoto formátu. Bohužel místo toho, aby tito lidé mlčeli, popř. se dovzdělali, plameně diskutují a sdělují své nepravdy světu. Poslechy provádí z naprosto nepoužitelných MP3, nepoužívají tzv. slepý (blind) test (test, kdy přesně nevíte, zda hraje originál, popř. kopie, popř. MP3 … Při tomto testu se snažíte určit zdroj pouze poslechem), popř. testy provádějí na nedostatečných aparaturách. Další nešvar v hodnocení kvality hudebních souborů je používání tzv. spektrální analýzy frekvencí. Je třeba si uvědomit, že hudbu nesledujete, ale posloucháte! Je např. známé, že audio kodek od Microsoftu má podobnější grafický průběh k audio CD než MP3, nicméně už poslechem zjistíte, že kodek od Microsoftu je naprosto nepoužitelný, má výrazně slyšitelné artefakty.
K dobrému bych přihodil, že jsem byl svědkem události, kdy mi jeden tzv. „netopýr“, celkem erudovaný člověk, pouštěl na své Hi-Fi soupravě za 50 000 audio CD a poté MP3 vytvořené z toho samého audio CD z počítače přes malé bedýnky a tvrdil, že ten rozdíl je slyšitelný. No samozřejmě, že rozdíl slyšitelný byl, ten člověk se stal obětí svého vlastního bludu, že audio CD prostě musí být lepší než nějaká ztrátová komprese, natož pak ještě MP3 a vůbec si neuvědomil, že absolutně nemůže srovnávat aparaturu za 50 000 a bedýnky za 1 000. Tak často vznikají bludy, kterým obyčejný člověk uvěří, protože prostě ten pán je inženýr, má aparaturu za 50 000 a musí tedy vědět, co říká! Absurdní.
Nová generace MP3 kodéru
Dnes téměř každý, kdo se alespoň minimálně o MP3 zajímá, používá program LAME (aktuálně ve verzi 3.93.1) a především, místo CBR (konstantní, stálý, neměnný tok dat) se již používá variabilní kódování VBR (kodek sám určuje, kolik místa přidělí zpracovávané informaci, např. při tišších, nenáročných pasážích kodek přepne do 32 – 160 kb/s, při náročných, hlasitých či jinak náročných pasážích přepíná do 192 – 320 kb/s). Další možností je kódování ABR (nejlépe, i když asi ne zcela výstižně lze pojmenovat jako dvojprůchodné (double-pass) zpracování, určíte si jakou chcete velikost výsledné MP3 a program sám si už určí, jaký bitrate bude použit).
Na kodeku LAME je krásně vidět příklad vývoje a jeho už více jak pětileté vylepšování. Program jako takový vznikl převzetím zdrojového kódu a jeho postupným vylepšováním. Z prvotního kódu nezůstalo téměř nic. Přepsáno a zlepšeno bylo prakticky vše: psychoakustika, rozlišování, kdy použít čisté stereo či pouze joint-stereo (viz výše), potlačení pre-echa, maskování frekvencí a především to, co je považováno za to nejlepší a co je na tomto programu nedostižné: VBR (variable bitrate). Tak se tedy z celkem podprůměrného programu stala špička pro zpracování hudby do MP3. Výhodou je též to, že zdrojové kódy jsou volně přístupné, můžete si je stáhnout, upravit, vylepšit. Na vývoji se podílí lidé z celého světa zcela bez jakýchkoliv nároků na odměnu. Odměnou jim je však stále se zlepšující se kvalita a dobrý pocit. Vývoj probíhá velmi podobně jako vývoj operačního systému Linux.
Dnešní technologie kódování do MP3 (a obecně i do jiných komprimačních ztrátových algoritmů) dospěla tak daleko, že už se nehádáme o to, že celá písnička zní strašně, ale veškeré debaty o tom, že algoritmus (kodek) MP3 „neuspěl“, jsou v tom, že např. pár framů (mikrosekund) z celé písničky se špatně zakódovalo! Zbytek, tedy 99,9 % písničky je zakódován tak, že nemáte, opakuji nemáte možnost poznat, že se jedná o MP3! A protože vím, že mnoho lidí mě chytne za slovo právě za ty 99,9 %, musím zde uvést mírné vysvětlení. Vztáhnu to k písničkám. Tedy 99 písniček ze sta je zakódováno tak, že NEPOZNÁTE, že se jedná o MP3, a v tom jednom případě ze sta se vyskytne případ, že pár framů (tedy pár mikrosekund) z celé písničky je špatně zakódováno. Špatně zakódováno ve smyslu toho, že ten jeden určitý sampl (frame) zní trochu jinak (pro někoho to může znamenat i to, že lépe :-). Při normálním přehrávání to ovšem nepoznáte! Rozdíl je slyšitelný jen oproti přímému přehrávání z audio CD nebo pokud znáte původní skladbu naprosto dokonale z originálu. Obecně pokud posloucháte taneční hudbu, pop, trance apod., nemáte šanci rozdíl poznat. O něco horší je to v případě metalové hudby, ta je obecně na kódování náročnější.
Toto výrazné zlepšení je výsledkem neustálého vývoje a testování na reálné hudbě (je známo mnoho vzorků hudby, na kterých MP3 selhávalo a vývojáři se snažili co nejlépe a nejvíce testovat na těchto vzorcích, neboť pokud se podaří MP3 „naučit“ tyto velmi těžce zakódovatelné části hudby, dá se očekávat, že na normální, snadněji kódovatelné hudbě bude transparentní a neselže. K dnešnímu dni se podařilo naprostou většinu problémů s těmito náročně kódovatelnými vzorky hudby už vyřešit!).
Abyste pochopili, jak MP3 pracuje a kolik informací vlastně reálně potřebuje k uchování dostatečné úrovně kvality nahrávky MP3 (odvážím se i říci CD kvality), uvedu dva příklady variabilního kódování. Např. se dozvíte, proč je 128 i 160 kb/s a za určité možnosti i 192 kb/s nedostatečné:
1. Klasická hudba
Hudba: Wolfgang Amadeus Mozart – Little Night Music, délka 5:50 minut, délka: 62 429 180 bajtů,
Zdroj: originální CD grabnuté EAC
Popis: Asi všichni tuhle skladbu znáte. Já jen poznamenám, že téměř celá skladba je pod úrovní 16 kHz a málokdy tuto hranici překoná.
Použitý přepínač pro zakódování do MP3: --alt-preset standard -b 64
Výsledná velikost MP3: 8 216 764 bajtů, bitrate průměr: 185,9 kb/s
LAME version 3.91 MMX
Using polyphase lowpass filter, transition band: 18671 Hz - 19205 Hz
Encoding as 44.1 kHz VBR(q=2) j-stereo MPEG-1 Layer III (ca. 7.3x) qval=2
Frame 13550/13550
32 [ 191]
64 [ 26]
80 [ 4]
96 [ 3]
112 [ 8]
128 [ 61]
160 [ 3898]
192 [ 7157]
224 [ 1958]
256 [ 193]
320 [ 51]
average: 185.9 kbps LR: 12733 (93.97%) MS: 817 (6.030%)
2. Taneční hudba
Hudba: A-Teens – Mamma Mia, album The Abba Generation, délka 3:45 minut, délka: 39 701 804 bajtů,
Zdroj: originální CD grabnuté EAC
Popis: Taneční hudba, frekvence neustále od 0 kHz – 22 kHz
Použitý přepínač pro zakódování do MP3: --alt-preset standard -b 64
Výsledná velikost MP3: 5 667 651 bajtů, bitrate průměr: 201,6 kb/s
LAME version 3.91 MMX
Using polyphase lowpass filter, transition band: 18671 Hz - 19205 Hz
Encoding as 44.1 kHz VBR(q=2) j-stereo MPEG-1 Layer III (ca. 7.3x) qval=2
Frame 8615/8617
32 [ 99]
64 [ 6]
80 [ 4]
96 [ 4]
112 [ 15]
128 [ 69]
160 [1729]
192 [3537]
224 [1890]
256 [ 956]
320 [ 309]
average: 201.6 kbps LR: 1430 (16.59%) MS: 7188 (83.41%)
Popis:
1. řádek: verze programu LAME
2. řádek: tzv. lowpass filter – bylo dokázáno, že člověk není schopen slyšet, respektive není schopen od sebe rozeznat frekvence vyšší jak 18,5 kHz v případě, že je zde více jak jeden zdroj zvuku (frekvence!); jinak normální člověk do 15 let je schopen slyšet samotnou frekvenci zhruba do 21 kHz, nad 20 roků cca 17 - 20 kHz, od 30 roků 15 – 18 kHz, s věkem se možnost slyšet vyšší frekvence ztrácí, je např. známo, že lidé okolo 60 let často slyší pouze do 9 kHz. Vyšší hranice 19205 Hz bylo použito místo 18 kHz jako dostatečný prostor pro netopýry a pro jistotu dušičky.
3. řádek: popis souboru WAV, důležitý je zde j-stereo (neboli joint-stereo, popis viz výše)
4. řádek: počet framů, celá písnička je tzv. rozkouskována do tzv. framů, které jsou postupně zpracovány a převáděny z WAV do MP3.
5. - 15. řádek: popis jaké kódování v kb/s bylo použito. Popisuje tedy kolik framů z celé písničky bylo zakódováno bitratem 160, kolik framů bylo použito pro bitrate 192, 224, 256 …. kb/s. Např. u Little Night Music vidíte, že více jak jedna polovina skladby je kódována v 192 kb/s. Bitrate 32 kb/s se používá prakticky pouze pro digitální ticho, tedy známé tiché začátky a konce, proto ten relativně vysoký počet.
16. řádek: průměr v kb/s celé skladby
Prosím podívejte se na výše zmíněné výstupy programu Lame ještě jednou a zamyslete se, co vidíte. Není vám něco divného? Vzpomínáte na začátek a na tu nešťastnou hranici 128 kb/s? Není vám divné, že v prvním případě z celých více jak 13 000 framů je použito framů pouze 61? To samé v druhé případě: z 8 600 framů pouze 69? Je vám nyní už jasné proč je 128 kb/s nedostatečné? Je vám jasné, že i 160 kb/s je nedostatečné? V prvním případě je stále více jak 9 000 framů, respektive 6 000 framů (3/4 písničky!) zakódováno do vyššího bitrate než 160 kb/s. A co hranice 192 kb/s? Už je to lepší, že? Ale stále i při této hranici (192 kb/s) je čtvrtina písničky potřeba zakódovat do vyššího bitrate. Chápete rozdíl, kdy se např. testy kvality poslechu dělaly a dělají při CBR 128 kb/s? Že se z auta s 6rychlostní řadící pákou udělal dvourychlostní mrzáček? Chápete už ten rozdíl mezi VBR (proměnný tok dat) a CBR (stálý tok dat)? Nemyslíte, že je lepší používat VBR přednostně před CBR? Mnoho lidí kóduje svoji hudbu do CBR 192 kb/s. Kdyby použili VBR, tak v prvním případě ušetří, neboť zde je dosažený bitrate pouze 185,9 kb/s (a přesto, že je v souhrnu nižší, je výrazně lepší než CBR 192 kb/s, neboť k zakódování byly použity i vyšší hodnoty bitratu). V druhém případě se sice navýší asi o 10 kb/s, ale zase kdybyste kódovali do 192 kb/s, přijdete o téměř 1/3 písničky, kterou je nutno kvůli zachování původní kvality zakódovat vyšší hodnotou bitratu a při VBR získáte na 99,9 % CD kvalitu písničky. Přejete-li si však kódovat hudbu stále ve VBR, ale v o něco menších velikostech (ovšem za mírné ztráty kvality výsledné MP3), existuje zde jedna možnost, viz níže v doporučených přepínačích programu Lame.
Na závěr je ještě nutno objasnit jednu důležitou skutečnost, v obou popiscích se vyskytuje následující přepínač, respektive popis, co má program LAME vykonat: --alt-preset standard -b 64 Bylo by dobré si ozřejmit, co tento přepínač „--alt-preset standard“ znamená a podívat se na něj podrobněji.
Vzpomeňte si ještě jednou, jak jsem popisoval vývoj programu LAME. Lidé z celého světa spolupracují na vývoji. Jeden má výrazné znalosti psychoakustiky, druhý ví, jak optimalizovat kód pro co největší rychlost, jiný je zase netopýr a je schopný slyšet hudební artefakty, které ostatní lidé schopni nejsou a tyto informace, kdy kodek selhává sdělit vývojářům, kteří jsou schopni na základě poskytnutých informací tuto chybu odstranit. Jeden takový člověk, který má tu schopnost slyšet artefakty v hudbě, DIBROM jest jeho jméno, vytvořil už téměř před dvěma lety výše zmíněný přepínač na základě svých vlastních poznatků a testů. Od té doby byl tento přepínač mnohokrát vylepšen. Přepínač „--alt-preset standard“ je tedy výsledkem téměř 2 roků testů a analýz nejen již jednoho člověka, ale postupně mnoha tisícovek lidí, kteří tento přepínač denně používají a komentují jeho kvalitu. Je to vlastně nejvýše dosažitelná meta toho, co je dnes možno z programu LAME (a tedy i obecně z MP3) dostat. Přepínač „-b 64“ neberte v potaz, může i nemusí se použít. Na kvalitu to nemá žádný vliv. Význam je myslím jasný, uvádí přístup k souboru WAV.
Budoucnost MP3
MP3 tu je a nikdo tuto technologii už nevymaže. MP3 se dostává do stále více produktů spotřební elektroniky. Je zde však třeba dodat a já ten názor též zastávám, že MP3 je už překonané. Nejen tím, že je zatíženo patentovými záležitostmi, ale jedná se prostě o zastaralý kodek, který už neskýtá prostor k výraznému vylepšení. Pozornost se nyní obrací k formátu OGG Vorbis (hudba i video), popřípadě i MP+. První z nich je svobodný software, nezatížený licenčními poplatky, bohužel však ještě nedosahuje kvalit VBR MP3, ale je už velmi, velmi blízko, dá se očekávat, že v krátké době již formát MP3 překoná. Osobně považuji za nejdokonalejší dosavadní ztrátový algoritmus (kodek) MP+ neboli MusePack. Zde se dá už hovořit o naprosté transparentnosti vůči audio CD. Bohužel je zatím zatížen patentovými záležitostmi, ale i na tomto se pracuje a je možné očekávat, že bude veřejně a volně přístupný.
Post a Comment