22
Äänen koodaus tietoliikenteessä Puhekoodekit Roman Kossarev Ohjaaja: Keijo Haataja Kuopion Yliopisto

Äänen koodaus tietoliikenteessä Puhekoodekit

  • Upload
    dutch

  • View
    43

  • Download
    5

Embed Size (px)

DESCRIPTION

Äänen koodaus tietoliikenteessä Puhekoodekit. Roman Kossarev Ohjaaja: Keijo Haataja Kuopion Yliopisto. Esitelmän Sisältö. Johdanto Akustiikkaa Psykoakustiikkaa Ääniaallon digitointi Puhekoodekit Yhteenveto. I.a Johdanto. Miksi äänenkoodaus? - PowerPoint PPT Presentation

Citation preview

Page 1: Äänen koodaus tietoliikenteessä Puhekoodekit

Äänen koodaus tietoliikenteessä

Puhekoodekit

Roman Kossarev

Ohjaaja: Keijo Haataja

Kuopion Yliopisto

Page 2: Äänen koodaus tietoliikenteessä Puhekoodekit

Esitelmän Sisältö

I. Johdanto

II. Akustiikkaa

III. Psykoakustiikkaa

IV. Ääniaallon digitointi

V. Puhekoodekit

VI. Yhteenveto

Page 3: Äänen koodaus tietoliikenteessä Puhekoodekit

I.a Johdanto

• Miksi äänenkoodaus?– eräs siirrettävän tiedon muoto, jonka määrä

koko ajan kasvussa– digitaalississa lankapuhelin-, tieto-, mobiili- ja

muissa langattomissa verkoissa (Bluetooth)– digitaalisuus vaatii digitointia, ADC-muunnosta

(ja takaisin analogiseksi DAC-muunnoksella)– digitoitu ääni vaatii suuria bittimääriä– tehokas (rajoitetun) siirtokaistan käyttö

edellyttää pakkausta (koodekit)

Page 4: Äänen koodaus tietoliikenteessä Puhekoodekit

I.b Johdanto

• Koodekki = codec – COding/DECoding– koodaus – signaali muunnetaan uuteen

muotoon– purku – signaali palautetaan alkuperäiseen

muotoon• Puhe on äänen eräs laji

– Puhe-elimistö tuottaa, kuulojärjestelmä vastaanottaa

– Akustiikaltaan eroaa esim. musiikista– On turha koodata mitä ei kuulla

Page 5: Äänen koodaus tietoliikenteessä Puhekoodekit

II AkustiikkaaII.a Ääni

• Äänen kulku: Lähde – väliaine – vastaanottaja• Väliaineen värähtelyä / paineen vaihtelua

Page 6: Äänen koodaus tietoliikenteessä Puhekoodekit

II.b Ääniaalto

• Äänes (puhdas ääni, yksi taajuus) • a amplitudi– äänen voimakkuus

– äänenpainetaso

– 0 dB kuulokynnys

– 30 dB katuhäly

– 85 dB vahinko

– 130 dB kipuraja (suihkukone)

– dB on logaritminen

• f taajuus = 1/T– 1 Hz = 1/s

– korva havaitsee 20-20000 Hz

Page 7: Äänen koodaus tietoliikenteessä Puhekoodekit

II.c Seosäänet• koostuvat monesta eri taajuudesta

300 Hz 500 Hz

• kaikki ympäristöäänet ovat seosääniä

• Fourier-muunnoksella saadaan selville seosäänen taajuussisältö

Page 8: Äänen koodaus tietoliikenteessä Puhekoodekit

III.a Psykoakustiikkaa• taajuustasoesitys

• aikatasoesitys

Page 9: Äänen koodaus tietoliikenteessä Puhekoodekit

III.b Puheen taajuussisältö

• Taajuusalue– Luonnolliselta kuulostava puhe:

50-7000 Hz– riittävä alue on jo 200-3300 Hz

• Mitä taajuuksia?– aaltomuoto ja taajuussisältö

riippuvat äänteen (kirjaimen) tyypistä:

• soinnillinen vokaali ja konsonantti (m, n, d, r, l, j)

• soinniton konsonantti (s, h)• eksploosioäänne (p, t, k,)

• Resonanssialueet (formantit)– energiahuippuja ääniaallossa– jokaisellä äänteellä oma

ominaisformanttikuvio (parametrit ovat kuitenkin suhteellisia)

/ai/

Page 10: Äänen koodaus tietoliikenteessä Puhekoodekit

III.c Peittoilmiö (maskaus)

