Video Coding

Download Report

Transcript Video Coding

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
• 3D-objekt
• belysning
• kameraprojektion
• ljudgenerering
• determ. modeller
• statistiska modeller
• spatio/temporal modeller
• maskeringsegenskaper
Modellbaserade
kodningsmetoder
vågformskodning
Perceptionsbaserade
kodningsmetoder
2
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)
3
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 talsignaler idag använder någon variant av CELP)
4
Talgenerering
•
•
•
•
•
lungor (lungs)
luftrör (trachea)
stämband (vocal cords)
luftväg mun (oral tract)
luftväg näsa (nasal tract)
5
Talsignalen - vokaler
6
Talsignalen - konsonanter
7
Modellbaserad talkodning
Avancerade talkodare baserar sig på modeller av
hur talet genereras:
Brusgenerator
Vocal tract
pitch
Pulsgenerator
Voiced/unvoiced
8
Exempel på ”Vocal tract filter”
Fast filterbank (bandpassfilter)
g1
g2
BP1
BP2
gn
BPn
9
1939 – “Channel vocoder”
Första modellbaserade talsyntetisatorn utvecklas av Homer
Dudley på AT&T labs - VODER
10
Första publika presentationen av ”VODER”
11
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
12
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
13
Styrbart ”vocal tract filter”
Styr-parametrar
x
V(z)
y
”OVE” formant synthesis (Prof. Gunnar Fant, KTH), 1953
14
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.
15
Blockschema - LPC kodare
16
Representation av styrbart ”vocal tract” filter
1. LPC-parametrar (ai, G): yn 
M
a y
i 1
i
n i
 Gxn
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)
17
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 (ai, 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).
18
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
19
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.
20
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
Prestanda:
• Välj kodbokssekvensen som ger lägsta felet
• 16kbit/s: MOS=4.2,
• Skicka LPC parametrarna och kodboksindex
Delay=1.5 ms, 19 MIPS
Avkodning:
• Ta emot LPC parametrarna och kodboksindex
• Återsyntetisera talet via V(z)
• 8 kbit/s: MOS=4.1,
Delay=35 ms, 25 MIPS
• 2.4kbit/s: MOS=3.3,
Delay=45 ms, 20 MIPS
21
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.
22
Sammanfattning: kodare avsedda för telefoni
(8kHz sampling rate)
23
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.
24
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.
25
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
26
III. MPEG-4 Audio toolbox

Generellt naturligt ljud

– AAC



– TTS
– SAOL
BSAC
TwinVQ
– HILN (parametric)
Naturligt tal
– CELP
– HVXC (parametric)
Synthetiskt ljud
– SASL

Sammansättning
– Mixing
– Re-sampling
– 3D-rendering
27
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
gk
s(n)
LPC filter
xk(n)
Perceptual
w. filter
e(n)
MPEG-4 CELP-kodare
28
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.

29
HVXC - blockschema
30
MPEG-4: Kodning av ljud
Quality
General audio
(AAC, TwinVQ)
CD
FM
AM
Parametric audio
(HILN)
Parametric speech
(HVXC)
Telephone
High quality speech
(CELP)
Cellular
2
4
8
16
32
64
kbit/s
31
Kodning av ljud: Demo
Original
audio
Music coder
(TwinVQ)
6 kbit/s
Music coder
(HILN)
6 kbit/s
Speech coder Speech coder
(CELP)
(HVXC)
6 kbit/s
2 kbit/s
Speech
Simple
music
Complex
music
32
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)
33
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.
34
En scengraf
AudioMix
Lägg till
efterklang
Handklappning
(SA decoder)
Mixa ljudet
AudioFX
AudioSource
AudioSource
Tal
(CELP-coder)
35
AudioMix
AudioMix
AudioFX
AudioFX
AudioFX
AudioDelay
AudioSource
AudioSource
AudioSource
Piano
Bass (SA)
Finger snaps
36