Modellbaserad Ljudkodning Kodning av tal Kodning av musik MPEG-4 Audio toolbox
2 Kodning av bild och ljud bygger på modeller (Fö.1) t S(t) Genereringsmodeller 3D-objekt belysning kameraprojektion ljudgenerering Signalmodeller Syn/hörsel-modeller determ. modeller statistiska modeller spatio/temporal modeller maskeringsegenskaper Modellbaserade kodningsmetoder vågformskodning Perceptionsbaserade kodningsmetoder
3 I. Talkodning Jämför generell audio ”HiFi”: FM-radio, CD, ca 20 KHz ( kbit/s) 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)
4 Talkodning – Historik PCM – föreslogs oberoende av Paul M. Rainey och av Alex Reeves (AT&T Paris) år Installerades i USAs telenät delta modulation, differential PCM -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 tal- signaler idag använder någon variant av CELP) Vågformskodning (PCM, DPCM)
5 Talgenerering lungor (lungs) luftrör (trachea) stämband (vocal cords) luftväg mun (oral tract) luftväg näsa (nasal tract)
6 Talsignalen - vokaler
7 Talsignalen - konsonanter
8 Modellbaserad talkodning Avancerade talkodare baserar sig på modeller av hur talet genereras: Puls- generator Brus- generator Vocal tract pitch Voiced/unvoiced
9 Exempel på ”Vocal tract filter” BP 1 BP 2 BP n Fast filterbank (bandpassfilter) g1g1 g2g2 gngn
10 Första modellbaserade talsyntetisatorn utvecklas av Homer Dudley på AT&T labs - VODER 1939 – “Channel vocoder”
11 Första publika presentationen av ”VODER”
12 Noggrannare modellering av talsignalen Elements of the speech signal: spectral resonance (formants, moving) periodic excitation (voicing, pitched) + pitch contour noise excitation (fricatives, unvoiced, no pitch) transients (stop-release bursts) amplitude modulation (nasals, approximants) timing
13 - characterised by formants; generally voiced; Tongue & lips - effect of rounding. Examples of vowels: a, e, i, o, u, ah, oh. Vibration of vocal cords: male Hz, female up to 500Hz. Vowels have in average much longer duration than consonants. Most of the acoustic energy of a speech signal is carried by vowels. F1-F2 chartFormant positions Vokaler
14 Styrbart ”vocal tract filter” V(z) Styr-parametrar x 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): 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 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 exiteringssignaler (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) LPC analys ->V(z) Definiera ett perceptuellt filter W(z). Detta skall tillåta ökat brus vid formant- frekvenserna (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 Avkodning: Ta emot LPC parametrarna och kodboksindex Återsyntetisera talet via V(z) Kodning: Skicka LPC parametrarna och kodboksindex 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 Sammanfattning: kodare avsedda för telefoni (8kHz sampling rate)
24 II. Kodning av musik Principer: Generell ljudkodare (MP3, AAC…) Modifierad generell kodare (SBR, HILN,…) Syntetiskt ljud (SAOL, SASL, MIDI) De flesta av dessa metoder har utvecklats genom MPEG-4 samarbetet.
25 MPEG-4 utvidgningar av AAC TwinVQ (Transform-domain Weighted Interleave) – förbättrar musikåtergivning vid låga datatakter (6-18 kbit/s). PNS (Perceptual Noise Substitution) – Tillåter att”bruslika” partier kodas parametriskt. LTP (Long-term prediction) – Tillåter ”tonande” partier att bli kodade med högre noggrannhet och till lägre datatakt.
26 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
27 III. MPEG-4 Audio toolbox Generellt naturligt ljud – AAC BSAC TwinVQ – HILN (parametric) Naturligt tal – CELP – HVXC (parametric) Synthetiskt ljud – TTS – SAOL – SASL Sammansättning – Mixing – Re-sampling – 3D-rendering
28 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 LPC filter Perceptual w. filter e(n) gkgk x k (n) s(n) MPEG-4 CELP-kodare
29 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. Vektor- kvantisering av enveloppen för spektrat.
30 HVXC - blockschema
31 MPEG-4: Kodning av ljud Quality Cellular Telephone AM FM CD kbit/s Parametric speech (HVXC) High quality speech (CELP) General audio (AAC, TwinVQ) Parametric audio (HILN)
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 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 Demo: – Orkester: Initialt 80 kB instrumentbeskrivningar (SAOL) – Därefter: 1 kbit/s (SASL)
34 Sammansättning av olika ljudobjekt - Demo Initiala rösten genereras av TTS. Aktuella rösten är kodad med parametrisk talkodare (HVXC). Bakgrundsmusiken är kodad som syntetisk audio. Även efterbehandlingen är specificerad, med användning av Structured Audio tools. Ljudet som spelas upp är kodat vid 16 kbit/s.
35 En scengraf AudioMix AudioFX AudioSource Mixa ljudet Lägg till efterklang Handklappning (SA decoder) Tal (CELP-coder)
36 AudioMix AudioFX AudioDelay AudioFX AudioSource PianoBass (SA)Finger snaps