• ilmiö, jossa voimakkaampi signaali, peittäjä (masker), peittää (saa kuulumattomaksi) toisen heikomman (peitettävän, eng. maskee) signaalin, joka on tapreeksi lähellä peittäjää taajuustasossa:

• Esim yhtäaikaispeitto taajuustasossa:– ylläoleva peittäjä peittää esim. 20 dB/700 Hz –testisignaalin (punaisella).

Page 11: Äänen koodaus tietoliikenteessä Puhekoodekit

III.d Peittoilmiö• Miksi peittoilmiö tapahtuu?

– Kahden siniääneksen taajuuksien lähestyessä toisiaan niiden resonanssikohdat korvan simpukassa menevät päällekkäin

– molemmat osuvat samojen aistinsolujen viritysalueelle– Kun äänekset tulevat saman kriittisen kaistan sisälle, korvalla on suuria

vaikeuksia erottaa molempia ääniä, heikompi peittyy• Pienillä taajuksilla (50-700 hZ) kaistan leveys 100 Hz• 700 Hz:stä ylöspäin kasvaa tasaisesti ja saavuttaa 2000 Hz 10 kHz kohdalla• Taajuuksien pitää olla siis yli kriittisen kaistan päässä toisistaan,

jotta äänekset kuultaisiin erillisinä• Yhtäaikaispeiton (simultaneous masking) lisäksi esiintyy esi- ja jälkipeittoa:

Page 12: Äänen koodaus tietoliikenteessä Puhekoodekit

• Näytteistys (sampling)– otetaan näytteitä N kertaa sekunnissa– Näytteenottotaajus on siten Fs = 1/N– Nyquistin teoreeman mukaan

näytteenottotaajuudella Fs voidaan näytteistää korkeintaan Fs/2 taajuutta olevia ääneksiä

– Jos taajuudeltaan Fs/2 korkeammat äänekset pääsevät näytteistykseen, tapahtuu alinäytteistymistä eli laskostumista

IV.a Ääniaallon digitointi (ADC)

• esim. Fs = 100 kHz• yli 50 kHz

taajuudet summautuvat alemmille taajuuksille laskostuneen X-akselin mukaisesti

• yleisiä näytetaajuuksia: – 48000 Hz (äänistudio)– 44100 Hz (CD)– 8000 Hz (puhelin)

Page 13: Äänen koodaus tietoliikenteessä Puhekoodekit

IV.b Ääniaallon digitointi (ADC)• Näytteistyksen jälkeen saadaan

diskreettiaikainen mutta jatkuva-arvoinen jännitesarja

• Kvanttisointi: – analogisignaalin näytteisiin

liitetään lukuja, jotka vastaavat erillisiä signaalitasoja (amplitudiarvoja)

– tuo kvanttisointivirheen, ks. b)– mitä enemmän tasoja, sitä

pienempi virhe– mutta tasot täytyy numeroida ja

näin käyttää enemmän bittejä– jokainen bitti parantaa

signaalikohina-suhdetta 6 dB:llä lineaarikvanttisoinnissa

– esim. 16 bit – SNR:16 * 6 = 96 dB (aika hyvä)

• Kvanttisointitasojen suhde jatkuvaan amplitudiarvoon:– lineaarinen– epälineaarinen– differentiaalinen

Page 14: Äänen koodaus tietoliikenteessä Puhekoodekit

V.a Puhekoodekit

• 3 päätyyppiä:1. aaltomuotokoodekit

• joukon vanhimmat, yksinkertaisimmat ja bittinälkäisimmät

2. vokooderit• synteettistä puhetta alhaisilla bittivirroilla

3. hybriidikoodekit • vokooderi +

luonnollisen puheen approksimointi

• äänenlaatua suht. alhaisilla bittivirroilla

• monimutkaisia

Page 15: Äänen koodaus tietoliikenteessä Puhekoodekit

V.b Aaltomuotokoodekit - PCM

• ei käytetä hyväksi tietoa äänen tuottotavasta

• sopivat muunkin kuin puheen koodamiseen

• yksinkertaisin on PCM pulssikoodimodulaatio:– keksitty jo v.1937

– näytteistys 8 kHz

– lineearinen, tasavälinen12 bitin kvanttisointi

– syntyvä bittivirta:

– 12 * 8000= 96000 bps

• Q-virhe max = ½ Q-väli

• PCM olettaa, että voimakkaiden signaalien todennäköisyys on sama kun heikkojen

• todellisuudessa jakauma ei ole tasainen: käytetään erisuuruisia välejä!

Page 16: Äänen koodaus tietoliikenteessä Puhekoodekit

V.c Aaltomuotokoodekit – A-law PCM

