Audio/Video

Mp3 – Mitovi i istina

Mp3 format je i nakon više od 10 godina od svog nastajanja i dalje najpopularniji format za skladištenje muzike u digitalnom formatu. Iako postoje i drugi, napredniji kodeci za kompresiju muzike, mp3 je i dan-danas sinonim za reč muzika. Ono što je mp3 učinilo tako popularnim je njegova sposobnost da, uz gotovo neprimetne gubitke na kvalitetu, uštedi ogroman skladišni prostor, čak 80 – 90%. Za ovakvu uštedu zaslužne su brojne tehnike implementirane u mp3 kodek.

Jedna od najvažnijih tehnika je Perceptual Coding, poznatija kao psihoakustički model. Osnovni princip po kome psihoakustički model funkcioniše je da se prilikom kompresije slobodno mogu izostaviti oni zvukovi koje ljudi nisu u stanju da čuju zbog ograničenja našeg sluha ili su jednostavno maskirani drugim zvukovima. Evo par primera.

Šetate putem van grada. Nema nijednog vozila u blizini. Dok šetate, možete da čujete ptice koje cvrkuću, insekte i gmizavce u travi i sl. Iznenada, naiđe kamion. U trenutku kada prolazi pored vas, nećete čuti ništa osim zvuka njegovog motora. Da li to znači da su ptice, insekti i ostale životinje zaćutale? Ne. Samo je zvuk motora daleko jači pa je zamaskirao, preklopio ostale zvuke. Ako ste kojim slučajem ovo snimili i želite da kompresujete u mp3, psihoakustički model će ukloniti zvukove koje proizvode životinje jer niste u stanju da ih čujete zbog zvuka motora. Budući da niste bili u stanju da ih čujete ni prvi put, neće vam nedostajati ni kasnije.

Drugi primer se odnosi na fizičko ograničenje čula sluha. Naime, ljudsko uho je u stanju da čuje zvuk u opsegu od 20Hz do 20000Hz, otprilike. Starenjem, ovaj opseg se smanjuje, naročito gornja granica. Ukoliko postoji neki ton na, recimo, 21000Hz, Psy model će ga ukloniti i tako olakšati kompresiju.

Izuzetno je važan kvalitet psihoakustičnog modela jer on određuje šta ostaje a šta se odbacuje. Samim tim, i kvalitet konačnog, kompresovanog zvuka koji treba da bude što bliži originalu kada ga slušamo.

Huffman Coding je, za razliku od psihoakustičnog modela, lossless kompresija. Omogućava uštedu do 20% pri kompresiji tako što traži šablone koji se ponavljaju i zamenjuje ih kraćim „rečima“. Ova tehnika se koristi i u ZIP kompresiji, kompresiji slika itd.

Bit-rezervoar je zanimljiv način kompresije koji se koristi pri CBR (Constant BitRate) i ABR (Average BitRate) kompresiji. Neko se setio da, pošto mnoge pesme počinju tišinom ili neki delovi pesme su toliko nezahtevni za kompresiju da bi iskoristili zadati bitrate, može iskoristiti te neiskorišćene bitove tamo gde su potrebniji. Zbog toga je implementiran bit-rezervoar, depozitor za neiskorišćene bitove.

Budući da se bitovi ne mogu rezervisati unapred, bit-rezervoar se mora unapred kreirati a to se obično moguće zato što svaka pesma počinje tišinom. Tada se bitovi skladište u rezervoar i koriste se onda kada je to potrebno, tj. pri kompresiji kompleksnih delova pesme kada zadati bitrate nije dovoljan. Na ovaj način se izvlači još koji procenat kvaliteta uz poštovanje zadatog bitrate-a. Na ovaj način, nijedna pesma nije CBR u klasičnom smislu iako je korišćen ovaj vid kompresije, već VBR (Variable BitRate).

CBR, ABR, VBR. Kad sam ih već spomenuo, mogao bih malo i da ih pojasnim.

CBR (Constant BitRate) je način kompresije koji nalaze enkoderu da za svaku sekundu pesme koristi isti, zadati bitrate. Ovo, tehnički, nije uvek tačno zbog korišćenja bit-rezervoara, o čemu je već bilo reči. Svakako najnepoželjniji način kompresije ako vam je stalo do kvaliteta zvuka. Razlog za to je što kompleksnost pojedinih delova pesme može mnogo da varira, od toga da je zadati bitrate više nego dovoljan to toga da nije ni približno dovoljan. Tada imamo slučaj da se pojedini, nezahtevni delovi pesme ne mogu razlikovati od originala dok oni kompleksni ispoljavaju smetnje (artifakte). Bit-rezervoar donekle to umanjuje ali ne u dovoljnoj meri.

