Fujitsu-Siemens
 
M A G A Z I N
 
SOFTWARE 
  Marko Petrović

Kako radi MP3? - Idemo dalje!!!

Anatomija MP3 dokumenta


Sam MP3 dokument je podeljen na mnogo delova. Ti delovi zovu se okviri ili frejmovi. Svaki okvir u sebi sadrži informaciju o audio podatku koji traje svega par delova sekunde. Da bi dekoder ispravno dekodovao i kasnije reprodukovao zvuk, svaki frejm mora imati zaglavlje (header) u kome su sadržane informacije o audio podatku koji se u njemu nalazi. Zaglavlje je dužine 32 bita. Izlgled jednog frejma predstavljen je na sledećoj slici:


U zaglavlju se nalazi mnoštvo polja, koji određuju strukturu okvira:

Pozicija
Značenje

Dužina
(bit)

A
Sinhronizacija frejma
11
B
Verzija MPEG audio (MPEG-1, 2, i sl.)
2
C
MPEG layer (Layer I, II, III, i sl.)
2
D
Zaštitni bit
1
E
Bitrejt index
4
F
Frekvencija odabiranja (semplovanja), npr. 44.1kHz
2
G
Padding bit (on ili off, vrši kompenzaciju u slučaju da se pojave prazni frejmovi)
1
H
Private bit (on ili off, bit privatnosti, koriste ga aplikacije)
1
I
Mod (vrsta) kanala (stereo, joint stereo, i sl.)
2
J
Ekstenzija moda (koristi se samo kod joint stereo moda)
2
K
Copyright (on ili off)
1
L
Original (off kada je kopija originala, on kada je original)
1
M
Emfazis (Emphasis)
2


Vizuelno, samo zaglavlje se može predstaviti i na sledeći način:

Ovakav raspored bitova u zaglavlju određuju tačno i pouzdano dekomprimovanje MP3 dokumenta.


Priprema za komprimovanje!


Veoma bitan parametar za razumevanje MP3 formata je audio rezolucija. Naziva se još i semplrejt (samplerate). Upravo uz pomoć njega se određuje kvalitet konverzije iz analognog (nekomprimovanog) u digitalni signal. U stvari, to je frekvencija kojom će biti odabrani delovi audio signala.
Odabiranje je postupak kojim se uzimaju uzorci analognog signala. Npr. ako pogledamo sledeću sliku, uočićemo analogni signal, jednu sinusoidu koja neprekidno traje u određenom vremenskom periodu. Da bi se ta sinusoida kasnije reprodukovala, nije potrebno da se njeni uzorci (odbirci) uzimaju baš u svakom trenutku, već sa određnim "razmacima u vremenu". Ova osobina je suštinska, jer da nije tako ne bismo mogli digitalizovati analogne signale. Naime, nemoguće je uzimati uzorke tako "gusto" da između dva ne bude "razmaka". Minimalna frekvencija uzimanja tih uzoraka, odnosno maksimalni razmaci u vremenu između dva uzorka su određeni veoma bitnom teoremom koja se zove "Teorema o odabiranju" na kojoj počiva postupak digitalizacije. Uprošćeno, može se reći da je broj uzoraka koi je potreban da se neki signal kasnije u potpunosti reprodukuje proporcionalan frekvenciji tog signala. Dakle, što je veća frekvencija signala, uzroci moraju češće da se uzimaju, da budu "gušći". Preciznije, frekvencija odabiranja mora biti barem dva puta veća od frekvencije signala.
Najčešće korišćena frekvencija odabiranja je 44.1 kHz (kiloherc). Svi audio CD-ovi su semplovani na ovoj frekvenciji. U profesionalnoj upotrebi se još koristi i frekvencija odabiranja od 48 kHz, a od nedavno i 96 kHz. Što je veća frekvencija odabiranja, veći je kvalitet (uzorci su "gušće uzeti"), ali je i veća veličina dokumenta koji kreiramo jer se povećava količina informacija. U nekim slučajevima je moguće koristiti i niže frekvencije. Na primer za prenos ljudskog govora se koristi frekvencija odabiranja od svega 8 kHz. To je sasvim dovoljno jer se frekvencije koje se javljaju prilikom govora nalaze u opsegu od 300 do 3.4 kHz. Ako se prisetimo teoreme o odabiranju videćemo da je za prenos govora dovoljna frekvenicja odabiranja od 2x3.4 kHz = 6.8 kHz. Dakle, 8 kHz će nam biti sasvim dovoljno. Ova frekvencija odabiranja se koristi ne samo prilikom komprimovanja u MP3, već i u digitalnoj fiksnoj i mobilnoj telefoniji (naravno postoje i druge primene).


