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) Pakkattua 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 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 5 Petri Vuorimaa 6 1
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 Klarinetin ääni 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 Petri Vuorimaa 10 Taajuusmuoto 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 11 Petri Vuorimaa 12 2
Maskaus Maskaus (jatk.) Ää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 Amplitudi Taajuus Petri Vuorimaa 13 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 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 17 Petri Vuorimaa 18 3
Pulse Code Modulation (PCM) Koodaus aikaulottuvuudessa (jatk.) Näyteiden 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 19 Petri Vuorimaa 20 Koodaus aikaulottuvuudessa (jatk.) Muunnokset analogisten ja digitaalisten signaalien välillä tehdään A/D ja D/A-muuntimilla Lisäksi tarvitaa suodatusta + Anti-alias ja Reconstruction -suodattimet Korkeatasoisissa järjestelmissä ne ovat virhelähde Ongelma voidaan ratkaista ylinäytteityksellä (oversampling) Myös tietokone aiheuttaa helposti ylikuulumista Muut koodausmenetelmät Deltamodulaatiossa (DPCM) koodataan vain peräkkäisten näytteiden välinen ero Adaptiivisessa delttamodulaatiossa (ADPCM) askelkoko voi muuttua Petri Vuorimaa 21 Petri Vuorimaa 22 Muut koodausmenetelmät (jatk.) Puheessa käytetään yleisesti A-lakia (A = 87,6) Ax 1, ( 0 x ) 1+ ln A y = A 1+ ln( Ax) 1,( + A A x 1) 1 ln µ µ ja -lakia ( = 255) ln( 1+ µ x) y = 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 4
Fourier-muunnos Fourier-muunnoksen kertoimet esittävät signaalia taajuus-ulottuvuudessa Stationaariset signaalit voidaan esittää tarkasti Fourier-kertoimien avulla Muutuvien signaalien tapauksessa käytetään diskreettiä Fourier-muunnosta Muunnos tehdään käyttäen Fast Fourier Transformation (FFT) -algoritmia Taajuskanavat 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 25 Petri Vuorimaa 26 MPEG-audio Begin 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 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 Petri Vuorimaa 27 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 5
Digitaalisen äänen siirto Siirto digitaalisessa muodossa toivottavaa Ammattilaiskäyttö vaatii CD-levyjä parempaa laatua Useita näytetaajuuksia ja resoluutioita Näytetaajuuksien muuntoa varten olemasa konverttereja Käytössä useita siirtostandardeja 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 31 Petri Vuorimaa 32 JPEG Tavoitteet Arkkitehtuurit DCT-koodaus ja kvantisointi Staattinen koodaus Hukkaamaton koodaus Tehokkuus Tavoitteet Kompressiosuhde / kuvanlaatu voidaan valita Sopii mihin tahansa kuviin Sekä ohjelmisto että laitteisto Neljä eri moodia: + sekventiaalinen koodaus (alkuperäinen järjestys) + progressiivien koodaus (monivaiheinen koodaus) + hukkaamaton koodaus (täydellinen toisto) + hierarkinen koodaus (monta eri resoluutiota) Petri Vuorimaa 33 Petri Vuorimaa 34 Arkkitehtuurit Sekventiaalinen JPEG 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 Petri Vuorimaa 36 6
Progressiivinen JPEG Hierarkinen JPEG Petri Vuorimaa 37 Petri Vuorimaa 38 Hukkaamaton JPEG 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 39 Petri Vuorimaa 40 DCT-koodaus 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 41 Petri Vuorimaa 42 7
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 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 43 Petri Vuorimaa 44 8