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