Académique Documents
Professionnel Documents
Culture Documents
N. MOREAU
GET - ENST/TSI
nicolas.moreau@enst.fr
• Parole
• Bande téléphonique : ∆B = 300 Hz - 3.3 kHz, Fe = 8 kHz
Débit : 13 bits × 8 kHz = 104 → 6 kbit/s
• Bande élargie : ∆B = 50 Hz - 7 kHz, Fe = 16 kHz
Débit : 14 bits × 16 kHz = 224 → 24 kbit/s
• Musique Bande Hi-Fi
• Qualité “FM” : ∆B = 20 Hz - 15 kHz, Fe = 32 kHz
Débit : 16 bits × 32 kHz = 512 → 64 kbit/s (monovoie)
• Qualité “CD” : ∆B = 20 Hz - 20 kHz, Fe = 44.1 kHz
Débit : 16 bits × 44.1 kHz = 705 → 64 kbit/s
(1.4 Mbit/s → 96 kbit/s en stéréo)
• Qualité “Studio” : ∆B = 20 Hz - 22 kHz, Fe = 48 kHz
Débit : 16 bits × 48 kHz = 768 → 64 kbit/s
(3.84 Mbit/s → 384 kbit/s en 5.1)
• Qualité “parfaite” : ∆B = 20 Hz - 40 kHz, Fe = 96 kHz
Débit : 24 bits × 96 kHz = 13.8 → ? Mbit/s en 5.1
20 décembre 2007 Licence de droits d’usage Page 3
Nicolas MOREAU
CD et nouveaux supports
• CD
• Fe = 44.1 kHz, résolution = 16 bits
Débit = 705 kbit/s en mono (1.4 Mbit/s en stéréo)
• Existence de codes correcteurs sophistiqués
? 2 étages de codes Reed Solomon séparés par un entrelaceur
? + bits d’information + bits de commandes (gestion des pistes)
+ “Eight-to-fourteen modulation” + bits de synchronisation
⇒ CD ≡ canal à 4.3 Mbit/s
• Nouveaux supports
• DVD-Audio : Fe = 48, 96 ou 192 kHz / 24 bits
SACD (Super Audio CD) : Fe = 2.82 MHz / 1 bit
(modulation “sigma-delta”)
Approximativement équivalents en qualité et en capacité (≈ 5 Go)
Multi-canaux (de 2 à 6)
• Prochainement : HD-DVD, Blu-Ray Disc ? Capacité × 5
20 décembre 2007 Licence de droits d’usage Page 4
Nicolas MOREAU
Un “bon” codeur : résultat d’un compromis
• Débit
Codeur monodébit, multidébit, hiérarchique (“scalable”, train
binaire en plusieurs “couches”)
• Qualité
• Complexité (exprimée en MIPS sur un DSP, en % sur un PC)
Implantation en virgule fixe, en virgule flottante
• Retard de reconstruction (critique en “full duplex”)
Retard algorithmique : dépend de la durée d’une “fenêtre
d’analyse”
Retard total ≈ 3× retard algorithmique < 150 ms
• Tenue aux erreurs de transmission
Communications avec les mobiles : codes correcteurs d’erreurs
Communications sur IP : problème de pertes de paquets
20 décembre 2007 Licence de droits d’usage Page 5
Nicolas MOREAU
Evaluation de la qualité
• UIT-T (SC16/WP3/Q7-10)
• Parole en bande téléphonique sur réseaux fixes + paquets
• Téléphonie, visiophonie, VoIP
• ISO/IEC (JTC1/SC29/WG11)
• Musique en bande Hi-Fi
• Baladeurs, DVD, TNT, streaming, brodcasting, Digital Radio
Mondiale
• ETSI, TIA, 3GPP
• Parole en bande téléphonique ou élargie/Musique sur réseaux
mobiles
• Téléphonie, streaming, ...
• INMARSAT, OTAN, DoD
• Parole sur des réseaux particuliers
• Transmissions par satellites, communications militaires
20 décembre 2007 Licence de droits d’usage Page 7
Nicolas MOREAU
Parole en bande téléphonique
• Autres applications
• Communications sécurisées :
2.4 kbit/s US DoD (LPC10) en 1976 (puis en 1997)
4.8 kbit/s : US DoD en 1991
• Communications avec les mobiles par satellite :
INMARSAT ≈ 6 kbit/s : IMBE en 1990
• Applications militaires (normes OTAN)
4800 ... 800, 600, 400 bits/s
• Objectifs ambitieux
• Sons d’origine naturelle (microphone) ou synthétique (machine)
• Définition d’objets sonores, de scènes sonores
• Normalisations
• Première version : en 1998
• Nombreuses révisions, nombreux compléments
• “Draft International Standard” en 2005
ISO/IEC 14496-3 :2005
“Information technology - Coding of audio-visual objects”
X =Hx
N−1 N/2
1 X k 1 X k
x(n) = X (k ) exp(j2π n) = |X (k )| cos(2π n + φ(k ))
N N N N
k =0 k =0
N k
[|X (0)|2 · · · |X ( )|2 ] ⇒ {S(fk = )}fk =0···1/2
2 N
90
0.3
80
0.2
70
0.1
60
0 S (f) [dB]
X
50
−0.1 40
30
−0.2
20
−0.3
10
−0.4
0
0.12 0.13 0.14 0.15 0.16 0.17 0.18 0.19 0 1 2 3 4 5 6 7 8
Temps [s] Fréquences [kHz]
0.4
0.3
0.2
0.1
−0.1
−0.2
−0.3
−0.4
100
0.4
90
0.3
80
0.2
70
0.1
60
S (f) [dB]
0
50
X
−0.1 40
30
−0.2
20
−0.3
10
−0.4
0
0.12 0.13 0.14 0.15 0.16 0.17 0.18 0.19 0 1 2 3 4 5 6 7 8
Temps [s] Fréquences [kHz]
0.25
0.2
0.15
0.1
0.05
−0.05
−0.1
−0.15
−0.2
−0.25
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Temps [s]
0.25 100
0.2 90
0.15 80
0.1 70
0.05 60
S (f) [dB]
0 50
X
−0.05 40
−0.1 30
−0.15 20
−0.2 10
−0.25 0
0.15 0.16 0.17 0.18 0.19 0.2 0 2 4 6 8 10 12 14 16 18 20
Temps [s] Fréquences [kHz]
0.2
0.15
0.1
0.05
−0.05
−0.1
−0.15
−0.2
100
0.2
90
0.15
80
0.1
70
0.05
60
S (f) [dB]
0 50
X
−0.05 40
30
−0.1
20
−0.15
10
−0.2
0
0.45 0.46 0.47 0.48 0.49 0.5 0 5 10 15 20
Temps [s] Fréquences [kHz]
8 8
6 6
4 4
2 2
0 0
−2 −2
−4 −4
−6 −6
−8 −8
5 10 15 20 25 30 35 40 45 50 5 10 15 20 25 30 35 40 45 50
x(n)
X0 X0
. x(m) Regle du i(m) Inspection x(m) .
. .
. plus proche dans .
voisin une table
X N-1 X N-1
x(n)
1 L
x x
10
8
8
6
6
4
4
2
2
0 0
−2
−2
−4
−4
−6
−6
−8
−8
−10
8 8
6 6
4 4
2 2
0 0
−2 −2
−4 −4
−6 −6
−8 −8
−8 −6 −4 −2 0 2 4 6 8 −8 −6 −4 −2 0 2 4 6 8
QS : N = 1 L = 4 QV : N = 2 L = 16
2 2
σQ |QS > σQ |QV
−2
−4
−6
−8
−10
−10 −8 −6 −4 −2 0 2 4 6 8 10
v(n)
A’(z)
v(n)
A’(z)
v(n)
A(z)
+ r(n) + x(n)
+ Q Q −1 +
− +
Q −1 A(z)
r(n)
+
+
+
x(n)
A(z)
• Expression matricielle
···
2 3 2 3 2 32 3
y (0) x(0) x(−1) x(−P) a1
.. .. .. .. 76 . 7
= + 5 4 .. 5
6 7 6 7 6
4 . 5 4 . 5 4 . .
y (N − 1) x(N − 1) x(N − 2) ··· x(N − P − 1) aP
y = x + Γa
• Solution
∂ t ∂ t
[y y ] = [x x + 2x t Γa + at Γt Γa] = 0 ⇒ aopt = −(Γt Γ)−1 Γt x
∂a ∂a
σY2 = at r
• Résoudre a = −R̂ −1 r̂
• Filtrer x(n) ⇒ le signal “résiduel” y(n)
100
0.4
90
0.3
80
0.2
70
0.1
S (f) [dB] 60
0 50
X
−0.1 40
30
−0.2
20
−0.3
10
−0.4
0
0.12 0.125 0.13 0.135 0.14 0.145 0.15 0 0.5 1 1.5 2 2.5 3 3.5 4
Temps [s] Fréquences [kHz]
x(n)
X0 Formes X0
. Regle du Inspection .
. .
. plus proche Gains dans .
voisin une table
X N-1 X N-1
1 L
f f
1 Coefficients 1
Modelisation
A(z) A(z)
x(m)
− Min || x − x ||
0 L−1
0 r(m) 1
x(m)
A(z)
N−1 g(m)
i(m)
6 x(m)
?-
0 i(m) L − 1 − min ||x − x̂||2
Emetteur
0 g(m)
-× - 1 6
ŷ(m) A(z) x̂(m)
N−1
6 6
? 6
6 Canal
? 0 i(m) L − 1
6 0 g(m)
-× 1
Récepteur - -
ŷ(m) A(z) x̂(m)
N−1
?
SX (f )
- Estimateur
spectral
- Modèle
d’audition
Φ(f )
?
Allocation
x(n) de bits
?
X (m)
?- Chaı̂ne ? X̂ (m)
x(m) binaire
- H - Q - - Q −1 - F - x̂(m)
- x̂(n)
100 100
90
0.15 90
80 80
0.1
70 70
0.05
60 60
50 0 50
40 40
−0.05
30 30
−0.1
20 20
10 −0.15 10
0 0
0 5 10 15 20 200 400 600 800 1000 1200 1400 1600 1800 0 5 10 15 20
N/2M−1 N/2−1
X k X k
x(n) = |X (k )| cos(2π n + φ(k )) + · · · + |X (k)| cos(2π n + φ(k))
N N
k=0 k =(M−1)N/2M
• Résolution temporelle
0.2
0.15
0.1
0.05
Amplitude 0
−0.05
−0.1
−0.15
−0.2
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
Temps [s]
• Résolution fréquentielle
• Gamme tempérée : diviser une octave en 12 intervalles √ (demi-tons)
12
f0 , f1 , · · · , f11 , 2f0 vérifiant fk = αfk −1 avec α = 2
• Plus petit√intervalle audible ≤ un quart de ton
24
• ∆(f ) = ( 2 − 1)f ⇒ 3 Hz à 100 Hz, 30 Hz à 1000 Hz etc.
80 80
70 70
60 60
50 50
SX(f) [dB]
S (f) [dB]
40 40
X
30 30
20 20
10 10
0 0
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
Fréquences [kHz] Fréquences [kHz]
80 80
70 70
60 60
50 50
SX(f) [dB]
SX(f) [dB]
40 40
30 30
20 20
10 10
0 0
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
Fréquences [kHz] Fréquences [kHz]
5000
4000
3000
2000
1000
−1000
−2000
−3000
−4000
−5000
• Nombreux problèmes
• Par exemple celui de la résolution temporelle/fréquentielle
Son entretenu : bonne résolution fréquentielle ⇒ fenêtres longues
Son percusif : bonne résolution temporelle ⇒ fenêtres courtes
Codeur AAC : commutation fenêtres longues/courtes
• Nombreux compromis assez subtils
• Débit, Qualité, Complexité
• Délai de reconstruction, Robustesse aux erreurs
20 décembre 2007 Licence de droits d’usage Page 47
Nicolas MOREAU
Codeur MPEG-1 Layer-1 :
Transformation temps-fréquences
20
0
Estimation spectrale Modele d’audition
Allocation −20
de bits
|H(f)| [dB]
−40
q (m)
0
y (m)
0
H (z) 32 32 F (z) −60
0 0
x(n) x(n)
q (m) −80
31
y (m)
31
H (z) 32 32 F (z)
31 31
−100
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Fréquences [kHz]
90
4000
80
3000
70
2000
1000 Echelle en dB 60
0 50
−1000 40
−2000 30
−3000 20
−4000 10
−5000
0
0 2 4 6 8 10 12 14 16
500 1000 1500 2000 2500 3000 3500 4000 4500 5000 Fréquences (kHz)
90
9000
80
8000
70
7000
60
Echelle linéaire
6000
Echelle en dB
50 5000
40 4000
30 3000
20 2000
10 1000
0 0
0 2 4 6 8 10 12 14 16 0 5 10 15 20 25
Fréquences (kHz) Fréquences (bark)
5
9000
4.5
8000
4
7000
3.5
Echelle linéaire
Echelle linéaire
6000
3
5000
2.5
4000
2
3000
1.5
2000 1
1000 0.5
0 0
0 5 10 15 20 25 0 5 10 15 20 25
Fréquences (bark) Fréquences (bark)
20 décembre 2007 Licence de droits d’usage Page 53
Nicolas MOREAU
Codage du vecteur i = [i(0) · · · i(M − 1)]
4.5
3.5
Echelle linéaire
2.5
1.5
0.5
0
0 5 10 15 20 25
20 décembre 2007 Licence de droits d’usage
Fréquences (bark) Page 54
Nicolas MOREAU
Détermination des facteurs d’échelle
g = [g(0) · · · g(M − 1)]
100
90
80
70
60
SX(f) [dB]
50
40
30
20
10
0
0 2 4 6 8 10 12 14 16 18 20
Fréquences [kHz]
• cf http ://www.atsc.org
• Encodage de 1 à 5.1 canaux de 32 à 640 kbits/s
• Transformation temps-fréquences : MDCT
Fenêtres recouvrantes de 512 échantillons
• Coefficients de la transformée : format virgule flottante
Mantisse + exposant
• Mantisse : opération d’arrondi
Précision fonction du rapport signal à masque
• Exposant ≡ “facteur d’échelle”
Exploitation de ”l’enveloppe spectrale”
0.2 1
0.8
0.15
0.6
0.1
0.4
0.05
0.2
0 0
−0.2
−0.05
−0.4
−0.1
−0.6
−0.15
−0.8
−0.2 −1
50 100 150 200 250 300 350 400 450 500 −50 −40 −30 −20 −10 0 10 20 30 40 50
• Reconstruire deux signaux x̂1 (n) et x̂2 (n) à partir d’un seul s(n) et
de θ
• Relation entre θ et ψ caractérisant la source virtuelle lorsque x1 (n)
et x2 (n) créés par un “panoramique d’intensité” x1,2 (n) = g1,2 x(n)
6
x1 (n)
A
j u
6 p M
*i ψ -
O - x
ψ0
R
v
B x2 (n)
• Applications visées
• Représentation parcimonieuse ⇒ codage 2 → 24 kbit/s
• “Time stretching” : Modifier la durée d’un enregistrement sans
toucher à la tonalité
• Initialisation
1
fk = arg max[|X (0) − X̂ (0)| · · · |X (N − 1) − X̂ (N − 1)|]
N
2. Détermination de l’amplitude ak et de la phase ϕk
3. Actualisation : x̂(n) = x̂(n) + ak cos[2πfk n + ϕk ]
• Minimisation de
N−1
X
[x(n) − ak cos(2πfk n + ϕk )]2
n=0
Fréquences [kHz]
4
0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
Temps [s]
• Outils de base
• N. Jayant, P. Noll, Digital coding of waveforms, Prentice Hall, 1984
• A. Gersho, R.M. Gray, Vector quantization and signal compression,
Kluwer Academic Publishers, 1992
• N. Moreau, Techniques de compression des signaux, Masson 1995
• Codage de la parole
• R. Salami et al., Design and description of CS-ACELP : a toll
quality 8 kb/s speech coder, IEEE Trans. on SAP, March 1998
• Codage de la musique
• T. Painter, A. Spanias, Perceptual coding of digital audio,
Proceedings of the IEEE, April 2000