ABR (Average BitRate) je bolja opcija od CBR jer dozvoljava enkoderu da, u određenoj meri varira oko zadatog bitrate-a. To znači da enkoder može spustiti bitrate pri kompresiji jednostavnijih delova i podići bitrate pri kompresiji zahtevnijih delova. Međutim, variranje bitrate-a je ograničeno da bi se ispunio zadati bitrate kao krajnji cilj.

VBR (Variable BitRate) je najpoželjniji način kompresije kada se u vidu ima kvalitet. Veličina konačnog fajla, samim tim i konačnog bitrate-a je nepredvidiva. Mp3 standard propisuje raspon bitrate-a od 32kbs do 320kbs. Pri VBR kompresiji enkoder može koristiti bilo koji bitrate u ovom rasponu. Na taj način, jednostavinij delovi pesme će biti kompresovani nižim bitrate-om, 32kbs ili 64kbs, a zahtevniji visokom bitrate-om, čak do 320kbs. I ovde je moguće korišćenje bit-rezervoara ali, zbog činjenice da bitrate može slobodno da varira, teško ga je kreirati. Jedina mogućnost je ako pesma sadrži delove potpune tišine jer se i ti delovi, zbog ograničenja mp3 standarda, kompresuju na 32kbs.

Činjenica da VBR može da koristi bilo koji bitrate u rasponu 32-320kbs, za neke ljude je prosto užasavajuća. Razlog je što ne mogu nikako da podnesu činjenicu da neki delovi njihove omiljene pesme su kompresovani bitrate-om od 32 ili 64kbs jer se „zna“ da ništa što je ispod 128kbs ili 192kbs ne može da valja. Ovo je, naravno bezrazložno jer, kao što sam već rekao, kompleksnost same pesme može izuzetno mnogo da varira. U tom slučaju, mnogo je bitnije kako će psihoakustički model da odradi posao, tj. šta će da ostavi a šta da odbaci. Za ono što ostane, enkoder će koristiti adekvatan bitrate.

Matematičke tehnike kodiranja neću objašnjavati ali ću zato posvetiti pažnju tehnici koja je dugi niz godina izazivala brojne sporove i nesuglasice među poklonicima mp3 formata. U pitanju je tehnika pod imenom Joint Stereo.

Joint Stereo je tehnika kompresije koja menja način zapisivanja podataka levog i desnog kanala. Naime, stereo zvuk ima dva kanala, levi i desni. Normalno, radi očuvanja stereo zvuka moraju se kodirati oba kanala što zahteva izvestan broj bitova. Ali, poenta lossy kompresije je očuvati željeni kvalitet uz što manji fajl. Tu dolazi Joint Stereo.

Joint Stereo koristi to što su levi i desni kanal vrlo slični pa vrši rearanžiranje podataka i od levog (L) i desnog (R) kanala kreira Middle (M) i Side (S) kanale. Način rearanžiranja je matematičke prirode:

M=(L+R)/2       S=(L-R)/2

Nakon restauracije:

L=M+S=(L+R)/2+(L-R)/2 =(L+R+L-R)/2=2L/2=L

R=M-S=(L+R)/2-(L-R)/2=(L+R-L+R)/2=2R/2=R

Kao što vidite, matematički bez gubitaka.

M kanal je po veličini sličan L i R kanalu a S kanal, zbog sličnosti L i R kanala sadrži mnogo manje podataka pa je potrebno i manje bitova za kompresovanje istog. Ušteda se, znači, postiže kod kompresije S kanala i ona iznosi, u proseku, 20-50%. Procenat uštede bitova varira zato što razlika između L i R kanala može biti dovoljno velika da se ne isplati koristiti Joint Stereo. Zato moderni enkoderi imaju mogućnost da na nivou frejma (mp3) ili frekventnog opsega (aac) odrede da li će koristiti Joint Stereo (M/S) ili običan Stereo (L/R).

Da je Joint Stereo lossless, govori i činjenica je se ova tehnika koristi u lossless audio kodecima kao što su FLAC, APE i sl. Pravilno implementirana, nakon dekodiranja, daće bit-identičan fajl kao i pre kompresije.

Ono što treba istaći je da u praksi može doći do loše implementacije ove tehnike kompresije što dovodi do gubitka u kvalitetu i pojave raznih smetnji prilikom reprodukcije zvuka. Primer loše implementacije je stari Xing enkoder (Audiocatalyst) zbog koga su Joint Stereo i mp3 izašli na loš glas.

