Joensuun Yliopisto                                                           17.11.2000

Tietojenkäsittelytieteen laitos

Laudaturseminaari

Niko Jalkanen

 

 

 

 

 

Mp3-pakkaus

 

1      Johdanto. 1

2      Tiedon pakkaamisesta. 1

3      Mp3-pakkaus. 2

3.1       Perusajatukset 3

3.2       Taajuuskaistoihin jako. 3

3.3       Psykoakustinen malli 4

3.4       Taajuuskaistojen kvantisointi 4

3.5       Vaihteleva lohkokoko. 4

4      Yhteenveto. 5

Viitteet 5

 

 

1         Johdanto

 

Mp3-pakkaus (MPEG-1 Audio Layer III) on audion pakkausmenetelmä, joka on kehitetty pakkaamaan ääntä ihmisen kuuloaistille epäoleellista informaatiota karsien. Pakkaus perustuu syötelohkojen muuntamiseen taajuustasoon, jossa taajuuskaistat kvantisoidaan vaihtelevalla bittimäärällä. Psykoakustisen mallin avulla arvioidaan kuulokynnys eri taajuuskaistoilla, ja yritetään minimoida havaittu kvantisointikohina malliin perustuen. Mp3:lla päästäänkin käytännössä jopa 12:1 pakkaussuhteeseen ilman kuultavaa häiriötä CD-ääntä pakatessa.

 

2         Tiedon pakkaamisesta

 

Tiedon pakkaamisella tarkoitetaan datalle tehtävää muunnosta, jossa jokin datasyöte muunnetaan pakattuun muotoon (joka on toivottavasti pienempi kuin alkuperäinen muoto). Purkualgoritmilla saadaan muunnetusta muodosta takaisin alkuperäinen data. Pakkaustekniikat voidaan karkeasti ajatellen jakaa kahteen eri luokkaan, häviöttömään ja häviölliseen pakkaukseen. Monessa sovellutuksessa ainoa tapa tiedon koon pienentämiseen on käyttää hävittämätöntä pakkausta.


Häviötön pakkaus tarkoittaa, että purettu data on tarkalleen yhdenmukaista verrattuna alkuperäiseen. Tätä tekniikka voidaan käyttää esimerkiksi tekstin ja tietokoneohjelmien käsittelyyn. Tyypillisesti tällä tavalla saadaan alkuperäinen materiaali pienennettyä noin 2-10 kertaisesti.

 

Toinen päätyyppi on niin kutsuttu häviöllinen pakkaus. Toisin kuin edellisessä kappaleessa kuvattu häviötön ja täten virheetön pakkaus häviöllinen pakkaus kompromisoi lopputulosta verrattuna alkuperäiseen dataan. Mikäli lopputuloksen tarkkuus ei ole kovin kriittinen voidaan saavuttaa hyvinkin merkittäviä säästöjä datan määrässä.

 

 

3         Mp3-pakkaus

Mp3 pakkaus, toisella nimellään MPEG-1 Audio Layer III, on äänen pakkausformaatti, jonka pääasiallinen tarkoitus on ihmiskuunteluun tarkoitetun äänen pakkaaminen, käyttäen hyväksi ihmisen kuuloaistin erikoisominaisuuksia. MPEG-1 puolestaan on ISO:n MPEG-ryhmän (Moving Picture Experts Group) audiovisuaalisia pakkausmenetelmiä sisältävä standardi.

MPEG-1 Audio Layer I, II ja III ovat MPEG-1:ssä määritellyt kolme äänenpakkausformaattia, jotka ovat jonkinlaisessa hierarkiassa toisiinsa nähden, mp1:sen ollessa pakkausteholtaan huonoin mutta helpoin toteuttaa, ja mp3 puolestaan hankalin toteuttaa mutta pakkausteholtaan paras. Yleisesti ottaen on helppo tehdä tuki mp1:lle ja mp2:lle mp3-dekooderiin, koska ne käyttävät samoja algoritmeja, mutta tämä ei ole sinänsä itsestäänselvää. Siirryttäessä mp1:stä mp3:een kasvaa vaadittu prosessointiteho (sekä koodaamiseen että dekoodaamiseen), dekoodausviive sekä pakkausteho. (Vaarala)

Kerros

Pakkauskerroin

Bittinopeus/kanava

Yleisin bittinopeus/kanava

