mp3 ja ogg - tlu...koostöö tulemuseks sai iso-mpeg audio layer-3 (is 1172-3 ja is 13818-3) nime...

41
Tallinna Pedagoogikaülikool Matemaatika-loodusteaduskond Informaatika osakond Pjotr Savitski MP3 ja OGG Proseminaritöö Juhendaja: lektor Andrus Rinde Tallinn 2004

Upload: others

Post on 11-Sep-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: MP3 ja OGG - tlu...koostöö tulemuseks sai ISO-MPEG Audio Layer-3 (IS 1172-3 ja IS 13818-3) nime all standardiseeritud väga võimas algoritm. [1] Standardi alguslool on ka teine,

Tallinna Pedagoogikaülikool

Matemaatika-loodusteaduskond

Informaatika osakond

Pjotr Savitski

MP3 ja OGG

Proseminaritöö

Juhendaja:

lektor Andrus Rinde

Tallinn 2004

Page 2: MP3 ja OGG - tlu...koostöö tulemuseks sai ISO-MPEG Audio Layer-3 (IS 1172-3 ja IS 13818-3) nime all standardiseeritud väga võimas algoritm. [1] Standardi alguslool on ka teine,

Sisukord

Sissejuhatus .....................................................................................................................................3

1 MP3 (MPEG Layer-3)..................................................................................................................4

1.1 MP3 standardi ajaloost ....................................................................................................4

1.2 Mis on MP3.....................................................................................................................4

1.3 Erinevad MPEG formaadid.............................................................................................5

1.4 MPEG kihid.....................................................................................................................6

1.5 Kodeerimine ....................................................................................................................7

1.6 Faili sisemisest struktuurist .............................................................................................9

1.7 MP3Pro..........................................................................................................................11

1.8 ID3.................................................................................................................................13

1.9 Patendid ja MP3 ............................................................................................................15

2 OGG ...........................................................................................................................................17

2.1 OGG Vorbis standardi üldfaktid ja ajalugu...................................................................17

2.2 Vorbis standardi kirjeldus .............................................................................................17

2.3 Dekodeerija ülesehitus (Decoder Configuration)..........................................................19

2.4 Kõrgetasemeline dekodeerimise protsess (High-level Decode Process) ......................21

2.5 OGG loogika ja bitivoo füüsiline ülevaade...................................................................26

2.6 OGG kokkuvõte ............................................................................................................29

3 Testid..........................................................................................................................................31

3.1 Testimise parameetrid ja kasutatud programmid ..........................................................31

3.2 Testimine.......................................................................................................................32

3.3 Järeldused ......................................................................................................................39

Kokkuvõte .....................................................................................................................................40

Kasutatud kirjandus.......................................................................................................................41

2

Page 3: MP3 ja OGG - tlu...koostöö tulemuseks sai ISO-MPEG Audio Layer-3 (IS 1172-3 ja IS 13818-3) nime all standardiseeritud väga võimas algoritm. [1] Standardi alguslool on ka teine,

Sissejuhatus

Selle töö raames on vaatluse all kaks laialt kasutatud helikodeerimise standardit. Mõlemate

standardite arendajad väidavad, et just nende toode on kõige parem ja annab parimaid tulemusi.

Esimene vaadeldavatest standarditest on MP3. See lühend on tuttav kõikidele arvutitega seotud

inimestele ja mitte ainult neile. Peamiseks standardi loojaks oli tuntud Fraunhoferi instituut

