400 likes | 474 Views
Audiopakkauksen perusideat. Pohditaan aluksi peittoilmiötä hieman tarkemmin.
E N D
Audiopakkauksen perusideat • Pohditaan aluksi peittoilmiötä hieman tarkemmin. • On esitetty, että tyvikalvossa olisi yhteensä 24 aluetta, joista kukin olisi erikoistunut reagoimaan tietylle joukolle taajuustasossa lähekkäin olevia taajuuksia. Näitä alueita voisi ehkä olla enemmänkin, mutta joka tapauksessa niitä on äärellinen määrä. • Kunkin alueen kohdalla pätee sama ilmiö: se alkaa resonoimaan siinä kohden, missä esiintyy voimakkain amplitudi kyseisellä kaistalla. tMyn
Voimakkuudeltaan pienemmät amplitudit eivät ko. kaistalla vaikuta mitenkään. • Niinpä muu informaatio ko. kaistalla peittyy pois, kuva 1. • Ilmiöstä käytetään nimitystä ”simultaneous masking” tai ”masking effect in the frequency domain”. tMyn
80 Signal 70 60 50 Masking threshold 40 30 Threshold of Hearing Sound Pressure Level [dB-SPL] 20 10 Frequency [Hz] 0 5000 10000 15000 -10 -20 -30 Kuva 1. Voimakasamplitudinen ääni peittää heikommat äänet läheltä, simultaneous masking. tMyn
Äänen peittymistä tapahtuu myös aika-akselilla, ”temporal masking” tai ”masking effect in the time domain”, kuva 2. • Peittymistä tapahtuu jo hieman ennen voimakkaan äänen ilmestymistä, ehkä maksimissaan noin 20 msek ennen peittävää ääntä, pre-masking. • Voimakkaan äänen jälkeen peittovaikutus voi kestää jopa 200 msek, post-masking. tMyn
Sound Pressure Level [dB-SPL] time post-masking pre- masking simultaneous masking Kuva 2. Aika-akselilla tapahtuva äänen peittyminen, temporal masking. tMyn
Vaikuttaisi siltä, että korvan toimintaa ei pystytä kuvaamaan yhden teorian pohjalta. • Edellä mainittu paikkateoria (tyvikalvon eri paikat viritetty eri taajuuksille) kuvaa korvan teoriaa suurilla taajuuksilla. • Matalilla taajuuksilla pätee taajuusteoria (tyvikalvo värähtelee samalla taajuudella kuin ääni). • Taajuusteoriassa värähtelevien solujen määrä koodaa äänen voimakkuuden. • Korkeilla äänillä aistinsolut (hair cell) eivät pysy mukana taajuudessa, joten taajuusteoria joudutaan hylkäämään. tMyn
Kuulohermo muodostuu hermosäiekimpusta, joka voi kimppuna (volley principle) välittää suuriakin taajuuksia siten että aistinsolut tunnistavat alkuperäisen taajuuden eri osataajuuksia esim. siten, että vasta joka toinen, joka kolmas tai neljäs jne. ääniaallon huippu tuottaa toimintapotentiaalin aistinsoluissa. • Volley-periaate ei kuitenkaan toimi enää yli 5000 Hz:n taajuuksilla. • Vaeltava aalto (travelling wave) periaate: interferenssipisteitä muodostuu tyvikalvon eri kohtiin taajuuden mukaan (…taajuusteoria). tMyn
Jotta enkoodauksessa voitaisiin hyödyntää korvan peittymiskäyttäytymistä (simultaneous masking, temporal masking), tulee audioinformaatio jakaa osiin ennen näytteenottoprosessia. • Miten määritellä jakamiskriteerit? • Äänen peittyminen on epälineaarinen ja asymmetrinen ilmiö. • Peittyminen on voimakkaampaa korkeilla taajuuksilla, ja tällaisella alueella voimakas ääni voi aiheuttaa peittymisilmiön useamman oktaavin alueella. • Jos voimakkain ääni on amplitudiltaan heikompi, niin peittyminen tapahtuu ehkäpä alle oktaavin alueella. tMyn
Pienillä taajuuksilla (ja voimakkaallakin äänellä) peittymisilmiö rajoittuu aina kapealle taajuusalueelle. • Kun tyvikalvon (basilar membrane) käyttäytyminen kuvataan paikkateorian pohjalta, niin silloin voidaan ajatella, että jaetaan audioinformaatio kriittisiin taajuuskaistoihin (critical bands). • Kaistat eivät välttämättä ole vakiolevyisiä. • Korva on herkempi toisille taajuuksille, ja epäherkempi toisille taajuuksille… • Kvantisointi tuottaa aina kohinaa (quantisation noise): erotus alkuperäisen audiosignaalin ja kvantisoidun näytteen välillä. tMyn
Tavoitteena on tietysti se, että kohina pysyy juuri ja juuri alle kuulokynnyksen (Minimum Audible Field), MAF kullakin kaistalla. • Noise to be imperceptiple -> perceptual coding. • Siispä: mikä on MAF kullakin kaistalla? • Oleellista on miettiä kvantisointitasot kullakin kaistalla, siis mitä vähemmän niitä tarvitaan, sen vähemmällä bittimäärällä selvitään, kuvat 3a ja 3b. tMyn
16 bits 80 Peak Signal Level 70 12 bits 60 50 40 30 Threshold of Hearing Sound Pressure Level [dB-SPL] 20 10 Frequency [Hz] 0 5000 10000 15000 -10 Quantization noise -20 -30 Kuva 3a. Voimakkaimman äänen ja kuulokynnyksen väli on maksimissaan 70 dB, joten tarvitaan 12 bittiä näytteistyksessä. Alun perin olisi tarvittu 16 bittiä/ näyte. tMyn
80 Peak Signal Level 70 11 bits 12 bits 12 bits 12 bits 11 bits 10 bits 9 bits 9 bits 10 bits 10 bits 10 bits 9 bits 60 50 40 30 Threshold of Hearing Sound Pressure Level [dB-SPL] 20 10 Frequency [Hz] 0 5000 10000 15000 -10 -20 -30 Kuva 3b. Kun otetaan huomioon korvan herkkyys taajuustasolla, voidaan säästää bittejä. Tämä hyödynnetään jakamalla alue taajuuskaistoihin. tMyn
Kuvan 3b taajuuskaistoihin jakaminen saadaan hyödynnettyä vielä paremmin ottamalla huomioon psykoakustiikka. • Psykoakustiikka (psychoacoustics) on tieteen alue, joka tutkii sitä miten korva-aivot –kokonaisuus tajuaa/ymmärtää audioinformaation. • Psykoakustiikka ottaa huomioon peittymisilmiöt (simultaneous masking and temporal masking). • Nyt kuvan 3 tilanteeseen lisätään peittymiskynnys (masking threshold), kuva 4. • Millainen peittymiskynnys missäkin kohden on määräytyy psykoakustisen mallin (psychoacoustic model) pohjalta. tMyn
80 70 5 bits 60 5 bits 5 bits 50 5 bits 40 4 bits 4 bits 4 bits 4 bits 4 bits 30 Threshold of Hearing Sound Pressure Level [dB-SPL] 3 bits 2 bits 2 bits 20 Masking threshold 10 Frequency [Hz] 0 5000 10000 15000 -10 Average bits per sample = 3.92 Compression ratio = 16:3.92 = 4.1:1 -20 -30 Kuva 4. Peittymiskynnyksen huomioiminen enkoodausvaiheessa säästää entisestään bittejä/näyte. tMyn
Audioinformaation jakaminen useaksi kaistaksi varmistaa sen, että informaatioamplitudiarvot ovat tiettyjen rajojen sisällä. • Jos kaistojen leveys on yhtä suuri tai pienempi kuin korvan kriittinen kaista (critical band), niin on mahdollista, että peittymisilmiön vuoksi enkoodattavaa informaatiota tulee hyvinkin rajallinen määrä. • Kun tarkastellaan enkoodausta yksittäisen kaistan sisällä, niin vaativin tilanne sattuu silloin, kun peittävä ääni osuu kaistan reunalle, kuva 5. tMyn
amplitude Masking level Masking level Masking level Masking tone frequency Noise which can be masked amplitude Masking tone frequency Noise which can be masked amplitude Masking tone Kuva 5. Voimakkaimman äänen sijainti kaistalla vaikuttaa merkittävästi siihen miten paljon informaatiota voidaan jättää huomiotta. frequency Noise which can be masked tMyn
Jos käytetty kaistanleveys on pienempi, onnistutaan jättämään enemmän pois… toisaalta audioaluetta ei voi jakaa kovin moneen osaan jottei suodatinkytkentä monimutkaistuisi liikaa. • Enkoodaus kussakin lohkossa tapahtuu kahdessa vaiheessa: ensin otetaan selville lohkon voimakkain ääni, ja sen jälkeen skaalataan tämä näyte suurimmaksi mahdolliseksi arvoksi (maksimiarvo käytetyssä enkoodausmenetelmässä). Samassa suhteessa muutkin näytteet skaalataan (scaling factor). Voitaisiin siis myös ehkä puhua normalisoinnista. tMyn
Seuraavassa vaiheessa tutkitaan alkuperäisen tilanteen pohjalta peittymistaso (masking threshold), ja tämän perusteella suoritetaan skaalattujen näytteiden lyhentäminen (truncating). Jos alkuperäinen näyte enkoodattaisiin 16 bitillä, niin nyt näyte enkoodataankin esim. 9 bitillä. • Dekooderille on lähetettävä skaalauskerroin (scaling factor), jotta alkuperäinen tilanne voidaan palauttaa. tMyn
Joskus voi olla sellainen tilanne, jossa vaaditaan vakiobittivirta enkooderin lähdössä riippumatta sisään tulevasta audioinformaatiosta. • Tällöin on oltava jonkinlainen mekanismi, joka antaa lisää bittejä (bit allocation) enkoodausprosessiin. • Tilanne on monimutkainen, koska bittien lisäämismahdollisuus tulisi kyetä pohtimaan yksittäinen kaista kerrallaan huomioiden psykoakustisen mallin ja käytettävissä olevan kokonaisbittimäärän. • Analysoinnissa voidaan käyttää hyväksi esim. Fourier-muunnosta. tMyn
Dekooderin on myös tiedettävä mitä päätöksiä on tehty siirtobittivirran pitämiseksi vakiona. • Käytössä on kolme mekanismia: • Forward adaptive system: Enkooderi suorittaa kaiken laskentatyön, ja niinpä tarvittaessa on mahdollista muuttaa enkooderin algoritmia tekemättä mitään muutosta dekooderipäässä. tMyn
Backward adaptive system: Tässä ratkaisussa samat laskennat tehdään sekä enkooderissa että dekooderissa. Nyt ei siis itse asiassa lisätä siirtoon mitään bittejä. Vakiobittivirta toteutuu siis käytännössä vasta dekooderin lähdössä. Tämä edellyttää monimutkaista dekooderia, eikä enkooderia voida muuttaa itsenäisesti. • Forward/backward adaptive system: Tämä on asymmetrinen ratkaisu. Enkooderipäässä tehdään monimutkaisia laskentaprosesseja, ja dekooderipää suoriutuu tehtävästään paljon vähemmällä vaivalla. tMyn
Edellä todettiin, että voidaksemme hyödyntää korvan psykoakustisen toiminnan audioinformaatio on jaettava moneen osa-alueeseen, kaistaan. • Kunkin kaistan tulisi olla leveydeltään korkeintaan tyvikalvon paikkateorian ilmaiseman kaistanleveyden suuruinen. • Miten näytteistys toteutetaan kaistoilla ilman että siirrettävä kokonaisinformaatio kasvaa??? • Jos näytteenottotaajuutta alennetaan huolettomasti, niin seurauksena on laskostuminen (aliasing), kuva 6. tMyn
sidebands frequency frequencies in sampled waveform sampling frequency alias Kuva 6. Jos informaatiosignaalissa on yli kaksinkertaisia taajuuskomponentteja verrattuna näytteenottotaajuuteen, syntyy laskostumsta. tMyn
Ajatellaan tilannetta, jossa audioinformaatio sisältää taajuuskomponentteja alueelta • Näytteenottoteoreeman mukaisesti näytteenottotaajuuden tulee siis olla (hieman suurempi itse asiassa!) , kuva 7. taajuus Kuva 7. Nyquivistin näytteenottoteoreema. tMyn
Jaetaan kuvan 7 audioinformaatio kahteen osaan, kuva 8: taajuus taajuus Kuva 8. Nyqvistin näytteenottoteoreema, nyt tulosignaali on puolitettu kahteen yhtä leveään kaistaan. tMyn
Aikatasossa ajateltuna kuvan 8 tapauksessa käy seuraavasti: tulosignaali on jaettu kahteen kaistaan: toisessa ovat taajuudet DC-arvosta puoleen väliin maksimitaajuudesta, ja toisessa kaistassa ovat taajuudet puolesta välistä maksimiarvoon. Kun kuitenkin näytteenottotaajuus pidetään ennallaan, aiheutuu tästä aikayksikössä näytelukumäärän kaksinkertaistuminen verrattuna kuvan 7 tilanteeseen, jossa tuloinformaatio oli kaikki yhdellä kaistalla. • Tämän suuntainen kehitys ei tietenkään ole toivottavaa. tMyn
Kuvan 8 tapauksessa alempi taajuuskaista on helppo: näytteenottotaajuus voidaan puolittaa, eikä laskostumisesta ole pelkoa. • Ajatellaan seuraavaksi kuvan 9 mukaista tilannetta. • Aluksi tarkastellaan pelkästään yksittäistä taajuuskomponenttia jollakin kaistalla. • Informaatiosignaalin taajuus on 2f ja näytteistys tapahtuu taajuudella 3f. • Syntyy siis aliaskomponentti taajuudella f. tMyn
informaatiosignaalin taajuus 2f näytteistys taajuudella 3f aliaskomponentti taajuudella f Kuva 9. Kun näytteistetään liian pienellä taajuudella syntyy laskostumista. tMyn
Normaalisti (kuvasta 9) informaatiosignaali ja aliaskomponentti olisivat kummatkin mahdollisia, koska näytteet sopivat tasan tarkkaan kumpaankin vaihtoehtoon. • Jos sitä vastoin tilanne olisi sellainen, että äskeisellä esimerkkikaistalla olisi taajuuskomponentteja DC-arvosta taajuuteen 3f, niin silloin voitaisiin järjestää siten, että näytteistäminen kohdistettaisiin ainoastaan ylemmälle puolikkaalle, siis taajuuksille 1,5f - 3f. Taajuudet DC – 1,5f suodatettaisiin pois. tMyn
Kun näytteenottotaajuus pidettäisiin edelleenkin arvossa 3f, tarkoittaisi se sitä, että ainoastaan ”aliaskomponentit” (jotka osuisivat taajuuksille DC – 1,5f) tulisivat näytteistettyä, eikä niitä tulisi sekoitettua mihinkään muuhun. tMyn
Lopuksi tarvittaisiin kaistanpäästösuodatin, jolla voitaisiin uudelleen muodostaa taajuudet alemmasta puolikkaasta takaisin oikeille paikoilleen ylemmälle puolikkaalle. • Tällä periaatteella siis onnistuttiin jakamaan audioinformaatiokaista kahteen puolikkaaseen, ja lopputuloksena näytteiden kokonaismäärä on sama kuin mitä se olisi ollut alkuperäisessä tilanteessa jossa jakoa kahteen ei ollut tehty. • Kuvassa 10 havainnollistetaan äskeistä lopputulosta. tMyn
taajuus taajuus taajuus Kuva 10. Kaista on jaettu kahteen osaan, mutta näytteiden kokonaismäärä on pysynyt samana. tMyn
Edellä kuvattua menetelmää käytetään audiokoodauksessa, ja eräs tällainen suodatinkytkentä on nimeltään QMF, Quadrature Mirror Filter. • Puolittamista voi toki viedä pidemmällekin, kuva 11. • Kuvassa 11 jaetaan taajuusalue 0 -> f kahdeksaan yhtä leveään kaistaan. • Jos jakoa ei olisi suoritettu, olisi näytteenottotaajuus ollut 2f. • Nyt jaon jälkeen kullakin kaistalla näytteenottotaajuus on 2f/8 = f/4. tMyn
QMF QMF QMF QMF QMF QMF QMF QMF QMF QMF QMF QMF QMF QMF QMF Kuva 11. QMF-suodatinketjulla tuloinformaatio jaetaan kahdeksaan saman levyiseen kaistaan. tMyn
Kun jatkuva-arvoista signaalia näytteistetään, syntyy edellä todetun mukaisesti kvantisointikohinaa. • Kvantisointikohinan suuruus riippuu kvantisointiaskeleen koosta (size of the quantile interval). • Silloin kun kvantisointiaskel on vakio, puhutaan käsitteestä uniform quantization. • Sellaisessa järjestelmässä jossa käytetään vakiokvantisointiaskelia kvantisointikohina on vakio kaikille signaalivoimakkuuksille. • Tästä seuraa, että signaalikohinasuhde SNR on kehnompi pieniamplitudiselle signaalille kuin mitä se on suurempiamplitudiselle signaalille. tMyn
Audioinformaatio on luonteeltaan sellaista, että kvantisointiaskeleen pitäminen vakiona ei olisi paras ratkaisu, koska audioinformaatiossa on tyypillisesti paljon pieniamplitudisia komponentteja. • Kun audiokaistaa näytteistetään, niin tyypillisesti kvantisointiaskel ei olekaan vakio. Tällöin prosessista käytetään nimitystä nonuniform quantization. • Tällaisessa tapauksessa pieniamplitudista signaalia kvantisoidaan käyttäen pienempää kvantisointiaskelta kuin mitä käytettäisiin kvantisoitaessa suuriamplitudista signaalia. tMyn
Hyötynä on se, kvantisointikohina saadaan pienemmäksi juuri näiden pieniamplitudisten (ja useinkin kaistalla vallitsevien) komponenttien kohdalla. Tämä parantaa SNR-arvoja kokonaisuutena arvioitaessa, vaikkakin tämä pieniamplitudisten taajuuskomponenttien hienojakoisempi kvantisointi tapahtuu suuriamplitudisten komponenttien (joita tyypillisesti on lukumäärältään vähemmistö) kustannuksella. • Siis absoluuttisesti kvantisointiaskelia ei tule tässä yhtään sen enempää kuin mitä olisi vastaavan tyyppisessä vakiokvantisointia hyödyntävässä järjestelmässä. tMyn
näytteenottoväli quantizing levels strong signal 15 14 13 12 11 10 weak signal 9 8 7 6 5 4 3 2 1 0 aika Kuva 12a. Uniform quantization of signals. tMyn
näytteenottoväli quantizing levels strong signal 15 14 13 12 11 weak signal 10 9 8 7 6 5 4 3 2 1 0 aika Kuva 12b. Nonuniform quantization of signals. tMyn