MPEG Audio

Author: Hannu Mallat
hmallat@cs.hut.fi

MPEG (Moving Picture Experts Group) on yleisesti käytetty nimi ISO:n alikomitea 29:n työryhmälle 11, jonka tarkoitus on kehittää audiovisuaalisen tiedon digitaalista ja kompressoitua esitystä koskevia standardeja [1, 2]. Työryhmän ensimmäinen standardi, MPEG-1, koskee signaaleja, joiden kaistanleveys on noin 1,5 Mbit/s. Standardin ääniosuus jakaantuu kolmeen osaan, joita kutsutaan kerroksiksi (layers) 1, 2 ja 3, viimeisen ollessa monimutkaisin ja tehokkain.

Psykoakustiikka

Ihminen aistii paineenvaihtelut ilmassa korvien paineherkkien solujen avulla äänenä. Korvan havaitseman signaalin taajuusalue on noin 20 Hz ja 20 kHz:n välissä, mutta evoluutio on tuonut mukanaan useita ominaisuuksia [3]:

Äänen digitaalinen tallennus

Äänisignaali muunnetaan digitaaliseksi yleensä ottamalla signaalista äänenvoimakkuusnäytteitä tietyllä vakiotaajuudella. Nämä näytteet enkoodataan tietyllä tarkkuudella. Enkoodaus voi olla [4, 5]:

Pieni tarkkuus aiheuttaa kvantisointivirhettä: talletetun signaalin äänenvoimakkuus eroaa todellisesta. Pieni näytteenottotaajuus puolestaan leikkaa korkeataajuiset signaalit pois talletetusta datasta.

Yleinen huonolaatuinen enkoodaustapa on A-law (ITU-T G.711), jossa näytetaajuus on 8 kHz (riittävä puhetaajuuksille) ja signaali enkoodataan logaritmisesti 8 bitillä. Siirtoon vaadittava kapasiteetti on siis 64 kbit/s. Signaali vastaa suunnilleen lineaarisesti 12 bitillä enkoodattua signaalia.

A-law ei ole riittävä hyvälaatuisen äänen talletukseen. CD-levyjen tallennusformaatissa yhdelle kanavalle kirjoitetaan 44,1 kHz tarkkuudella talletettua 16 bitin lineaarisesti enkoodattua signaalia. Sekunti stereoääntä vaatii siis noin 1,4 Mbit tallennus- tai siirtokapasiteetin.

CD-äänen tallennusparametrit on valittu ihmiskorvan ominaisuuksien mukaan [6]. Näytteenottotaajuus perustuu Nyquistin teoreemaan, jonka mukaan näytteitä täytyy ottaa kaksi kertaa niin suurella taajuudella kuin korkein toistettava ääni. Tähän on lisätty pelivaraa toiston aikana tapahtuvaa suodattimien aiheuttamaa hävikkiä varten. Kun otetaan huomioon kvantisointivirhe, 16 bitin tallennustarkkuudella saadaan noin 96 dB s/n -suhde, joka vastaa korvan tarkkuutta.

CD-tasoinen ääni on siis ihmiskorvalle riittävän hyvää, mutta sen vaatima siirto- ja tallennuskapasiteetti on vielä nykyäänkin liikaa moniin sovelluksiin. A-law -enkoodattu ääni mahtuisi esimerkiksi perus-ISDN-yhteydelle, mutta äänenlaatu on liian heikko useimpia tarkoituksia varten.

Äänen kompressointi

Perinteiset kompressiomenetelmät (RLE, Huffman, jne.) eivät toimi äänidatalla kovinkaan hyvin.

Alikaistakoodaus

Alikaistakoodauksessa äänisignaali jaetaan jollakin periaatteella alitaajuuskaistoiksi. Jokaiselle kaistalle lasketaan peittokäyrä (masking curve), kynnys, jota vaimeammat äänet häipyvät korvan kuulumattomiin. Käyrä lasketaan enkooderiin sisäänrakennettujen psykoakustisten parametrien avulla, ja se riippuu paitsi kaistasta itsestään (kaistan taajuus- ja voimakkuusalue), myös muista samanaikaisista kaistoista ja näitä seuraavista kaistoista.

Kaistat koodataan uudelleen sellaisella resoluutiolla, että kvantisointivirhe pysyy peittokäyrän alapuolella. Näin tietty kaista voidaan enkoodata pienemmällä bittimäärällä, eikä tästä johtuvasta lisääntyneestä häiriöstä (pienemipi s/n) ole haittaa, koska sitä ei kuitenkaan kuulla. Parhaimmillaan jotkin vaimeat alikanavat voidaan tiputtaa kokonaan pois.

