Académique Documents
Professionnel Documents
Culture Documents
Protocole de communication
&
Codage
- Codage entropique -
Pr H. Ghennioui 3
Rappel sur le calcul des probabilités
- Probabilité d’une intersection d’événements (2/2) -
Probabilités conditionnelles
Pour des V.A.D dépendantes
Formules de Bayes
Pr H. Ghennioui 4
Rappel sur le calcul des probabilités
- Probabilité d’une réunion d’événements (1/1) -
Pr H. Ghennioui 6
Rappel sur le calcul des probabilités
- Exemple -
Exemple : On prend un jeu de cartes composé de 54
cartes et duquel on retire les 2 « jokers ».
P(x=2)= 1/52=0.0192
P(x=)= 13/52=0.25
P(x=carte quelconque) = 1
P(x=joker)= (impossible)
Exemple d’événements mutuellement exclusifs :
impossible d’obtenir à la fois un et un .
P(/A AA A)= 12/48=0.25=P() (événements indépendants).
P(/ )= 13/48=0.2708P () (événements dépendants).
Pr H. Ghennioui 7
Généralités sur le codage source
- Objectif du codage source -
Pr H. Ghennioui 8
Généralités sur le codage source
- Exemples d’application -(1/7)
Transmission d’un Facsimile (Fax)
La page à transmettre se compose des points représentés
par les éléments binaires (e.b.) : « 1 » pour un point noir et
« 0 » pour un point blanc.
Les dimensions de la page sont 8.5x11 pouces (pouce=2.54
cm) .
La résolution est de 200 points par pouce (4.10 4 points par
pouce carré).
Le nombre d’e.b. nécessaire pour représenter cette page est
8.5x11x4x104=3.74 Mbits.
La transmission de la page au moyen d’un modem de 14.4
kbps prend 4 minutes et 20 secondes!!!!
Grâce aux techniques de codage, la durée de
transmission est réduite à 17 secondes.
Pr H. Ghennioui 9
Généralités sur le codage source
- Exemples d’application -(2/7)
Transmission d’un Facsimile (Fax) – Codes Huffman –
Pr H. Ghennioui 10
Généralités sur le codage source
- Exemples d’application -(3/7)
Transmission d’un Facsimile (Fax) – Codes Huffman –
Pr H. Ghennioui 11
Généralités sur le codage source
- Exemples d’application -(4/7)
Transmission d’un Facsimile (Fax) – Codes Huffman –
Pr H. Ghennioui 12
Généralités sur le codage source
- Exemples d’application -(5/7)
Transmission d’un Facsimile (Fax) – Exemple compression –
Pr H. Ghennioui 13
Généralités sur le codage source
- Exemples d’application -(6/7)
Stockage des fichiers audio MP3
Le signal musical est analogique stéréo.
Pour une qualité CD, le canal de droite et celui de gauche
sont échantillonnés à 44.1 kHz et les échantillons sont
quantifiés sur 16 bits.
Une seconde de musique stéréo au format CD-audio génère
44.1x103*16*2= 1.411 Mbits.
En employant le codage MP3, cette valeur chute à 128
kbits sans perte perceptible de la qualité son.
Une minute de musique stéréo exige 128x103x60/8=1
Mbyte.
Un CD-ROM de capacité 650 Mbytes, peut stocker plus de
10 heures de musique stéréo MP3.
Pr H. Ghennioui 14
Généralités sur le codage source
- Exemples d’application -(7/7)
Lignes téléphoniques
En utilisant une ligne téléphonique analogique : la largeur de
bande de la ligne est limitée à B=4 kHz, la ligne transmet des
signaux analogiques avec un RSB= 30 dB et peut être
modélisée par un canal à bruit gaussien additif et sans
mémoire.
La théorie de l’information permet de calculer la capacité de
la ligne par la formule suivante :
C=Bxlog2(1+RSB)lin)=39 ,8698 bits/s4 kbytes/s
En utilisant une ligne téléphonique numérique : la fréquence
d’échantillonnage est de 8 kHz et chaque échantillon est codé
sur 8 bits. Le débit est alors de 8 kbytes/s.
La vitesse de téléchargement est deux fois plus haute qu’elle
est dans le cas des lignes analogiques.
Pr H. Ghennioui 15
Caractérisation de l’information
- Mesure de l’information- (1/2)
Modélisation : soit xi un message élémentaire avec une probabilité
d’émission (d’occurrence) p(xi)=pi. La quantité d’information h(xi)
qu’il apporte est une fonction décroissante de son improbabilité 1/pi,
Pr H. Ghennioui 16
Caractérisation de l’information
- Mesure de l’information - (2/2)
Spécification de la quantité d’information: la fonction qui vérifie
les quatre propriétés est la fonction logarithme, la solution est donc :
h(x)=-λlog(p(x))
λ est une constante arbitraire qui fixe la base de logarithme.
Unités: λ consiste à choisir une unité de la quantité de l’information,
λ= logb(e)=1/loge(b)
b est l’unité de l’information.
Formule de Hartely proposée en 1928 (choix le plus fréquent) : b=2 et l’unité est
le Shannon : h(x)=-log2(p(x)) (Télécommunications numériques).
Le nit (natural unit): si λ=1, h(x)=-ln(p(x)) : 1nit=1/ln(2)bit=1.44 Sh.
Le dit (decimal unit): h(x)=-log10(p(x)) : 1dit=1/log10(2)bit=3.32 Sh.
Exemples
Chiffre décimal : h(x)=-log2(0.1)=3.32 Sh.
Pr H. Ghennioui 17
Caractérisation de l’information
- Entropie d’une source - (1/3)
Contexte : soit une source aléatoire discrète, émettant K
messages élémentaires x1, …, xK, de probabilités
d’occurrence respectives p1, …, pK. L’émission de la
source est modélisée par une V.A. X avec pi=P{X=xi} pour
tout i {1, …, K}.
Définition : l’entropie de la source est la quantité
d’information en moyenne de cette dernière.
Relation de Shannon établie en 1948 : l’entropie H(x) est
définie comme l’espérance mathématique de la quantité
d’information h(xi) de chaque message élémentaire xi,
Pr H. Ghennioui 18
Caractérisation de l’information
- Entropie d’une source - (2/3)
Exemple : V.A. X binaire
Pr H. Ghennioui 19
Caractérisation de l’information
- Entropie d’une source - (3/3)
Propriétés de l’entropie
Ppt. 1 : si les messages élémentaires (événements) sont
équiprobables, l’entropie est maximale et elle vaut log2(K) : le
système est moins bien défini et les messages apportent le
plus d’information.
Ppt. 2 : l’information est minimale lorsque l’un des messages
élémentaires est certain : le système est parfaitement connu
et aucun apport d’information est possible.
Ppt. 3 : pour K événements équiprobables, l’entropie croit
avec K.
Ppt. 4 : l’entropie est une fonction positive, continue et
symétrique en ses arguments.
Pr H. Ghennioui 20
Caractérisation de l’information
- Redondance - (1/1)
=1-H/Hmax.
Remarque : si les symboles de la sources sont
équiprobables alors la redondance de cette source est
nulle.
Pr H. Ghennioui 21
Caractérisation de l’information
- Taux d’information - (1/1)
Définition : le débit (taux) de l’information est le produit de
l’entropie de la source par le nombre de symboles émis par
seconde,
(Débit temporel)
m est la durée moyenne d’émission de chaque symbole.
Remarque : Le débit d’information moyen, exprimé en
[Sh/s] est équivalent à la cadence d’émission, exprimée en
[Bits/s] seulement pour une source de symboles binaires
équiprobables ou exprimée en [Bauds] quand. celle−ci
coïncide à la vitesse de modulation de la voie.
Pr H. Ghennioui 22
Caractérisation d’un codeur source
- Vocabulaire- (1/1)
On considère une source S, de symboles s1, s2, …, sN
avec des probabilités p(s1), p(s2), …, p(sN).
Le mot « message » ou « mot-source » désigne les éléments N-
aires ou leur extension émis par la source discrète S.
Codage source transforme les symboles si, i=1, …, N, en une
séquence X de symboles xj, j=1 …, D. Les xj sont appelés
symboles codés ou symboles élémentaires.
L’alphabet d’entrée peut être quelconque et celui de sortie est le
plus souvent binaire : D=2. L’alphabet de sortie est appelé
alphabet de sortie ou alphabet codeur.
S est dite source primaire et X est dite source secondaire.
Une chaine Ci (ou mot) de l’alphabet codeur est appelé mot-code.
C’est un regroupement de symboles codés d’un message donné.
Sa longueur est notée li=l(Ci).
Pr H.
Un code C est un ensemble de mots-codes Ci.
Ghennioui 23
Caractérisation d’un codeur source
- Exemple - (1/1)
Une source de 4 symboles s1, s2, s3, s4.
Pr H. Ghennioui 26
Classification des codes (1/2)
Code à décodage unique:
Définition : toute suite de mots-codes ne peut être interprétée
(décodée) que d’une seule manière.
Exemple : AS={a, b, c, d}, AX={0,1}, C1={1, 10, 11, 01}, AS={a, b, c },
C2={0, 11, 010}
C1 n’est pas un code à décodage unique car la suite 0111 peut être interprétée
comme « daa » ou « bc ».
C2 est un code à décodage unique.
Code régulier ou non-singulier:
Définition : tous les mots-codes sont distincts
Exemple : AS={a, b, c, d}, AX={0,1}, C1={00, 01, 01, 11}, C2={1, 10, 110, 111}
C1 est un code singulier et C2 est un code régulier.
CNS : un code est à décodage unique sssi l’extension du code
est un code régulier.
Pr H. Ghennioui 27
Classification des codes (2/2)
Code déchiffrable (séparable):
Définition : à la réception d’une suite de symboles codés, il faut
pouvoir trouver le début et la fin des mots-codes.
Exemple : AS={a, b, c, d}, AX={0,1}, C={0, 01, 011, 0111} est déchiffrable
(séparateur ‘0’).
CS (mais non optimum en capacité) : utiliser des mots-codes
de longueur constante ou d’utiliser un séparateur par exemple.
Code instantané (ou irréductible):
Définition : reconnaitre chaque mot à mesure qu’il se présente
sans devoir se référer aux symboles qui suivent.
Exemple : AS={a, b}, AX={0,1}, C={0, 000001}
n’est pas un code instantané : si on reçoit 0000001, ce n’est qu’à la réception
de ‘1’ final qu’on identifiera le premier ‘0’ du message étant le code d’un ‘a’.
AS={s1, s2, s3, s4}, AX={0,1}, C1={0, 10, 110, 1110 }, C2={0, 01, 011, 0111 }
C1 utilise ‘0’ comme indicateur de fin de mot. Il est instantané. C2 n’est pas
Pr H. Ghennioui 28
instantané (0 comme indicateur de début du moy)
Condition de préfixe et représentation
arborescente d’un code (1/1)
Code préfixe:
Définition : un code pour lequel aucun mot n’est le début d’un
autre mot.
CNS de préfixe : un code est instantané sssi aucun mot-code
n’est le préfixe d’un autre mot-code.
Représentation arborescente d’un code:
Principe : tout code peut être décrit par un arbre dont les
nœuds sont des regroupements de symboles de la source
secondaire.
CN de préfixe : ne choisir comme mots-codes que des
extrémités de branche. Les autres nœuds n’ont pas de sens.
Pr H. Ghennioui 29
Exemple (1/1)
Données: AS={s1, s2, s3, s4}, , AX={0,1}, C1={00, 01, 10,
11}, C2={0, 10, 110, 1110}
Représentation arborescente:
Racine
2 branches 0
0 1 10
110
00 01 11
10 1110
C2
C1
Pr H. Ghennioui 30
Procédure générale de construction
d’un code irréductible (1/1)
Utiliser un arbre dont chaque branche représente un symbole
de la source secondaire
Choisir les mots-codes de telle sorte que pour tout couple de
mots, le chemin permettant de conduire à l’un des mots ne
soit pas inclus dans le chemin menant à l’autre mot.
Pr H. Ghennioui 31
Exemple (1/1)
Données: AS={s1, s2, s3, s4}, , AX={0,1}, C1={0, 10, 110,
111}, C2={0, 11, 110, 111}
Représentation arborescente:
Racine
- C1 est un code irréductible
(code préfixe).
0 1
- C2 n’est pas un code
11
00 01 10 préfixe car le chemin
menant à ‘11’ est inclus
100 101 110 111 dans le chemin menant à
‘110’ et à ‘111’.
Pr H. Ghennioui 32
Inégalité de Kraft-Millan et codes
optimums (1/2)
Théorème de Kraft : CNS d’existence d’un code instantané
pour coder N messages avec des mots-codes de longueur
respectives l1, l2, …, lN construits à partir des symboles codés
D-aire est, N
D
i 1
li
1.
Pr H. Ghennioui 33
Inégalité de Kraft-Millan et codes
optimums (2/2)
Code instantané complet: lorsque les symboles codés sont
indépendants et équiprobables alors on,
N
1.
D li
i 1
Pr H. Ghennioui 34
Techniques de codage source
- Généralités - (1/2)
Il existe deux grandes familles de systèmes de compression :
Les systèmes de compression sans perte :(réversibles).
Les systèmes de compression avec perte (non-réversibles).
Les méthodes compression sans perte donnent souvent des
gains de compression très important par rapport aux
méthodes de compression avec perte.
Le choix du système de compression dépend de la nature
des données,
Compression sans perte est utilisée pour les données de type
texte ou numérique
Compression avec perte est utilisée pour les données de type
parole et image.
Pr H. Ghennioui 35
Techniques de codage source
- Généralités - (2/2)
Codage réversible (compression sans perte) : il existe
différentes techniques de codage réversibles. On peut les
classer en deux types de classes :
Codage à longueur fixe.
Codage à longueur variable.
Rappel : une règle générale du codage optimal consiste à
associer les mots-codes les plus courts aux symboles de
sources dont la probabilité est la plus élevée (li=-log2(Pi)).
Pr H. Ghennioui 36
Techniques de codage source
- Algorithme de Shannon-Fano -(1/2)
Codage de Shannon-Fano (1949): c’est un cas particulier
du codage de Shannon dont l’alphabet codeur est binaire.
Principe :
probabilité décroissante
Diviser l’ensemble S des symboles de source primaire
i 1
37
Techniques de codage source
- Algorithme de Shannon-Fano -(2/2)
Exemple : AS={s1, s2, …, s7}, , Ps={0.25, 0.25, 0.25, 0.125,
0.0625, 0.03125, 0.03125}, AX={0,1},
si pi Etape 1 Etape 2 Etape 3 Etape 4 Etape 5 Code
s1 0.25 0 (0.5) 00
0
s2 0.25 1 01
s3 0.25 0 10
s4 0.125 1 (0.5) 0 110
s5 0.0625 1 1110
1 0
s6 0.03125 1 0 11110
s7 0.03125 1 11111
Pr H. Ghennioui 38
Techniques de codage source
- Algorithme de Huffman statique -(1/3)
Codage de Huffman statique (1952):
Principe :
s5 0.1 1 011
Caractérisation:
L=2.2 symboles codés, Lmin=2.15 symboles codés
Efficacité : =97.7%
Redondance
Pr H. Ghennioui
: ρ=2.2818% 40
Techniques de codage source
- Algorithme de Huffman statique -(3/3)
Codage de Huffman statique (1952):
Remarques :
Pr H. Ghennioui 41
Techniques de codage source
- Conclusions sur Shannon et Huffman -(1/1)
Ces 2 techniques sont difficiles à utiliser dans un système
temps-réel (complexité du dictionnaire d’encodage).
Des exemples de codeurs-décodeurs plus simples et
économiques tout en gardant une efficacité intéressante :
Codage par plage
Codage de Lempel-Ziv
Pr H. Ghennioui 42
Techniques de codage source
- Technique arithmétique-(1/7)
Principe
Le code est associé à la séquence de symboles
(message) et non pas à chaque symbole de la séquence.
Le code associé à une séquence est un nombre réel de
l’intervalle [0,1[.
Le code est construit par des subdivisions récursives
Pr H. Ghennioui 43
Techniques de codage source
- Technique arithmétique -(2/7)
Soit une source S dont l’alphabet est As={s1, s2, …, sN}. Les
probabilités respectives des symboles sont p1=p(s1), p2=p(s2),
…, pN=p(sN). On note [Lsk, Hsk[ l’intervalle assigné au
symbole sk avec Hsk- Lsk=pk.
Algorithme de codage :
1. Initialisation : Lc=0 et Hc=1.
2. Déterminer les longueurs des sous-intervalles liés aux symboles.
3. Passer au codage sur le prochain symbole sk.
4. Déterminer pour le sous-intervalle, le raffinement en sous-
intervalles.
5. Répéter les étapes 2, 3 et 4 jusqu’à obtenir le code de la
séquence entière.
Pr H. Ghennioui 44
Techniques de codage source
- Technique arithmétique -(3/7)
Illustration de l’algorithme de codage : on considère
une séquence sM={s1, s2, …, sM} de M symboles à coder.
(sk) est le k-ème symbole de la séquence émise par la
source.
Etape 1 : initialiser un premier intervalle [Lc, Hc[=[0, 1[ de taille Hc-
Lc=1.
Etape 2 : Subdiviser l’intervalle en N sous-intervalles [Ls k, Hsk[ de
taille Hsk - Lsk =pk et,
k 1
Lsk Lc taille pi ,
i 1
k
Hs Lc taille p ,
k i 1
i
Pr H. Ghennioui 45
Techniques de codage source
- Technique arithmétique -(4/7)
Etape 3 : Choisir le sous-intervalle correspondant au prochain
symbole sk qui apparait dans la séquence et redéfinir l’intervalle
initial [Lc, Hc[ avec,
Lc Lc taille Lsk ,
Hc Lc taille Hsk ,
Etape 4 : Cet intervalle est subdivisé à nouveau selon le même
procédé que celui utilisé dans l’étape 2.
Etape 5 : Les étapes 2, 3 et 4 sont répétées jusqu’à obtenir le mot
code représentant la séquence complète des symboles source.
Pr H. Ghennioui 46
Techniques de codage source
- Technique arithmétique -(5/7)
Exemple de codage arithmétique: soient un alphabet
As={a,b,c,d,e} et les probabilités respectives Ps={0.3, 0.25,
0.2, 0.15, 0.1}. La séquence à coder est « bdcea ».
Exemple mot code:
0.51508125=(milieu
du dernier intervalle)
Pr H. Ghennioui 47
Techniques de codage source
- Technique arithmétique -(6/7)
Algorithme de décodage :
1. Initialisation Lc=0 et Hc=1
2. Calculer la longueur du sous-intervalle du code Hc-Lc
3. Trouver le sous-intervalle [Ls k, Hsk] du symbole avec 1≤k≤N tel
que Lsk≤(Mot code - Lc)/longueur≤Hsk.
4. Obtention du symbole sk.
5. Mettre à jour le sous-intervalle,
Lc Lc longueur Lsk ,
Hc Lc longueur Hsk ,
6. Répéter les étapes 2, 3, 4 et 5 jusqu’à obtenir le décodage de tous
les symboles de la séquence.
Pr H. Ghennioui 48
Techniques de codage source
- Technique arithmétique -(7/7)
Illustration: On applique l'algorithme de décodage à l'exemple
précédent avec mot code =0.51508125.
Etape 1 : initialiser Lc=0 et Hc=1
Etape 2 : calculer la longueur du sous-intervalle du code : Longueur = Hc-
Lc=1.
Etape 3 : calculer le nombre (Mot code - Lc)/longueur=0.51508125 et
chercher k tel que ce nombre soit compris dans la partition initiale.
Etape 4 : k=2, Il s'agit du sous-intervalle [0.3,0.55[ qui correspond au
symbole b.
Etape 5 : On met à jour le sous-intervalle de codage Lc=Lc+longueur x
Lsk=0 + 1x0.3=0.3 et Hc=Lc+longueur x Hsk=0+1 x 0.55=0.55
On répète l'étape 2 : longueur= 0.55-0.3=0.25
Etape 3 : (0.51508125-0.3)/0.25 = 0,860325
Etape 4 : k=4, il s'agit du sous-intervalle [0.75,0.90[ qui correspond au
symbole d.
On revient à l'étape 5 et ainsi de suite …
Pr H. Ghennioui 49
Techniques de codage source
- Technique Lempel-Ziv -(1/9)
Ce type de codage n’assume aucune connaissance à
priori de la statistique des données mais s’adapte à tout
changement des modèles qui sont traités.
Une première version a été introduite par Jacob Ziv et
Abraham Lempel en 1977 : LZ77. Cet algorithme est utilisé
dans les méthodes de compression Zip (pkzip, gzip, zipit,
etc.) qui sont très populaires sur l’Internet.
Les mêmes auteurs développent une version améliorée en
1978, basée sur un dictionnaire à structure arborescent :
LZ78.
En 1984, Terry Welech a conçu une version améliorée de
LZ78 : LZW.
Pr H. Ghennioui 50
Techniques de codage source
- Technique Lempel-Ziv -(2/9)
Plusieurs applications de compression sont basés sur le
LZ78 et LZW, parmi lesquels le standard UIT-T V.42 bis, le
format de compression GIF et le programme de
compression sous UNIX.
Le principe de ce type de codage consiste à remplacer une
séquence répétée par un code très court.
Pr H. Ghennioui 51
Techniques de codage source
- Technique Lempel-Ziv -(3/9)
Codage/Décodage de Lempel-Ziv
Procédure d’analyse de répartition des blocs de longueurs
variables : Lempel-Ziv Parsing = Analyse grammaticale
Constitution de blocs à partir de la séquence à coder
Représentation de chacun des blocs par une paire de valeurs entières
Conversion des paires de valeurs en nombre entiers.
Codage des nombres entiers en binaire.
Opération de décodage
Segmentation de la séquence binaire reçue
Conversion en décimal des séquences individuelles
Représentation de chaque nombre entier par une paire de valeurs
Traduction des paires de valeurs en blocs
Restitution et décodage de la séquence des symboles source.
Pr H. Ghennioui 52
Techniques de codage source
- Technique Lempel-Ziv -(4/9)
Codage de Lempel-Ziv
Soit la chaine de caractères X=(s1, s2, …, sN) à répartir en blocs de
longueurs variables.
Etape 1 : constitution de blocs
Par construction, les blocs de longueurs variables (B1, B2, …, BK) produit
par cette procédure à partir de X sont distincts, à l’exception du dernier bloc
qui peut ne pas l’être et soit égal à l’un des blocs précédents.
Illustration : La séquence X=(110110001101) sera répartie en ,
B1=1, B2=10, B3=11, B4=0, B5=00, B6=110, B7=1 (=B1).
Pr H. Ghennioui 54
Techniques de codage source
- Technique Lempel-Ziv -(6/9)
Codage de Lempel-Ziv
Soit As=(0, 1, …, q-1) l’alphabet à partir duquel X est formée.
Etape 2 : Codage de blocs
Représenter chacun des blocs en une paire de deux entiers : le 1er bloc
sera représenté par la paire (0,B1). Pour tout autre bloc Bj formé d’un seul
symbole sera représenté par la paire (0,Bj) et si le bloc Bj est formé de plus
d’un symbole, alors il sera représenté par la paire (i,s) où s est le dernier
symbole dans le bloc Bj et Bi est le bloc représenté par la séquence des
symboles de Bj à part le dernier symbole (Bloc préfixe du dernier symbole).
Illustration : Dans l’exemple précédent (X=(110110001101), B1=1, B2=10,
B3=11, B4=0, B5=00, B6=110, B7=1 (=B1)), on trouve els paires,
(0,1), (1,0), (1,1), (0,0), (4,0), (3,0), (0,1).
Pr H. Ghennioui 55
Techniques de codage source
- Technique Lempel-Ziv -(7/9)
Codage de Lempel-Ziv
Etape 3 : Conversion de paires en entiers
L’étape suivante consiste à remplacer chaque paire (i,s) par le nombre
entier q*i+s.
Illustration : Dans l’exemple précédent ((0,1), (1,0), (1,1), (0,0), (4,0), (3,0),
(0,1)), on obtient la séquence convertie 1, 2, 3, 0, 8, 6, 1.
Etape 4 : Codage des nombres entiers en binaire
Pour achever la description de l’encodeur, soit I1, I2, …, It la séquence des
nombres entiers correspondant aux blocs B1, B2, …, Bt.
Chaque entier Ij est converti en binaire en une séquence de longueur
Lj=[log2(q*j)]
Illustration : Dans l’exemple précédent, on obtient la séquence convertie
I1 : L1=1, S1=1, I2 : L2=2, S2=10, I3 : L3= 3, S3=011, I4: L4= 3, S4= 000, I5: L5=4,
S5=1000, I6: L6=4, S6=0110, I7: L7=4, S7=0001.
Soit le
Pr H. Ghennioui mot de code résultant 110011000100001100001 56
Techniques de codage source
- Technique Lempel-Ziv -(8/9)
Décodeur LZ
On suppose qu’un vecteur appartenant à l’alphabet {0,1,2} a
été encodé par LZ en 001000010101010110000100000. On
cherche comment décoder cette séquence.
Principe :
Pour un alphabet de taille N, [Log2(N*j)] bits seront alloués au bloc Bj. Ceci
permet de répartir la séquence à décoder suivant cet ordre qui sera
convertit en un nombre I puis sous forme d’une paire (k,r) tel que I=N*k+r
où k et r représentent le quotient et le reste de la division de I par q.
Cette paire permettra de trouver le bloc de longueur variable qui aidera à
reconstruire la séquence X originale.
Pr H. Ghennioui 57
Techniques de codage source
- Technique Lempel-Ziv -(9/9)
Décodeur LZ (suite)
Illustration :
Numéro Nombre de bits Séquence Séquence en Paire Bloc
du bloc dans ce bloc par bloc base 10
1 2 00 0 (0,0) 0
2 3 100 4 (1,1) 01
3 4 0010 2 (0,2) 2
4 4 1010 10 (3,1) 21
5 4 1011 11 (3,2) 22
6 5 00001 1 (0,1) 1
7 5 00000 0 (0,0) 0