Layer 1

1:3 … 1:4

32 … 224 kbit/s

192 kbit/s

Layer 2

1:4 … 1:6

32 … 192 kbit/s

128 kbit/s

Layer 3

1:8 … 1:12

32 … 160 kbit/s

64 kbit/s

Taulukko 1. MPEG-1 kerrosten ominaisuudet

Lisäksi on määritelty kanavien toimintamoodit:

o                    Single Channel eli mono

o                    Dual Channel eli kaksiäänitoiminne (esim. kaksikielinen nauhoite)

o                    Stereo

o                    Joint Stereo eli yhdistetty stereo (Tässä koodataan molemmat kanavat siten, että otetaan huomioon molempien kanavien signaalien redundanssi, jonka jälkeen koodataan stereosignaali)

Erikoista mp3:ssa on se, että vain dekooderi ja datan formaatti on määritelty standardissa. Enkooderia ei speksata, jolloin niitä varten voidaan kehittää monia erilaisia algoritmeja eri tarpeita varten, kunhan algoritmin tuottama tulos pysyy standardin asettaman formaatissä. Samaa periaatetta on käytetty myös MPEG videopakkauksessa.

Kuva 1. Mp3-pakkauksen vaiheet (Backman)

3.1      Perusajatukset

 

CD-tasoinen ääni vaatii n. 1.4Mbps datavirran, mikä on selvästi liikaa. Miten ääntä voitaisiin pakata järkevästi? Yksi tapa olisi kaventaa taajuusaluetta (ts. karsia signaalista valitun taajuusalueen ulkopuolinen informaatio). Tällainen pakkaus on kuitenkin selvästi kuultavaa (CD:n taajuusalueessa on hieman "ilmaa" mutta ei kuitenkaan riittävästi järkeviin pakkaussuhteisiin). Toinen tapa olisi karsia kvantisointitasoja yksittäisille näytteille, 16 bittiä antaa n. 90dB signal-to-noise-ration, mikä on useissa tilanteissa "liian hyvä" ihmiskuulon kannalta. (Vaarala)

Tämä perusajatus yhdistettynä ihmiskuulon heikkouksien mallintamiseen on MPEG-1 Audio pakkausmenetelmien pohja. mp3:n käyttämää pakkausta kuvatessa käytetään usein termejä "perceptual noise shaping" ja "perceptual subband/transform coding", jotka merkitsevät karkeasti sitä, että jaotellaan syötesignaali taajuuskaistoihin, ja arvioidaan kuinka paljon kohinaa kullekin kaistalle voidaan laittaa (ns. psykoakustinen malli) ilman että kuulija huomaa mitään. Tämän jälkeen yritetään minimoida kuuluva häiriö suhteessa tuotettuun datamäärään "muotoilemalla kohina" optimaalisesti kanaville, käyttäen hyväksi aiemmin arvioitua kuuluvan kohinan rajaa.

Tässä vaiheessa on vielä hyvä huomauttaa, että tässä esitetty kuvaus mp3-pakkaamisesta ei ole missään nimessä standardi: kyseessä on vain erään, hyväksi havaitun, menetelmän kuvausta puuttumatta tarkasti toteutuksen yksityiskohtiin.

 

3.2      Taajuuskaistoihin jako

Mp1:ssa ja mp2:ssa jaetaan signaalin ihmiselle tärkeä kaista (20Hz...20kHz) 32 tasalevyiseen taajuuskaistaan. Syöte ajetaan ns. filterbankin läpi, jossa jokaista
taajuuskaistaa varten on oma kaistanpäästösuodin (bandpass filter), joka päästää läpi vain kaistaan kuuluvan osan signaalista. Jokaista saatua kaistaa voidaan tämän
jälkeen käsitellä erikseen. mp3:ssa taajuusjako on 18 kertaa tarkempi (jokainen alkuperäisestä 32 kaistasta jaetaan vielä 18 osaan). (Pan)

Taajuusanalyysi tehdään vakiomittaisissa lohkoissa, joka on mp1:ssä 8ms ja mp2:ssa sekä mp3:ssa 24ms. Mp3:ssa voidaan tietyissä signaalin ongelmakohdissa käyttää lyhyempiä lohkoja (4ms).

 

3.3      Psykoakustinen malli