(http://www.iis.fraunhofer.de/index.html). MP3 standard eksisteerib juba mitmeid aastaid, ning

on olnud pea-aegu konkurentsituks liidriks helikodeerimise valdkonnas. Selline olukord ei

saanud igavesti kesta. MP3 on kommertslik, tootjate jaoks tähendab see litsentsitasude maksmist.

1993. aastal tekis uue, avatud lähtekoodiga standardi loomise idee. Samal aastal moodustati ka

selle arendajate grupp. Omal ajal oli projekt tuntud huvitava nime all - "Squish" ("lirts"). Aja

möödudes liitus arendajatega üha rohkem inimesi, kuna igaüks sai oma ideid ja nende ideede

realiseerimise võimalusi pakkuda. Selline süsteem tagas kiire arendamisprotsessi.

Alguses ei saanud uus formaat eriti oma jõudu näidata, kuna temast eksisteerisid ainult beeta

versioonid, milles oli palju lahendamist vajavaid probleeme. Ja MP3 oli ikkagi helikodeerimise

maailma ainuvalitsejaks. Kuid kõik projektid saavad kunagi oma versiooniks numbri 1.0. See

juhtus ka uue vaadeldava formaadiga, mis sai endale nime OGG Vorbis. Praeguseks on jõutud

versioonini 1.0.1.

Antud töö eesmärgiks on testida mõlema vaadeldava standardi koodekit ning selgitada kumb on

parem, milleks nad sobivad. Töö on jaotatud kolmeks peatükis, millest esimesed kaks on

pühendatud võrreldavate standardite kirjeldamisele ning on referatiivsed.

Käsitletakse mõlema standardi ajalugu ning ülesehitust. Vaadeldakse mida need endast

kujutavad ja kus neid kasutatakse. Vaatluse alla satub ka faili sisemine struktuur ja mõned selle

tähtsamad aspektid. Käsitletakse ka metaandmete lisamise võimalusi mõlema standardi failidele,

mis on vajalik nende kasutamiseks muusikaäris (info autoriõiguste, esitaja jms kohta).

Vorbis projekti puhul vaadeldakse lühidalt sellega kaasnevaid või selle standardi põhimõtetel

baseeruvaid uusi projekte. Mainitud saavad ka neid laiendusi võimaldavad standardi omadused.

Kolmandas peatükis vaadeldakse töö autori poolt läbiviidud teste ja tehakse neist järeldusi.

Testimise eesmärgiks oli selgitada kas MP3 on ikka helikodeerimise maailma valitseja.

3

Page 4: MP3 ja OGG - tlu...koostöö tulemuseks sai ISO-MPEG Audio Layer-3 (IS 1172-3 ja IS 13818-3) nime all standardiseeritud väga võimas algoritm. [1] Standardi alguslool on ka teine,

1 MP3 (MPEG Layer-3)

1.1 MP3 standardi ajaloost

MP3 standardi tekkimine põhjustas tõelise revolutsiooni muusika digitaalkujul levimises. Praegu

on see üks populaarsemaid sõnu internetipõhistes otsingu mootorites, kuna see on nii laialt

kasutatud. MP3 andis võimaluse kodeerida kõrge kvaliteediga muusikat ilma erilise kvaliteedi

kaota.

Standard loodi ülemaailmselt tuntud Frauenhoferi instituudis. Projekt sai alguse 1987. aastal,

üheks projekti kaasosaliseks oli tuntud Erlangeni Ülikooli professor Dieter Seitzer. Selle

koostöö tulemuseks sai ISO-MPEG Audio Layer-3 (IS 1172-3 ja IS 13818-3) nime all

standardiseeritud väga võimas algoritm.

[1]

Standardi alguslool on ka teine, vähem tuntud versioon. Selle järgi sai kõik alguse 1977. aastal ja

veel üheks standardi loojaks on Karlheinz Brandenburg, kes oli professor Dieter Seitzeri poolt

loodud meeskonna liige. Professor tahtis teha meetodi muusika tavalise telefoniliini kaudu

üleandmiseks. Kuid tema ideed tundusid omal ajal absurdsed olevat, sellepärast projekt ei saanud

finantseerimist, kuigi professor püstitas oma küsimuse korduvalt. Vaatamata sellele oli

moodustatud huviliste meeskond, kes hakkasid selle probleemi lahendust otsima.

Professor Brandenburgil olid teadmised nii matemaatika, kui ka heli ja elektroonika valdkonnas

ja temast sai üks tähtsamaid mehi MP3 standardi ajaloos. Kes andis teistele võimaluse oma

leiutise kasutamiseks, kuna esialgne litsents andis kõigile võimaluse kasutada projekti tegemisel

saadud tulemusi. Registreerimisel sai enda MP3 kodeerijaid ja dekoreerijaid ilma selle eest

tasumiseta luua.

[2]

1.2 Mis on MP3

MPEG lühend tähendab Moving Picture Experts Group, mida saab tõlkida kui Liikuva Pildi

Ekspertide Grupp. MPEG komitee töötab Rahvusvahelise Standardite Organisatsiooni

(International Standards Organisation ehk ISO) juhtimise all ja kehtestab digitaalse heli ja video

formaadis kodeerimise standarte. Samas tegeleb ISO ka liikuva graafikaga rakenduste

standardite kehtestamisega. MP3 on lihtsalt väike osa MPEG perekonna standarditest. Tänu

4

Page 5: MP3 ja OGG - tlu...koostöö tulemuseks sai ISO-MPEG Audio Layer-3 (IS 1172-3 ja IS 13818-3) nime all standardiseeritud väga võimas algoritm. [1] Standardi alguslool on ka teine,

MPEG-ile on meil olemas sellised standardid nagu näiteks DVD (Digital Versatile Disk), mida

saab tõlkida kui Digitaalset Mitmekihilist Ketast.

MP3 (MPEG Audio Layer-3 ), mida saab nimetada MPEG heli kolmandaks kihiks, on

standardne formaat digitaalse heli kokkusurumiseks. MP3 pakib audiofailid kokku nii, et saadud

.mp3 faili suurus on umbes kümnendik originaalse faili suurusest. Saadud faili kvaliteet on aga

päris lähedane originaalse CD-audio omale. Faile MP3 formaadis leidub Internetis, samas saab

konverteerida .mp3 failiks juba olemasolevaid muusikafaile. Kaasaegseid

helisalvestusprogramme kasutades on võimalik ka otseselt .mp3 formaadis faile salvestada. Neid

faile saab mängida nii arvuti, kui ka teiste spetsiaalsete mängijatega. Näiteks sellised on:

muusikakeskus, Walkman stiilis kaasaskantavad mängijad, mp3 mängijad ja paljud teised

vahendid.

[3]

1.3 Erinevad MPEG formaadid

Kuna MPEG on küllalt vana standard ja on väga laialt kasutatud, siis on tal mitmeid alamliike.

MPEG 1

MPEG 1 (mille alla kuulus ka MP3) kinnitati 1992. aasta Novembris. See toetab bitikiirust kuni

1.5 Mbps (mega bits per second või megabitti sekundis) ja toetas 1 ja 2 kanaliga heli (mono ja

stereo). Toetab diskreetimise sagedusi on 32, 44.1 ja 48 kHz (kilohertsi).

MPEG 2

MPEG 2 lisab mitmekanalisuse (surround) toetust, madalamaid diskreetimise sagedusi nagu 16,

22.05 ja 24 kHz ning bitikiirust kuni 8 kbps (kilo bitte sekundis). Sellel võib olla kuni 5 kanalit

ruumilise heli jaoks ja üks madala sageduse lisakanal (5.1 surround). Laiend lisab veel kuni 7

kanali toetust (7.1 surround).

MPEG 4

MPEG 4 peaks saama kõigeks kõlbavaks kodeerimise standardiks tuleviku multimeedia

süsteemide jaoks. See on kavatsetud nii, et saab toime nii kõige lihtsamate, kui ka kõige

kvaliteetsemate professionaalsete helisüsteemidega. Siia on integreeritud sünteetiline ja loomulik

audio.

5

Page 6: MP3 ja OGG - tlu...koostöö tulemuseks sai ISO-MPEG Audio Layer-3 (IS 1172-3 ja IS 13818-3) nime all standardiseeritud väga võimas algoritm. [1] Standardi alguslool on ka teine,

Selle formaadiga saab esitada audio ja video andmeid. MPEG-4 toetab suure hulka

andmekandjaid ja see töötab võrkudes ja traadita mobiilsetes ühendustes.

MPEG 2.5

MPEG 2.5 on üks mitte-ISO pikend, mis oli Fraunhoferi instituudi poolt loodud madalamate

bitikiiruste puhul heli kvaliteedi parandamiseks. See võimaldab kasutada selliseid sagedusi nagu

8, 11.025 ja 24 kHz. Mis teatud juhtudel annab parema kvaliteedi kasutamise võimaluse.

1.4 MPEG kihid

Iga kiht kasutab sama põhistruktuuri ja sisaldab endas allpool olevate kihtide omadusi.

Kõrgemad kihid pakkuvad palju paremat helikvaliteeti võrreldavate bitikiiruste puhul, kuid

vajavad kiiresti kasvava keerukusega kodeerimise tarkvara. See omakorda seab ka kõrgemaid

nõudmisi riistvarale, mille abiga hakatakse midagi kodeerima või dekodeerima.

Kiht I

Kiht I oli algselt kavatsetud Digitaalsete Kompaktsete Kassettide (Digital Compact Cassette või

DCC) jaoks ja ei ole nii laialt kasutatud.

Kiht II

Kiht II (tuntud kui MP2) on ringhäälingu tööstuse poolt laialt kasutatav. See oli tehtud

kompromissina keerukuse ja jõudluse vahel ja pakub väga kvaliteetset heli kõrgemate bitikiiruste

puhul. Samaaegselt on sellel lühemad viivitused kui MP3-el, mis osutub otseetris mängimisel

väga tähtsaks.

Kiht III

Kiht III on ülemaailma tuntud kui MP3. MP3 oli loodud parema kvaliteeti jaoks madalamate

bitikiiruste kasutamisel. Kõrge kokkupakkimise tase omab tähtsust, kuna Interneti ühenduse

kiirus nagu ka kõvaketta ruum on piiratud. Selline kokkupakkimine teeb teda sobivaks ka

portatiivsete mängijate jaoks.

Üks oluline nähtus on ka kokkusobivus. Kihid I, II ja III on tagurpidi ühilduvad. See tähendab, et

kolmanda kihi dekooder on suuteline töötlema teise ja esimese kihi infot. Samas teise kihi

dekooder on suuteline dekodeerima esimese kihi infot.

[3]

6

Page 7: MP3 ja OGG - tlu...koostöö tulemuseks sai ISO-MPEG Audio Layer-3 (IS 1172-3 ja IS 13818-3) nime all standardiseeritud väga võimas algoritm. [1] Standardi alguslool on ka teine,

Kasutades MPEG audiot võib saavutada tüüpilist andmemahu vähendamist, see on näidatud

tabelis 1.

1:4 Kiht I (vastab 384 kbps stereo signaali jaoks)

1:6...1:8 Kiht II (vastab 256...192 kbps stereo signaali jaoks)

1:10...1:12 Kiht III (vastab 128...112 kbps stereo signaali jaoks)

Tabel 1 Erinevate kihtide bitikiirused.

Sellisete tulemuste saavutusega jääb meil heli kvaliteet peaaegu CD kvaliteedi tasemele.

1.5 Kodeerimine

Joonis 1 MP3 kodeerimise diagramm.

Filter (Filter Bank)

MP3 kasutatud filter on hübriidne filter, mis koosneb mitmefaasilisest filtrist ja Modifitseeritud

Diskreetse Koosinusteisendus (Modified Discrete Cosine Transform ehk MDCT). See hübriidne

vorm oli valitud ühilduvuse saavutamiseks MP3 eelkäijatega (Kiht I ja Kiht II).

Pertseptiivne mudel (Perceptual Model)

Peamiselt see mudel määrab antud kodeerija realiseerimise kvaliteedi. Kõrvaldatakse see osa

infost, mis on inimkõrvale märkamatu. See kas kasutab eraldi olevat filtrit või ühendab energia

7

Page 8: MP3 ja OGG - tlu...koostöö tulemuseks sai ISO-MPEG Audio Layer-3 (IS 1172-3 ja IS 13818-3) nime all standardiseeritud väga võimas algoritm. [1] Standardi alguslool on ka teine,

väärtuste kalkulatsiooni (maskeerimise kalkulatsioonideks) ja põhilise filtri. Selle väljundiks on

arvud, mis näitavad lubatud määra iga kooderi jaotise jaoks. Kui kvantimise määr on väiksem

lubatud müra tasemest, siis kokkupakkimise tulemused ei peaks olema originaalsest signaalist

eraldatavad.

Liidetud stereo (Joint Stereo)

Liidetud stereo kodeerimine kasutab seda, et mõlemad stereo kanalid sisaldavad hulga

samasugust informatsiooni. Neid kasutatakse summaarse bitikiiruse vähendamiseks. Liidetud

stereot kasutatakse juhtudel, kui saadaval on ainult madala taseme bitikiirused, aga kasutaja

tahab siiski stereot saada.

Kvantiseerimine ja kodeerimine (Quantization and Coding)

Kvantiseerimine on ehitatud sellisel põhimõttel, et suuremaid väärtusi automaatselt kodeeritakse

vähema täpsusega. Mis näitab, et juba selle protsessi sees on näha mingit müra tekkimist.

Kvanti väärtused on kodeeritud Huffmani kodeeringu abil. Konkreetse entroopia kodeerimise

meetodina on Huffmani kodeering ilma mingisuguste kahjudeta. Seda nimetatakse mürata

kodeerimiseks, kuna mingit müra audio signaalile ei lisandu.

Järgmised kaks silmust annavad võimalust määrata antud plokile optimaalseid faktoreid:

Sisemise iteratsiooni silmus või kiiruse silmus (Inner iteration loop või rate loop)

Huffmani kodeerimise tabelid määravad lühikesemad koodi sõnad väiksematele kvantiseeritud

väärtustele (sagedased). Kui kodeerimise operatsioonil saadud bittide arv ületab selle plokki

jaoks olemasolevate bittide mahu, siis saab seda korrigeerida suurema kvantiseerimise sammuga,

mis toob endaga kaasa väiksemaid kvantiseeritud väärtusi. Selle sammu muutmise operatsiooni

korratakse niikaua, kuni saadud bittide arv on piisavalt väike ja vastab Huffmani kodeerimise

standarditele. Seda nimetatakse kiiruse silmuseks, kuna see muudab globaalse kooderi kiirust

kuni see on piisavalt väike.

Väline iteratsiooni silmus või müra kontroll (Outer iteration loop või noise control)

Selleks, et vähendada iga segmendi müra taset vastavalt saadud müra taseme piirile

suurusefaktorid on rakendatud igale tükile. Süsteem alustab oma tööd vaikimisi pandud faktorist

1.0 iga tüki jaoks. Kui kvantiseerimise müra antud segmendis ületab lubatud müra taset, mis on

8

Page 9: MP3 ja OGG - tlu...koostöö tulemuseks sai ISO-MPEG Audio Layer-3 (IS 1172-3 ja IS 13818-3) nime all standardiseeritud väga võimas algoritm. [1] Standardi alguslool on ka teine,

pertseptiivse mudeli poolt antud, siis faktor muudetakse nii, et see vähendaks antud tüki

mürataset. Kuna müra vähendamise tulemuse saamiseks on vaja suuremat kvantiseerimise

numbrit ja sellega ka suurema bittide taseme, siis tehakse sageduse korrigeerimise silmus iga

kord kui uued suurusfaktorid on kasutatud. Väline silmus töötab seni, kuni reaalne müra tase

(saadud esialgsete spektraalsete väärtuste ja kvantiseeritud spektraalsete väärtuste vahe) on

väiksem kui lubatud müra tase iga suurusfaktori puhul.

[1]

1.6 Faili sisemisest struktuurist

MP3 formaadis kodeeritud failid koosnevad paljudest kaadritest (frame), igaüks sisaldab sekundi

murdosa jagu informatsiooni, mis on valmis dekodeerija poolt rekonstrueerimiseks. Iga

andmekaadri alguses paikneb nii nimetatud "päis kaader", mis salvestab 32 bitti metaandmeid

mis on seotud järgneva andmekaadriga (Joonis 2). Nagu näidatud joonisel 3 MP3 algab päis

sünkroniseeriva plokiga (sync), mis koosneb 11. bitist. See annab võimaluse heliga seonduvat

informatsiooni kiiresti kätte saada. Tabelis 2 on toodud päise kõigi elementide selgitus.

Joonis 2 Kaadri päise andmete paiknevus.

9

Page 10: MP3 ja OGG - tlu...koostöö tulemuseks sai ISO-MPEG Audio Layer-3 (IS 1172-3 ja IS 13818-3) nime all standardiseeritud väga võimas algoritm. [1] Standardi alguslool on ka teine,

Joonis 3 MP3 kaadri päis.

Positsioon Eesmärk Pikkus bittides

A Sünkroniseeriv-plokk 11

B MPEG audio versioon 2

C MPEG kiht (kihid üks kuni kolm) 2

D Kaitsebitt (kui seda ei ole siis järgneb päisele kontrollsumma) 1

E Bitikiirus (spetsiaalne tabel erinevate MPEG-ide jaoks) 4

F Heli sageduse spetsifikaator 2

G Täidisbitt (kompenseerib bittide vahet) 1

H Privaatne bitt (omapoolsete sündmuste käivitamiseks) 1

I Režiimi väli (stereo, liidetud stereo, duaalse kanali ning mono) 2

J Režiimi laienduse väli (liidetud stereo kasutamise puhul) 2

K Autoriõiguse bitt (sisse või välja lülitatud) 1

L Originaal (jah kui originaal, ei kui koopia) 1

M Emfaasi ehk rõhutuse väli (pole enam kasutusel) 2

Tabel 2 Kolmteist kaadri elementi.

10

Page 11: MP3 ja OGG - tlu...koostöö tulemuseks sai ISO-MPEG Audio Layer-3 (IS 1172-3 ja IS 13818-3) nime all standardiseeritud väga võimas algoritm. [1] Standardi alguslool on ka teine,

Pärast sünkroniseerivat plokki tuleb identifikaator ehk ID bitt, mis teatab millise MPEG

standardi järgi see kaader kodeeritud on. Järgmised kaks biti ütlevad kas kasutatakse Kiht I, Kiht

II, Kiht III kodeeringut või ei ole see defineeritud. Kui kaitsebitti ei ole kehtestatud, siis

paigutatakse enne audio andmete algust 16-bitine kontrollsumma.

Bitikiiruse väli paneb paika hetkel kasutatava kaadri bitikiirust, sellele järgneb heli sageduse

spetsifikaator (sõltub hetkel kasutusel olevast MPEG standardist). Täidisbitt jälgib iga kaadri

bitikiirusele vastavust. Näiteks kodeerides 128 kbps Kiht II 44.1 kHz võib juhtuda, et mõned

kaadrid on 417 baidised ja mõned on 418 baidised. 417 baidised kaadrid saavad vahe

kompenseerimiseks oma täidisbiti väärtuseks (1).

Režiimi väli määrab mono või stereo signaali kasutamise ja annab võimaluse määrata stereo,

liidetud stereo, duaalse kanali ning mono kodeerimise valikuid. Kui liidetud stereo (joint stereo)

olek on lubatud, siis seletab režiimi laienduse väli dekodeerijale kuidas täpselt sellega käituda.

Autoriõiguse bitt ei hoia endas autoriõiguse informatsiooni kuna see on ju ainult 1 biti

pikkusega. See pigem näitab originaalis oleva autoriõiguse sarnase biti peale. Kui see bitt on

paika pandud, siis ametlikult selle muusikapala (track) kopeerimine ei ole lubatud. Mõned sisu

kopeerivad programmid teatavad kasutajale sellise biti olemasolust. Kui sellist infot leidub

originaalse meedia peal, siis pannakse paika tagasituleku bitt. Privaatne bitt võib olla mõnede

rakenduste poolt kasutatud omapoolsete sündmuste käivitamiseks.

Rõhutuse ehk emfaasi väli on kasutatud lipuna, kui originaalses salvestuses oli see paika pandud.

Praegusel ajal seda praktiliselt enam ei kasutata.

Lõpuks dekodeerija liigub edasi kontrollsummale (kui selline eksisteerib) ja audio-andmete

peale. Siis protsess kordub ülejäänud tuhandete audiofaili kaadritega.

[4]

1.7 MP3Pro

Praegu on kasutusel ka MP3 täiendatud versioon MP3Pro. MP3Pro on täiendatud kodeeringu

parandamise instrumendiga SBR (Spectral Band Replication), mis on loodud Coding

Technologics poolt. SBR tagab kõrgemate sageduste parema esituse.

11

Page 12: MP3 ja OGG - tlu...koostöö tulemuseks sai ISO-MPEG Audio Layer-3 (IS 1172-3 ja IS 13818-3) nime all standardiseeritud väga võimas algoritm. [1] Standardi alguslool on ka teine,

Joonis 4 MP3Pro kodeerimise skeem.

Kuidas SBR töötab

Tõeliselt SBR ei kodeeri kõrgemat sageduse osa vaid rekonstrueerib selle. 64 kbps MP3Pro failis

ligi 60 kbps on kasutatud vastavalt MP3 standardile. MP3 kodeerija kodeerib heli signaali kuni 8

kHz tavalise MP3 standardi järgi. See osa MP3Pro failist saab ka tavalise MP3 dekodeerija poolt

dekodeeritud, see tähendab, et ühilduvus tavaliste dekodeerijaga on paika pandud (alla poole

ühilduvus).

SBR tehnika kasutab madalama sagedusega signaali osa kõrgsagedusliku osa

rekonstrueerimiseks vahemikes 8 kHz kuni 16 kHz. Selleks kasutatakse spektri kopeerimise

tehnoloogiat. Sarnast trikki kasutasid juba Kenwood (D.R.I.V.E.) ja Pioneer (Legato-Link). Mida

uut siis SBR endaga kaasa toob? Vastus on päris lihtne, SBR omab märksa paremaid teadmisi

oma tehtavate operatsioonide kohta.

Kodeerimise faasi käigus püüab SBR kodeerija salvestada mingi hulga informatsiooni selleks, et

dekodeerimise protsessis oleks võimalik informatsiooni õieti rekonstrueerida. Salvestise millisest

originaalse signaali riba osast tuleb kõrgeid sagedusi kopeerida, informatsioonile lisandub ka

nende sageduste mõõt. Võrreldud originaalse kodeeritud informatsiooni suurusega on SBR-i osa

päris kompaktne ja on salvestatud .mp3 faili abistava informatsiooni ossa. Niimoodi saab SBR

tehnoloogiat toetav dekooder selle informatsiooni kasutada.

Tulemused

Tulemuseks on heli kvaliteedi paranemine, aga sellega kaasnevad ka mõned ebameeldivad

aspektid. Üks neist on see fakt, et SBR rekonstrueerimise protsess nõuab rohkem jõudlust. SBR

tehnoloogiat toetavad MP3 dekodeerijad vajavad kolm korda rohkem võimsust kui tavalised.

Teatud juhul see kolm korda rohkem tähendab, et seadmel peab olema 300% jõudlust võrreldes

eelmiste dekodeerijatega. Nüüdisajal see ei pruugi arvuti jaoks probleem olla, aga tuleb mõelda

12

Page 13: MP3 ja OGG - tlu...koostöö tulemuseks sai ISO-MPEG Audio Layer-3 (IS 1172-3 ja IS 13818-3) nime all standardiseeritud väga võimas algoritm. [1] Standardi alguslool on ka teine,

ka väiksemate seadmete peale nagu iseseisvad mängijad (näiteks kaasaskandvad mängijad), seal

on ju riistvaraline dekodeerija sees.

Madalamate bitikiiruste puhul on tulemus päris hea, kuid SBR tehnoloogia kasutamine kõrgete

bitikiiruste puhul on piiratud. Muidugi ei anna 64 kbps MP3Pro fail CD kvaliteedile lähedaid

tulemusi, kuid selle helikvaliteet on võrreldav tavalise MP3 formaadis kodeeritud 100 kbps

failiga.

[5]

1.8 ID3

MP3 formaat nagu ka teised MPEG kihidki ei sisalda võimalust sisuga seotud informatsiooni

salvestamiseks, väljaarvatud mõned lihtsamad jah/ei parameetrid. Selle probleemi lahendust

tutvustati 1996. aastal programmi Studio3 poolt, mille autoriks oli Eric Kemp (NamkraD).

Lisades faili lõppu väikese informatsiooni ploki oli võimalik salvestada informatsiooni selle faili

sisu kohta. Standard sai nimeks ID3.

ID3 ei sega dekodeerijate tööd. Info ploki suuruseks on valitud 128 baiti, et oleks seda lihtsam

leida.

IDV3 info omab järgnevat struktuuri:

Laulu nimetus 30 märki

Artist 30 märki

Heliplaadialbum 30 märki

Aasta 4 märki

Kommentaar 30 märki

Žanr 1 bait

Tabel 3 ID3 struktuur.

Kui kõiki nende väljade suurusi summeerida, siis tuleb sealt 125 baiti mitte 128. Üle jäävad 3

baiti paiknevad selle informatsiooni osakese alguses ja nende väärtuseks on alati "TAG", mis

annab võimaluse ID3 infot lihtsamal moel leida.

Kui mingi osa ruumi jääb tühjaks, siis see täidetakse binaarse väärtusega 0. Vaadates žanri

(Gene) välja suurust tekib kahtlus, et sinna ei ole võimalik mingit nime panna, kuid see ei ole

13

Page 14: MP3 ja OGG - tlu...koostöö tulemuseks sai ISO-MPEG Audio Layer-3 (IS 1172-3 ja IS 13818-3) nime all standardiseeritud väga võimas algoritm. [1] Standardi alguslool on ka teine,

tõsi. Sinna paigutatakse väärtused 0 kuni 79 mis vastavad nimekirjas olevate igasuguste žanride

nimedele.

See standard ei võimalda info hulka suurendada. Michael Mutscher leidis võimaluse sinna raja

numbri juurde panna. Kui algoritm näeb enda ees nulli, siis ta enam ei loe talle järgnevaid

väärtusi, aga seal ju võib olla vaba ruumi. Tema pani paika, et kommentaari välja suurus peaks

olema 28 baiti, 29. baidi väärtuseks oli pandud null ja viimast baiti sai kasutada raja numbri

kirjutamiseks. Uus standart oli paika pandud ja sai nimeks ID3v1.1.

[6]

ID3v2

ID3v2 on uus süsteem. Selle süsteemi järgi iga silt (tag) hoiab enda sees ühe või mitu

informatsiooni tükki, mida nimetatakse kaadriteks (frames). Sinna saab panna mistahes infot:

nimetust, autorit, laulu sõnu, ekvalaiseri valikuid, pilte jne.

Joonis 5 Võimaliku IDV3v2 struktuuri näide.

Üks peamiseid soove ID3v2 loomisel oli, et standard oleks

paindlik ja lahtilükatav. On väga lihtne lisada sinna

informatsiooni, kuna nagu HTML (Hyper Text Markup

Language) keele puhul teadmata informatsiooni

ignoreeritakse. Kuna iga kaadri suurus võib olla kuni 16

megabaiti ja kogu sildi suurus - kuni 256 megabaiti, siis

sellest peaks kõigeks piisama.

ID3v2 toetab Unicode kirjamärke, seal saab kasutada

kõikvõimalikke keeli. Saab ka paika panna mis keeles sa

hetkel kirjutad. Nii saab sama fail sisaldada laulu sõnu erinevates keeltes.

Kuigi selle uue sildi võimalused on laiendatud, püüab see siiski ruumi kokku hoida.

Konverteerides vanemast formaadist uuemasse saab sildi suurus isegi väiksem olla. Uuem

versioon kasutab iga välja jaoks ühesugust pikkust, milleks on 30 märki. See võib põhjustada

mingitel juhtudel mahu suurenemist.

[7]

14

Page 15: MP3 ja OGG - tlu...koostöö tulemuseks sai ISO-MPEG Audio Layer-3 (IS 1172-3 ja IS 13818-3) nime all standardiseeritud väga võimas algoritm. [1] Standardi alguslool on ka teine,

1.9 Patendid ja MP3

Paljud inimesed arvavad, et MP3 standard on avalik ja tasuta nagu ka ISO etalonlähtekood. Kuid

1998. aasta alguses saatis Fraunhoferi instituut, mis oli tihedalt seotud MPEG-audio

kompressiooni väljatöötamisega, mõnedele MP3 "tasuta" kodeerijate väljatöötlejatele kirja.

Selles kirjas tehti selgeks, et kõik ISO etalonlähtekoodi kasutatavad MPEG-audio kiht 3

kodeerijate väljatöötajad ja väljaandjad peavad maksma Fraunhoferi instituudile litsentsi

kasutamise eest raha. Mis on siis tõeline situatsioon?

Üldiselt MPEG standardite väljatöötamine on tasuta, MPEG standardi väljatöötamise grupiga

saab ühineda ühe ainsa kirja saatmisega. Sellepärast töötab selles valdkonnas suur hulk inimesi,

kuid kõik nad töötavad mingisuguste firmade heaks ja saavad selle eest raha. Selline töö nõuab

kõrgetasemelisi teadmisi ja palju aega. Kui sa juba tegeled seda tüüpi MPEG standardi

väljatöötamisega, siis ei jää muude tööde tegemiseks eriti palju aega. See aga omakorda

tähendab, et nende inimeste töö tulemused kuluvad firmadele, kes selle eest maksavad.

Kui mingit MPEG standardit ISO poolt kehtestatakse, siis koosneb see mõnedest osadest. See

kehtestab kasutatava bitivoo süntaksi, dekodeerija poolt tehtavate operatsioone, sellega kaasneb

ka informeeriv lähtekood, mida tuleb kodeerimiseks ja dekodeerimiseks kasutada. See kood on

täiesti tasuta, kuid see on täielikult ülevaatlik, kuna MPEG kunagi ei defineeri mitte

mingisuguseid kodeerimise reegleid.

MPEG audio kiht 3 põhiliseks tegijaks oli Fraunhoferi instituut, ning MP3 standard põhiliselt

baseerub nende poolt tehtud tööl. Selle töö tulemused on mitmete patentide poolt kaitstud. Nad

otsustasid panna oma patendid Thomson Multimedia (RCA) omadega kokku. Selles patentide

portfoolios leiduvate leiutiste kasutamise eest tuleb maksta.

Fraunhoferi instituudil ja Thomson Multimeedial on vähemalt 18 MP3 standardiga seotud patenti

ja veel üks MP3Pro jaoks. See on väga suurte võimalustega portfoolio, mis katab erinevaid MP3

kodeerimise aspektid. Mõnedes patentides kirjeldatud algoritmide asemel saab kasutada

erinevaid algoritme, on võimalik ka mingisuguseid võimalusi mitte kasutada. Kuid mõnedest

patentidest ei saa üle ega ümber, mis omakorda tähendab, et ei ole võimalik MP3 standardiga

seotud programme teha ilma tasulisi algoritme kasutamata.

15

Page 16: MP3 ja OGG - tlu...koostöö tulemuseks sai ISO-MPEG Audio Layer-3 (IS 1172-3 ja IS 13818-3) nime all standardiseeritud väga võimas algoritm. [1] Standardi alguslool on ka teine,

Ei saa unustada ka sellist fakti, et ka mõned teised firmad võivad omada veel mingisuguseid

patente, mis katavad MP3 standardi osi. Tulevikus võivad needki firmad oma patenteeritud

tehnoloogiate kasutamise eest raha nõuda. Alates MP3 standardi loomisest 1992. Aastal on ainult

Fraunhoferi instituut ja Thomson Multimedia oma tehnoloogiate kasutamise eest tasu küsinud.

[8]

16

Page 17: MP3 ja OGG - tlu...koostöö tulemuseks sai ISO-MPEG Audio Layer-3 (IS 1172-3 ja IS 13818-3) nime all standardiseeritud väga võimas algoritm. [1] Standardi alguslool on ka teine,

2 OGG

Kuna OGG standard on suhteliselt uus ja paljud inimesed ei ole sellega eriti tuttavad, siis saab

OGG Vorbis veidi põhjalikumalt vaadatud.

2.1 OGG Vorbis standardi üldfaktid ja ajalugu

OGG standardi väljatöötamine sai alguse 1993. aastal. Tol ajal oli see tuntud projekt "Squish"

nime all. Juba algusest peale oli OGG avatud lähtekoodiga projekt ja selle kasutamiseks pole

vaja igasuguste patentide eksisteerimise peale mõelda. See oli ettekavatsetud MP3 ja WMA

(Windows Media Audio) standardite konkurendiks ehk isegi asendamiseks, juba praegu on see

ülemaailma tuntud ja populaarne standard. Veelgi enam selle algoritmi kallal tehakse veel tööd,

kuna see osutus väga painduvaks. Kuigi heli kvaliteet saab iga uuema versiooni ilmumisega

paremaks on failid tagurpidi ühilduvad, neid saab mängida ka vanemaid mängijaid kasutades.

Nagu MP3-gi annab OGG võimaluse kodeerida faile erinevastes bitikiirustes. Seda

kompressiooni kasutades on mõned laulu osad kodeeritud suurema kukkusurutusega kui teised,

mis täiesti sõltub loost endast. Paljudel juhtumitel see kokkusurumine toimub koos pisikeste

müradega või väikeste katkestustega. OGG on üks väheseid formaate, mis toetab mitme kanali

kokkusurumist. Nagu ka mõned tema eelkäijad saab OGG formaadis faili reaalajas levitamiseks

(streaming) kasutada, kuigi see võimalus peaks olema tarkvara poolt toetatud.

[9]

2.2 Vorbis standardi kirjeldus

Vorbis on üldine pertseptiivne helikoodek mis on skaleeritav laias bitikiiruste ulatuses. Kõrgema

kvaliteedi ehk suuremate bitikiiruste puhul on tema tulemused MPEG 2 standardi kasutamisel

saadud tulemustega samal tasemel. Kasutades bitikiirusi kuni 48 kbps saab kodeerija

konverteerida heli ilma suuremate kvaliteedi kadudeta. Vorbis on samuti ettenähtud nii

madalamate kui ka kõrgemate sagedustega failide loomise jaoks, ning omab laia valiku kanalite

esitamisviise (monofooniline, polüfooniline, stereo, kvadrofoonia, 5.1, või kuni 255 diskreetset

kanalit).

Klassifitseerimine (Classification)

Vorbis I on Modifitseeritud Diskreetse Koosinusteisenduse (Modified Discrete Cosine

Transform) tehnoloogia peal baseeruv edasikohanduv terviklik transformeerimise koodek. Oma

struktuuri tõttu annab see võimaluse kasutada laine filtri (wavelet filter) (Vorbis II), mis pakub

17

Page 18: MP3 ja OGG - tlu...koostöö tulemuseks sai ISO-MPEG Audio Layer-3 (IS 1172-3 ja IS 13818-3) nime all standardiseeritud väga võimas algoritm. [1] Standardi alguslool on ka teine,

parema taastamise kvaliteedi kasutades ümberkujunemiseks paremini lokaliseeritud

ajasündmusi.

Vorbis koodeki omadustest (Assumptions)

Vorbis koodki disain eeldab akustikat tundvat keerulise kodeerija ja lihtsa ülesehitusega

dekodeerija olemasolu. Arvutusliku poolt vaadates saab öelda, et Vorbis formaadis dekodeerija

on lihtsam kui MP3 formaadi oma, kuid vajab rohkem mälumahtu, kuna ta ei kasuta staatilise

tõenäosuse mudelit. Kõik esimese faasi bitivoo dekodeerimisel kasutatavad vektorkoodiraamatud

on täismahus pakitud Vorbis formaadi bitivoogude päistesse. Oma kokkupakitud vormis võtavad

need koodiraamatud ainult mõne kilobaidi võrra ruumi. Dekodeerimisel tuleb nad vahemällu

lahti pakkida ja see ongi rohkema mälumahtu nõudmise põhjuseks.

Vorbis ei kanna endas mitte mingisugust kaadri joondamist, sünkroniseerimist või kaitset vigade

vastu. See on puhtalt sisendheli vastuvõtumeetod, mis saab heli-info üksikuteks kaadriteks

tükeldada ja neid kokku suruda (raw või reconfigurable architecture workshop) pakettideks.

Dekodeerija võtab neid pakette õiges järjekorras vastu, dekodeerib ja sünteesib neist heli

kaadrid. Lõpuks pannakse neid kaadre uuesti algse signaali täpse koopiana kokku.

Vorbis on varieeruvat bitikiirust VBR (Variable Bitrate) tehnoloogiat kasutav koodek. Seetõttu

ei oma paketid minimaalset, maksimaalset või oodatavat suurust. Paketid omavad sellist

struktuuri, et isegi kui neid tükeldatakse on dekodeerimine ikkagi võimalik. Mõlemad,

dekodeerija ja edasiandmise mehhanism peavad võimaldama paketi varieeruva suuruse

toetamist. Paketid võivad dekodeerijani jõuda ka enne või pärast eeldatavat aega.

Vaadeldava standardi paketid on mõeldud kasutamiseks sellise edastamise mehhanismiga, mis

oleks võimeline toetama kaadriteks muutmist, sünkroniseerimist, paigutamist ja vigade

parandamist täielikult vabas vormis. Üheks selliseks failide edasiandmiseks kasutatud vahendiks

on OGG. Kõige lihtsam oleks kasutada OGG standardit, kuid Vorbis kui selline ei nõua kindlasti

OGG kasutamise.

[10]

Koodeki ülesehitus ja Tõenäolisuse mudel (Codec Setup and Probability Model)

Vorbis nagu ka tema koodek on üürimustööks avatud, selle praegune kujundus viitab sellele, et

oleks võimalik veel palju aastakümneid arendustööd teha enne kui koodeki spetsifikatsiooniga

18

Page 19: MP3 ja OGG - tlu...koostöö tulemuseks sai ISO-MPEG Audio Layer-3 (IS 1172-3 ja IS 13818-3) nime all standardiseeritud väga võimas algoritm. [1] Standardi alguslool on ka teine,

määratud ruum otsa saab. Sellepärast konfiguratsiooni aspektid polegi täielikult paika pandud ja

neid on kogu aeg võimalik igasuguste uuenduste jaoks kohandada.

Kõige vaieldavam otsus Vorbis standardi puhul on see, et kogu tõenäolisuse mudel (Huffmani ja

VQ koodiraamatud) on bitivoo päisse pandud koos paljude teiste parameetritega (tihti sadade

väljade mahus). See tähendab, et dekodeerimist ei saa alustada suvalise paketi pealt, kõige enne

peab kätte saama päistes sisalduva info. See erineb ka MPEG standardites kasutatud võttest. Seal

sai alustada dekodeerimist suvalise paketi pealt.

Seega on Vorbis formaadis kasutusel olevad päised vajalikud dekodeerimise protsessi

alustamiseks. Päised on suhteliselt mahukad, suurus ei ole otseselt piiratud, kuigi on soovitatav

kasutada neid suuruses kuni 4 KB.

See aspekt ei ole otsustav ja edasiarendajad arvavad, et see ei sea erilisi kitsendusi. Mõned

Vorbis standardi poolt määratud dekodeerimise protsessi aspektid on vältimatud, kuid ka mõned

neist võib vahele jätta.

2.3 Dekodeerija ülesehitus (Decoder Configuration)

Dekodeerija ülesehitus koosneb paljudest komponentide komplektidest, mis täidavad

konkreetseid funktsioone kogu dekodeerimise süsteemi konveieris. Iga erineva komponendi

konkreetse tüüpi eksemplar on semantiliselt samaväärne.

Joonis 6 Komponentide seadistuse väljanägemine.

Globaalne konfiguratsioon (Global Config)

Koodeki globaalne konfiguratsioon koosneb heliga seotud väljadest (diskreetimissagedus,

kanalid), Vorbis formaadi versioonist (kirjutatakse 0 kui versiooniks on Vorbis I), bitikiirus ja

19

Page 20: MP3 ja OGG - tlu...koostöö tulemuseks sai ISO-MPEG Audio Layer-3 (IS 1172-3 ja IS 13818-3) nime all standardiseeritud väga võimas algoritm. [1] Standardi alguslool on ka teine,

komponentide eksemplaride nimekirjast. Kogu ülejäänud konfiguratsioon paikneb konkreetsete

komponentide kontekstis.

Režiim (Mode)

Iga kaader on kodeeritud vastavalt oma etaloni olekule (master mode). Bitivoos võib kasutada

neid üht või mitut.

Oleku mehhanismi kasutatakse iga konkreetse kaadri jaoks kõige parema kodeerimise režiimi

valimiseks. Neid režiime on suhteliselt palju, aga valida tuleb konkreetse situatsiooni jaoks kõige

sobilikum. Üheks selliseks režiimiks võib nimetada kaadri kaupa kaadri suuruse muutmist.

Režiimi number mängib kõigi teiste aspektide jaoks võtme rolli.

Režiim koosneb kaadri suuruse paigutamisest, akna tüübist (alati 0, Vorbis I kasutamise puhul),

teisenduse tüübist (alati 0, MDCT või Modified Discrete Cosine Transform, Vorbis I kasutamise

puhul) ja andmeteisenduse numbrist. Andmeteisenduse number määrab millist andmeteisenduse

konfiguratsiooni kasutada madala tasandi paketi dekodeerimiseks ja sünteesiks.

Andmeteisendus (Mapping)

Andmeteisendusskeem sisaldab kanalite liitmise kirjeldust ja asendusskeeme (submaps), mis

hoiavad kanali vektoreid grupeerituna kodeerimiseks ja dekodeerimiseks. Need ei ole viited

välistele komponentidele, asendusskeemide nimekiri on iga individuaalse skeemi sisene aspekt.

Asendusskeem on grupeering, mis on rakendatud aluse alamhulgale ja andmeteisendusskeemis

järelejäävatele vektoritele. See mängib viimase kihi osa, nii saab rakendada sätteid mitte ainult

selle skeemi sees olevatele vektoritele, kuid ka teatud skeemi konkreetsetele vektoritele. Iga

alamteisendusskeem määrab sobiva aluse ja selle dekodeerimise reegleid.

Alus (Floor)

Vorbis kodeerib spektraalse aluse (floor) iga PCM (Pulse Code Modulation ehk

impulssmodulatsioon) kanali jaoks. See vektor on hetkel kasutatava kaadri kanali

madalaresolutsiooniline helispektri kujutis.

On kaks tüüpi aluse dekodeerimist. Alus 0 kasutab kokkusurutud LSP kujutamist dB

amplituudide skaalal ja Bark sageduste skaalal. Alus 1 esitab dB amplituudideskaalat ja

lineaarset sagedusteskaalat. Mõlemad alused on semantiliselt vahetatavad nii kodeerimise, kui ka

20

Page 21: MP3 ja OGG - tlu...koostöö tulemuseks sai ISO-MPEG Audio Layer-3 (IS 1172-3 ja IS 13818-3) nime all standardiseeritud väga võimas algoritm. [1] Standardi alguslool on ka teine,

dekodeerimise protsessi puhul. Kuid aluse tüüp 1 tagab stabiilsema kaadrisisese tööviisi,

sellepärast on see eelistatud kõrgete bitikiiruste puhul. Selle aluse puhul käib lihtsamini ka

dekodeerimise protsess. Praegu leiab alus 0 vähe kasutust.

Aluse poolt kodeeritavad või dekodeeritavad väärtused omavad mõlemad kompaktset vormingut

ja kasutavad entroopia kodeerimist ruumi säästmiseks. Sellepärast viitabki aluse konfiguratsioon

paljudele koodiraamatutele nende raamatute komponentide nimekirjast. Iga konkreetne aluse

eksemplar saab valida saadaval olevatest koodiraamatutest just vajalikud.

Jääk (Residue)

Spektraalne jääk on audiospektri järelejäänud struktuur pärast alus-kõvera lahutamist, ehk

bitivoogu sisse kodeeritud vektorite kvantiseerimise kaskaadülekannet (multi-pass). Selle

protsessi jaoks on olemas kolm eraldiseisvat algoritmi nummerdatud 0 kuni 2. Pakkimise

algoritmi üksikasjad on jäägi eksemplari poolt konfigureeritud. See algoritm käitub

koodiraamatutega sarnaselt.

Koodiraamatud (Codebooks)

Need raamatud on entroopia dekodeerimisi sooritavad kinnised struktuurid. Kasutades

entroopiliselt dekodeeritud täisarvulisi väärtusi tagastavad nad ettenäidatud väärtuste vektorit.

Vorbis I formaadis tagab entroopialist kodeerimist standardne Huffmani kahendpuu kujutus.

Puud surutakse kokku kasutades ühe paljudest meetoditest sõltuvalt kodeeritud sõna

segmentidest (korrastatud või mittekorrastatud).

Koodiraamatu vektori indeks on määratud vastavalt indeksi tunnusele. Tavaliselt see vektori

indeks on kodeeritud ühe väärtuste nimekirja vormis (kasutades võimalike väärtusi) ja siis

permuteeritud n - mõõtmeliste ridade nimekirja.

2.4 Kõrgetasemeline dekodeerimise protsess (High-level Decode Process)

Dekodeerimise ülesehitud (Decode setup)

Enne dekodeerimise protsessi algust peab dekodeerija ennast lähtestama bitivoo päiseid

kasutades. Vorbis kasutab kolme päise paketti ja kõik need paketid on talle vajalikud. Pärast

21

Page 22: MP3 ja OGG - tlu...koostöö tulemuseks sai ISO-MPEG Audio Layer-3 (IS 1172-3 ja IS 13818-3) nime all standardiseeritud väga võimas algoritm. [1] Standardi alguslool on ka teine,

lähtestamise protsessi algust võib dekodeerimist alustada iga voo kuluva paketi pealt. Vorbis I on

nii ülesehitatud, et pärast kolmest päisest koosnevat komplekti järgnevad ainult helipaketid.

Päised on nii korraldatud: identifitseerimise päis, kommentaaride päis ja ülesehituse päis.

Identifitseerimise päis (Identification Header)

See identifitseerib Vorbis standardi versiooni ja lihtsamaid heli karakteristikud (nagu

diskreetimissagedus ja kanalite number).

Kommentaaride päis (Comment Header)

Kommentaaride päis hõlmab endasse kasutaja poolt lisatud kommentaare (tags) ja tarnija stringi

jaoks (programm). Kommentaaride mehhanism ei ole küll nii võimas nagu viimastel ID3

versioonidel, kuid seal leiduvad kõik tänapäeval vajalikud väljad. Üldine ehitus on pigem

standardne, kuid sealt leidub ka huvipakkuvaid osi. Üks kõige rohkem huvi pakkunud osi kandis

nime ISRC (International Standard Recording Code). See süsteem identifitseerib teatud

salvestuse jaoks olemasoleva numbri (iga salvestuse number on unikaalne). Sellist integreerimist

saab siin kasutada autoriõiguste kaitsel..

[11]

Ülesehituse päis (Setup Header)

Ülesehituse päis sisaldab nii ulatusliku koodeki ülesehituse informatsiooni, kui ka täielikke

dekodeerimiseks vajalikke VQ ja Huffmani kodeerimisraamatuid.

Dekodeerimise protseduur (Decode Procedure)

Dekodeerimise ja sünteesi protseduur on kõikide koodekite jaoks umbes samasugune.

1. Paketi tüübi lipu dekodeerimine

2. Režiimi numbri dekodeerimine

3. Akna kujundi dekodeerimine (ainult pikad aknad)

4. Aluse dekodeerimine

5. Jäägi dekodeerimine jäägi vektoriteks

6. Jäägi vektorite pöördkanalite liitmine

7. Dekodeeritud aluse andmetest aluse joone tekitamine

8. Arvutatakse aluse ja jäägi punktkorrutis, audiospektri vektori tegemine

22

Page 23: MP3 ja OGG - tlu...koostöö tulemuseks sai ISO-MPEG Audio Layer-3 (IS 1172-3 ja IS 13818-3) nime all standardiseeritud väga võimas algoritm. [1] Standardi alguslool on ka teine,

9. Audieospektri vektori terviklik pöördtransformeerimine

10. Kattumine (overlap), ühendatakse vasakpoolne transformeerimise väljund eelmise kaadri

paremapoolse väljundiga

11. Salvestatakse hetkel kasutatava kaadri transformeerimise parempoolne informatsioon, hiljem

kasutatakse kattumisel

12. Kui ei ole esimene kaader, siis tagastatakse tulemused/lisatakse hetkel kasutatava kaadri

audiotulemusena.

Paketi tüübi dekodeerimine (Packet type decode)

Vorbis I kasutab nelja paketi tüüpi. Neis esimesed kolm määravad juba kirjeldatud päiste

pakette. Neljanda paketi tüüp määrab audiopaketi. Kõik ülejäänud pakettide tüübid on

reserveeritud, sellised reserveeritud lipuga määratud pakette tuleb ignoreerida. Esimene audio

pakettide dekodeerimise samm on paketi tüüpi kontrollimine. Kui oodatud audio paketi asemel

tuleb mingi teine, siis on kohe teada, et voo on kas rikutud või on tegemist vale voo

situatsiooniga. Kodeerija peab selliseid pakette ignoreerima ja mitte mingil juhul ei tohi alustada

nende dekodeerimist.

Selle järel tuleb juba kirjeldatud režiimi dekodeerimine.

Akna kujundi dekodeerimine [ainult pikad aknad] (Window shape decode [long windows only])

Aken on üks kadri suurust määravaid faktoreid. Kaadri suuruseks on võimalik valida üks PCM

näidistesuurustest. Seaduslikud kaadrite suurused on kahe astmed alustades 64 kuni 8192 näidist.

Vorbis kohtleb kanaleid (vasakpoolne ja parempoolne) sõltumatu vektoritena ja need kaadrite

suurused on antud näidistes kanali kohta.

Vorbis kasutab ühe kaadri teisega kombineerimiseks vaheliti transformeerimist (nimelt MDCT).

Sellega väldib ta tehislikkuse (artifacts) tekkimist. Kaadri MDCT väljund kadreeritakse vastavalt

MDCT vajadustele. Segatakse 50% eelmise kaadri väljundiga. See tagab vigadeta taastamise.

Juhul, kui kahe akna suurused erinevad teineteisest tuleb suuremat akent modifitseerida nii, et

eelpool kirjeldatud protsess oleks võimalik. Korrektse akna suuruse järeldamine on võimalik

juhul, kui on teada eelmise, hetkel kasutusel oleva ja järgmise akna suurusi. See

modifitseerimine on täielikult lubatud. Kuigi pika akna juhul kodeerib Vorbis ka kaks lipu tüübi

bitti selleks, et kirjeldada akna suurust enne ja pärast. See annab võimaluse dekodeerida paketi

23

Page 24: MP3 ja OGG - tlu...koostöö tulemuseks sai ISO-MPEG Audio Layer-3 (IS 1172-3 ja IS 13818-3) nime all standardiseeritud väga võimas algoritm. [1] Standardi alguslool on ka teine,

ilma mingisuguse informatsiooni otsimata ja tagab lihtsama kodeerimise/dekodeerimise

protsessi.

Vorbis standardi akna kujundi dekodeerimise protsessis kasutatakse sellist tõusuvalemi:

y=sin(2PI*sin^2(x/n)).

Aluse dekodeerimine (Floor decode)

Iga alus on kodeeritud-dekodeeritud kanalite järjestuses, kuid iga alus kuulub asendusskeemile

(submap), mis omakorda määrab millist konfiguratsiooni kasutada. Kõik alused on dekodeeritud

enne jäägi dekodeerimise algust.

Jääki dekodeerimine (Residue decode)

Kuigi jäägi vektorite arv võrdub kanalite numbriga võib kanalite liitmine tähendada, et

dekodeerimise protsessi käigus saadud vektorid ei näita otseselt konkreetsete kanalite peale.

Mõned vektorid hakkavad vastama liidetud tähendustele või erinevustele. Need seosed on

eelnevalt kirjeldatud ja võivad kaadrist kaadrini muutuda, see on võimalik tänu erinevatele

režiimi numbritele.

Vorbis kodeerib neid vektoreid gruppidesse iga asendusskeemi jaoks. Kodeerimine toimub selle

asendusskeemi sees järjekorras 0 kuni n-1 (n on vektorite arv). See erineb alustest, neid

kodeeritakse kasutades asendusskeemi numbri poolt antud konfiguratsiooni, kuid on eraldi

kanalite järjestuses kodeeritud.

Pöördkanalite liitmine (Inverse channel coupling)

Kanalite liitmisega saavutatakse suuremaid bitikiirusi ja parem kvaliteet. Seda rakendatakse

samaaegselt vektorite paaridele. Lahtivõtmise käigus kasutatakse režiimi poolt määratud

vektorite paare. Protsess näeb kõikide vektorite paaride jaoks samamoodi välja.

Kui kogu vektorite paaride nimekiri on lahti võetud, kirjeldab saadud jäägi vektor iga väljuva

kanali spektraalseid üksikasju.

Alus-kõvera tekitamine (Generate floor curve)

Dekodeerija võib sellise alus-kõvera tekitada igal talle sobival ajal. Sellise aluse tekitamine omab

mõtet alusandmete dekodeerimisel raw pakettidest. Kuid see võiks ka täiesti olla genereeritud

24

Page 25: MP3 ja OGG - tlu...koostöö tulemuseks sai ISO-MPEG Audio Layer-3 (IS 1172-3 ja IS 13818-3) nime all standardiseeritud väga võimas algoritm. [1] Standardi alguslool on ka teine,

pärast pöördkanalite liitumist ja olla rakendatud otseselt spektraalsele jäägile kombineerides

tekitamise ja punktikorrutise ühe sammu sisse, säästes sellega töö mahtu. Mõlema 1 ja 0

protsessi korral tekitatakse samasuguseid struktuure.

Aluse arvutamine/jäägi punktikorrutis (Compute floor/residue dot product)

Iga väljundkanali jaoks dekodeerija elemendihaaval korrutab alus-kõvera ja jäägi vektoreid,

tulemuseks on iga kanali valmis helispekter.

Alus-vektori väärtused saavad olla vahemikus ~140 dB piirides (span) (~24 bitti) ja heli enda

spekter peab esitama minimaalselt 120 dB (~21 bitti) isegi kui väljund on 16 bitti PCM seade.

Selleks, et jäägi vektor saaks anda täisulatuses skaala juhul kui aluseks on pandud -140 dB peaks

see olema suuteline olla vahemikus 0 kuni +140 dB. Kui aluseks on määratud 0 dB, siis peaks

see olema võimeline esitama -140 dB kuni +0 dB. Selleks ei täita dünaamikat täies mahus peaks

jäägi vektor olema suuteline töötama vahemikus -140 dB kuni +140 dB. Vahemik, mille

ulatuseks on 280 dB on umbes 48 bitti. See tähendab, et jäägi vektor peaks olema suuteline

esitama 48 bitist ulatust ja punktikorrutis (dot product) peaks olema võimeline 38 biti ja 24 biti

efektiivseks korrutamiseks. Sellega saab hakkama kasutades suuri (64 bitti või suuremad)

täisarve.

Terviklik pöördtransformeerimine (Inverse monolithic transform (MDCT))

Audiot saab PCM normaalkujule tagasi konverteerida kasutades pööratud MDCT tehnoloogiat.

Tuleb märkida, et otseselt MDCT transformeerimiste poolt saadud PCM ei ole veel valmis audio

signaal, see peaks olema mõhitud (lapped) ümbritsevate kaadritega sobivat akent kasutades

(üheks selliseks on Vorbis tehnoloogial baseeruv aken). Ainult pärast eelmainitud protseduuri

saab MDCT olla ortogonaalne.

Kattumine/andmete lisamine (overlap/add data)

Akna kasutamisega saadud MDCT väljundile rakendatakse kattumist ja talle liidetakse eelmise

akna parempoolne andmekogu. Nii saab valmis hetkel dekodeeritava kaadri keskpunkt.

25

Page 26: MP3 ja OGG - tlu...koostöö tulemuseks sai ISO-MPEG Audio Layer-3 (IS 1172-3 ja IS 13818-3) nime all standardiseeritud väga võimas algoritm. [1] Standardi alguslool on ka teine,

Parempoolsete andmete vahemällu salvestamine(Cache right hand data)

Dekodeerija peab panema hetkel kasutusel oleva kaadri parempoolse andmetekogumi vahemällu

salvestama selleks, et võimaldada selle saadud osa liitmist järgmise kaadri vasakpoolse

andmekogumiga.

Saadud audio andmete tagastamine (Return finished audio data)

Tuleb märkida, et esimene kaader ei tagasta mingeid andmeid. Teda kasutatakse selleks, et

ülejäänud kaadritest tulevaid andmeid oleks võimalik kätte saada.

[10]

2.5 OGG loogika ja bitivoo füüsiline ülevaade

OGG bitivoogud

OGG koodekid kasutavad raw oktettvektoreid, kokkusurutud andmed. Need kokkusurutud

paketid ei oma mingit kõrge taseme struktuuri või rajainformatsiooni. Kokkupakituna paistavad

nad välja juhuslikke baitide vootena, mis ei oma mitte mingeid piire.

Neid raw pakette võib kasutada reaalajas edastamise (streaming) mehhanismide poolt, mis

omavad enda kadreerimise ja pakettide eraldamise võimalusi. Vorbis ja mõned teised koodekid

kasutavad OGG bitivoode formaati. OGG annab vajalikud piirid ja piisavalt infot, informatsiooni

pakettideks muutmiseks.

[12]

OGG voogude konstrueerimise piirangud

1. Tõeline voogamine. Täieliku bitivoo ehitamiseks ei ole vaja midagi otsida.

2. Pakettidele piirde seadmiseks, kõrge tasandi kadreerimiseks, sünkroniseerimiseks ja

otsimiseks e tohiks kasutada rohkem kui 1-2% kogu bitivoo läbilaskevõimest.

3. Originaali voos absoluutse positsiooni määramine.

4. Lihtne mehhanism piiratud redigeerimise kergendamiseks, nagu lihtsustatud

andmestruktuuride ühendamise mehhanism.

5. Vigade leidmine, andmevoo jätkamine pärast vea teket ja otsene juurdepääs voos vajalikuks

osutavale kohale.

[13]

26

Page 27: MP3 ja OGG - tlu...koostöö tulemuseks sai ISO-MPEG Audio Layer-3 (IS 1172-3 ja IS 13818-3) nime all standardiseeritud väga võimas algoritm. [1] Standardi alguslool on ka teine,

Loogikalised ja füüsilised bitivood

Raw pakette grupeeritakse ja kodeeritakse struktureeritud andmetest koosnevateks külgnevates

lehekülgedeks, neid lehekülgi kutsutakse loogikalisteks bitivooteks (logical bitstreams). Selline

loogikaline bitivoo koosneb ühele koodeki eksemplarile (instance) kuuluvatest lehekülgedest.

Iga selline lehekülg on eraldi seisev objekt (kuigi on võimalik paketi tükeldamine ja paljude

objektide kasutamine). Dekodeerimise mehhanism on suuteline neid lehekülgi ära tundma ja

neid ükshaaval töötlema.

Paljud loogikalised bitivood võivad olla kombineeritud (piirangutega) üheks füüsiliseks

bitivooks (physical bitstream). Üks selline füüsiline bitivoo koosneb paljudest lehekülje tasemel

multipleksitud loogikalistest bitivoogudest ja võib hõlmata ka alguses paiknevat meta-päist

(meta header), mis võib identifikaatori rolli mängida. Kõiki olemasolevaid lehekülgi võetakse ja

pannakse kokku, selle protsessi käigus tekib üksainus füüsiline lehekülgede voog. Kõige

lihtsama füüsilise bitivoo rollis võib olla üks multipleksmata loogikaline bitivoog.

[12]

Bitivoogu struktuurist ja Andmeteisenduse piirangutest (Mapping restrictions)

Enne lehekülje kodeerimist toimub pakettide loogiline jagamine, pakette jagatakse paljudeks

segmentideks. See protsess on täielikult loogikaline, mis tähendab, et selle käigus kunagi ei

kasutata algse lehekülje andmeid. See tähendab, et mingeid lisaandmeid ei küsita.

Pakett jagatakse n 255 baidilisteks segmentideks ja viimane segment on väiksem kui 255 baiti.

Pakett või koosneda ka ühest ainsast segmendist ja see segment omakorda võib olla pikkusega 0.

Neid paketi pikkuse väärtusi kutsutakse seostatavateks väärtusteks (lacing values) ja

salvestatakse päiste segmentide tabelisse.

[13]

Andmeteisenduse piirangud (Mapping Restrictions)

Loogikalised bitivoogusid ei saa muuta füüsilisteks ilma teatud piiranguteta.

Lisaks loogilises andmevoos lehekülgede algusesse ja lõppu pandud lipukujulistele

konstruktsioonidele omab OGG andmevoo esimene lehekülg lisapiiranguid. Iga individuaalne

andmekandja paneb paika nende lisareeglite nimekirja.

27

Page 28: MP3 ja OGG - tlu...koostöö tulemuseks sai ISO-MPEG Audio Layer-3 (IS 1172-3 ja IS 13818-3) nime all standardiseeritud väga võimas algoritm. [1] Standardi alguslool on ka teine,

OGG loogikalise bitivoo esimene lehekülg koosneb väikesest lähte päise (initial header) paketist,

mis hoiab endas täpse koodeki tüüpi identifitseerimiseks vajalikku informatsiooni, sellele

kaasnevad ka loogilisele bitivoole andmekandja poolt esitatavad nõuded. See annab võimaluse

bitivoo tüüpi ja sisu lihtsamini ära tunda. Ja selle protsessi jaoks on vajalik ainult väikese

mahuga andmehulk.

Konkreetselt OGG Vorbis paneb lähte päisesse: Vorbis koodeki nime ja versiooni numbri,

helikiiruse (audio rate) ja audio kvaliteedi. Sellega muutub voo identifitseerimine lihtsamaks.

Jadamultipleksimine (Sequential multiplexing (aheltöötlus))

Loogilise bitivoo multipleksimise lihtsaim näide on tihendamine (aheltöötlus või chaining).

Valmis saadud loogikalised vood pannakse üksteise järele, et moodustus teatud struktuur.

Bitivood ei kattu, hetkel kasutatava loogikalise bitivoo viimasele leheküljele järgneb järgmine

alguslehekülg. See on ainuke OGG Vorbis formaadi poolt lubatud andmeteisendus loogikalise

voo füüsikaliseks muutumise protsessis.

Iga ahelaks muudetud loogikaline bitivoo omab unikaalset numbri füüsilise bitivoo

kehtivusepiirkonnas.

Koosnev/samaaegne multiplksimine (Concurrent multiplexing (grupeerimine))

Veel üks multipleksimise võimalus on paralleelne multipleksimine (grupeeritult). See tähendab,

et ühe voo (streaming) sees saab edasi anda erinevaid audio ja video vooge. Seal saab kasutada

erinevaid koodekeid ja erinevaid loogikalisi bitivooge, kuid kõik see toimub sama füüsilise

bitivoo sees. Mitme loogilise bitivoo leheküljed on kokku segatud..

Iga bitivoo algusleheküljed peavad esimestena kohale saabuma, andmekandja andmeteisendus

määrab kindlaks nende lehekülgede korra. Andmeteisendus saab määrata, et füüsiline bitivoo

algab video bitivoo algusleheküljega, sellele järgneb audio voo alguslehekülg. Viimased ehk

lõpuleheküljed (terminal pages) ei pea külgnevalt ette tulema. Need võivad olla tühjad (nil)

leheküljed, kus sees on ainult lehekülje positsiooni informatsiooniga päis ja viimase bitivoo

lehekülje (last page of a bitstream) lipp.

Iga grupeeritud bitivoog peab omama selle füüsikalise bitivoo ulatuses unikaalse numbrit.

28

Page 29: MP3 ja OGG - tlu...koostöö tulemuseks sai ISO-MPEG Audio Layer-3 (IS 1172-3 ja IS 13818-3) nime all standardiseeritud väga võimas algoritm. [1] Standardi alguslool on ka teine,

Samaaegselt multipleksitud bitivoode grupid võivad olla järjestatud. Selline füüsiline bitivoo

vastab mõlema meetodi reeglitele. Kui neid gruppe lahutada, siis peavad nad eraldi seisma ja

vastama grupeerimise reeglitele.

[12]

2.6 OGG kokkuvõte

OGG Vorbis on suhteliselt uus formaat ja mitte kõik arvutikasutajad ei ole sellega tuttavad.

Suurem hulk inimestest siiski juba teab mis see on.

Siin olid vaadeldud OGG peamised struktuursed aspektid, aga needki annavad mingisuguse

ettekujutuse OGG Vorbis omadustest ja kasutamisvõimalustest. Vorbis standardi struktuur on

suhteliselt lai ja küllaltki paindlik. Kõige huvitavam on fakt, et tegemist on täiesti avatud

formaadiga. Igaüks saab liituda OGG Vorbis projekti meeskonnaga, igaüks saab oma ideid

pakkuda ja neid pärast ka realiseerida. Alguses tuli välja OGG helifailide kodeerimise formaat.

Aastate käigus on lisandunud uued võimalused, näiteks FLAC (Free Lossless Audio Codec), mis

tähendab Vaba Kadudeta Audio Koodek. Selle koodeki töö käigus pakitakse audiot kokku, aga

mingeid kadusid selle protsessi käigus ei teki. Põhimõtteliselt peaks heli kvaliteet originaali

omaga võrdseks jääma. Praegu leidub ka FLAC standardit toetavaid mängijaid.

Teine uus OGG Vorbis projekti osa on Speex. See audio formaat on mõeldud inimkõne

salvestamiseks. Veel üks neist projektidest kannab nime THEORA, avatud koodiga video

koodek. Olles veel üks selle projekti osa THEORA realiseerib suure osa OGG Vorbis

ettekavatsetud laienduste võimalustest. Kuna see võimaldab panna kokku OGG Vorbis heli ja

video faili. Selles konkreetses situatsioonis on OGG Vorbis kasutatud audio osa realiseerimiseks.

Siin võivadki olla kasutatud multipleksimise võimalused.

Nende nimedega hetkel projekti laiendused piirduvadki. Oodata on kindlasti palju muudatusi,

sest kaasatud on hulk inimesi ja projekt on täies elujõus.

Hetkel on olemas versioon 1.0.1.

Hetkeseisuga toetavad OGG Vorbis formaadis tehtud faile juba paljud tuntud mängijad. Üks

esimestest oli hästi tuntud WINAMP (http://winamp.com/). OGG vorbis formaadis failide toetust

omas juba 2004 I poolaastal valminud versioon 5.0. Hetkel on viimaseks versiooniks 5.05. Omal

29

Page 30: MP3 ja OGG - tlu...koostöö tulemuseks sai ISO-MPEG Audio Layer-3 (IS 1172-3 ja IS 13818-3) nime all standardiseeritud väga võimas algoritm. [1] Standardi alguslool on ka teine,

ajal aitas see mängija noort MP3 standardit kuulsaks saada. Näiteks võib veel tuua ühe paljudest:

foobar2000 (http://www.foobar2000.org/).

Natuke halvem on situatsioon riistvaraliste kaasaskantavate mängijatega, kuid ka need on

olemas. Nende kohta leidub informatsiooni ühel projektiga seotud lehel

(http://wiki.xiph.org/VorbisHardware#Portable_Players). On näha, et OGG formaati toetavate

mängijate tegemisega on juba seotud mitu firmat. Üks mängijatest kannab nime iriver

(http://www.iriver.com/product/). Enamus OGG formaati toetavatest mängijatest toetab ka MP3

formaati.

30

Page 31: MP3 ja OGG - tlu...koostöö tulemuseks sai ISO-MPEG Audio Layer-3 (IS 1172-3 ja IS 13818-3) nime all standardiseeritud väga võimas algoritm. [1] Standardi alguslool on ka teine,

3 Testid

Antud peatükis vaatleme läbiviidud teste, mille põhjal võrdleme MP3 ja OGG formaate. Testide

tulemuste põhjal teeme järeldusi, kumb kahest formaadist omab hetkel paremat

kodeerimise/dekodeerimise mehhanismi.

Testis salvestati MP3 ja OGG formaati järgmised muusikapalad: "Queen" ja "I Was Born To

Love You"; "The Prodigy" ja "No Good (Start The Dance) " ning "Vivaldi" ja "Spring (I

Allegro)". Sellise valiku põhjuseks on asjaolu, et kõiki neid meloodiaid võib nimetada oma žanri

tüüpilisteks esitajateks.

3.1 Testimise parameetrid ja kasutatud programmid

Muusika CD-plaatidelt arvuti kõvakettale salvestamiseks (rip) ja sagedusdiagrammide

koostamiseks on kasutatud helitöötlusprogrammi "Adobe Audition", mis on peamiselt

professionaalidele ja asjaarmastajatele mõeldud, paljude võimalustega laialt kasutatav tarkvara.

Programmi piiratud ajakasutamisega versiooni ja dokumentatsiooni saab selle internetilehe pealt

(http://www.adobe.com/products/audition/main.html).

CD plaadilt salvestati muusika PCM audioformaadis WAV failideks järgmiste parameetritega:

bitikiirus 1411 kbps, diskreetimissuurus (sampling size) 16 bitti, diskreetimissagedus 44.1 kHz, 2

stereo kanalit. Sellised failid on CD-audio muusika üks-ühele koopiad. Saadud failid olid kõik

mahuga 10.5 MB minuti kohta, ehk kõik umbes 40 MB.

Failide konverteerimiseks MP3 ja OGG formaatidesse kasutasime "OrlSoft MPeg eXtension"

nimelist tarkvara, mis toetab suurt hulka erinevaid audioformaate. MP3 jaoks kasutab see

tarkvara LAME (Lame Ain't an MP3 Encoder) koodeki versioon 3.96

(http://lame.sourceforge.net/), mis on hetkel laialt kasutatud ja annab väga häid tulemusi. OGG

formaadi jaoks kasutab see tarkvara OGG 1.0.1 koodekit, mis on eespool mainitud OGG Vorbis

projekti raames loodud.

Mõlemad koodekid kasutavad VBR (Variable bitrate) ehk nii nimetatud "Varieeruva bitikiiruse"

režiimi. Režiimi nimetatakse ka ABR (Average bitrate) ehk "Keskmine bitikiirus". See tähendab,

et bitikiirus failis ei ole kogu aeg samal tasemel, vaid varieerub vastavalt sisendsignaali

vajadustele. Varieeruv bitikiirus võimaldab saada paremat kvaliteeti.

[http://orlsoft.djbobo.ru/osmpx.asp]

Kuna OGG koodek kasutab VBR-i, siis oli MP3 koodeki valimise üheks eelduseks samuti

VBR-i tugi. Muidu oleks meie testis OGG formaadil olnud eelis.

31

Page 32: MP3 ja OGG - tlu...koostöö tulemuseks sai ISO-MPEG Audio Layer-3 (IS 1172-3 ja IS 13818-3) nime all standardiseeritud väga võimas algoritm. [1] Standardi alguslool on ka teine,

Testis kasutasime järgmiseid bitikiiruseid:

1. 320/350 kbps, CD-lähedane kvaliteet (near CD)

2. 256 kbps.

3. 192 kbps, väga laialt kasutatav bitikiirus

4. 160 kbps

5. 128 kbps, internetis vahetatavate helifailide puhul praktiliselt standardiks muutunud

Tulemuste analüüsimist segas natuke asjaolu, et "Adobe Audition“ ei toeta OGG formaati.

Tulemuste saamiseks tuli OGG formaadis failid uuesti WAV-failideks (PCM) teisendada. Testi

tulemustele see mõju ei avalda, kuna sellesuunaline teisendus helikvaliteeti ei mõjuta. Igaks

juhuks, täiesti võrdsete testitingimuste tagamiseks teisendati ka MP3 failid WAV-failideks.

3.2 Testimine

Bitikiirus 320/350 kbps

Alustagem siis kõige parema kvaliteediga salvestustest. Selliste parameetritega kodeerimise

eesmärgiks on võimalikult paremate tulemuste saamine. Mõlema koodeki puhul kasutatakse

paremaid võimalikke parameetreid. Need on: 320 kilobitti ja 22 kHz MP3 (LAME) ning 350

kilobitti ja 22 kHz OGG kodeerija puhul. Selliste parameetritega kodeerimise tulemused peaksid

olema CD kvaliteedile võimalikult lähedad.

Tulemuste parema esitamise ja lihtsama arusaamise jaoks on kasutatud sonogrammi (sonar ehk

sonogram), mis on heli ajasageduslik esitus. Vertikaalteljel on sageduste riba (0 kuni 22kHz)

ning horisontaalteljel ajahetkede riba. Veel üks võimalus on amplituudisageduslik esitus, kuid

see ei ole nii piltlik ja arusaadav. Amplituudisageduskikku esitamisega saavad hästi hakkama

peamiselt kallid professionaalsed programmid.

Joonis 7 Queen CD kvaliteet. Joonis 8 Queen OGG 350.

32

Page 33: MP3 ja OGG - tlu...koostöö tulemuseks sai ISO-MPEG Audio Layer-3 (IS 1172-3 ja IS 13818-3) nime all standardiseeritud väga võimas algoritm. [1] Standardi alguslool on ka teine,

Joonis 9 Queen MP3 320. Joonis 10 Prodigy CD kvaliteet.

Joonis 11 Prodigy OGG 350. Joonis 12 Prodigy MP3 320.

Joonis 13 Vivaldi CD kvaliteet. Joonis 14 Vivaldi OGG 350.

Joonis 15 Vivaldi MP3 320.

Tulemused näevad väga head välja, kuid MP3-es kodeeritud failide diagrammidel on näha

kõrgemate sageduste osalist kadumist. Tasub meeles pidada, et kodeerimise protsessi käigus me

igal juhul kaotame kvaliteedis ja võidame suuruses. Kõikide failide madalamad ja keskmised

sagedused on väga sarnased originaalile, mis näitab kodeerimise algoritmide kvaliteeti.

Erinevused aga tulevad juba mainitud kõrgete sageduste puhul. Kõige kõrgemate sageduste

osaline kadumine ei tähenda veel helikvaliteedi märkimisväärset langust. Tavakasutaja jaoks ei

osutu see kuigi suureks probleemiks, kuna enamik kodused helisüsteeme ei anna võimalust vahet

märgata.

33

Page 34: MP3 ja OGG - tlu...koostöö tulemuseks sai ISO-MPEG Audio Layer-3 (IS 1172-3 ja IS 13818-3) nime all standardiseeritud väga võimas algoritm. [1] Standardi alguslool on ka teine,

Lisaks sonogrammi hindamisele tuli testimises kasutatud faile ka kuulata. Kuulamiseks

kasutatud arvutis: helikaardiks oli "Creative Sound Blaster Audigy" ja kõlaritekomplektiks on

"Creative I-Trigue 3300", millel on kaks satelliitkõlarit ja madalsagedusväljundi (subwoofer).

Kuulamise käigus ei olnud võimalik originaali ja kodeeritud faile teineteisest eristada. Kõik kolm

kasutatud salvestust on oma helikvaliteedi poolt samasugused, see tähendab et nii klassikalise,

kui ka populaarse muusika puhul töötavad kodeerijad võrdselt hästi.

Testidest tuli välja, et mõlemate formaatide piirvõimaluste kasutamisel saadud failide kvaliteet

on võrdselt hea. Formaadi valik sellisel juhul sõltub peamiselt kasutaja enda eelistustest.

Kõrgemate sageduste osaline kadu ei oma erilist tähtsust, kuna madalamad ja keskmised on

äärmiselt heal tasemel. Sellise kvaliteediga failid on küllaltki suured, kuid originaaliga võrreldes

siiski 4-5 korda väiksemad.

Bitikiirus 256 kbps

Eelmises osas vaadeldud parima kvaliteediga kodeerimine annab küll väga häid tulemusi, kuid

see ei oli nii laialt kasutatav. Põhjuseks on saadud failide suurused ligi 11 MB (Queen), aga

väiksemat faili. Paljud kasutajad eelistavad natuke halvemat kvaliteedi - 256 kbps, mis on päris

mõistlik kompromiss. Kompromiss on veelgi mõistlikum VBR tehnoloogia kasutamise puhul.

Selle osa saaks muudetuna eelmise (320/350) jutu juurde sobitada.

Joonis 16 Queen OGG 256. Joonis 17 Queen MP3 256.

Joonis 18 Prodigy OGG 256. Joonis 19 Prodigy MP3 256.

34

Page 35: MP3 ja OGG - tlu...koostöö tulemuseks sai ISO-MPEG Audio Layer-3 (IS 1172-3 ja IS 13818-3) nime all standardiseeritud väga võimas algoritm. [1] Standardi alguslool on ka teine,

Joonis 20 Vivaldi OGG 256. Joonis 21 Vivaldi MP3 256.

Vaatame siis testimise käigus saadud tulemusi. OGG ja MP3 formaatide graafikutel on näha

veidi suuremaid erinevusi. OGG-l on kõrgemate sageduste osalise väljakukkumisega märksa

vähem probleeme. MP3-e puhul algab kadu juba 17 kHz tasemel, OGG formaadil on peaaegu 1

kHz edumaad. Mõlema formaadi graafikud on halvemaks muutunud. Nagu varemgi öeldud -

madalamates ja keskmistes sagedustes on mõlematel väga hea kvaliteet. Siit saab järeldada, et

režiim tagab ikka enam kui lihtsalt hea kvaliteedi.

Failide kuulamine annab ikka väga häid tulemusi. Keskmise kuulaja ja keskmise süsteemi puhul,

ei saa eristada mingit märgatavat vahet. Kõik fragmendid on kvaliteetsed ja neid ei saa eristada

mitte ainult teineteisest, vaid nad on väga sarnased ka eelmises testis vaadeldutega. Erinevused

on kindlasti märgatavad kvaliteetsema helisüsteemi puhul.

Selleski režiimis sõltub formaadi valik peamiselt konkreetse kasutaja eelistest. Kui on tahtmist

kõrgesagedusrikkaid meloodiaid konverteerida, siis kasutagem OGG-d. Kodeerimine annab väga

häid tulemusi, osaliselt eelmisega samal tasemel, fail on aga väiksem.

Bitikiirus 192 kbps

See bitikiirus on laialt kasutusel, väljundil on talutav helikvaliteet. Failide suurused lähevad veel

väiksemateks, kuid samas ei saa märgata liiga suurt kvaliteedi kadumist. Failide näitajad on

sellised: 192 kilobitti ja suuruseks on umbes 1.5 MB minuti kohta (Queen-i failid võtavad umbes

6.5 MB ruumi). Need ei ole kõige parematest (320/250 kilobitti omavatest) failidest küll kaks

korda väiksemad, kuid suuruste vahe on märgatav.

Joonis 22 Queen OGG 192. Joonis 23 Queen MP3 192.

35

Page 36: MP3 ja OGG - tlu...koostöö tulemuseks sai ISO-MPEG Audio Layer-3 (IS 1172-3 ja IS 13818-3) nime all standardiseeritud väga võimas algoritm. [1] Standardi alguslool on ka teine,

Joonis 24 Prodigy OGG 192. Joonis 25 Prodigy MP3 192.

Joonis 26 Vivaldi OGG 192. Joonis 27 Vivaldi MP3 192.

Nüüd vaatame aga saadud tulemusi. Mõlematel formaatidel on kõrgemate sagedustega märksa

rohkem probleeme kui suuremate bitikiiruste puhul. Siin on juba hästi näha, et kadu algab 16

kHz pealt. MP3-e puhul on probleem juba tõsisemaks muutunud (eriti Vivaldi failis, kus kõrgeid

sagedusi palju järele polnud jäänud). OGG-l ei ole kõrgemad sagedused nii selgelt muutunud,

kuid saame näha juba märksa tõsisemaid kadusid. Kuid siingi on näha keskmiste ja madalamate

sageduste korraliku kvaliteeti.

Sünteetilised testid näitavad, et failide kvaliteet ei ole enam nii hea kui eelmistel. Kuulamisel aga

tuleb jälle ette juba tuttav situatsioon – kõigi saadud failide helikvaliteet tundub hea olevat ja

need on teineteisega sarnased. Kui kuulata palju kordi järjest, siis tundub OGG natuke parem

olevat. Kuid seda saab märgata helitugevust märkimisväärselt suurendades. Kuigi need failid

võtavad parema kvaliteediga omadest (320/250 kilobitti omavatest) märkimisväärselt vähem

ruumi, ei tundu nad teatud olukorras kvaliteedikao tõttu nii hea lahenduseks.

Selles testis saab juba rääkida liidrist. OGG ei oma veel rõhuvat ülekaalu, aga MP3 ei tundu siin

enam väärilise vastasena. Mõlemad omavad küll head kvaliteedi, kuid paremate või

professionaalsete süsteemide kasutamisel võivad nad juba ennast natuke nõrkadena näidata.

Bitikiirus 160 kbps

160 kilobitilisest kiirusest ei piisa enam tõeliselt hea või normaalse helikvaliteedi

edasiandmiseks, kuid saadud failid võtavad vähe ruumi. Peamiselt kasutatakse seda bitikiirust

internetis muusika levitamisel. Siin ei saa rääkida kõrgete sageduste heast edasiandmisest (eriti

36

Page 37: MP3 ja OGG - tlu...koostöö tulemuseks sai ISO-MPEG Audio Layer-3 (IS 1172-3 ja IS 13818-3) nime all standardiseeritud väga võimas algoritm. [1] Standardi alguslool on ka teine,

MP3-e puhul), kuna vähendades bitikiirust me võidame ainult ruumis ja mitte mingil juhul

kvaliteedis. Saadud failide suurusteks on umbes 1.1 MB minuti kohta (5.3 MB (Queen)). See on

juba hea tulemus, mis on jõukohane enamuse interneti ühenduste jaoks.

Joonis 28 Queen OGG 160. Joonis 29 Queen MP3 160.

Joonis 30 Prodigy OGG 160. Joonis 31 Prodigy MP3 160.

Joonis 32 Vivaldi OGG 160. Joonis 33 Vivaldi OGG 160.

Testide tulemused vastavad juba enne märgatud suunale. Nii OGG kui MP3 kaotavad oma

kõrgemaid sagedusi, kuid OGG puhul jällegi ei ole need kaod nii märkimisväärsed. Kadu on

juba väga selge, kuid kõrged sagedused või mõned nende osad on OGG-l veel olemas. MP3 aga

ei saa kõrgete sagedustega enam üldse hakkama. Tema piiriks on 16 kHz, on küll olemas

väikesed kõrgemal tasemel asuvad osakesed, esimeste kompositsioonide puhul, kuid see ei oma

enam erilist tähtsust. Selle bitikiiruse juures tekivad mõlemate formaatide kodeerijatel

probleemid ning neid on juba hästi näha.

Saadud faile kuulates jõudsin järeldusele, et need ei ole üldse nii halvad kui näitavad graafikud.

Neid ei saa juba tavalise kvaliteedi omadega täielikult võrrelda, kuid siiski kõlavad nad päris

normaalselt. Eriti tore on selliseid kaasaskandvate mängijate väikeste kõrvaklappidega kuulata.

37

Page 38: MP3 ja OGG - tlu...koostöö tulemuseks sai ISO-MPEG Audio Layer-3 (IS 1172-3 ja IS 13818-3) nime all standardiseeritud väga võimas algoritm. [1] Standardi alguslool on ka teine,

Need väikesed kõrvaklapid on suhteliselt kehvade parameetritega ning failide kvaliteet on nende

jaoks täiesti normaalne.

Selles testis saab selgeks võitjaks kuulutada OGG koodeki. OGG jättis alles suurema osa

kõrgematest sagedustest, MP3 aga on juba peaaegu kõik neist kaotanud. Failide suurused on

väikesed, aga kvaliteedi-ruumi suhe ei ole enam nii heal tasemel kui see oli 192 kbps juures.

Bitikiirus 128 kbps

Siin on meil tegemist omal ajal (tundub et ka nüüd) kõige populaarsema bitikiirusega. Siin ei saa

enam heast kvaliteedist rääkida. Failid on juba piisavalt väikesed (4.2 MB Queeni fail) ja neid

kasutades saab märkimisväärselt ruumi kokku hoida. Selliseid faile kasutatakse näiteks

kaasaskantavates mängijates.

Joonis 34 Queen OGG 128. Joonis 35 Queen MP3 128.

Joonis 36 Prodigy OGG 128. Joonis 37 Prodigy MP3 128.

Joonis 38 Vivaldi OGG 128. Joonis 39 Vivaldi MP3 128.

Mida siis võivad testid näidata? See on pigem retooriline küsimus, kuna tulemused ei saa

eelmistest suurel määral erineda. Mõlemad OGG ja MP3 kaotasid veel natuke oma kõrgetest

38

Page 39: MP3 ja OGG - tlu...koostöö tulemuseks sai ISO-MPEG Audio Layer-3 (IS 1172-3 ja IS 13818-3) nime all standardiseeritud väga võimas algoritm. [1] Standardi alguslool on ka teine,

sagedustest. OGG nagu ikka säästis rohkem kõrgeid sagedusi. MP3-e failide kõrged sagedused

on juba täielikult kadunud.

Kuulates ei saa neid faile küll 160 kbps failidest eristada, kuid nende ja suurema bitikiirusega

failide vahet tajub juba suhteliselt hästi. Isegi keskmise kvaliteediga süsteemi kasutades. Samas

pole kvaliteet nii halb, et kuulata üldse ei saaks.

Saab ka järelduse teha - selle testi võitjaks on OGG. Ja võit on täielik, nii sonogrammi hindamise

kui ka kuulamise põhjal.

3.3 Järeldused

Testide põhjal teeme mõned järeldused.

Järeldus 1. Tippkvaliteediga kodeerimisel ei esine mingit märgatavat kvaliteedikadu kummagi

kodeerijaga (nimetud near-CD on õigustatud). Kumba valida, kas MP3 või OGG, sõltub kasutaja

maitsest ning kättesaadavatest vahenditest.

Järeldus 2. Madalamate bitikiiruste korral on OGG kvaliteet tunduvalt parem. OGG pakub

vähemalt 1 kHz võrra kõrgemaid helisid kui MP3.

Järeldus 3. Mõlema formaadi puhul tuleks madalaimat testitud bitikiirust (128 kbps) kasutada

vaid juhul, kui helifaile kavatsetakse kuulata madalakvaliteediliste seadmetega, näiteks

portatiivsed mängijad odavate kõrvaklappidega.

Järeldus 4. Madalamad bitikiirused kui 128 kbps pakuvad originaaliga võrreldes liiga kehva

kvaliteeti, saavutatav sääst andmemahus ei õigusta ennast. Testis küll madalamaid bitikiiruseid ei

proovitud, kuid 128 kbps näitas juba selgelt, mida on oodata.

39

Page 40: MP3 ja OGG - tlu...koostöö tulemuseks sai ISO-MPEG Audio Layer-3 (IS 1172-3 ja IS 13818-3) nime all standardiseeritud väga võimas algoritm. [1] Standardi alguslool on ka teine,

Kokkuvõte

Käesolevas töös vaadeldi kahte helikodeerimise standardit, MP3 ja OGG Vorbis. Kuna OGG on

vähem tuntud, siis keskenduti töös rohkem selle formaadi kirjeldusele. Mõlema puhul on

tegemist keerulise ja omapärase struktuuriga, mõlemal on oma plussid ja miinused.

Töö eesmärgiks oli selgitada, mida kujutab endast OGG Vorbis ja võrrelda teda kõigile hästi

tuntud MP3 standardiga. OGG autorid väidavad, et nende formaat võib MP3-e asendada, läbi

viidud testidega püüti selgitada, kas sellel väitel ka alust on.

Testide tulemused näitasid, et mõlemad formaadid on head , kuid MP3 kui nii öelda etaloni

positsioon on ohus. Testides oli OGG täielikuks võitjaks. Kõrgema kvaliteedi puhul ei olnud neil

märkimisväärset erinevust, vaid sonogrammi pildil nägid OGG graafikud natuke paremad välja.

Madalamate bitikiiruste juures oli pilt täiesti selge – MP3 ei suuda enam OGG-ga konkureerida.

MP3-e eeliseks OGG ees on praegusel hetkel veel kindlasti tema laiem levik ja toetus erinevate

tarkvaralise ning riistvaraliste mängijate poolt (isegi mitmed autostereod suudavad MP3 faile

mängida).

OGG suurem levik seisab alles ees, juba toetab teda hulk mängijaid, ka mõned riistvaralised

seadmed.

Antud töö autor, toetudes läbiviidud testide tulemustele, soovitab isiklikult eelistada just OGG-d.

40

Page 41: MP3 ja OGG - tlu...koostöö tulemuseks sai ISO-MPEG Audio Layer-3 (IS 1172-3 ja IS 13818-3) nime all standardiseeritud väga võimas algoritm. [1] Standardi alguslool on ka teine,

41

Kasutatud kirjandus

1. http://www.iis.fraunhofer.de/amm/techinf/layer3/index.html

2. http://www.bbc.co.uk/h2g2/guide/A406973

3. http://www.teamcombooks.com/mp3handbook/MP3_Handbook.htm

4. http://www.mp3-converter.com/mp3codec/mp3_anatomy.htm

5. http://www.mp3-tech.org/sbr.html

6. http://www.id3.org/id3v1.html

7. http://www.id3.org/easy.html

8. http://www.mp3-tech.org/patents.html

9. http://www.litexmedia.com/article/audio_formats.html

10. http://www.xiph.org/ogg/vorbis/doc/vorbis-spec-intro.html

11. http://www.ifpi.org/site-content/online/isrc_intro.html

12. http://www.xiph.org/ogg/vorbis/doc/oggstream.html

13. http://www.xiph.org/ogg/vorbis/doc/framing.html