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ą:

[Oryginał]

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

:[256 kb/s]

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ę:

[128 kb/s]

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.

[56 kb/s]

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:

[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:

[8 kb/s]

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:

  1. z muzyką klasyczną
  2. z muzyką rozrywkową
  3. z nagranym głosem

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.