Ihminen aistii äänen ilmanpaineenvaihteluina korvien paineherkkien solujen avulla. Kuultava taajuusalue on noin 20 Hz - 20 kHz. Ihmisen kuulolla on eräitä tiettyjä ominaisuuksia, joita sovelletaan MPEG-pakkauksessa. Hiljaisten äänten voimakkuuserot havaitaan tarkemmin kuin voimakkaitten äänten. Eritaajuiset äänet havaitaan eri herkkyydellä. Hyvin matalia ja hyvin korkeita ääniä on vaikea havaita; korva on tarkin puheen taajuusalueella (2-4 kHz). Jos äänessä on kaksi tai useampia toisiaan lähellä olevia taajuuksia, niistä intensiteetiltään suurin peittää muut äänet alleen. Ilmiö on taajuuspeitto eli ns. Masking effect. Äänen suunnan havainnointi huononee matalilla taajuuksilla, joten stereoääntä pakatessa voidaan taajuuskaistan alaosissa yhdistää oikea ja vasen kanava.(Pan)

Mpeg-pakkauksen laatu riippuu paljolti käytettävän psykoakustisen mallin tarkkuudesta. Ihmisten kuulon ja mieltymysten erilaisuudesta johtuen psykoakustisten mallien kehittäminen täydelliseksi on vaikeaa. Toiset ihmiset havaitsevat äänen paljon tarkemmin kuin toiset. Joillekin hyvä äänenlaatu on tärkeämpää kuin toisille. Malleja kehittäessä on yritettävä soveltaa koekuuntelijoiden suullinen palaute malliin.

 

3.4      Taajuuskaistojen kvantisointi

 

Psykoakustisen mallin antamien tietojen perusteella mp3 enkooderi tietää jokaisesta analysoitavasta taajuuskaistasta mikä on sen tämänhetkinen juuri kuultavan äänen raja (siis myös maksimiamplitudi kuulumattomalle kohinalle). Tämän tiedon perusteella enkooderi yrittää varata bittejä eri kaistojen koodaukselle; mikäli 4 bittiä riittää tietylle kaistalle siten että aiheutuvaa kvantisointikohinaa ei kuule, voidaan käyttää 16 bitin sijasta 4:ää.

Aina ei tietenkään voida saavuttaa kaikkia tavoitteita, vaan enkooderin pitää valita miten kohina jaetaan kanaville. Sen tehtävä on siis periaattessa valita sellainen kohinan muoto, joka on vähiten häiritsevä (tästä tulee termi "noise shaping").

 

3.5      Vaihteleva lohkokoko

Vakiokokoisista lohkoista (24ms) johtuen voi äkillisessä äänen amplitudin vaihdoskohdassa esiintyä "ennakkokohinaa", sillä psykoakustinen mallin avulla tehty arviointi kattaa koko lohkon (jolloin lohkon loppuosan suuri amplitudi aiheuttaa sen että analyysi ei päde kovin hyvin alkuosalle). Tätä puutetta voidaan parantaa useilla tavoilla:

 

4         Yhteenveto

 


MPEGin layer 3 on ehdotonta eliittiä audiokoodausmaailmassa tällä hetkellä. Sen perusominaisuuksiin kuuluu laadukas äänenlaatu tiiviistä pakkauksesta huolimatta.
Pakkaussuhde on 1/12 alkuperäisestä, jolloin saadaan CD-tasoista ääntä ilman havaittavaa äänenlaadun heikkenemistä.

Layer 3 soveltuu korkean äänenlaatunsa puolesta kaikenlaiseen musiikin tallennukseen ja kohtalaisen alhaisten bittinopeuksiensa vuoksi myös audiodatan siirtoon. Esimerkkeinä voitaneen mainita korkealaatuinen stereoääni ISDN-linjan läpi.

Mp3-tiedostojen pakkaukseen löytyy tällä hetkellä useita sovelluksia, joista mainittaneen BladeEnc, joka on freewarea (perustuu ISO:n lähdekoodeihin) ja kaupallisia esim. AudioCatalyst (perustuu Fraunhofer instituten koodeihin)

 

Viitteet

 

Vaarala, S.: seminaari 26.11.1998: Mp3 audiopakkaus. TKK, 1998.

Backman L.: Mp3-koodauksen tekniikka, Tietokone 4/2000

Pan D.: A tutorial on Mpeg/audio compression, Motorola Inc., 1996