360 likes | 514 Views
Modellbaserad Ljudkodning. Kodning av tal Kodning av musik MPEG-4 Audio toolbox. Kodning av bild och ljud bygger på modeller (Fö.1). S(t). t. Genereringsmodeller. Signalmodeller. Syn/hörsel-modeller. spatio/temporal modeller maskeringsegenskaper. 3D-objekt belysning
E N D
ModellbaseradLjudkodning • Kodning av tal • Kodning av musik • MPEG-4 Audio toolbox
Kodning av bild och ljud bygger på modeller (Fö.1) S(t) t Genereringsmodeller Signalmodeller Syn/hörsel-modeller • spatio/temporal modeller • maskeringsegenskaper • 3D-objekt • belysning • kameraprojektion • ljudgenerering • determ. modeller • statistiska modeller Modellbaserade kodningsmetoder Perceptionsbaserade kodningsmetoder vågformskodning
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)
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, differential PCM • 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 tal- • signaler idag använder någon variant av CELP)
Talgenerering • lungor (lungs) • luftrör (trachea) • stämband (vocal cords) • luftväg mun (oral tract) • luftväg näsa (nasal tract)
Modellbaserad talkodning Avancerade talkodare baserar sig på modeller av hur talet genereras: Brus- generator Vocal tract Puls- generator pitch Voiced/unvoiced
Exempel på ”Vocal tract filter” Fast filterbank (bandpassfilter) g1 BP1 g2 BP2 gn BPn
1939 – “Channel vocoder” Första modellbaserade talsyntetisatorn utvecklas av Homer Dudley på AT&T labs - VODER
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
Vokaler - 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 50 - 250Hz, 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 chart Formant positions
Styrbart ”vocal tract filter” Styr-parametrar x V(z) y • ”OVE” formant synthesis (Prof. Gunnar Fant,KTH), 1953
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.
Representation av styrbart ”vocal tract” filter 1. LPC-parametrar (ai, G): 2. PARCOR (partial correlation coefficients) kan beräknas rekursivt från ai (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)
Parameterestimering(se kursens hemsida för mer detaljer) • Signalen delas lämpligen upp i korta segment (ex.vis 20 ms). • För varje segment estimeras vocal tract parametrarna (ai, G) samt pitch och V/UV-tillståndet. Filterparametrarna kan fås genom att minimera en felvarians (jmf beräkning av optimal prediktor). • V/UV-estimeringen baseras på energi- och frekvensinnehåll. • Pitch-frekvens fås genom att söka efter periodiciteter (typiskt 20-160 samples).
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
kodbok V(z) CELP (”Code excited linear prediction”) • Byt ut V/UV-exiteringen mot en tabell som innehåller ett stort antal förlagrade exiteringssignaler (jfr VQ): 2. Sök efter bästa exiteringssignalen genom att pröva samtliga. Här ges möjlighet att även applicera modell av hörselsinnet.
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 Code Excited Linear Prediction Coding (CELP) Kodning: • 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 • Skicka LPC parametrarna och kodboksindex • Avkodning: • Ta emot LPC parametrarna och kodboksindex • Återsyntetisera talet via V(z)
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.
Sammanfattning: kodare avsedda för telefoni (8kHz sampling rate)
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.
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.
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
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 III. MPEG-4 Audio toolbox
Perceptual w. filter LPC filter Codebook index k gk s(n) e(n) xk(n) MPEG-4 CELP-kodare 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)
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.
General audio(AAC, TwinVQ) Parametric audio(HILN) Parametric speech(HVXC) High quality speech(CELP) MPEG-4: Kodning av ljud Quality CD FM AM Telephone Cellular 2 4 8 16 32 64 kbit/s
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)
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.
AudioSource AudioSource En scengraf AudioMix Mixa ljudet Lägg till efterklang AudioFX Tal(CELP-coder) Handklappning(SA decoder)
AudioFX AudioFX AudioMix AudioMix AudioFX AudioDelay AudioSource AudioSource AudioSource Piano Bass (SA) Finger snaps