INFORMACJE O MPEG LAYER 3 I MPEG 4
1. Wiadomości wstępne.
Jak wiadomo, bez zastosowania kompresji danych jedna sekunda nagrania w formacie WAVE zapewniająca jakość CD (16 bitów, stereo, 44100Hz) zajmuje 1378,125 kb (176400kB). Utwór pięciominutowy zajmuje więc ok. 50 MB na dysku twardym. O jakiejkolwiek transmisji takiego pliku przez sieć w czasie rzeczywistym nie może być mowy. Zastosowanie kodowania MPEG Audio pozwala na dwunastokrotne zmniejszenie wielkości pliku wynikowego, bez straty jakości dźwięku. Współczynniki kompresji rzędu 24 lub nawet większe pozwalają zaś na uzyskanie znacząco lepszej jakości w porównaniu z plikami, w których zmniejszono częstotliwości próbkowania i rozdzielczość bitową, przy zbliżonej wielkości plików.
Obecnie największą popularnością cieszy się format kompresji MPEG Layer 3. Zapewnia on jakość porównywalną z płytą CD przy kompresji 1:10…1:12 (przepływność 128…122 kb/s). Dla porównania Layer 2 dla zachowania tej samej jakości używał kompresji 1:6…1:8 (256…192 kb/s), a Layer 1 (używany w DCC) –1:4 (384 kb/s). Ze względu na swą elastyczność format MPEG Layer 3 nadaje się także do kodowania sygnałów o niższej jakości:
Jakość dźwięku |
Szerokość pasma |
Liczba kanałów |
Przepływność |
Współczynnik kompresji |
“Telefoniczna” |
2,5 kHz |
Mono |
8 kb/s |
96:1 |
“Lepsza niż na krótkich falach” |
4,5 kHz |
Mono |
16 kb/s |
48:1 |
“Lepsza niż AM” |
7,5 kHz |
Mono |
32 kb/s |
24:1 |
“Zbliżona do FM” |
11 kHz |
Stereo |
56…64 kb/s |
26…24:1 |
“Prawie-CD” |
15 kHz |
Stereo |
96 kb/s |
16:1 |
“CD” |
> 15 kHz |
Stereo |
112…128 kb/s |
12…10:1 |
Format MPEG Layer 3 został podzielony na dwie kategorie: MPEG-1 Layer 3 (dźwięk próbkowany z częstotliwością 32, 44,1 48 kHz –przepływności 256, 128, 112, 96, 64, 56 kb/s) i MPEG-2 Layer 3 (16, 22,05 ,24 kHz; 64, 56, 32, 24 kb/s). Ponadto stosowany przez nas programowy kompresor opracowany w Instytucie Układów Scalonych im. Fraunhofera używa jeszcze niestandardowego MPEG-2,5 Layer 3 (16, 11,025, 8 kHz; 16, 8 kb/s).
Plik w formacie MPEG Layer 3 nie zawiera nagłówka opisującego rodzaj zastosowanego formatu, co pozwala na odtwarzanie dowolnego fragmentu zbioru. Ma to szczególne znaczenie przy wykorzystaniu MP3 w Internecie, gdzie nie zawsze udaje się ściągnąć plik w całości. Możliwe jest przy tym zawieranie w pliku MP3 podstawowych informacji o utworze, takich jak: tytuł, wykonawca, album, typ muzyki itp.
Niestety, kodowanie plików MP3 na komputerze PC bez wspomagania sprzętowego (dedykowana karta) jest nierealizowalne w czasie rzeczywistym. Silna kompresja i skomplikowany algorytm dekodowania sprawiają, że procesor podczas odtwarzania pliku MP3 jest silnie obciążony. Ciągłe zwiększanie mocy obliczeniowej komputerów poprawia jednak sytuację praktycznie z dnia na dzień.
Jak już wcześniej zostało wspomniane, kodowaniu audio według MPEG-1 wraz z rozszerzeniami MPEG-2 (kodowanie wielokanałowe i uwzględnienie niskich częstotliwości próbkowania) znajduje się w fazie rozpowszechniania i cieszy się wielkim powodzeniem (MPEG-3 mający zapewnić m.in. dźwięk dla HDTV został wręcz wchłonięty przez MPEG-2). Ale już wkrótce standardem może stać się kodowanie MPEG-4. Nowy system ma bowiem zastąpić wszystkie dotychczasowe standardy, a poprzez swą elastyczność umożliwić budowę uniwersalnych urządzeń końcowych. W MPEG-4 zastosowano poniższy podział sygnałów na klasy:
MPEG-4 Audio ma także obsługiwać nowe funkcje, spośród których najważniejszą jest skalowalność. Pozwoli ona na dekodowanie części strumienia danych celem uzyskania gorszej jakości.
MPEG-4 Audio umożliwić ma dowolne złożenie kodera z pojedynczych narzędzi. Część z nich będzie przy tym wykorzystywana w wielu metodach. Poniżej wymienione są niektóre narzędzia przyszłych koderów MPEG-4 Audio:
Metody parametryczne (zastosowanie: mowa i muzyka przy bardzo niskich wartościach strumieni danych)
Metody analizy przez syntezę (kodowanie mowy)
Metody filtracyjne (audio jakości HiFi)
W obecnej chwili MPEG-4 Audio znajduje się w końcowej fazie ustaleń. Stąd jeszcze nie wszystkie jego właściwości są znane. Wiadomo już jednak, że będzie on metodą kodowania przyszłościowych zastosowań multimedialnych.
2. Badanie pliku testowego
Specjalnie spreparowany plik testowy został poddany kompresji dla wszystkich możliwych wartości przepływności binarnej, po czym otrzymane pliki zdekodowano i poddano analizie widmowej. Poniżej opisane zostały różnice widma dla kolejnych przepływności. Do kompresji i dekompresji użyto dosowych programów L3enc.exe i L3dec.exe w wersji 2.60.
Przebieg oryginalny, nie poddawany kompresji posiada poniższą charakterystykę widmową:
Jak wyraźnie widać kolejne harmoniczne mają zbliżoną amplitudę i występują do ok. 19000Hz. Dostrzec można także dodatkowe prążki, których występowanie może wynikać z nieidealności sygnału testowego lub, co bardziej prawdopodobne, niedoskonałości zastosowanej analizy Fouriera.
Zastosowanie największej dopuszczalnej przepływności 256 kb/s zaowocowało niewielkim pogorszeniem charakterystyki widmowej
:
Harmoniczne w dalszym ciągu posiadają zbliżoną amplitudę i występują do ok. 19000Hz. Wokół harmonicznych pojawiły się natomiast liczne składowe niepożądane. Ponieważ jednak ich odstęp od składowych użytecznych wynosi ok. 60 dB, więc nie mają praktycznie żadnego znaczenia dla jakości odsłuchiwanego materiału.
Dalsza jednak kompresja powoduje już dalej idące zniekształcenia sygnału. I tak dla przepływności 128 kb/s otrzymuje się:
Nastąpiło całkowite wycięcie wszelkich składowych powyżej 16000Hz. Składowe szumowe znacznie zwiększyły swoją amplitudę i odstęp sygnał od szumu sięga ok. 50dB. W dalszym jednak ciągu można twierdzić, iż różnice między plikiem oryginalnym i skomprymowanym z przepływnością 128 kb/s będą niesłyszalne. Człowiek bowiem rzadko słyszy po wyżej 15000Hz, a szum zostanie zagłuszony w całości przez sygnał.
Zmniejszenie przepływności binarnej do 112 kb/s nie powoduje znaczących zmian w porównaniu z widmem dla przepływności 128 kb/s. Pasmo w dalszym ciągu zostaje ucięte na 16000Hz, jedynie poziom szumu wzrósł o ok. 2-3dB, w dalszym jednak ciągu pozostając nie słyszalnym.
Dopiero dla przepływności 96 kb/s widać kolejny efekt kompresji. Podbite zostały o blisko 10 dB składowe szumowe dla częstotliwości powyżej 8000Hz. Układ kompresji zwiększył szumy najpierw dla wyższych częstotliwości, gdzie będą one mniej zauważalne dla ucha (patrz krzywe izofoniczne).
Dalsze zmniejszenie przepływności spowodowało kolejne zawężenie pasma sygnału poddanego kompresji. Dla przepływności binarnej 64 kb/s następuje wycięcie wszystkich składowych powyżej ok. 15kHz, a dla 56 kb/s powyżej 13,5kHz.
Można przypuszczać, że przy tego rzędu przepływnościach koder stwierdza po prostu, że człowiek i tak nie usłyszy częstotliwości powyżej pewnej wartości. W związku z tym nie wykonuje nawet żadnych obliczeń dla składowych położonych w tym pasmie. Efekt końcowy jest zaś zbliżony do zmniejszenia częstotliwości próbkowania z użyciem dobrego filtru antyaliasingowego.
Jak się należało spodziewać wystąpiło także kolejne zwiększenie amplitudy szumów. Dla przepływności 56 kb/s odległość sygnału od szumu wynosi tylko ok. 30 dB.
Co ciekawe, sytuacja uległa pewnej poprawie dla przepływności 32 kb/s:
Odstęp sygnału od szumu wynosi ponownie ok. 50 dB (jak dla przepływności 128kb/s). Ten pozorny “cud” łatwo wyjaśnić po spojrzeniu na skalę częstotliwości. Koder zmniejszył bowiem częstotliwość próbkowania do 22050Hz –dokonał automatycznej decymacji. Samo to pozwoliło ograniczyć przepływność o połowę (sygnału na wejściu). Dodatko wo nastąpiło wycięcie składowych powyżej 7 kHz. Zmniejszenie przepływności do 24 kb/s nie zwiększyło amplitudy szumów, koder po prostu jeszcze bardziej zawęził pasmo użyteczne –do ok. 6 kHz.
Zmniejszenie częstotliwości próbkowania i ograniczenie pasma zastosował koder tak że przy przepływności 16 kb/s –fp= 11025Hz, fmax= 3500 Hz.
Jak można się było spodziewać, dla najmniejszej dostępnej przepływności –8 kb/s koder użyje wszelkich możliwych technik kompresji. Tak stało się w praktyce:
Częstotliwość próbkowania została ograniczona do 8kHz, pasmo do 2500Hz. W sy gnale pozostały więc tylko trzy prążki.
3. Badanie typowych plików dźwiękowych.
Kompresji dla wszystkich możliwych wartości przepływności binarnej zostały podda ne następujące pliki:
Odsłuch plików *.mp3 został dokonany przy pomocy programu WinAmp v.1.60
Poniżej zestawione zostały w formie tabeli otrzymane wyniki:
Ad 1) rozmiar pliku wejściowego: 912062 kB
Przepływność [kb/s] |
Rozmiar pliku wyjściowego [kB] |
Współczynnik kompresji | Wrażenia subiektywne |
256 | 332695 | 2,741:1 | Brak różnic w porównaniu z plikiem wejściowym |
128 | 166347 | 5,483:1 | Brak różnic w porównaniu z plikiem wejściowym |
112 | 145554 | 6,266:1 | Brak różnic w porównaniu z plikiem wejściowym |
96 | 124761 | 7,310:1 | Brak różnic w porównaniu z plikiem wejściowym |
64 | 83173 | 10,966:1 | Minimalne ograniczenie wyższych częstotliwości |
56 | 72777 | 12,532:1 | Minimalne ograniczenie wyższych częstotliwości |
32 | 41691 | 21,877:1 | Minimalne ograniczenie wyższych częstotliwości |
24 | 31269 | 29,168:1 | Minimalne ograniczenie wyższych częstotliwości |
16 | 21002 | 43,427:1 | Dźwięk dochodzi z tunelu, brak wyższych częstotliwości |
8 | 10502 | 86,847:1 | Dźwięk dochodzi z tunelu, zniekształcenia większe niż dla 16kb/s, pojawia się “świergolenie” słyszalne zwłaszcza przy szybkich zmianach amplitudy |
Ad 2) rozmiar pliku wejściowego: 1618804 kB
Przepływność [kb/s] |
Rozmiar pliku wyjściowego [kB] |
Współczynnik kompresji | UWAGI |
256 | 295079 | 5,486:1 | Brak różnic w porównaniu z plikiem wejściowym |
128 | 147539 | 10,972:1 | Brak różnic w porównaniu z plikiem wejściowym |
112 | 129097 | 12,539:1 | Brak różnic w porównaniu z plikiem wejściowym |
96 | 110655 | 14,629:1 | Brak różnic w porównaniu z plikiem wejściowym |
64 | 74187 | 21,821:1 | Brak różnic w porównaniu z plikiem wejściowym |
56 | 64914 | 24,938:1 | Brak różnic w porównaniu z plikiem wejściowym |
32 | 37407 | 43,275:1 | Dźwięk ze starej płyty analogowej |
24 | 28055 | 57,701:1 | Dźwięk ze starej płyty analogowej, słyszalne zjawisko pływania amplitudy |
16 | 18704 | 86,549:1 | Dźwięk ze starej płyty analogowej, metaliczne brzmienie, dochodzący z tunelu |
8 | 9352 | 173,097:1 | Dźwięk całkowicie zmieniony, momentami silnie zniekształcony głos, zamiast akompaniamentu pracująca pompa |
Ad 3) rozmiar pliku wejściowego: 512040kB
Przepływność [kb/s] |
Rozmiar pliku wyjściowego [kB] |
Współczynnik kompresji | UWAGI |
256 | 187245 | 2,735:1 | Brak różnic w porównaniu z plikiem wejściowym |
128 | 93622 | 5,469:1 | Brak różnic w porównaniu z plikiem wejściowym |
112 | 81920 | 6,250:1 | Brak różnic w porównaniu z plikiem wejściowym |
96 | 70217 | 7,292:1 | Brak różnic w porównaniu z plikiem wejściowym |
64 | 46811 | 10,938:1 | Brak różnic w porównaniu z plikiem wejściowym |
56 | 40960 | 12,501:1 | Brak różnic w porównaniu z plikiem wejściowym |
32 | 23510 | 21,780:1 | Słychać zniekształcenia przy szybkim narastaniu amplitu dy sygnału |
24 | 17633 | 29,039:1 | Dźwięk staje się metaliczny, sztuczny |
16 | 11912 | 42,985:1 | Dźwięk brzmi jakby wydobywał się spod wody, występują swoiste odbicia |
8 | 5956 | 85,970:1 | Dźwięk brzmi bardzo sztucznie, w dalszym ciągu przypomina dźwięki z mikrofonu podwodnego |
4. Wnioski.
Badanie układów kompresji sygnałem złożonym jest
działaniem niezwykle skutecznym, jeśli chodzi o wykrywanie
ewentualnych niedoskonałości algorytmu. W rozpatrywanym jednak
przypadku format MEPG Layer 3 pokazał swoje zalety. Obserwacja
widm sygnałów poddanych kompresji i następnie dekompresji
pozwala dostrzec pewną zależność. Zmniejszanie
przepływności sygnału objawia się w przypadku formatu MPEG
Layer 3 przede wszystkim zmniejszaniem pasma sygnału.
Przeprowadzone badania potwierdziły, że zastosowany algorytm
kwantyzacji jest niezwykle skuteczny. Pojawiający się szum
kwantyzacji leży w każdym z obserwowanych przypadków poniżej
progu słyszalności –odstęp sygnału od szumu nie spadał
poniżej 30 dB. Człowiek zaś na pewno w mniejszym stopniu
odczuje utratę wyższych częstotliwości w sygnale, niż
pojawienie się szumu i, co najważniejsze, łatwiej takie zmiany
zaakceptuje. Obserwacja przebiegów czasowych plików
dźwiękowych po dekompresji pozwoliła dostrzec wystąpienia
opóźnienia w rozpoczęciu sygnału użytecznego. Cisza na
początku utworu trwa od 0,029s do 0,1s w zależności od
wymaganej przepływności. Może być ona spowodowana
opóźnieniem przetwarzania dźwięku powstającym podczas
kompresji i dekompresji.
Badania odsłuchowe zadanych plików dźwiękowych również
potwierdziły zalety kompresji MPEG. Właściwie dopiero
zmniejszenie od przepływności do 32 kb/s powodowało słyszalne
różnice, i to głównie dla dźwięków zawierających mowę.
Jedną z przyczyn jest zmniejszenie efektywnej częstotliwości
próbkowania i przejście przez koder na format MPEG-2 Layer 3.
Dalsze zmniejszanie przepływności powodowało, że dźwięk
stawał się metaliczny, mowa pozostawała jednak zrozumiała.
Metaliczność mowy może wynikać ze zbytniego wycięcia z
sygnału wejściowego parametrów “osobniczych”. Zostaje
przesłana jedynie informacja niezbędna do uzyskania
zrozumiałości (kompresor zaczyna działać w sposób nieco
zbliżony do wokodera). Dla tak niewielkich przepływności
można także dostrzec, że kompresor nieco “się gubi” przy
szybko narastających dźwiękach. Zastosowane kodowanie nie
nadąża za nagłymi zmianami amplitudy.
Należy przy tym dodać, że tak dobre wyniki kompresji MPEG
mogą wynikać z właściwości przebadanych plików, których
pasmo sięgało maksymalnie 15-16 kHz. Wpływ obcinania pasma dla
największych przepływności nie mógł być więc obserwowany.
Przeprowadzone testy pokazały, że faktycznie MPEG Layer 3 jest
w stanie zapewnić doskonałą jakość dźwięku, o ile
oczywiście nie przesadzimy z wielkością przepływności. W
celu zachowania jakości płyty CD wystarczy w zupełności
przepływność 128 kb/s. Zauważono to już dawno i stąd na
wielu internetowych serwerach można znaleźć pliki zakodowane
właśnie z tą przepływnością (patrz Linki).
Zastosowanie kompresji pozwala więc na lepsze wykorzystanie
miejsca na twardych dyskach i płytach CD-ROM. Na płycie CD-ROM
można dzięki niej zmieścić bez żadnych problemów zmieścić
zawartość dziesięciu płyt CD-AUDIO.
Gdy zaś zaistnieje konieczność przesłania mowy, to możemy
ją zakodować z przepływnością 32 kb/s, lub, w razie
potrzeby, nawet mniejszą, nie tracąc przy tym zrozumiałości.