M2108 : Chaîne de transmission numérique T _ Comp

publicité
M2108 : Chaîne de transmission numérique
M2108 : Chaîne de transmission numérique
T _ Comp
Frédéric PAYAN
IUT Nice - Côte d’Azur - Département R&T
Université de Nice Sophia Antipolis
[email protected]
9 mars 2015
1/72
M2108 : Chaîne de transmission numérique
Présentation du module M2108
Le module M2108 : Chaine de transmission numérique
contient deux sous-modules :
T_TrNum (C. Theys) : 5 cours magistraux, 10 Travaux dirigés, 7
Travaux Pratiques
T _ Comp (F. Payan) : 3 cours magistraux, 9 Travaux dirigés.
Sommaire
Chapitre 1 : Introduction
Chapitre 2 : codage de source / source coding
Chapitre 3 : codage de canal / channel coding
Chapitre 4 : codage de ligne / line coding
Chapitre 5 : Notions de compression
2/72
M2108 : Chaîne de transmission numérique
Chapitre 1 : Introduction
Plan du cours I
1
Chapitre 1 : Introduction
Contrôle des connaissances
Les premières étapes de la chaine numérique
2
Chapitre 2 : Le codage binaire
Notions de base
Code à longueur fixe Vs longueur variable
Codage d’Huffman
Codage par plages
Codage par dictionnaire implicite
3
Chapitre 3 : Le codage canal
Notions de base
Méthodes basées répétition
Méthodes basées bits de parité
Le Codage par blocs
Le Codage CRC
4
Chapitre 4 : Le codage ligne
3/72
M2108 : Chaîne de transmission numérique
Chapitre 1 : Introduction
Plan du cours II
Notions de base
Les principaux codeurs ligne sur 2 niveaux
Avantages et inconvénients des différents codeurs ligne
Le codage HDB3
5
Chapitre 5 : La compression
Notions de base
Compression de signaux audio
4/72
M2108 : Chaîne de transmission numérique
Chapitre 1 : Introduction
Les premières étapes de la chaine numérique
Schéma de transmission en bande de base I
Information
originale
Signal
Emis
Emission
Codage
(de)
source
Codage
(de) canal
Codage
(de) ligne
Bruit
Canal
Décodage
source
Information
Reçue
Décodage
canal
Décodage
ligne
Signal
Reçu
Réception
Ces trois étapes se retrouvent dans toute chaine de
transmission numérique. Voir cours précédents de C. Theys
(T_TrNum
9/72
M2108 : Chaîne de transmission numérique
Chapitre 1 : Introduction
Les premières étapes de la chaine numérique
Schéma de transmission en bande de base II
codage (de) source (inclut la numérisation)
=> transformer une information (voix, musique, une vue...) sous
format binaire (10011....) : voir chapitre suivant.
codage (de) canal
=> permet d’assurer la transmission des symboles sans pertes
d’information : voir chapitre 3.
codage (de) ligne
=> transformer les symboles logiques en un signal physique pour
le transmettre sur le canal : voir chapitre 4.
10/72
M2108 : Chaîne de transmission numérique
Chapitre 1 : Introduction
Les premières étapes de la chaine numérique
Principe du codage (de) canal
Objectif :
Cela permet de d’assurer la transmission des symboles sans
pertes d’information.
Principe :
A l’émission : ajouter de l’information redondante aux données
utiles (le message) pour compenser le bruit du canal.
A la réception : Détecter et/ou corriger les erreurs de transmission
grace à l’information redondante.
11/72
M2108 : Chaîne de transmission numérique
Chapitre 1 : Introduction
Les premières étapes de la chaine numérique
Principe du codage ligne
Emission : transformer les symboles logiques en un signal
physique pour le transmettre sur le canal.
Réception : c’est l’inverse.
12/72
M2108 : Chaîne de transmission numérique
Chapitre 1 : Introduction
Les premières étapes de la chaine numérique
Pourquoi doit-on faire du codage canal / ligne ?
Données à transmettre
Signal transmis
Bruit
Signal reçu (bruité)
Données reçues
(données transmises)
13/72
M2108 : Chaîne de transmission numérique
Chapitre 2 : Le codage binaire
Plan du cours I
1
Chapitre 1 : Introduction
Contrôle des connaissances
Les premières étapes de la chaine numérique
2
Chapitre 2 : Le codage binaire
Notions de base
Code à longueur fixe Vs longueur variable
Codage d’Huffman
Codage par plages
Codage par dictionnaire implicite
3
Chapitre 3 : Le codage canal
Notions de base
Méthodes basées répétition
Méthodes basées bits de parité
Le Codage par blocs
Le Codage CRC
4
Chapitre 4 : Le codage ligne
14/72
M2108 : Chaîne de transmission numérique
Chapitre 2 : Le codage binaire
Plan du cours II
Notions de base
Les principaux codeurs ligne sur 2 niveaux
Avantages et inconvénients des différents codeurs ligne
Le codage HDB3
5
Chapitre 5 : La compression
Notions de base
Compression de signaux audio
15/72
M2108 : Chaîne de transmission numérique
Chapitre 2 : Le codage binaire
Notions de base
Principe du codage de source
5
4
3
2
1
Signaux analogiques
0
Symboles
(entiers)
Echantillonnage
-1
-2
-3
-4
Quantification
Echantillons
(réels)
Codage
(binaire)
010010100
111100010
101001110
010010100
101000100
Signaux numériques
1/fe
16/72
M2108 : Chaîne de transmission numérique
Chapitre 2 : Le codage binaire
Notions de base
Le codage binaire
Définition
Le codage (ou encodage) binaire transforme un ensemble
de symboles - obtenu par numérisation par exemple - en
une séquence binaire.
Afin de compresser les données (sans pertes), la séquence
binaire devra être la plus compacte possible.
Principales problématiques
1
Comment faire pour que la séquence binaire soit la plus
compacte possible ?
2
Comment faire pour qu’un code soit décodable de manière
unique ?
17/72
M2108 : Chaîne de transmission numérique
Chapitre 2 : Le codage binaire
Notions de base
Comment faire pour que la séquence binaire soit la
plus courte possible ?
Solution la plus naïve : utiliser
l’écriture binaire naturelle.
Exemple : 16 symboles différents
=> 4 bits par code
Solution la plus performante :
utiliser des codes à longueur
variable, adaptés à la fréquence
d’apparition des symboles.
Exemple : le codage Morse
18/72
M2108 : Chaîne de transmission numérique
Chapitre 2 : Le codage binaire
Code à longueur fixe Vs longueur variable
Code à longueur fixe Vs code à longueur variable
Comment coder la série de symboles "abracadabra" ?
1ère solution : code à longueur fixe : 3 bits par symbole.
2ème solution : code à longueur variable (en tenant compte de la
probabilité) : 1,7 bits par symbole.
symbole
poids
probabilité
a
b
c
d
r
5
2
1
1
2
5/11
2/11
1/11
1/11
2/11
code
à lgr fixe
000
001
010
011
100
code
à lgr variable
0
10
100
101
11
19/72
M2108 : Chaîne de transmission numérique
Chapitre 2 : Le codage binaire
Code à longueur fixe Vs longueur variable
Longueur moyenne d’un code
Définition
Pour N symboles donnés, la longueur moyenne L d’un code
(exprimée en bits/symbole) est définie par
L=
N
X
pi × ni
i=1
avec
pi la probabilité du i eme symbole
ni la longueur du i eme symbole, autrement dit le nombre de bits
utilisés pour coder le i eme symbole.
20/72
M2108 : Chaîne de transmission numérique
Chapitre 2 : Le codage binaire
Code à longueur fixe Vs longueur variable
Construction d’un arbre de codage
Arbre de codage
Le code déterminé à l’aide d’un arbre binaire de codage est
toujours décodable de manière unique !
Exemple 1 :
0
Sens de
lecture
1
0
1
0
1
0
a
b
c
1
d
r
symbole
Proba
Code
préfixe
a
5/11
000
b
2/11
001
c
1/11
010
d
1/11
011
r
2/11
1
22/72
M2108 : Chaîne de transmission numérique
Chapitre 2 : Le codage binaire
Code à longueur fixe Vs longueur variable
Construction d’un arbre de codage
Exemple 2 :
symbole
Proba
Code
préfixe
a
5/11
0
b
2/11
10
c
1/11
110
d
1/11
1110
r
2/11
1111
1
Sens de
lecture
1
0
0
1
0
0
a
b
c
d
1
r
23/72
M2108 : Chaîne de transmission numérique
Chapitre 2 : Le codage binaire
Codage d’Huffman
La notion d’entropie
Définition
L’entropie H (en bits / symbole) correspond à la quantité
d’informations issue d’une source :
H=−
N
X
pi × log2 (pi )
i=1
Elle permet d’estimer théoriquement le nombre minimum de
bits nécessaires pour coder les données de cette source (i.e.,
la limite des codeurs binaires).
Technique pour créer un code qui tend vers l’entropie : Le
codage d’Huffman.
25/72
M2108 : Chaîne de transmission numérique
Chapitre 2 : Le codage binaire
Codage d’Huffman
Principe du codage d’Huffman
1
Classer les symboles par probabilité croissante (facultatif)
2
Réunir 2 à 2 les noeuds les moins probables, et itérer jusqu’à la
racine de l’arbre.
3
Mettre des 0 (resp. 1) aux branches "gauche" (resp. "droite").
4
Lire les codes de haut en bas.
c
d
b
r
a
symbole
Proba
Code
préfixe
a
5/11
?
b
2/11
?
c
1/11
?
d
1/11
?
r
2/11
?
26/72
M2108 : Chaîne de transmission numérique
Chapitre 2 : Le codage binaire
Codage d’Huffman
Principe du codage d’Huffman
Longueur moyenne de ce code L = 2,09 bits/symbole,
Entropie H=2,04 bit/symbole.
=> Codage optimal !
11/11
0
6/11
1
1
0
2/11
4/11
0
1
0
1
c
1/11
d
1/11
b
2/11
r
2/11
a
5/11
symbole
Proba
Code
préfixe
a
5/11
1
b
2/11
010
c
1/11
000
d
1/11
001
r
2/11
011
27/72
M2108 : Chaîne de transmission numérique
Chapitre 2 : Le codage binaire
Codage d’Huffman
Formulaires
pour une source de N symboles :
Entropie (bits/symbole)
H=−
N
X
pi × log2 (pi ).
i=1
Longueur moyenne d’un code (bits/symbole)
L=
N
X
pi × ni .
i=1
Efficacité (en pourcent)
η=
H
∗ 100.
L
Redondance (en pourcent)
Υ = 100 − η.
28/72
M2108 : Chaîne de transmission numérique
Chapitre 2 : Le codage binaire
Codage par plages
Principe du codage par plages (RLE ou RLC)
Rassembler les symboles identiques qui se suivent
coder des paires (nb d’occurences, symbole)
Exemples :
WWWWWWWWWWWWBWWWWWWWWWWWWWWBBBWWW
WWWWWWWWWWWWWWWWWWWWBWWWWWWWWWWW
=> 12W, 1B, 14W, 3B, 23W, 1B, 11W
WBWBWBWBWB =>1W, 1B, 1W, 1B, 1W, 1B, 1W, 1B, 1W, 1B
Applications :
Images BMP pour les images N & B, 16 et 256 couleurs.
Images PCX pour les images en 8 et 24 bits/pixel.
29/72
M2108 : Chaîne de transmission numérique
Chapitre 2 : Le codage binaire
Codage par dictionnaire implicite
Codage par dictionnaire implicite
Principe :
Un symbole ou un mot déjà rencontré est codé à l’aide de son
index dans un dictionnaire
Le dictionnaire se construit à l’aide des symboles présents
dans le signal (dictionnaire implicite).
Illustration :
"C’est pas l’homme qui prend la mer 1 6 7 4 5 3" => ? ? ?
"On peut tromper une personne mille fois mais 1 ne 2 pas 3 6
personnes 6 7" => ? ? ?
30/72
M2108 : Chaîne de transmission numérique
Chapitre 2 : Le codage binaire
Codage par dictionnaire implicite
Algorithme de Lempel-Ziv (LZ)
Algorithme de Lempel-Ziv (LZ)
1
Initialisation du dictionnaire D avec les symboles présents dans
la séquence S
2
Recherche dans S du plus long mot W déjà présent dans le
dictionnaire
3
Codage de W à l’aide de son index i
4
Ajouter le mot Wx (mot W plus le symbole suivant dans S) au
dictionnaire D
5
Retourner en 2.
31/72
M2108 : Chaîne de transmission numérique
Chapitre 2 : Le codage binaire
Codage par dictionnaire implicite
Exemple de codage par Lempel-Ziv (LZ)
Exemple : soit la séquence à coder abbaabbaababbaaaabaabba
Résultat et code associé :
a|b|b|a|ab|ba|ab|abb|aa|aa|baa|bb|a
0110 2 4 2
6
5 5 7 3 0
32/72
M2108 : Chaîne de transmission numérique
Chapitre 3 : Le codage canal
Plan du cours I
1
Chapitre 1 : Introduction
Contrôle des connaissances
Les premières étapes de la chaine numérique
2
Chapitre 2 : Le codage binaire
Notions de base
Code à longueur fixe Vs longueur variable
Codage d’Huffman
Codage par plages
Codage par dictionnaire implicite
3
Chapitre 3 : Le codage canal
Notions de base
Méthodes basées répétition
Méthodes basées bits de parité
Le Codage par blocs
Le Codage CRC
4
Chapitre 4 : Le codage ligne
33/72
M2108 : Chaîne de transmission numérique
Chapitre 3 : Le codage canal
Plan du cours II
Notions de base
Les principaux codeurs ligne sur 2 niveaux
Avantages et inconvénients des différents codeurs ligne
Le codage HDB3
5
Chapitre 5 : La compression
Notions de base
Compression de signaux audio
34/72
M2108 : Chaîne de transmission numérique
Chapitre 3 : Le codage canal
Notions de base
Schéma de transmission en bande de base I
Information
originale
Signal
Emis
Emission
Codage
(de)
source
Codage
(de) canal
Codage
(de) ligne
Canal
Décodage
source
Information
Reçue
Décodage
canal
Décodage
ligne
Bruit
Signal
Reçu
Réception
35/72
M2108 : Chaîne de transmission numérique
Chapitre 3 : Le codage canal
Notions de base
Pourquoi doit-on faire du codage (de) canal ?
Données à transmettre
Signal transmis
Bruit
Signal reçu (bruité)
Données reçues
(données transmises)
36/72
M2108 : Chaîne de transmission numérique
Chapitre 3 : Le codage canal
Notions de base
Principe du codage (de) canal
Objectif :
Cela permet de d’assurer la transmission des symboles sans
pertes d’information.
Principe :
A l’émission : ajouter de l’information redondante aux données
utiles (le message).
A la réception : Détecter les erreurs de transmission grace à
l’information redondante, puis
Correction des erreurs
ou Solliciter le renvoi des données
37/72
M2108 : Chaîne de transmission numérique
Chapitre 3 : Le codage canal
Notions de base
Principales méthodes de détection d’erreurs
Détection par écho / répétitions
Détection par codes linéaires
Bit de parité
Codage par bloc : Hamming, etc.
Codes cycliques : CRC (codage par redondance cyclique), BCH,
etc.
Détection par codes convolutifs
Algorithme de Viterbi
38/72
M2108 : Chaîne de transmission numérique
Chapitre 3 : Le codage canal
Méthodes basées répétition
Principe du codage par répétition
Une technique de codage de canal très simple : répéter les
symboles avant envoi, puis detection/correction à la réception.
Exemple : le codeur C(3,1)
Données émises
…01001110
Codeur
000 111 000 000 111 111 111 000
Données reçues
0  000
1  111
Code à
répétition
000 110 000 100 111 111 101 000
Décodeur
3 erreurs
01001110
39/72
M2108 : Chaîne de transmission numérique
Chapitre 3 : Le codage canal
Méthodes basées bits de parité
Principe de la parité
on associe un code de longueur k à chaque symbole
on rajoute un bit à chaque symbole tel que le nombre de "1"
dans le code final soit pair (Vertical Redundancy Check, VRC)
on peut aussi transmettre à la fin un code supplémentaire appelé
LRC (Horizontal Redundancy Check) qui est la somme des bits
rajoutés plus un bit de parité
40/72
M2108 : Chaîne de transmission numérique
Chapitre 3 : Le codage canal
Le Codage par blocs
Principe du codage par blocs : émission
Soit la mot M codé sur m bits que l’on veut transmettre.
On enverra à la place un code W codé sur n bits (n > m)
contenant k bits de contrôle (k = n − m). le code W sera obtenu
grâce à la formule
W =M ×G
avec G une matrice génératrice de dimension (m, n).
bruit
Codage de
source
Codage
canal
(matrice G)
Canal
Données M (m bits) Code W (k bits, avec k>m)
Décodage
canal
(matrice H)
Syndrome s
Wc = W’ + ei
Code reçu W’ (k bits)
41/72
M2108 : Chaîne de transmission numérique
Chapitre 3 : Le codage canal
Le Codage par blocs
Principe du codage par blocs : réception
On reçoit le code un code W 0 . Pour savoir s’il y a une erreur, on
calcule le syndrome s grâce à la formule
s = W0 × H
avec H une matrice de controle de dimension (n, k ).
si s = 0, alors il n’y a pas d’erreur (W 0 = W ).
Sinon le décodeur canal détecte l’erreur et crée le mot
corrigé Wc = W 0 + ei .
bruit
Codage de
source
Codage
canal
(matrice G)
Canal
Données M (m bits) Code W (k bits, avec k>m)
Décodage
canal
(matrice H)
Syndrome s
Wc = W’ + ei
Code reçu W’ (k bits)
42/72
M2108 : Chaîne de transmission numérique
Chapitre 3 : Le codage canal
Le Codage CRC
Principe du codage CRC
Même idée que le codage par blocs présenté juste avant : on
envoie le code W au lieu des données M.
La différence vient de l’algorithme pour créer W . On utilise un
polynôme binaire g(x) appelé polynôme générateur.
Il suffira ensuite de faire des opérations simples entre M et la
séquence binaire correspondante à g pour obtenir W , puis
pour détecter les erreurs.
=> Plus de détails en TD.
46/72
M2108 : Chaîne de transmission numérique
Chapitre 4 : Le codage ligne
Plan du cours I
1
Chapitre 1 : Introduction
Contrôle des connaissances
Les premières étapes de la chaine numérique
2
Chapitre 2 : Le codage binaire
Notions de base
Code à longueur fixe Vs longueur variable
Codage d’Huffman
Codage par plages
Codage par dictionnaire implicite
3
Chapitre 3 : Le codage canal
Notions de base
Méthodes basées répétition
Méthodes basées bits de parité
Le Codage par blocs
Le Codage CRC
4
Chapitre 4 : Le codage ligne
47/72
M2108 : Chaîne de transmission numérique
Chapitre 4 : Le codage ligne
Plan du cours II
Notions de base
Les principaux codeurs ligne sur 2 niveaux
Avantages et inconvénients des différents codeurs ligne
Le codage HDB3
5
Chapitre 5 : La compression
Notions de base
Compression de signaux audio
48/72
M2108 : Chaîne de transmission numérique
Chapitre 4 : Le codage ligne
Notions de base
Schéma de transmission en bande de base
Information
originale
Signal
Emis
Emission
Codage
(de)
source
Codage
(de) canal
Codage
(de) ligne
Canal
Décodage
source
Information
Reçue
Décodage
canal
Décodage
ligne
Bruit
Signal
Reçu
Réception
49/72
M2108 : Chaîne de transmission numérique
Chapitre 4 : Le codage ligne
Notions de base
Rappel : Principe du codage ligne
Emission : transformer les symboles logiques en un signal
physique pour le transmettre sur le canal. On parle aussi de
mise en forme des impulsions.
Réception : c’est l’inverse.
50/72
M2108 : Chaîne de transmission numérique
Chapitre 4 : Le codage ligne
Notions de base
Mise en forme sur 2 niveaux
Idée de base : associer deux motifs différents aux bits 0 et 1.
Mise en forme sur 2 niveaux
Principe :
un motif de base m(t),
2 coefficients a0 et a1 .
Au final la mise en forme se fera selon la règle :
0 ⇔ a0 × m(t)
1 ⇔ a1 × m(t)
51/72
M2108 : Chaîne de transmission numérique
Chapitre 4 : Le codage ligne
Les principaux codeurs ligne sur 2 niveaux
les formats sur 2 niveaux
unipolaire : a0 et a1 sont de même signes et l’un des deux est
nul :
0 ⇒ a0 = 0
1 ⇒ a1 = +1
bipolaire : a0 et a1 sont de signes opposés :
0 ⇒ a0 = −1
1 ⇒ a1 = +1
alterné : a0 est nul, et a1 alterne les valeurs positives et
négatives :
0 ⇒ a0 = 0
1 ⇒ a1 = ±1 alternativement.
52/72
M2108 : Chaîne de transmission numérique
Chapitre 4 : Le codage ligne
Les principaux codeurs ligne sur 2 niveaux
Les principaux motifs
NRZ (Non Return to Zero)
+𝑉
𝑚(𝑡)
Biphase
𝑇𝑐
𝑡
RZ (Return to Zero)
+𝑉
𝑚(𝑡)
+𝑉
−𝑉
𝑇𝑐
𝑚(𝑡)
𝑇𝑐 /2
𝑡
𝑡
53/72
M2108 : Chaîne de transmission numérique
Chapitre 4 : Le codage ligne
Les principaux codeurs ligne sur 2 niveaux
Exemples de codeur ligne sur 2 niveaux
le codage NRZ unipolaire :
a0 = 0 et a1 = +1, et le motif est
+𝑉
𝑚(𝑡)
𝑇𝑐
NRZ unipolaire
𝑡
=> le codage NRZ unipolaire convertira de la manière suivante :
𝑚(𝑡)
+𝑉
0
𝑚(𝑡)
1
𝑇𝑐
𝑡
𝑇𝑐
𝑡
54/72
M2108 : Chaîne de transmission numérique
Chapitre 4 : Le codage ligne
Les principaux codeurs ligne sur 2 niveaux
Exemples de codeur ligne sur 2 niveaux
le codage NRZ bipolaire :
a0 = −1 et a1 = +1, et le motif est
+𝑉
𝑚(𝑡)
𝑇𝑐
NRZ bipolaire
𝑡
=> le codage NRZ bipolaire convertira de la manière suivante :
𝑚(𝑡)
0
−𝑉
𝑇𝑐
𝑡
+𝑉
𝑚(𝑡)
1
𝑇𝑐
𝑡
55/72
M2108 : Chaîne de transmission numérique
Chapitre 4 : Le codage ligne
Avantages et inconvénients des différents codeurs ligne
Les principales caractéristiques à analyser
Les critères à prendre en compte pour effectuer une tranmission
fiable et un décodage efficace sont principalement :
Le RSB (rapport signal à bruit)
La synchronisation au niveau du décodage
La bande passante
La présence (ou pas) d’une tension continue
59/72
M2108 : Chaîne de transmission numérique
Chapitre 4 : Le codage ligne
Le codage HDB3
Le codage HDB3
HDBn = High Density Bipolar of order 3
Principe général : NRZ alterné + règle spéciale lors d’une
série de 4 zéros successifs.
Règle spéciale : on remplace la série de 4 zéros par la série
B00R
B prendra la valeur 0, +V ou -V tel que le signal obtenu ait une
moyenne temporelle nulle à ce stade => bit de bourrage,
R prendra la même valeur que la dernière tension non nulle =>
bit de viol(ation).
60/72
M2108 : Chaîne de transmission numérique
Chapitre 5 : La compression
Plan du cours I
1
Chapitre 1 : Introduction
Contrôle des connaissances
Les premières étapes de la chaine numérique
2
Chapitre 2 : Le codage binaire
Notions de base
Code à longueur fixe Vs longueur variable
Codage d’Huffman
Codage par plages
Codage par dictionnaire implicite
3
Chapitre 3 : Le codage canal
Notions de base
Méthodes basées répétition
Méthodes basées bits de parité
Le Codage par blocs
Le Codage CRC
4
Chapitre 4 : Le codage ligne
61/72
M2108 : Chaîne de transmission numérique
Chapitre 5 : La compression
Plan du cours II
Notions de base
Les principaux codeurs ligne sur 2 niveaux
Avantages et inconvénients des différents codeurs ligne
Le codage HDB3
5
Chapitre 5 : La compression
Notions de base
Compression de signaux audio
62/72
M2108 : Chaîne de transmission numérique
Chapitre 5 : La compression
Notions de base
C’est quoi la compression ?
La compression a pour objectif de réduire la quantité
d’informations nécessaires pour représenter des signaux
numériques.
2 types de compression :
Sans pertes (Zip, Rar, etc.)
Avec pertes (MP3, JPEG, etc.)
Pourquoi faut-il compresser ?
1
2
pour s’adapter à la capacité des canaux (le débit)
pour stocker plus facilement les données.
Un exemple "parlant" : la TVHD à 1920x1080 pixels, 50 images
par seconde, 24 bits par pixel : 2,5 Gbits par seconde !
63/72
M2108 : Chaîne de transmission numérique
Chapitre 5 : La compression
Notions de base
Contraintes relatives à la compression I
Temps réel
Contrainte coté récepteur : signaux lus et décomprimés
rapidement.
=> Streaming vidéo/audio
Contrainte coté émetteur : Volume de données impossible à
conserver
=> acquisition satellite.
Contrainte bilatérale : compressés ET décompressés rapidement
=> téléphonie
Type de signal : sons, images, etc.
64/72
M2108 : Chaîne de transmission numérique
Chapitre 5 : La compression
Notions de base
Contraintes relatives à la compression
Qualité des données selon l’application visée
=> Ok pour Images personnelles sur un site web par exemple.
=> Ko pour Images médicales !
65/72
M2108 : Chaîne de transmission numérique
Chapitre 5 : La compression
Notions de base
Pour conclure...
Compression ⇔ Optimisation compromis Débit/Distorsion
Débit binaire : Quantité de données à stocker par échantillon
(ex : image en bits/pixel)
Distorsion : Pertes entre signal original et signal compressé
66/72
M2108 : Chaîne de transmission numérique
Chapitre 5 : La compression
Compression de signaux audio
Introduction
Taille d’un fichier audio non compressé : L = Fe × Q × T × P,
avec
Fe : fréquence d’échantillonnage
Q : taille des symboles (nombre de bits par échantillon)
T : durée de l’enregistrement
P : nombre de pistes
Fréquence d’échantillonnage (wrt qualité de service) :
8 kHz => Téléphone
22 kHz => Radio
44,1 kHz => CD
48 kHz => DVD-audio
Exemples :
CD audio d’une heure : 44100 × 16 × 3600 × 2 ∼ 635Mo
DVD audio d’une heure : 48000 × 16 × 3600 × 4 ∼ 1, 382Go
67/72
M2108 : Chaîne de transmission numérique
Chapitre 5 : La compression
Compression de signaux audio
La psychoacoustique
L’humain entend bien les fréquences médiums, environ [1000,
5000 Hz].
Courbes de Fletcher-Munson : mesurent la sensation sonore
en fonction des fréquences.
68/72
M2108 : Chaîne de transmission numérique
Chapitre 5 : La compression
Compression de signaux audio
La psychoacoustique I
Notion de masquage fréquentiel :
un son (masquant) peut en cacher un autre de fréquence
proche partiellement ou entièrement (masqué).
Il est inutile de conserver les sons inaudibles
=> Compression avec pertes mais sans pertes perceptibles !
69/72
M2108 : Chaîne de transmission numérique
Chapitre 5 : La compression
Compression de signaux audio
La psychoacoustique II
Notion de masquage temporel :
L’oreille ne perçoit pas les sons faibles après mais aussi avant
un son fort !
Post-masquage
Après un son pur intense à une certaine fréquence (persistance de
l’effet masquant)
=> perte de sensibilité (∼ 10dB, ∼ 100ms) autour de cette fréquence.
Pré-masquage
Ce masquage est actif environ 5 ms avant que le son masquant
n’apparaisse vraiment ! Phénomène beaucoup moins prononcé.
70/72
M2108 : Chaîne de transmission numérique
Chapitre 5 : La compression
Compression de signaux audio
Le MP3 : MPEG I/II Audio - niveau I (Layer III)
Principe général du MP3 :
1
2
3
Division temporelle (12 blocs par seconde)
Analyse fréquentielle de chaque bloc (32 bandes de fréquences)
Filtrage basé sur le modèle psychoacoustique :
Seuillage : toute composante ayant une amplitude < seuil d’écoute
est supprimé
Masquage : toute composante "masquée" par une autre sont aussi
supprimés
4
Quantification
5
Codage entropique
71/72
M2108 : Chaîne de transmission numérique
Chapitre 5 : La compression
Compression de signaux audio
Le MP3 : MPEG I/II Audio - niveau I (Layer III)
MPEG I/II Audio - niveau I (Layer I ) :
Masquage fréquentiel uniquement
Quantification uniforme
MPEG I/II Audio - niveau II (Layer II ) :
Masquage fréquentiel et temporel
Quantification uniforme
MPEG I/II Audio - niveau III (Layer III) ⇔ MP3 :
Masquage fréquentiel et temporel
Quantification adaptatif : plus le son est au-dessus du masque,
plus on quantifiera finement (0 à 16 bits)
Codage d’Huffman
=> taux de compression environ 4,5 pour du 320 kbits/s (son
"excellent").
72/72
Téléchargement