Šta je to bitrejt (bitrate)?


Jednostvno rečeno, bitrejtom je određen broj bitova koji su potrebni da se predstavi sekunda komprimovanog zvuka. Izražava se u jedinicama kbps (kilobits per second). Naravno, što je veći bitrejt veći je i kvalitet MP3 pesme. Npr. ako je bitrejt 128 kbps, onda će jedna sekunda biti predstavljena sa 128000 bitova.

Sa slike se vidi da je najkvalitetniji analogni signal (izvorni audio zapis). Kada se koristi manji bitrejt, veći su razmaci između odbiraka i samim tim veći gubici. Uporedite sa slike deo signala predstavljen sa 64 kbps i 128 kbps.
U audio zapisu mogu postojati delovi koji su bogatiji informacijama (više instrumenata, više vokala u isto vreme). Dešava se da prilikom korišćenja konstantnog bitrejta (CBR – constant bitrate) ovi delovi zvuče lošije u odnosu na delove u kojima nema toliko informacija. Najbolje rešenje u ovakvim slučajevima je promenljivi bitrejt (VBR – variable bitrate). Sam enkoder odlučuje kolika će biti veličina frejma, tj. koliko će broj bitova biti korišćen pri predstavi jedne sekunde audio zapisa. Upoređujući sa CBR od 128 kbps MP3 pesme komprimovane na ovaj način će biti veće (u proseku nekih 50%), ali se lako može desiti i da budu i manje što zavisi od sadržaja same pesme.
Kao što je rečeno, MP3 koristi dve tehnike komprimovanja kako bi smanjio veličinu nekomprimovanog audio zapisa, jednu sa gubicima, a drugu bez. Prva izbacuje sve što čovek ne može čuti, dok druga uklanja sve suvišnosti. Sam proces komprimovanja se odvija u više faza:
* Signal se deli na na male delove zvane frejmovi (okviri), čije se trajanje deli u delovima sekunde.
* Zatim se analizira opseg frekvencija i određuje raspored bitova za svaku frekvenciju. Najbolji rezultat se postiže ako se ceo opseg podeli na više podopsega, koji se pojedinačno obrađuju.
* Sada u igru ulazi bitrejt. Sledi izračunavanje maksimalnog broja bitova koji bi bili dodeljeni svakom frejmu. Broj bitova po svakom frejmu je konstantan, osim ako koristimo promenljivi bitrejt (VBR). Ovaj korak praktično određuje veličinu fajla.
* Dobijeni raspored bitova za frekvencije upoređuje se sa matematičkim modelom ljudske psihoakustike (osobina perceptualnog kodeka). Frekvencije koje čovek bolje čuje predstavljaju se tačnije (više bitova), dok se frekvencije koje ne mogu biti registrovane, izostavljaju. Zašto sačuvati ono što ne možemo čuti?!
* Dobijeni niz bita (frejm) se zatim obrađuje Hafmanovim kodom (o njemu smo detaljnije pisali u pretprošlom broju Omega magazina), koji komprimuje podatak, izbacujući suvišnosti.
* Na kraju se dobijeni niz frejmova objedinjuje u jedan serijski niz bitova, čime je ceo proces komprimovanja obavljen. Jedino je ostalo da se ispred ovog niza bitova ubaci zaglavlje (heder), i eto... dobili smo MP3-ojku!!!

 

VRH STRANE

(c) 2003 OMEGA - sva prava zadržana