Föreläsning 12 Modellbaserad ljudkodning Modellbaserad bildkodning Utblickar Mediakommunikation över Internet Multi-view video 1
Kodning av bild och ljud bygger på modeller (Fö.1) S(t) t Genereringsmodeller 3D-objekt belysning kameraprojektion ljudgenerering Modellbaserade kodningsmetoder Signalmodeller determ. modeller statistiska modeller vågformskodning Syn/hörsel-modeller spatio/temporal modeller maskeringsegenskaper Perceptionsbaserade kodningsmetoder 2
Modellbaserad Ljudkodning Kodning av tal Kodning av musik MPEG-4 Audio toolbox 3
I. Talkodning Tal - kvalitetsnivåer Broadcast quality : AM-radio, ca 10 khz, (>64 kbit/s) Network (toll) quality : fast telefoni, ca 3 khz, (16-64 kbit/s) Communication quality : mobiltelefoni, (4-16 kbit/s) Synthetic quality : talsyntes (< 4 kbit/s) Jämför generell audio HiFi : FM-radio, CD, ca 20 KHz (128-700 kbit/s) 4
Talkodning Historik Vågformskodning (PCM, DPCM) 1926 - PCM föreslogs oberoende av Paul M. Rainey och av Alex Reeves (AT&T Paris) år 1937. Installerades i USAs telenät 1962 1952 - delta modulation, DPCM 1957 - -law kvantisering introduceras - standardiseras för telefoni 1972 (8 KHz * 8 bits = 64 Kbit/s, logaritmisk kvantisering) (G.711) 1974 Adaptiv DPCM (G.726) Modellbaserad kodning 1939 Channel Vocoder (talsyntes) 1984 LPC/CELP vocoder (de flesta kodningsstandarder för talsignaler idag använder någon variant av CELP) 5
Talgenerering lungor (lungs) luftrör (trachea) stämband (vocal cords) luftväg mun (oral cavity) luftväg näsa (nasal cavity) 6
Talsignalen - vokaler 7
Talsignalen - konsonanter 8
Modellbaserad talkodning Avancerade talkodare baserar sig på modeller av hur talet genereras: Brusgenerator Vocal tract pitch Pulsgenerator Voiced/unvoiced 9
Exempel på Vocal tract filter Fast filterbank (bandpassfilter) g 1 g 2 BP 1 BP 2 g n BP n 10
1939 Channel vocoder Första modellbaserade talsyntetisatorn utvecklas av Homer Dudley på AT&T labs - VODER 11
Första publika presentationen av VODER (från radiosändning 1939) 12
Noggrannare modellering av talsignalen Komponenter i talsignalen: spektrala resonanser (formanter, rörliga) periodisk excitation (tonande, grundton ( pitch ) + grundtonskontur brusexcitation (frikativ, tonlös, ingen grundton) transienter ( stop-release bursts ) amplitudmodulation (nasal) timing 13
Vokaler Karaktäriserad av formanter; I allmänhet tonande ( voiced ); Ljudet formas av tungan och läpparna. Exempel på vokaler: a, e, i, o, u, ah, oh. Stämbandsfrekvens: män 50-250Hz, kvinnor upp till 500Hz. Vokaler varar i medel mycket längre än konsonanter. Det mesta av den akustiska energin i talsignalen bärs av vokaler. F1-F2 diagram Formantpositioner 14
Styrbart vocal tract filter Styr-parametrar x V(z) y OVE formant synthesis (Prof. Gunnar Fant, KTH), 1953 15
LPC ( Linear Predictive Coding ) Kombinera exitationsmodellen enligt tidigare (brus/pulsgenerator) med styrbart filter. Obs: ej att förväxlas med vanlig prediktiv kodning (DPCM)! LPC är en modellbaserad metod medan vanlig prediktiv kodning är en vågformskodningsmetod. 16
Blockschema - LPC kodare 17
Representation av styrbart vocal tract filter 1. LPC-parametrar (a i, G): y n M i 1 a i y n i Gx n 2. PARCOR (partial correlation coefficients) kan beräknas rekursivt från a i (se Sayood sid 507). Lämpar sig bättre att kvantisera än LPC-parametrarna. 3. LSF (Line spectrum frequences) utgår från inversfiltret 1/V(z) 18
Parameterestimering (se kursens hemsida för mer detaljer) 1. Signalen delas lämpligen upp i korta segment (ex.vis 20 ms). 2. För varje segment estimeras vocal tract parametrarna (a i, G) samt pitch och V/UV-tillståndet. Filterparametrarna kan fås genom att minimera en felvarians (jmf beräkning av optimal prediktor). 3. V/UV-estimeringen baseras på energi- och frekvensinnehåll. 4. Pitch-frekvens fås genom att söka efter periodiciteter (typiskt 20-160 samples). 19
Ex. Kodning av parametrarna (LPC10, 1984) V/UV: 1 bit Pitch: 6 bitar Vocal tract: 46 bitar (10+1 parametrar) Synk.: 1 bit Tot: 54 bitar => 2.4 kbit/s 20
CELP ( Code excited linear prediction ) 1. Byt ut V/UV-exiteringen mot en tabell som innehåller ett stort antal förlagrade exciteringssignaler (jfr VQ): kodbok V(z) 2. Sök efter bästa exiteringssignalen genom att pröva samtliga. Här ges möjlighet att även applicera modell av hörselsinnet. 21
Code Excited Linear Prediction Coding (CELP) Kodning: LPC analys ->V(z) Definiera ett perceptuellt filter W(z). Detta skall tillåta ökat brus vid formantfrekvenserna (maskering!) Syntetisera talet genom att testa varje kodbokssekvens i tur och ordning Beräkna optimala förstärkningen som minimerar den perceptuellt viktade felenergin i varje ram Välj kodbokssekvensen som ger lägsta felet Skicka LPC parametrarna och kodboksindex Avkodning: Ta emot LPC parametrarna och kodboksindex Återsyntetisera talet via V(z) Prestanda: 16kbit/s: MOS=4.2, Delay=1.5 ms, 19 MIPS 8 kbit/s: MOS=4.1, Delay=35 ms, 25 MIPS 2.4kbit/s: MOS=3.3, Delay=45 ms, 20 MIPS 22
Exempel på CELP-kodare G.728: V(z) är ett stort FIR filter (M=50) Kodboken innehåller 127 sekvenser, GSM: Kodboken består av regelbundna pulståg med variabel frekvens och amplitudvärden. MELP: (Mixed exitation linear prediction). Kodbok kombinerad med brusgenerator. 23
MPEG-4 s talkodare Talkodare för hög datatakt (CELP, 5-24 kb/s) Talkodare för låg datatakt (HVXC, < 4 kb/s) Text-to-speech (TTS, talsyntes) Codebook index k g k s(n) x k (n) LPC filter Perceptual w. filter e(n) MPEG-4 CELP-kodare 24
HVXC Harmonic Vector exitation Coder HVXC talkodare för låga datatakter 8 khz sampling, 2 4 kbit/s. Under 1.2 kbit/s i variable rate mode. Kombination av LPC och CELP-kodning baserad på utfallet av FFT-analys. Vektorkvantisering av enveloppen för spektrat. 25
HVXC - blockschema 26
Sammanfattning: kodare avsedda för telefoni (8kHz sampling rate) 27
II. MPEG-4 s musikkodare Principer: Generell ljudkodare (MP3, AAC ) Modifierad generell kodare (SBR, HILN, ) Syntetiskt ljud (SAOL, SASL, MIDI) 28
HILN Harmonic and Individual Lines and Noise HILN, kodare för låg datatakt (4-16 kbit/s) Harmoniska och individuella toner plus brus delbandskodare Endast en frekvens per delband 29
Syntetiskt ljud TTS Text-To-Speech MPEG-4 definerar ett interface, inte särskild TTS funktion SAOL - Structured Audio Orchestra Language SAOL beskriver hur olika instruments skall genereras SASL - Structured Audio Score Language SASL beskriver vilket instrument som skall spela MIDI är en delmängd av SASL 30
III. MPEG-4 Audio toolbox Generellt naturligt ljud AAC BSAC TwinVQ HILN (parametric) Naturligt tal CELP HVXC (parametric) Syntetiskt ljud TTS SAOL SASL Sammansättning Mixing Re-sampling 3D-rendering 31
MPEG-4: Kodning av ljud Quality CD General audio (AAC, TwinVQ) FM AM Telephone Cellular Parametric speech (HVXC) Parametric audio (HILN) High quality speech (CELP) 2 4 8 16 32 64 kbit/s 32
Kodning av ljud: Demo Original audio Music coder (TwinVQ) 6 kbit/s Music coder (HILN) 6 kbit/s Speech coder (CELP) 6 kbit/s Speech coder (HVXC) 2 kbit/s Speech Simple music Complex music 33
Modellbaserad bildkodning Exempel: ansiktsanimation 34
Kodning och animation av ansikten Det mänskliga ansiktet är ett mycket speciellt visuellt objekt. Människor är särskilt känsliga för felaktigheter i ansikten eller onaturliga rörelser. Människor är bra på att känna igen ansikten. 35
Kodningsprincip Finn ansiktet i bilden Separera ut textur Estimera 3D-form Estimera rörelser Avkodaren syntetiserar ansiktsobjektet och animerar det. 36
Exempel: rörelseestimering 37
Modellbaserad kodning av ansikten Image sequence Shape Texture Animation parameters 38
Avkodning Shape Texture 39
Ansiktsparametrar FFPs: MPEG-4 definierar 84 facial feature points. FAPs: Facial Animation Parameters flyttar på FFPs. FDP Points: 3D-koordinater för FFPs. Beskriver ansiktsformen FDP Texture: Bildinformation för hud, tänder, ögon och tunga. Överlagras på 3Dmodellen. 40
FAP - Facial Animation Parameters Låg-nivå FAPs Förflyttningar av FAPs (63 parametrar) Rotation (3 parametrar) Viseme Skapar ansiktsrörelser från fonem. Ansiktsmodellen kan animeras från ett stycke text eller audio. Ansiktsuttryck Avkodaren kan syntetisera olika ansiktsuttryck (glad, förvånad, arg, rädd, äcklad, ledsen). 41
Demo: Peter & Peter (ca 1 kb/s) Video by Peter Eisert (UniErlangen) 42
Demo: Peter & Bill Video by Peter Eisert (UniErlangen) 43
Exempel: Text-till-tal med ansiktsanimering Text TTS FDP Face model by J. Ostermann (AT&T). 44
Utblickar Audio och video över Internet Multi-view video coding 45
Audio och Video över Internet Internet är en rätt dålig kommunikationskanal för realtidsinformation Slumpmässig fördröjning Slumpmässiga paketförluster Varierande datatakt Lösning 1: Buffert på klientsidan Minskar risken för avbrott Jämnar ut fördröjningarna Möjliggör återsändning av förlorade paket Ger lång fördröjning (tiotals sekunder) Lösning 2: Kodning med varierande datatakt Återkopplar till sändaren Anpassning sker till hastighetsförändringar i nätet Lösning 3: Multiple-Description Coding 46
Multiple-Description Coding (MDC) Princip: Signalen delas upp i flera parallella strömmar. Dessa sänds på olika vägar genom nätet. Förlust av en, eller flera strömmar kan accepteras utan att kvalitén blir för låg. Exempel 1 (audio): Vartannat sampel skickas en väg och vartannat sampel en annan väg. Exempel 2 (video): Bilden subsamplas en faktor 2 i x- och y-led. De 4 delströmmarna skickas olika vägar. Moderna metoder för MDC lägger in lite extra redundans i de olika delströmmarna men ger trots det endast måttlig ökning av datatakten vid full kvalitet. 47
Multi-view video coding (MVC) Samtidig kodning av multipla vyer Mer än 20% reduktion av datatakten kan uppnås i en H.264 kodare genom att utnyttja prediktion mellan vyerna. Tillämpningar inom Free viewpoint TV och 3D-TV (Källa: F. Pereira, IST, Lisbon) 48
H.264: Temporal inter-view prediction structure for MVC 49
Multi-view, 3D coding Textur+djup Ett alternativ till multi-view video är att använda textur+djup 50
3D video 51
Forskning på Avd. Informationskodning Bildkodning/signalbehandlingsmetoder Ansiktsanimering och modellbaserad kodning 3D Video Datorgrafik, Optisk kommunikation Kryptering, organisk elektronik Informationskodning erbjuder exjobb inom samtliga områden, se: http://www.icg.isy.liu.se/exjobb/ 52