Ax

A

xAxy

10,

)ln(1)(

• käytetään Euroopassa

lankapuhelinverkoissa (ETSI)

• 8000 Hz * 8 bittiä/näyte = 64 kbps

• epätasavälinen kvanttisointi

• logaritminen siirtofunktio:

• A = 87,61

1,

)ln(1

ln1)(

xAA

Axxy

• eniten merkitsevä bitti – polarisuus

• bitit 7-5 – Q-välin numero

• bitit 4-1 – diskreettisignaalin arvo Q-välin sisällä

• seuraava askel – ennustus!

Page 17: Äänen koodaus tietoliikenteessä Puhekoodekit

V.d Aaltomuotokoodekit – CVSD• ollaan hetkessä t

• äänenpaine muuttuu aina joko ylös- tai alaspäin hetkellä t+1

• voidaan ennustaa x(t+1) ja kvanttisoida ainoastaan ennustuksen ja x(t+1) saapuneen sigaalin eron,

• kvanttisointi on tällöin differentiaalista

• jos kvanttisointi on 1-bittistä, tapahtuu kulmakertoimen ylikuormitus:

• siksi säädetään kvanttisointiaskelta dynaamisesti (1-2):

• Continously Variable Slope Delta Modulation CVSD = Jatkuvasti Muuttuvan Kulmakertoimen Deltamodulaatio

• lankapuhelinverkon äänenlaaatua 12 – 32 kbps -bittivirroilla

Page 18: Äänen koodaus tietoliikenteessä Puhekoodekit

V.e Aaltomuotokodekit SBC & ATC• Sub-Band Coding – SBC

• käyttää äänen taajuustasoa

• jaetaan puhe taajuuskaistoihin

• jokainen kaista koodataan erikseen

• taajuskaistojen leveydet seuraavat kriittisten kaistojen leveyksiä (100-2000 Hz)

• taajuuskäsittelyn takia suurempi koodausviive

• 16-32 kbps

• Adaptive Transform Coding - ATC

• tehdään FFT ja lasketaan jokaiselle siniäänekselle kerroin

• mikäli äänes sijoittuu äänten kannalta tärkeään alueeseen, koodataan se tarkemmin

• vähemmän tärkeät äänekset koodataan vähemmän bittejä käyttäen

• lankapuhelimen äänenlaatua @ 16 kbps

Page 19: Äänen koodaus tietoliikenteessä Puhekoodekit

V.f Vokooderit LPC• puhetta voidaan myös koodata

synteesin avulla• linear predictive coding LPC• selvitetään värähtelyn jakso T =

1/f• valitaan järjestelmän heräte

soinnillisuuden mukaan V/UV– V: äänestä vastaava impulssisarja– UV: valkoinen kohinta

• selvitetään äänenvoimakkuus G• etsitään H(z)-puheväylän mallin

parametrit (lineaariyhtälöryhmä)• esim. Spiritin suljettu

LPC-pohjainen toteutus 1.2 kbps:

• http://www.spiritcorp.com/1200_bps_vocoder.html

Page 20: Äänen koodaus tietoliikenteessä Puhekoodekit

V.g Hybriidikoodekit• Analysis-by-Synthesis

Abs koodekit• eroa vokooderiin siinä,

että on useampi kuin 2 herätetyyppiä

• puhe jaetaan 20 ms-pituisiin ikkuonoihin, ja jokaiselle ikkunalle määrätään suotimen paarametrit

• virhe syntetisoidun ja todellisen puhe-segmentin välillä minimoidaan

• näin löydetään paras puhe-herätteen approksimaatio, joka myös lähetetään

Page 21: Äänen koodaus tietoliikenteessä Puhekoodekit

V.h Hybriidikoodekit• Code-Excited Linear Prediction CELP• toimii kuten AbS, paitsi herätteet valitaan koodikirjasta• löydetty heräte maustetaan LPC-suotimen parametreilla ja

lähetetään ohjausdatana• dekooderi vastaanottaa ohjausdatan ja syöttää sen

synteesisuodattimeen• synteesisuodatin ”matkii” puhetta käyttäen lineaarista

ennustusta• yksinkertainen ohjaussignaali siis tuottaa puhetta• lankapuhelinverkon äänenlaatua @ 4.8 -16 kbps• GSM-koodekki on myös hybriidikoodekki

lyhyt- ja pitkäjaksoisella ennustuksella• ennustuskertoimet lasketaan ja siirretään• 13 kbps

Page 22: Äänen koodaus tietoliikenteessä Puhekoodekit

VI Yhteenveto