Alikaistakoodaus ei siis ole hävikitön (lossless), mutta käytännössä kuulija ei havaitse eroa alkuperäiseen, jos koodauksen parametrit (käytetty psykoakustinen malli) on oikein viritetty.

MPEG-enkoodaus [7, 8, 9]

MPEG kerros 1

MPEG-standardi on jaettu kolmeen kerrokseen, jotka on järjestetty lisääntyvän monimutkaisuuden ja tehokkuuden mukaan. Yksinkertaisin kompressiomenetelmä, kerros 1, jakaa signaalin 32 tasalevyiseen, hieman toistensa päälläolevaan, kaistaan, joista jokaisesta otetaan 12 näytettä. Näille 12 näytteen ryhmille lasketaan bittiallokaatio (resoluutio) ja painokerroin, jolla parannetaan kvantisoinnin tarkkuutta. Lasketuista 384 näytteestä muodostetaan kehys, jossa on lisäksi header ja CRC.

Tasajako ei ole paras mahdollinen tapa jakaa signaalikaista osiin. Ykköskerros pystyy parhaimmillaan 1:4 pakkaussuhteeseen.

MPEG kerros 2

Kerros 2 käsittelee äänidataa kolmessa toisiaan seuraavassa 12 näytteen ryhmässä taajuuskaistaa kohden. Se ottaa huomioon äänen aikapeiton ryhmien välillä ja pystyy mahdollisesti pudottamaan kuulumattomiin häipyviä ryhmiä pois. Taajuusalue on kuitenkin jaettu samalla tavalla kuin kerroksessa 1.

Kakkoskerroksen algoritmilla päästään 1:6 - 1:8 pakkaussuhteisiin.

MPEG kerros 3

Kerroksen 3 enkooderi muokkaa kaistojen näytteitä diskreetillä kosinimuunnoksella, jolla parannetaan kaistojen taajuusresoluutiota. Näytteitä käsitellään sekä 12 että 36 näytteen sarjoissa; lyhyempää sarjaa käytetään, kun signaalissa on paljon vaihteluita ja tarvitaan normaalia parempaa aikaresoluutiota.

Kerros 3 pakkaa kvantisoidut näytteet Huffman-kompressiolla. Pakkaussuhde on parhaimmillaan 1 : 12.

Valitettavasti verkosta oli hyvin vaikea löytää tarkkaa tietoa kerros 3:n toiminnasta. Oikeastaan kaikki asiaa käsittelevät lähteet selittivät algoritmin hyvin ylimalkaisesti eivätkä lainkaan tyydyttävästi. Itse standardi on ostettavissa ISO:lta, mutta sähköisesti se ei ole saatavissa. En pystynyt löytämään kunnollista selitystä useimmista kerroksen 3 monimutkaisemmista piirteistä, kuten epätasaisesta kvantisoinnista ja adaptiivisesta segmentaatiosta.

Käyttö

Standardin kerros 3 mahdollistaa CD-tasoisen äänen kuljetuksen 112 kbit/s tietoliikenneyhteyksillä. Reaaliaikainen dekoodaus ja toisto on mahdollista nykykäsityksen mukaan vaatimattomalla PC:llä (nopea 486 tai hidas Pentium), mutta reaaliaikainen enkoodaus vaatii joko hardware-tuen tai noin 20 MIPS laskentakapasiteetin per kanava.

Kompressoinnin tehokkuuden ja äänenlaadun välillä voidaan tehdä trade-offeja niin, että radiolähetystä vastaavaa ääntä voidaan siirtää ISDN-linjan yli [8].

Mahdollisia käyttökohteita ovat

Tällä hetkellä yleisin käyttösovellus lienee audio-on-demand, eli enkoodatun äänitiedoston haku Internetissä olevalta palvelimelta HTTP-protokollan avulla ja toisto verkkoon kytketyllä tietokonelaittestolla. Suomessa esimerkiksi MTV 3 tarjoaa uutispalvelussaan MPEG-enkoodattuja selostuksia. Muutamat paikallisradiot tarjoavat suorat lähetyksensä myös verkon yli. Broadcast-kuuntelu eroaa on-demand -käytöstä siinä, että dekoodaava ohjelma lukee jälkimmäisessä tiedostoja, edellisessä määräämättömän pituista jatkuvaa bittivirtaa.

