Strona głowna < Artykuły

Technologia MP3

autor Jan Z.T. (8.04.2006 r)
(zapiska nr 18)

Spis treści:

1. Co było przed MP3 4. Co to jest Layer I,II,III ?
2. Jak powstaje kompresja MP3 5. Koder MP3 - Lame 3v97
3. Rodzaje algorytmów kodowania 6. Zobacz program LAME v.3

1. Co było przed MP3 (spis)

Technologia kompresji plików muzycznych typu WAVE za pomocą MPEG 1-2-3 Layer III zwana popularnie MP3 jest jedną z najlepszych jak na dzisiaj technologii kompresji audio. Ale trzeba tutaj zaznaczyć, że MPEG-3 to nie MP3. Ten skrót mp3 wziął się od rozszerzenia plików dźwiękowych z internetu i naprawdę nazwa się wywodzi od algorytmu kodowania zwanego MPEG-1 Layer III.
MPEG jest skrótem od Motion Picture Expert Group firmy która stworzyła algorytmy kompresji zapisu plików multimedialnych, głównie obraz. Ale nie przeszkadzało to oczywiście do zapisu plików dźwiękowych. Największą jego zaletą jest duży stopień kompresji dochodzący do 12.
Sygnał analogowy dźwięku jest rejestrowany cyfrowo tylko w paśmie 20-20000 Hz ponieważ poza tym zakresem ucho ludzkie już nie słyszy. A żeby zamienić sygnał analogowy na cyfrowy należy go poddać tzw. próbkowaniu (sampling) czyli podzielić na małe kawałki. Następnie w takiej próbce określa się głośność czyli natężenie oraz wysokość czyli częstotliwość wg okreslonej skali a następnie wynik zapisuje się w postaci cyfrowej (słowa 2 bajtowe czyli 16 bitów) > Zobacz opis w ramce 1
W takiej wielkości są zapisywane tradycyjne płyty CD, które mieszczą maksymalnie 20 popularnych młodzieżowych utworów muzycznych. Jest to zapis dźwięku w formacie tzw. WAVE (Microsoft) lub AIFF (Macintosh). Taki zapis był długo stosowany ponieważ nie było potrzeby ograniczania jego bito-żerności a w szczególności dla płyt CD wypuszczanych przez zespoły muzyczne, dla których wypuszczenie 20 utworów w wielu wypadkach i tak było za dużo jak na ich możliwości. Dopiero rozpowszechnienie na szeroką skalę Internetu i umieszczanie w nim muzyki a następnie jej okropnie długie ściąganie wymusiło na inżynierach od informatyki wymyślenia czegoś co by ułatwiło ich szybsze pobieranie.
I tak dla przykładu w latach 1997-99 gdzie ogólnie stosowanym modemem był modem o szybkości przesyłu około 28kBs (realnie 20-22 kBs) a ściągnięcie pliku muzycznego 30 MB zajmowało > Zobacz opis w ramce 2 oraz > Zobacz w ramce opis 3


2. Jak powstaje kompresja MP3 (spis)

Dlatego zaczęto poszukiwać rozwiązań aby dźwięk tak spakować ale w ten sposób by sygnał nie stracił znacznie na jakości. Twórcy kompresji MP3 wykorzystali pewne nie dokładności w słyszeniu muzyki przez ludzi. Płyta CD zapewnia dźwięk w zakresie 20 do 20 000 Hz ale przecież w przeważającej mierze ucho ludzkie słyszy tylko w zakresie maksymalnie do 16-17 kHz a najlepiej reaguje w zakresie 2 do 4 kHz.
Również ucho ludzkie różnie reaguje na silny dźwięk tzn. silniejsze dźwięki wpływają w ten sposób, że słyszymy te głośne dźwięki a te same o tej samej częstotliwości w tym samym czasie lecz o mniejszym natężeniu w zasadzie nie słyszymy lub słyszymy bardzo słabo.
W ten sposób silny dźwięk jakby maskuje ten słabszy i to zjawisko nazwano maskowaniem. Również ten efekt istnieje w czasie polegający na bezwładności ucha ludzkiego w szybkości odbioru dźwięku. Efekt odbioru przez ludzkie ucho silnego dźwięku nadal maskuje następne o mniejszym natężeniu dźwięki mimo że przeminął.
Jest to tzw. psycho-akustyczna ułomność naszego zmysłu słuchu i właśnie na tej naszej ułomności stworzono tzw. kodowanie SBC polegające na odrzucaniu wszelkich informacji o maskowanych częstotliwościach (tych słabych częstotliwościowo dźwięków).
Okazało się, że tych zamaskowanych częstotliwości np. dla zwykłej muzyki młodzieżowej jest w utworze bardzo dużo a zatem efekt końcowy kodowania (kompresji) takiego utworu jest bardzo dobry wynoszący jak 10..12 do 1. Ale dla muzyki poważnej np. symfonicznej aby nie było zniekształceń stopień kompresji będzie mniejszy i wyniesie średnio 5..6 do 1.
Algorytm kodowania MP3 można skrótowo przedstawić następująco:

  1. sygnał (plik WAVE) zostaje podzielony na podzakresy ze względu na częstotliwość w danej jednostce czasu czyli jest to tzw. próbkowanie (sampling)
  2. następnie każda taka próbka jest porównywane z oryginałem by koder określił dla danej próbki próg słyszalności (tzw. analiza akustyczna)
  3. po takiej analizie następuje wtórna digitalizacja dźwięku (kwantowanie) w ten sposób aby słowo opisującą daną próbkę było jak najmniejsze (by szum był poniżej progu słyszalności). Długość słowa (w bitach) opisującą daną próbkę otrzymuje się przez podzielenie wartości stosunku sygnał / szum przez 6 (1 bit odpowiada 6 dB poprawy dynamiki). Na przykład gdy sygnał (tzw. sygnał maskujący) wynosi 60dB a sygnały maskowane (słabsze) 40 dB to różnica wynosi 20 dB czyli jest to stosunek sygnał / szum. Czyli 20 / 6 = 3,33 zaokrągla się w górę czyli otrzymujemy słowo 4 bitowe (1/2 bajta) opisującą daną próbkę zamiast 16 (2 bajty) jak jest w przypadku tradycyjnego zapisu CD.
  4. w taki sposób z przygotowanych i opisanych próbek koder tworzy strumień dzieląc go na czasowe tzw. ramki, które są wykorzystywane przez dekoder do odczytu
  5. na samym końcu koder tworzy tzw. mapę rozmieszczenia bitów opisujących dane próbki na przestrzeni całego zapisu

