Digitaalinen audio & video, osa I Johdanto Digitaalinen audio + Psykoakustiikka + Äänen digitaalinen esitys Digitaalinen kuva +JPEG Petri Vuorimaa 1
Johdanto Multimediassa hyödynnetään todellista ääntä, kuvaa ja videota Lähteet on ensin muutettava signaaleiksi + mikrofoni, kamera, videokamera Analogiset signaalit on myös muutettava digitaalisiksi + näytteistys, A/D-muunnos Usein informaatio halutaan vielä pakata + kompressointi Petri Vuorimaa 2
Johdanto Pakkausmenetelmä voi olla hukkaamaton (lossless) tai hukkaava (lossy) Pakattua tietoa voidaan tallentaa ja siirtää Pakattu tieto pitää purkaa ennen käyttöä Digitaalinen informaatio pitää myös muuttaa analogiseksi Tämän jälkeen signaali voidaan soittaa tai näyttää käyttäjälle Petri Vuorimaa 3
Digitaalisen audion sovellusalueet Tietokoneella tuotettu ääni Äänen tallennus ja käsittely Digitaalinen viestintä Vastaajapalvelu Puhesyntetisaattori Puheentunnistus Tietokoneistettu puhelinpalvelu Tiedon esittäminen äänenä (Sonification) Petri Vuorimaa 4
Psykoakustiikka Taajuusalue Dynaaminen alue Taajuusominaisuudet Ajan vaikutus Maskaus Vaihe Binauraalinen kuulo ja lokalisaatio Petri Vuorimaa 5
Taajuusalue Ihmisen kuuloalue on noin 20 Hz - 20 khz Kuulo heikkenee iän mukana Äänen korkeus ei ole suoraan verrannollinen äänen taajuuden kanssa Petri Vuorimaa 6
Dynaaminen alue Kipurajalla äänen amplitudi voi olla 1,000,000 kertaa kuulorajalla olevan äänen amplitudi Mittana käytetään desibeliä db = 20 log 10 (A/B) Kuuloraja on 0 db ja kipuraja on n. 100-120 db Kuulo on aistihavainto, jota ei voi suoraan mitata + kuultu äänenkorkeus muuttuu amplitudia muutettaessa + voimakkuus riippuu äänen taajuudesta Petri Vuorimaa 7
Taajuusominaisuudet Luonnollinen ääni sisältää useiden taajuuksien siniaaltoja Taajuudet voidaan laskea Fourier-analyysin avulla Luonnollisten äänten taajuudet ovat tyypillisesti perustaajuuden monikertoja Korva on herkkä spektrin laaksoille ja kukkuloille Selkeästi erottuvia kohtia kutsutaan formanteiksi Esim. vokaalit erotetaan formanttien avulla Petri Vuorimaa 9
Klarinetin ääni Petri Vuorimaa 10
Taajuusmuoto Petri Vuorimaa 11
Ajan vaikutus Soittimien äänillä on kolme osaa: + Attack, Steady-State ja Decay Yksinkertaisessa synteesissä generoidaan ääni taajuuskomponenttien avulla ja muutetaan voimakkuutta eri vaiheissa Oikeasti spektrin taajuuskomponenttien väliset suhteet muuttuvat ajan Kuulo on erityisen herkkä isku-vaiheessa Petri Vuorimaa 12
Maskaus Äänet voivat peittää toisensa osittain tai kokonaan Myös keskinäiset muutokset ovat mahdollisia Tietyllä taajuudella esiintyvä ääni nostaa kuulorajaa laajemmalla taajuusalueella Taajuuksien pitää olla yli kriittisen rajan päässä toisistaan, jotta äänet kuultaisiin erillisinä Kriittinen raja kasvaa taajuuden kasvaessa Petri Vuorimaa 13
Maskaus (jatk.) Amplitudi Taajuus Petri Vuorimaa 14
Vaihe Saman taajuuksisten äänten välillä voi olla vaiheero 180 asteen vaihe-ero kumoaa äänet keskenään On olemassa todisteita, että ihminen pystyy erottamaan äänten vaihe-eron Petri Vuorimaa 15
Binauraalinen kuulo ja lokalisaatio Ihminen pystyy määrittämään äänilähteen sijainnin + voimakkuus, aika-ero, taajuus Kallo, korvalehdet ja kuuloelimet suodattavat ääntä Lisäksi äänten heijastumien vaikuttaa merkittävästi Äänilähteet on sijoitettava samaan paikkaan kuvallisen informaation kanssa Petri Vuorimaa 16
Äänen digitaalinen esitys Koodaus aikaulottuvuudessa Muunnokset Lineaarinen ennustus Parametrinen koodaus Digitaalisen audion siirto Petri Vuorimaa 17
Koodaus aikaulottuvuudessa Äänestä otetaan näytteitä näytetaajuudella Näytetaajuuden pitää olla vähintään kaksi kertaa maksimitaajuus (Nyquistin taajuus) Yleisiä näytetaajuuksia: 8, 44.1 ja 48 khz Signaalin amplitudi näytteenottohetkellä muutetaan numeroarvoksi Petri Vuorimaa 18
Pulse Code Modulation (PCM) Petri Vuorimaa 19
Koodaus aikaulottuvuudessa (jatk.) Näytteiden otto aiheuttaa kvantisointivirheen Jokainen bitti parantaa signaalikohina-suhdetta: + 20 log 10 2 = 6 db Yleisesti käytetään 16 bittiä + 16 * 6 db = 96 db Ihmisen dynaaminen alue on kuitenkin enemmän (n. 120 db) Petri Vuorimaa 20
Koodaus aikaulottuvuudessa (jatk.) Muunnokset analogisten ja digitaalisten signaalien välillä tehdään A/D ja D/A-muuntimilla Lisäksi tarvitaan suodatusta + Anti-alias ja Reconstruction -suodattimet Korkeatasoisissa järjestelmissä ne ovat virhelähde Ongelma voidaan ratkaista ylinäytteistyksellä (oversampling) Myös tietokone aiheuttaa helposti ylikuulumista Petri Vuorimaa 21
Muut koodausmenetelmät Deltamodulaatiossa (DPCM) koodataan vain peräkkäisten näytteiden välinen ero Adaptiivisessa deltamodulaatiossa (ADPCM) askelkoko voi muuttua Petri Vuorimaa 22
Muut koodausmenetelmät (jatk.) Puheessa käytetään yleisesti A-lakia (A = 87,6) y ja µ -lakia ( µ = 255) y = = Ax 1, ( 0 x ) 1+ ln A A 1+ ln( Ax) 1,( + A A x 1) 1 ln ln( 1+ µ x) x ln( 1+ ),( 0 1 ) µ Petri Vuorimaa 23
Muunnokset Muunnosten avulla signaalit voidaan esittää toisessa esitysmuodossa Tavoitteena on saada signaalien siirto tehokkaammaksi ja robustisemmaksi Petri Vuorimaa 24
Fourier-muunnos Fourier-muunnoksen kertoimet esittävät signaalia taajuus-ulottuvuudessa Stationaariset signaalit voidaan esittää tarkasti Fourier-kertoimien avulla Muuttuvien signaalien tapauksessa käytetään diskreettiä Fourier-muunnosta Muunnos tehdään käyttäen Fast Fourier Transformation (FFT) -algoritmia Petri Vuorimaa 25
Taajuuskanavat Myös maskaus-efektiä voidaan hyödyntää koodauksessa Signaali jaetaan taajuusalueisiin, jotka koodataan erikseen (Subband Coding) Esim. Mini Disc -levyt (Sony), DCC-kasetit (Philips) ja MP3 Menetelmää on hyödynnetty myös puheen koodauksessa ja tunnistuksessa Petri Vuorimaa 26
MPEG-audio MPEG-audio hyödyntää Subband-koodausta Signaali jaetaan 32 kanavaan (Layer 1) Jako tehdään 384:n näytteen ryhmälle kerrallaan FFT-muunnoksen avulla erotellaan puhdasta sinivärähtelyä ja kohinaa sisältävät kanavat Vain kiinnostavat kanavat koodataan Kanavaa kohden käytettävä bittimäärä vaihtelee Layer I yli 128 kbps / kanava Petri Vuorimaa 27
Begin Subband analysis Scale factor calculation Coding of scale factors FFT analysis Calculation of masking and required bit allocation Determination of nontransmitted subbands Adjustment to fixed bit-rate Quantization of samples Coding of samples Coding of bit allocation Formatting and transmission End
MPEG-audio (jatk.) Layer 2 noin 128 kbps / kanava 1152 näytteen ryhmä 3 skaalauskerrointa 36 taajuuskanavaa Layer 3 (MP3) noin 64 kbps / kanava suodatinpankki Huffmann-koodaus koodaukseen käytettävien bittien lukumäärää voi vaihdella Petri Vuorimaa 29
Code-Excited Linear Prediction (CELP) Puhetta voidaan myös koodata synteesin avulla Dekoodeerin vastaanottaa ohjausdatan ja syöttää sen synteesisuodattimeen Synteesisuodatin matkii puhetta käyttäen lineaarista ennustusta + yksinkertainen ohjaussignaali tuottaa puhetta Enkooderi kokeilee erilaisia syötesignaaleja ja valitsee lähinnä koodattavaa puhenäytettä olevan syötesignaalin Petri Vuorimaa 30
Digitaalisen äänen siirto Siirto digitaalisessa muodossa toivottavaa Ammattilaiskäyttö vaatii CD-levyjä parempaa laatua Useita näytetaajuuksia ja resoluutioita Näytetaajuuksien muuntoa varten olemassa konverttereja Käytössä useita siirtostandardeja Petri Vuorimaa 31
Siirtoformaatit Audio Engineering Society / European Broadcast Union (AES/EBU) PCM-formaatti 16-20 bittiä / näyte stereo kello mukana status (näytetaajuus ym.) Multichannel Audio Digital Interface (MADI) 56 kanavaa 24 bittiä / näyte lisäksi lukuisia valmistajakohtaisia formaatteja Petri Vuorimaa 32
JPEG Tavoitteet Arkkitehtuurit DCT-koodaus ja kvantisointi Staattinen koodaus Hukkaamaton koodaus Tehokkuus Petri Vuorimaa 33
Tavoitteet Kompressiosuhde / kuvanlaatu voidaan valita Sopii mihin tahansa kuviin Sekä ohjelmisto että laitteisto Neljä eri moodia: + sekventiaalinen koodaus (alkuperäinen järjestys) + progressiivinen koodaus (monivaiheinen koodaus) + hukkaamaton koodaus (täydellinen toisto) + hierarkinen koodaus (monta eri resoluutiota) Petri Vuorimaa 34
Arkkitehtuurit Hukkaavissa moodeissa käytetään DCT-koodausta 8 x 8 pikselin lohkoille Sekventiaalisessa moodissa lohkojen DCTkertoimet lähetään lohko kerrallaan Progressiivisessa moodissa kertoimet talletetaan muistiin ja lähetetään ryhmissä Hierarkisessa moodissa valitaan erilaisia resoluutiota koodattavaksi Petri Vuorimaa 35
Sekventiaalinen JPEG Petri Vuorimaa 36
Progressiivinen JPEG Petri Vuorimaa 37
Hierarkinen JPEG Petri Vuorimaa 38
Hukkaamaton JPEG Petri Vuorimaa 39
DCT-koodaus ja kvantisointi Kertoimet voidaan esittää matriisina Kvantisointi tehdään kvantisointitaulukon määräämän taulukon mukaisesti Kertoimet järjestetään Zig-Zag muotoon Näin nolla-kertoimet saadaan koodin loppuun Run-Length -koodaus eliminoi nollat Petri Vuorimaa 40
DCT-koodaus Petri Vuorimaa 41
Staattinen koodaus Käytössä joko Huffman tai aritmeettinen koodaus Huffman koodaus edellyttää erillistä taulukkoa Aritmeettinen koodaus ei tarvitse taulukkoa, mutta vaatii enemmän laskentaa Lisäksi aritmeettisen koodauksen kompressioaste 5-10 % parempi Petri Vuorimaa 42
Hukkaamaton koodaus Hukkaamaton koodaus käyttää ennustusta Käytössä on seitsemän eri vaihtoehtoa + kuinka monta ja mitä pikseliä käytetään Ennustava koodaus pääsee kompressiosuhteeseen 2:1 Petri Vuorimaa 43
Tehokkuus 0,25-0,5 bpp: kohtalainen - hyvä laatu 0,5-0,75 bpp: hyvä - erittäin hyvä laatu 0,75-1,5 bpp: erittäin hyvä laatu 1,5-2,00 bpp: ei erotu alkuperäisestä Petri Vuorimaa 44