MP3 - mistrz iluzji =================== Wielką furorę w Internecie robi tajemniczy MP3. Uważany jest za najlepszego kuriera dźwięku wysokiej jakości: bije konkurentów swą szybkością i poziomem usług, a dzięki niewielkim rozmiarom wciśnie się wszędzie. W rzeczywistości to mistrz iluzji: nabiera nas tak subtelnie, że zupełnie nieświadomie poddajemy się jego urokowi. Przyjrzyjmy się więc z bliska panu MP3. SKĄD PRZYBYWA? -------------- Korzenie MP3 leżą jeszcze w czasach powstawania standardu płyt CD. Wówczas postanowiono, że cyfrowy dźwięk będzie rejestrowany jako wierna kopia sygnału analogowego (czyli naturalnego), ale tylko w paśmie do 20 kHz, bo wyższych dźwięków normalny homo sapiens i tak nie słyszy. To ograniczenie było też na rękę inżynierom, którzy nie musieli pracować nad zbyt skomplikowanymi układami elektronicznymi. Dlaczego? Dźwięk - jak każde zjawisko - istnieje w pewnych wymiarach. Oceniamy jego głośność (fachowo: natężenie) i wysokość (częstotliwość). Tak też pokazują go najczęściej wykresy - jako natężenie pewnych częstotliwości. Żeby zamienić sygnał analogowy na cyfrowy trzeba go próbkować: podzielić na jak najmniejsze, równe kawałki (próbki), zmierzyć wartość każdej takiej próbki według skali, a wynik pomiaru zapisać w postaci cyfrowej. Dźwięk CD to 16-bitowe próbki wykonywane z częstotliwością 44,1 kHz dla każdego kanału z osobna. W jednej sekundzie powstaje więc 1411,2 kilobitów danych (16*44,1*2), co daje ok. 10 MB na minutę utworu. Nie dziwne, że ścieżki audio CD w postaci pliku wave zajmują tyle miejsca, a żaden modem - nawet ISDN 128 kbps - nie przełknie takiej transmisji. PO CO PRZYBYWA? --------------- Płyty CD miały wielką wadę: nie dało się ich zapisywać tak, jak kasety czy dyskietki. Powstał więc DAT - mała kaseta z taśmą do zapisu cyfrowego o jakości CD lub lepszej (wyższa częstotliwość próbkowania) i jeszcze większej pojemności. Lecz obawy o masowe piractwo uniemożliwiły zadomowienie się tego wynalazku. Wówczas Philips rozpoczął prace nad Digital Compact Cassette (DCC), a Sony postawił na MiniDisc (MD). Obie firmy założyły, że ich nośniki nie zmieszczą takiej ilości danych, jakiej wymaga dźwięk CD. Idea była prosta: upakować dane do maksimum, ale bez utraty jakości sygnału. Wydawało się to niemożliwe, lecz z pomocą przyszła niedoskonałość ludzkiego ucha. JAK OSZUKUJE? ------------- Teoretycznie słyszymy dźwięki z zakresu od 20 Hz do 20 kHz, więc płyta CD oferuje nam pełną skalę doznań. Jednak w rzeczywistości większość ludzi jest głucha na wszystko powyżej 16-17 kHz, choć odczuwa wysokie dźwięki samym mózgiem i ciałem (jeśli nie wierzycie, weźcie dowolny program do edycji audio typu Cool Edit, i włączcie 17 kHz). Na dodatek ucho najlepiej reaguje na pasmo 2 do 4 kHz (mowa mieści się w zakresie tzw. pasma telefonicznego - 0,5 do 2 kHz). Pozostałe dźwięki trzeba bardziej wzmocnić, by stały się słyszalne. Dalsze badania odsłoniły kolejne wady ludzkiego słuchu. Gdy słyszymy silny dźwięk, blokuje on percepcję dźwięków o podobnej częstotliwości, lecz mniejszym natężeniu. Muszą być znacznie głośniejsze niż to wynika z normalnej charakterystyki ucha, byśmy mogli je wychwycić. Mocny dźwięk zwie się maskującym, słabszy zaś - maskowanym. Zjawisko maskowania może występować nie tylko przy jednoczesnym pojawieniu się dwóch dźwięków o różnym natężeniu i podobnej częstotliwości. Istnieje ono także w funkcji czasu (ogranicza percepcję innych dźwięków w następnych sekundach). Wykorzystując tę psychoakustyczną ułomność zmysłu, stworzono kodowanie podzakresowe SBC, którego podstawowym założeniem jest odrzucanie wszystkich zbędnych informacji o maskowanych częstotliwościach. A jako że jest ich sporo, efekt kodowania okazuje się rewelacyjny. Co prawda sygnał wyjściowy nie odpowiada oryginałowi, ale ucho ludzkie tego nie rozróżnia. Ogólny algorytm postępowania koderów jest następujący: sygnał wejściowy zostaje najpierw podzielony na podzakresy częstotliwościowe dla danej jednostki czasu (po ludzku: co jakiś czas branych jest ileś próbek pasma). Podzakresy porównywane są z oryginałem i na podstawie analizy modelu psychoakustycznego koder określa próg słyszalności dla próbki. Następnie każda z próbek jest kwantowana (zamieniana na postać cyfrową) tak, by słowo ją opisujące było na tyle małe, żeby szum kwantowania nadal znajdował się poniżej progu słyszalności. Długość słowa uzyskuje się przez podzielenie wartości poziomu stosunku sygnału do szumu przez 6 (wspomniane wcześniej równanie 1 bit kwantyzacji = 6 dB) i zaokrąglenie wyniku wzwyż. Przykładowo, jeżeli dźwięk maskujący ma 70 dB, a maskowane przez niego dźwięki znajdują się poniżej poziomu 50 dB, to różnica wynosi 20 dB i jest to stosunek sygnału do szumu w danym podzakresie. Błąd kwantowania w tym podzakresie może więc być duży, bo i tak szum zostanie zakryty dźwiękiem maskującym. Do opisu próbek wystarczą wtedy 4 bity (20/6) zamiast 16, jak w CD. Z gotowych danych koder formuje strumień, dzieląc go na czasowe ramki, by dekoder się nie pogubił. Dodatkowo umieszcza informacje o układzie bitów na przestrzeni widma, czyli w którym miejscu ile bitów opisuje próbki. Sam dekoder jest prostszy, bo nie wymaga modelu psychoakustycznego. Rozpakowuje jedynie ramki, dekoduje próbki z podzakresów i mapowaniem przywraca do postaci sygnału audio. CZEMU TAKIE IMIĘ? ----------------- MP3 to wcale nie MPEG-3! Ten skrót wziął się jedynie z rozszerzenia plików wędrujących po Internecie. W rzeczywistości nazwa wywodzi się z MPEG-1 Layer 3. Zarówno standard MPEG-1, jak i MPEG-2 zawierają 3 warstwy obsługi kanałów audio: najprostszą i najstarszą Layer 1 (opracowaną głównie z myślą o DCC), Layer 2 i Layer 3 (powstałą w 1991 roku w niemieckim Instytucie Fraunhofera). Im wyższy numer warstwy, tym większa kompresja danych, a więc niższe pasmo transmisji i wielkość pliku wyjściowego. W Layer 1 kompresja sygnału stereo CD wynosi 4:1, więc dane wędrują z szybkością 384 kbps. W Layer 2 stopień upakowania wzrósł do 6:1...8:1, co dało 256...192 kbps. Layer 3 zaś to najbardziej zaawansowana technologia z kompresją 10:1...12:1 umożliwiającą transmisję 128...112 kbps. Oczywiście wiąże się to z większą mocą i złożonością koderów oraz odmiennymi metodami kodowania, choć we wszystkich warstwach kodery dzielą sygnał na ramki zawierające po 384 próbki - po 12 z każdego z 32 podzakresów. Layer 1 dzieli pasmo na podzakresy o tym samym rozrzucie częstotliwości, a model psychoakustyczny wykorzystuje tylko maskowanie częstotliwościowe. Layer 2 w filtrowaniu kieruje się trzema ramkami (razem 1152 próbki): poprzednią, obecną i następną, wykorzystuje więc trochę maskowania czasowego. Layer 3 wprowadza nierówny rozdział częstotliwości w podzakresach (uwzględnia różną czułość ucha dla różnych częstotliwości - z naciskiem na przedział 2 do 4 kHz), używa zaawansowanego maskowania czasowego, redukuje powtarzalność sygnałów stereo (gdy oba kanały mają te same lub bardzo podobne wartości w niższym przedziale pasma, są łączone w jeden strumień; człowiek nie wie, z jakiego kierunku rozchodzą się dźwięki poniżej pewnej częstotliwości, stąd idea subwooferów) i używa znanego algorytmu kompresji Huffmana. CO MA DLA NAS? -------------- Dzięki kodowaniu Layer 3 możemy skurczyć dźwięk CD do 12 razy bez utraty jakości i przesyłać go z sensowną szybkością (nawet 112 kbps). Co prawda porównanie oryginalnego sygnału z CD i jego wersją MP3 w większości wypadków wyraźnie wskazuje ucinanie dźwięków powyżej 16 kHz (wcześniej są one prawie identyczne), ale pocieszmy się, że koder działa tak, jak nasze ucho. Usuwa więc to, co zagłuszyłyby niższe dźwięki. Zdarzają się jednak sytuacje, gdy rzeczywiście koderowi brakuje bitów przy złożonej muzyce, np. symfonicznej i zniekształca dźwięk (posłuchajcie plików 128.mp3 i 256.mp3 z naszej płyty). Testy odsłuchowe wykazały, że dopiero przy 256 kbps eksperci nie mogli odróżnić próbek MP3 od oryginału z taśm DAT. Lecz kompresja 6:1 daje dwa razy większe pliki i jest zbyt niska do transmisji na żywo. Dlatego mimo wszystko MPEG Layer 3 jest na razie najlepszy, choć może zostać zdetronizowany przez nowe, wydajniejsze formaty AAC i TwinVQ. Na naszej płycie CD-ROM znajdziecie wszystkie najpopularniejsze kodery i odtwarzacze standardu MP3. Które są najlepsze? Kwestia potrzeb i gustu. W przypadku odtwarzaczy ważnym kryterium jest szybkość, czy raczej stopień obciążenia procesora. Pod tym względem króluje WinPlay opracowany w Instytucie Fraunhofera. Ma jednak słabe funkcje interfejsu. Trochę wolniejszy, ale doskonale zaprojektowany WinAMP ma największą rzeszę użytkowników w Internecie. Natomiast najszybszym i jednocześnie najlepszym w jakości dźwięku odtwarzaczem jest NAD 0.90 (gdy pisałem ten artykuł, był jeszcze w fazie beta). Kodery czy nakładki? -------------------- Kodery to zupełnie inna historia. W zasadzie są tylko trzy prawdziwe kodery MP3, reszta to jedynie nakładki, interfejsy graficzne do nich. Przy kodowaniu (dokonuje się tego z plików wave; trzeba więc użyć programu do zrzucania ścieżek audio z CD, np. WinDAC32) ważny jest czas procesu i jakość pliku wyjściowego. Gdy czas nie jest istotny, warto kodować z najwyższą jakością ("HQ") i do pasma 128 kbps. Niższe wartości są zdecydowanie szybsze (nawet kilkukrotnie), lecz wtedy dźwięk z pliku MP3 będzie trochę "pływał", jak na kiepskim magnetofonie. Za najlepszy koder uważany jest komercyjny program MP3 Producer, pochodzący także z Instytutu Fraunhofera. Identyczny - czytaj: kradziony - kod zastosowano w MP3 Compressorze, przez co program zniknął z oficjalnych stron w Internecie, choć nadal łatwo go znaleźć (poszukajcie pliku o nazwie mp3compr09f.exe). Darek Rzeźnicki