Działanie samego dekodera jest łatwiejsza i polega na :

  1. rozpakowaniu ramek
  2. dekodowaniu próbek
  3. mapowaniu czyli sklecenie w całość do postaci sygnału audio

3. Rodzaje algorytmów kodowania audio (spis)

Głównie w kompresji audio obecnie są stosowane trzy algorytmy kompresji (kodowania), najczęściej są stosowane:
MPEG 1 Layer III <> MPEG 2 Layer III i mniej MPEG 2,5 Layer III

< sampling częstotliwosci
< szybkość kompresji

Przykłady ustawień od rodzaju muzyki:
Pliki muzyczne stereo z muzyką młodzieżową porównywana do jakości radia FM
Pliki muzyczne stereo z muzyką młodzieżową porównywana do jakości Hi-Fi
Pliki muzyczne stereo z muzyką młodzieżową porównywana do jakości CD
Pliki muzyczne stereo z muzyką symfoniczną porównywana do jakości CD
Pliki muzyczne stereo z muzyką symfoniczną porównywana do jakości studia nagrań

< zalacane od jakości pliku WAV

Przykładowe inne dane w zapisie MP3:

Przy jakości klasy Hi-Fi stereo można nagrać na krązku CD (700 MB) około 200 piosenek.
a przy jakości klasy płyty CD można nagrać około 140 piosenek.
Natomiast dla średniej klasy radia FM stereo można wgrać na płytę CD około 500 piosenek.
Zapis w MP3 jak dla dobrej klasy płyty CD to przynajmniej:


4. Co znaczy słowo Layer I, II, III ? (spis)

Słowo Layer (warstwa) oznacza obsługę kanałów audio. Występują jak do tej pory trzy takie elementy we wszystkich algorytmach MPEG1,2 i 3

  1. najstarsza Layer I - kompresja sygnału stereo CD wynosi 4 do 1 a zatem z szybkością 384 kBps
  2. Layer II - kompresja sygnału stereo CD wynosi 6..8 do 1 a zatem z szybkością 256..192 kBps
  3. i Layer III - kompresja sygnału stereo CD wynosi 10..12 do 1 a zatem z szybkością 128..112 kBps

Oczywiście szybkość kodowania w koderach można sobie odpowiednio dobrać. Z tego wynika, że im wyższy numer Layer tym wyższa kompresja czyli niższe pasmo transmisji i wielkość pliku. W wszystkich warstwach (Layer I II III) kodowanie odbywa się przez dzielenie sygnału na ramki które zawierają 384 próbki ale różnią się one odmiennymi metodami kodowania.
W Layer I pasmo częstotliwości jest podzielone na podzakresy o tym samym rozrzucie częstotliwości i jest wykorzystywane proste maskowanie.
W Layer II rozbudowana jest ramka do trzech sub-ramek na tzw. poprzednią, obecną i następną wykorzystując dodatkowo tzw. maskowanie czasowe, w sumie 1152 próbek na ramkę.
W Layer III użyto zaawansowanego maskowania czasowego, nierówny rozdział częstotliwości w podzakresach oraz redukcja jednego kanału sygnału stereo ( tylko wtedy gdy oba kanały mają podobne lub zbliżone wartości sygnału).


5. Koder MP3 - Lame 3v97 (spis)

W zasadzie na świecie są tylko 3 prawdziwe kodery MP3, wszystkie inne są tylko nakładkami na te trzy. Aby użyć takiego kodera np. do zgrania ścieżek z płytki CD najpierw trzeba zastosować program do zrzucania ścieżek audio (np. program WinDAC 32).
Jednym z takich koderów jest LAME 3v97, program pracujący pod Dosem. Jest jednym z lepszych koderów MP3 na świecie, freeware, często stosowanym w różnego rodzaju nakładkach programowych.
Ma około 8 rodzajów kompresji:

  1. Stała tzw. CBR
  2. Zmienna z progiem maksimum tzw. VBR-MAX
  3. Zmienna z progiem min i max tzw. VBR-MAX / CBR-MIN
  4. Przeciętna tzw. ABR
  5. Przeciętna z progiem minimum tzw. VBR/CBR-MIN
  6. Przeciętna z progiem min i max tzw. ABR + VBR-MAX/CBR-MIN
  7. Z dowolną kompresją powyżej 320 kbs, tylko CBR
  8. Wg wbudowanych ustawień programu LAME - 4 rodzaje

Posiada wiele innych parametrów do ustawienia które można zobaczyć na przygotowanej przez autora nakładce programowej do pracy z tym programem w systemie Windows.

Zobacz program Lame

Copyright  2006 by Jan Z.T.
Autor dopuszcza kopiowanie i rozpowszechnianie pod warunkiem
podania autora i strony http://www.tezet60.republika.pl/Jan-ZT-02.html
Artykuły > Strona głowna ** Poczta do autora - zapiska nr 18