Drugi razlog što je Joint Stereo izašao na loš glas je što se ovo ime upotrebljava za dva vrlo različita načina kompresije. Prvi je M/S stereo o kome sam do sada pisao a drugi je Intensity Stereo (IS). Intensity Stereo je tehnika koja je dizajnirana da se koristi pri veoma niskim bitrate-ovima i, za razliku od M/S Stereo, nije lossless, tj. bez gubitaka. IS se koristi kada je potrebno obezbediti kakav-takav stereo signal a nemamo dovoljno bitova. Tehnički, IS kodira samo levi kanal i tzv. scaling između kanala, sto znaci 25-50% uštede. Čuva se ceo levi kanal a drugi kanal daje neku vrstu stereo efekta. Pri zadatom, niskom bitrate-u to, u stvari, znači bolji zvuk nego da je korišćena MS ili LR stereo tehnika. Jeste da bismo ovim tehnikama obezbedili dobar stereo efekat ali bi zvuk, zbog nedovoljno bitova bio veoma degradiran i jedva ličio na original. Imali bismo  „divan“ stereo degradirani zvuk.

Da ne dužim ja dalje već da izvedem zaključak i dam par preporuka.

Mp3 je vrlo popularan kodek i naširoko podržan u raznim plejerima. Takodje, nudi i dobar odnos kvaliteta zvuka u odnosu na veličinu fajla. U stvari, nudi toliko dobar kvalitet zvuka da većina ljudi ne može razlikovati mp3 od originala. Oni koji to mogu moraju imati dobar sluh, istreniran sluh da bi prepoznali greške nastale kompresijom,  dobru opremu i da, naravno traže tu razliku. Takvih je zaista malo na svetu. Neki, doduše, misle da mogu da čuju razliku između mp3 i originala, ali se obično ispostavi nakon ABX testa da je to placebo, tj. da su umislili da čuju razliku.

Ako želite kvalitetan mp3, moj predlog je da koristite LAME enkoder. Uvek se trudite da koristite što noviju verziju jer se LAME još uvek aktivno razvija, besplatan je a važi za jedan od najboljih mp3 enkodera na svetu, ako ne i najbolji. Preporučeni mod je VBR, naravno jer su se LAME developeri u zadnjih par godina fokusirali upravo na fino podešavanje psihoakusitčkog modela koji koristi VBR mod. Jedino CBR -b 320 daje isti ili, u retkim slučajevima, malo bolji zvuk od najkvalitetnijeg VBR moda, -V 0, i to samo iz razloga što je 320kbs najviši bitrate koji mp3 enkoder može da koristi. Naravno, često je i fajl bar 50% veći od -V 0 a kvalitet zvuka je uglavnom isti jer -V 0 već koristi 320kbs za najkompleksnije delove pesme. Fajl je manji zato što CBR -b 320 koristi 320kbs za sve delove pesme dok -V 0 koristi niži bitrate za tišinu i jednostavnije delove pesme.

Kao dobre programe za ripovanje Audio diskova u mp3 preporučio bih EAC, dbPoweramp ili Foobar2000. Svi poseduju opciju SecureRip i AccurateRip koje omogućavaju da se pesme sa što manje grešaka „izvuku“ sa CD-a. A imaju i dobre tag mogućnosti.

Još jedna mala napomena. Rekompresijom mp3 pesme u drugi mp3 fajl sa većim bitrate-om neće povećati kvalitet zvuka. Štaviše, umanjiće ga jer će psihoakustički model opet pokušati da nešto odbaci. Znači, kompresija mp3 u mp3 ili bilo koji lossy kodek u mp3 će uvek umanjiti kvalitet, nikako povećati. Isto tako, nećete povećati kvaltitet zvuka ako mp3 konvertujete u neki lossless kodek (FLAC, APE, WMA Lossless) ili narežete kao AudioCD a zatim opet u mp3. Rezultat će biti kao da ste direktno konvertovali mp3 u mp3, a sve zbog psihoakustičkog modela.

S tim u vezi, neki ljudi pokušavaju da rekompresijom, recimo, mp3 128kbs u mp3 320kbs proture neku pesmu kao visokokvalitetan mp3 fajl. Kao što sam već naveo, ovim se gubi a ne dobija kvalitet. Pa, nemojte se iznenaditi ako čujete da neki mp3 fajl sa 320kbs zvuči loše. Verovatno je u pitanju ovaj vid rekompresije. Ili to ili je korišćen neki zaista loš, prastari mp3 enkoder.

Ostavite odgovor

Popunite detalje ispod ili pritisnite na ikonicu da biste se prijavili:

WordPress.com logo

Komentarišet koristeći svoj WordPress.com nalog. Odjavite se /  Promeni )

Google photo

Komentarišet koristeći svoj Google nalog. Odjavite se /  Promeni )

Slika na Tviteru

Komentarišet koristeći svoj Twitter nalog. Odjavite se /  Promeni )

Fejsbukova fotografija

Komentarišet koristeći svoj Facebook nalog. Odjavite se /  Promeni )

Povezivanje sa %s