Niinsanottuja MP3-playereita, eli kerroksen 3 dekoodereita, jotka ohjaavat pakatusta tiedostosta puretun äänisignaalin tietokoneen äänijärjestelmään, on saatavana sekä täysin vapaana että sharewarena useille laitealustoille. Myös kaupallisia vaihtoehtoja on olemassa. Broadcast-kuuntelua varten voidaan käyttää Xing Technologiesin ohjelmistoa, jota voidaan vapaasti levittää, mutta siihen ei ole saatavissa lähdekoodia, niinkuin useimpiin vapaisiin ohjelmistoihin.

Vapaasti jaettavia enkoodereita ei oikeastaan ole, vain shareware-versioita, joista ei saa lähdekoodia. Tähän on varmasti osaltaan vaikuttanut se, että standardi itsessään ei ole vapaasti saatavilla, vaan ISO kauppaa sitä noin $200 hintaan. Täysin kaupallisia software-pohjaisia enkoodereita, samoin kuin DSP-piireihin perustuvia hardware-enkoodereita, on markkinoilla useita.

Markkinoilla ei vielä liene yhtään MPEG-kompressiota ymmärtävää CD-soitinta. Epämääräisiä huhuja harrastelijoitten CD-soittimen kuoriin asentamista PC-emolevystä, äänikortista ja CD-ROM:ista on kylläkin kuulunut.

Epämääräinen käyttö

Digitaalisen äänen helppo käsiteltävyys ja Internetin viimeaikainen leviäminen kuluttajien pariin ovat synnyttäneet useita "piraattipaikkoja", joista (tekijänoikeuksia rikkoen) voidaan hakea jopa satojen eri esittäjien musiikkituotoksia. Levy-yhtiöt ja ISP:t ovat tarttuneet näkyvimpiin levittäjiin varsin nopeasti, mutta voidaan uumoilla, että "pinnan alla" saattaa toimia laajojakin levitysketjuja.

Periaatteessa on mahdollista ostaa esimerkiksi juuri USA:ssa julkaistu levy, digitoida ja pakata se, ja lähettää data edelleen jossakin sopivassa maassa olevaan CD-pajaan, jonka jälkeen ainakin osa muun maailman markkinoista, jossa levyä ei vielä ole julkaistu, voidaan täyttää piraattiversioilla.

Lähteet

[1] * ISO Online. <URL:http://www.iso.ch/>
[2] ** Chiariglione, Leonardo, MPEG and multimedia communications. <URL:http://www.cselt.stet.it/ufv/leonardo/paper/isce96.htm>
[3] **** Buford, John F. K., Multimedia Systems. Addison-Wesley 1994. ss. 65-107.
[4] *** Nahrstedt, Klara, Multimedia Systems Design, <URL:http://www-courses.cs.uiuc.edu/~cs397kn/hypermedia/intro/audio1.html>
[5] *** van Rossum, Guido, Audio File Format FAQ <URL:ftp://ftp.cwi.nl/pub/audio/AudioFormats.part1>
[6] *** Filippini, Luigi, Moving Picture Expert Group Information Page. <URL:http://www.vol.it/MPEG/>
[7] *** Pan, D. Y., Digital Audio Compression, Digital Technical Journal v.2 n.5, <URL:http://www.europe.digital.com/info/DTJA03/DTJA03SC.TXT>
[8] *** Popp, Harald, Frequently Asked Questions about MPEG Audio Layer-3, Fraunhofer-IIS, and all the rest, v2.83. <URL:http://www.iis.fhg.de/departs/amm/layer3/sw/>
[9] ** Philips Electronics N.V, MPEG technology. <URL: http://www.philips.com/sv/newtech/mpeg/tecnolgy.html>

Lisätietoja aiheesta

* Filipino's MPEG1-Layer3 Audio Page <URL:http://members.visi.net/~flipino/layer3.html>
*** Internet Underground Music Archive. <URL:http://www.iuma.com/>
** maplay v1.2. <URL: ftp://ftp.uni-passau.de/pub/unix/sound/maplay/>
** MP3 Audio Consortium. <URL:http://barista.stanford.edu/m3c/>
*** MPEG.ORG. <URL:http://www.mpeg.org/>
*** splay v0.8. <URL:http://adam.kaist.ac.kr/~jwj95/>
**** Xing Technology. <URL:http://www.xingtech.com/>


© Hannu Mallat 01-11-1997, 07-11-1997