1 Codage Arithmétique

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 49

Département d’informatique et de génie logiciel

Compression de données
IFT-4003/IFT-7023

Notes de cours
Codage arithmétique
Édition Hiver 2012

Mohamed Haj Taieb


Local: PLT 2113
Courriel: mohamed.haj-taieb.1@ulaval.ca
Faculté des sciences et de génie
Département de génie électrique et de
génie informatique
Plan de la présentation
Codage arithmétique:
 Idée principale
 Génération d’étiquette
 Déchiffrage de l’étiquette
 Génération d’un code binaire
 Unicité et efficacité du code
 Algorithme d’implémentation
 Implémentation entière
 Comparaison avec le codage de Huffman

IFT-4003/7023 Compression de données Mohamed Haj Taieb, Département de génie électrique et de génie informatique
Rappel sur les codes de Huffman
 Longueur du code de Huffman
 Le code de Huffman peut garantir un taux de codage
(nombre moyen de bits par symbole) proche de l’entropie
de 1 bit. H (S ) l H (S ) 1 moy

 Cette borne supérieure peut être plus stricte.


 Si les probabilités des symboles sont bien réparties avec
la probabilité du symbole le plus fréquent pmax < 0.5 on
obtient:
H (S ) lmoy H (S ) pmax 0.086
 On retrouve cette borne supérieure généralement lorsque
le nombre de symboles est élevés.
 Mais que faire si on a peu de symboles de probabilités
distancées.
IFT-4003/7023 Compression de données Mohamed Haj Taieb, Département de génie électrique et de génie informatique
Codes de Huffman étendu (1)
 Regroupement de symboles
 Le regroupement de symboles pour la génération d’un
code de Huffman étendu peut améliorer les performances.
Mais ce ne fonctionne pas toujours!
 Exemple
 Considérons une source i.i.d suivante et le code de
Huffman associé:
Lettres a b C
Probabilité 0.95 0.02 0.03
Code 0 11 10
 L’entropie de la source: 0.335 bits/symbole.
 La longueur moyenne de ce code: 1.05 bits/symbole.
 Redondance: 0.715 bits/symbole.
 Efficacité: ξ=31.905%
IFT-4003/7023 Compression de données Mohamed Haj Taieb, Département de génie électrique et de génie informatique
Code de Huffman étendu (2)
 Regroupement de symboles
 Le regroupement de symboles deux par deux donne le
code suivant:
aa ab ac ba bb Bc ca Cb cc
0.902 0.019 0.0285 0.019 0.0004 0.0006 0.0285 0.0006 0.0009

0 111 100 1101 110011 110001 101 110010 110000

 Entropie=0.335 bit/symb
 Pour une efficacité acceptable
 lmoy=1.222/2=0.611 il faut regrouper les symboles
bit/symb 8 par 8  Alphabet de taille
 Redondance=0.276 38=6561  Capacité de
 Efficacité: ξ=54.828% stockage du code élevée.

IFT-4003/7023 Compression de données Mohamed Haj Taieb, Département de génie électrique et de génie informatique
Code de Huffman étendu (3)
 Inefficacité des codes de Huffman étendu
 La moindre perturbation des statistiques entrainant un
changement des probabilité affecte grandement les
performances.
 Pour déterminer un mot-code pour une séquence de
longueur m, on doit générer des mot-codes pour toutes
autres séquences de même longueur possibles.
  Croissance exponentielle de la taille de l’alphabet.
 Il faut un moyen pour générer un mot-code à une
séquence donnée sans avoir à générer des mot-codes
pour les autres séquences de même longueur.
  Codes arithmétiques

IFT-4003/7023 Compression de données Mohamed Haj Taieb, Département de génie électrique et de génie informatique
Idée principale des codes
arithmétiques
 Fonctionnement
 Dans le codage arithmétique un identificateur ou une
étiquette unique est générée pour la séquence à
encoder.
 Cette étiquette correspond à une fraction binaire à partir
de la quelle on obtient le code binaire de la séquence.
 En pratique la génération de l’étiquette et du code
binaire suivent la même procédure.
 Mais pour mieux comprendre les codes arithmétiques on
présente ces deux phases distinctement.
 Phase 1: Génération d’étiquette (tag) pour la séquence
 Phase 2: assignation d’un code binaire a ce tag

IFT-4003/7023 Compression de données Mohamed Haj Taieb, Département de génie électrique et de génie informatique
Codage d’une séquence
 Distinction entre les séquences de symboles
 A chaque séquence de symboles un tag unique doit être
fourni.
 L’intervalle unité [0, 1) est un ensemble possible pour
tout les tags.
 En effet le nombre de réel dans cet intervalle sont infini
on peut générer autant de tags que l’on veut.
 Il faut alors une fonction f: séquence x Є [0, 1).
 Une parmi ces fonctions on cite la fonction de distribution
cumulative (cdf) de variable aléatoire.
 La fonction cdf est utilisé dans le développement des
code arithmétique.

IFT-4003/7023 Compression de données Mohamed Haj Taieb, Département de génie électrique et de génie informatique
Les fonctions de distribution de
probabilités
 Définition de la fonction cumulative
 Soit X une variable aléatoire résultant d’une expérience
donnée.
 La fonction de distribution cumulative (cdf) dénotée par
FX(x) est définie par: FX(x) =Pr(X≤x).
 Quelques Propriétés
 0≤ FX(x) ≤1: une probabilité est toujours entre 0 et 1.
 La cdf est une fonction croissante: x1≤x2 FX(x1)≤FX(x2)
En effet FX(x2)=Pr(X ≤ x2)= Pr(X ≤ x1 ou x1<X ≤ x2)
= Pr(X ≤ x1)+Pr(x1<X ≤ x2)
= FX(x1) +Pr(x1<X ≤ x2) x1 x2
≥ FX(x1)
IFT-4003/7023 Compression de données Mohamed Haj Taieb, Département de génie électrique et de génie informatique
Quelques notations
 Fonction cumulative
 Soit l’alphabet d’éléments discrets: A={ a1, a2, …, am}.
 Soit une expérience qui résulte en un des éléments de A.
 Soit la variable aléatoire X prenant des valeurs dans
l’ensemble {1,…,m}.
 La fonction de densité de probabilité pour cette variable
aléatoire: P(X=i)=P(ai).
 La fonction de densité cumulative:
i
FX i Pr( X i) Pr( X 1 ou ou X i ) Pr( X 1) Pr( X i) P( X k)
k 1

 Pour chaque symbole ai de probabilité non nulle on


associe une valeur distincte de FX(i) on peut alors
utiliser FX(i) comme un tag dans les codes arithmétiques.
IFT-4003/7023 Compression de données Mohamed Haj Taieb, Département de génie électrique et de génie informatique
Génération de tag
 Procédure
 Réduction de la taille de l’intervalle contenant le tag à
chaque lecture d’un symbole de la séquence.
 On commence par subdiviser l’intervalle [0, 1] en sous-
intervalles de la forme [FX(i-1), FX(i)) avec i=1, …, m.
 On associe à chaque sous-intervalles [FX(i-1), FX(i)) le
symbole ai.
 La lecture du premier symbole, soit ak, permet de
restreindre l’intervalle du tag au sous-intervalle associé à
ak: [FX(k-1), FX(k)).
 Ce sous-intervalle est subdiviser à son tour en sous-
intervalles suivant la même partition de que l’intervalle
initiale.
IFT-4003/7023 Compression de données Mohamed Haj Taieb, Département de génie électrique et de génie informatique
Partitionnement des sous-intervalles
 Procédure
 Chaque symbole lu partitionne le sous-intervalle
résultant de la lecture des symboles précédents et la
position du tag devient de plus en plus restreinte.
 Premier symbole ak  [FX(k-1), FX(k)).
 Deuxième symbole aj 

[FX (k 1) FX ( j 1) FX (k ) FX (k 1) , FX (k 1) FX ( j) (FX (k ) FX (k 1)))

 Exemple
 Soit un alphabet formé de trois lettre A= {a1, a2, a3}
avec P(a1)=0.7, P(a2)=0.1 et P(a3)=0.2.
  FX(1)=0.7, FX(2)=0.8 et FX(3)=1.
IFT-4003/7023 Compression de données Mohamed Haj Taieb, Département de génie électrique et de génie informatique
Exemple de partitionnement des sous-
intervalles (1)
0.0

a1

0.7
a2
0.8

a3
1.0

ak=1  [FX(k-1), FX(k))= [FX(0), FX(1))= [FX(0), FX(1))=[0, 0.7)

IFT-4003/7023 Compression de données Mohamed Haj Taieb, Département de génie électrique et de génie informatique
Exemple de partitionnement des sous-
intervalles (2)
0.0 0.00

a1 a1

0.7 0.49
a2 a2
0.8 0.56

a3 a3
1.0 0.70

[ FX (0) FX (1) ( FX (1) FX (0)), FX (0) FX (2) ( FX (1) FX (0)))


[0 0.7 (0.7 0), 0 0.8 (0.7 0))
[0.7 0.7, 0.8 0.7)
[0.49, 0.56)

IFT-4003/7023 Compression de données Mohamed Haj Taieb, Département de génie électrique et de génie informatique
Exemple de partitionnement des sous-
intervalles (3)
0.0 0.00 0.490

a1 a1 a1

0.7 0.49 0.539


a2 a2 a2
0.8 0.56 0.546

a3 a3 a3
1.0 0.70 0.560

[l (1) FX (1) (u (1) l (1) ), l (1) FX (2) (u (1) l (1) ))


[0.49 0.7 0.07, 0.49 0.8 0.07)
[0.49 0.049, 0.49 0.056)
[0.539, 0.546)

IFT-4003/7023 Compression de données Mohamed Haj Taieb, Département de génie électrique et de génie informatique
Exemple de partitionnement des sous-
intervalles (4)
0.0 0.00 0.490 0.5460

a1 a1 a1 a1

0.7 0.49 0.539 a2 0.5558


a2 a2 a2
0.8 0.56 0.546 0.5572
a3 a3 a3 a3
1.0 0.70 0.5600
0.560

[l (2) FX (1) (u (2) l (2) ), l (2) FX (2) (u (2) l (2) ))


[0.546 0.7 0.014, 0.546 0.8 0.014)
[0.546 0.0098, 0.546 0.0112)
[0.5558, 0.5572)

IFT-4003/7023 Compression de données Mohamed Haj Taieb, Département de génie électrique et de génie informatique
Partitionnement en sous-intervalles
 Remarques importantes suite à l’exemple
 L’apparition de chaque nouveau symbole donne
naissance à un sous-intervalle disjoint [disjoint: Π = ø]
avec tout autre sous-intervalle qui aurait pu être généré
par une autre séquence.
 Ainsi tout entier appartement à l’intervalle obtenu, peut
être associé comme tag à la séquence de symboles.
 i.e. la limite inférieure de l’intervalle ou encore le point
central de l’intervalle.
 Dans ce qui suit on va considérer le point centrale
comme tag de la séquence.

IFT-4003/7023 Compression de données Mohamed Haj Taieb, Département de génie électrique et de génie informatique
Génération d’un tag pour symbole
unique
 Procédure mathématique
 Pour comprendre la procédure mathématique de la
génération d’un tag on commence par une séquence de
longueur un.
  Un tag est associé à chaque symbole de l’alphabet.
 Soit une source qui génère une séquence à partir d’un
alphabet A={a1, a2, …, am}. On définit pour un symbole
ai le tag suivant: i 1
1
TX (ai ) P( x k) P( x i)
k 1 2
1
FX (i 1) P( x i)
2
 Donc pour chaque symbole ai, on va avoir un tag unique.
IFT-4003/7023 Compression de données Mohamed Haj Taieb, Département de génie électrique et de génie informatique
Exemple de génération d’un tag pour
un symbole unique
 Exemple
 Considérons l’expérience de lancement d’un dé juste.
 Le résultat de cette expérience peut être associé à
l’ensemble {1, 2, 3, 4, 5, 6}.
 Pour un dé juste on a: P(X=k)=1/6 pour k=1,…,6

1 1 1
TX (1) FX (0) P( x 1) 0 0.0833
2 2 6
1 1 1 1
TX (2) FX (1) P( x 2) 0.25
2 6 2 6
TX (3) 0.4166; TX (4) 0.5833
TX (5) 0.75; TX (4) 0.9166

IFT-4003/7023 Compression de données Mohamed Haj Taieb, Département de génie électrique et de génie informatique
Génération d’un pour une séquence de
symboles
 Procédure mathématique
 L’approche d’assignation de tag pour une séquence de
longueur un d’une source prenant des valeur de alphabet
A={a1, a2, …, am}, peut s’étendre pour traiter des
séquences plus longueur n>1.
  Il faut établir un ordre pour différencier entre les mn
combinaisons possibles des n symboles.
 La séquence numéro i parmi les mn combinaisons
possibles est dénoté xi, à laquelle on associe le tag
suivant: (m)
i 1
1
TX (x i ) P (X xk ) P(X xi )
k 1 2
 X est une variable aléatoire de longueur m.
 xi={xi1, xi2, …, xim},
IFT-4003/7023 Compression de données Mohamed Haj Taieb, Département de génie électrique et de génie informatique
Exemple de génération d’un pour une
séquence de symboles
 Procédure mathématique
 Considérons l’expérience de 2 lancements d’un dé juste.
 Il y a 62=36 combinaisons possibles qu’on ordonne
comme suit: 11,12,…,16, 21,22,…,26, …, …,51,52,…,56,
61,62,…,66.
 Calculons par exemple le tag de la séquence 13:

(2) 1
TX (13) P(X xk ) P (X 13)
k 13 2
k 11,12,...,66

1
P(X 11) P(X 12) P (X 13)
2
1 1 1 1 5
36 36 2 36 72
IFT-4003/7023 Compression de données Mohamed Haj Taieb, Département de génie électrique et de génie informatique
Génération d’un pour une séquence de
symboles
 Remarques suite à l’exemple:
 Pour générer le tag de la séquence numéro 13, on n’a
pas besoin de générer le tag des autres séquences de me
même longueur n=2.
 Il faut par contre calculer les probabilités de toutes les
séquences dont l’ordre est inférieur a 13: 11 et 12.
 Le calcul des probabilité des séquences précédentes peut
entraîner une complexité de même ordre que la
génération de mot-codes pour les autres séquences de
même longueur.
 Nous allons voir par la suite qu’on a besoin juste de la
probabilité des symboles individuels pour le calcul d’un
tag d’une séquence de symboles.
IFT-4003/7023 Compression de données Mohamed Haj Taieb, Département de génie électrique et de génie informatique
Délimitation de l’intervalle du tag
 Calcul des bornes inférieure et supérieure de l’intervalle du
tag:
 Lors de la génération du tag on constate que l’intervalle
obtenu est disjoint des autres intervalles contenant les
tags des autres séquences.
 Ainsi la détermination d’un tag pour une séquence
donnée revient à délimiter l’intervalle en question et ce
par le calcul des bornes inférieure et supérieure.
 Ces deux bornes peuvent être calculées récursivement.
 Exemple:
 Reprenons l’exemple de lancement du dé non truqué.
 Déterminons l’intervalle du tag de la séquence 322.

IFT-4003/7023 Compression de données Mohamed Haj Taieb, Département de génie électrique et de génie informatique
Exemple: bornes de l’intervalle du tag
par récursion (1)
 Tag de la séquence 322
 Observation séquentielle de 3 ensuite 2 et enfin 2.
 Après chaque observation on calcule les bornes de
l’intervalle du tag à ce stade là.
 Notation: limite supérieure  u(n) [upper limit]
limite inférieure  l(n) [lower limit]
n le nombre d’observations à ce moment là.
 Observation 1: 3 u (1) FX (3) Pr( X 3) Pr( X 1 ou X 2 ou X 3)
3
6
2
l (1) FX (2) Pr( X 3)
6

1 2 3 4 5 6
0.0 1/6 2/6 3/6 4/6 5/6 1.0
IFT-4003/7023 Compression de données Mohamed Haj Taieb, Département de génie électrique et de génie informatique
Exemple: bornes de l’intervalle du tag
par récursion (2)
 Observation 2: 3 2
u (2) FX 2 (32) Pr( X 32)
Pr( X 11) Pr( X 12) Pr( X 16)
Pr( X 21) Pr( X 22) Pr( X 26)
Pr( X 31) Pr( X 32)
[Rappel] Théorème de Bayes: loi de la probabilité totale
6 6
Pr( X ki ) Pr( X k, X i ) Pr( X k)
i 1 i 1

u (2) Pr( X 1) Pr( X 2) Pr( X 31) Pr( X 32)


u (2) FX (2) Pr( X 31) Pr( X 32)
IFT-4003/7023 Compression de données Mohamed Haj Taieb, Département de génie électrique et de génie informatique
Exemple: bornes de l’intervalle du tag
par récursion (3)
 Observation 2: 3 2

Pr( X 31) Pr( X 32) Pr(3) Pr(1) Pr(3) Pr(2)


Pr(3)(Pr(1) Pr(2)) Pr(3) FX (2)
( FX (3) FX (2)) FX (2)

u (2) FX (2) ( FX (3) FX (2)) FX (2)


u (2) l (1) (u (1) l (1) ) FX (2)
de la même façon on trouve:
l (2) l (1) (u (1) l (1) ) FX (1)

IFT-4003/7023 Compression de données Mohamed Haj Taieb, Département de génie électrique et de génie informatique
Exemple: bornes de l’intervalle du tag
par récursion (4)
 Observation 2: 3 2
(1) 3
u FX (3)
6
2
l (1) FX (2)
6
u (2) l (1) (u (1) l (1) ) FX (2)
l (2) l (1) (u (1) l (1) ) FX (1)

 Observation 3: 3 2 2

u (3) l (2) (u (2) l (2) ) FX (2)


l (3) l (2) (u (2) l (2) ) FX (1)
IFT-4003/7023 Compression de données Mohamed Haj Taieb, Département de génie électrique et de génie informatique
Exemple: bornes de l’intervalle du tag
par récursion (5)
 Observation 1: 3

(1) 3 2
u FX (3) , l (1) FX (2)
6 6

1 2 3 4 5 6
0.0 1/6 2/6 3/6 4/6 5/6 1.0
IFT-4003/7023 Compression de données Mohamed Haj Taieb, Département de génie électrique et de génie informatique
Exemple: bornes de l’intervalle du tag
par récursion (6)
 Observation 1: 3

(1) 3 2
u FX (3) , l (1) FX (2)
6 6

1 2 3 4 5 6
l(1) u(1)
Mise à l’échelle:
× (u(1)-l(1))
1 2 3 4 5 6
0.0 1/6 2/6 3/6 4/6 5/6 1.0
IFT-4003/7023 Compression de données Mohamed Haj Taieb, Département de génie électrique et de génie informatique
Exemple: bornes de l’intervalle du tag
par récursion (7)
 Observation 2: 3 2

u (2) l (1) (u (1) l (1) ) FX (2), l (2) l (1) (u (1) l (1) ) FX (1)

1 2 3 4 5 6
l(1) l(2) u(2) u(1)
Mise à l’échelle:
× (u(1)-l(1))
1 2 3 4 5 6
0.0 1/6 2/6 3/6 4/6 5/6 1.0
IFT-4003/7023 Compression de données Mohamed Haj Taieb, Département de génie électrique et de génie informatique
Exemple: bornes de l’intervalle du tag
par récursion (8)
 Observation 2: 3 2

u (2) l (1) (u (1) l (1) ) FX (2), l (2) l (1) (u (1) l (1) ) FX (1)

1 2 3 4 5 6
l(2) u(2)
Mise à l’échelle:
× (u(2)-l(2))
1 2 3 4 5 6
l(1) l(2) u(2) u(1)
Mise à l’échelle:
× (u(1)-l(1))
1 2 3 4 5 6
0.0 1/6 2/6 3/6 4/6 5/6 1.0
IFT-4003/7023 Compression de données Mohamed Haj Taieb, Département de génie électrique et de génie informatique
Exemple: bornes de l’intervalle du tag
par récursion (9)
 Observation 3: 3 2 2

u (3) l (2) (u (2) l (2) ) FX (2), l (3) l (2) (u (2) l (2) ) FX (1)

1 2 3 4 5 6
l(2) l(3) u(3) u(2)
Mise à l’échelle:
× (u(2)-l(2))
1 2 3 4 5 6
l(1) l(2) u(2) u(1)
Mise à l’échelle:
× (u(1)-l(1))
1 2 3 4 5 6
0.0 1/6 2/6 3/6 4/6 5/6 1.0
IFT-4003/7023 Compression de données Mohamed Haj Taieb, Département de génie électrique et de génie informatique
Intervalle du tag par récursion
 Règle générale
 Pour une séquence de symbole x on a:
x ( x1 x2 ...xn )
u (n) l (n 1)
(u ( n 1)
l ( n 1) ) FX ( xn )
l (n) l (n 1)
(u ( n 1)
l ( n 1) ) FX ( xn 1)

 Avec cette procédure de récursion, on a pas eu besoin de


calculer la probabilité conjointe d’une séquence donnée.
 On a juste besoin des probabilités individuelle.
 Génération du tag:
 Pour un tag milieu d’intervalle on a: u (n) l ( n)
TX x
2
IFT-4003/7023 Compression de données Mohamed Haj Taieb, Département de génie électrique et de génie informatique
Exemple génération du tag par
récursion (1)
 Exemple: génération du tag de la séquence: 1 3 2 1
 Considérons la source suivante:

Lettres a b c
Probabilité 0.8 0.02 0.18

 A partir du modèle de probabilité on a: FX(k<0)=0,


FX(0)=0, FX(1)=0.8, FX(2)=0.82, FX(3)=1, FX(k>3)=1.
 Observation 1: 1 [ Rappel ]
u (n) l (n 1)
(u ( n 1)
l ( n 1) ) FX ( xn )
l (n) l (n 1)
(u ( n 1)
l ( n 1) ) FX ( xn 1)
u (1) l (0) (u (0) l (0) ) FX ( x1 ) 0 1 FX (1) 0.8
l (1) l (0) (u (0) l (0) ) FX ( x1 1) 0 1 FX (0) 0

IFT-4003/7023 Compression de données Mohamed Haj Taieb, Département de génie électrique et de génie informatique
Exemple génération du tag par
récursion (2)
 Observation 1: 1 [ Rappel ]
(1) (0) (0) (0) u (n) l (n 1)
(u ( n 1)
l ( n 1) ) FX ( xn )
u l (u l ) FX ( x1 ) 0 1 FX (1) 0.8
(1) (0) (0) (0)
l (n) l (n 1)
(u ( n 1)
l ( n 1) ) FX ( xn 1)
l l (u l ) FX ( x1 1) 0 1 FX (0) 0
 Observation 1: 1 3
u (2) l (1) (u (1) l (1) ) FX ( x3 ) 0 0.8 FX (3) 0.8 1 0.8
l (2) l (1) (u (1) l (1) ) FX ( x3 1) 0 0.8 FX (3 1) 0.8 0.82 0.656
 Observation 1: 1 3 2
u (3) l (2) (u (2) l (2) ) FX ( x2 ) 0.656 0.144 0.82 0.77408
l (3) l (2) (u (2) l (2) ) FX ( x2 1) 0.656 0.144 0.8 0.7712
 Observation 1: 1 3 2 1
u (4) l (3) (u (3) l (3) ) FX ( x1 ) 0.7712 0.00288 0.8 0.773504
l (4) l (3) (u (3) l (3) ) FX ( x1 1) 0.7712 0.00288 0 0.7712
IFT-4003/7023 Compression de données Mohamed Haj Taieb, Département de génie électrique et de génie informatique
Exemple génération du tag par
récursion (3)
 Séquence: 1 3 2 1
u (4) l (3) (u (3) l (3) ) FX ( x1 ) 0.7712 0.00288 0.8 0.773504
l (4) l (3) (u (3) l (3) ) FX ( x1 1) 0.7712 0.00288 0 0.7712
 Génération du tag:
0.7712 0.773504
TX (1321)= 0.772352
2
 Remarques:
 L’intervalle suivant est toujours contenu dans l’intervalle
précédent.
 Cette propriété va servir pour le déchiffrage du tag.
 L’intervalle du Tag devient de plus en plus petit.
 Pour remédier à ça on va utiliser une approche de
remise à l’échelle.

IFT-4003/7023 Compression de données Mohamed Haj Taieb, Département de génie électrique et de génie informatique
Déchiffrage du tag
 Déchiffrage:
 La procédure de génération du tag est relativement
simple.
 Il faut aussi pouvoir déchiffrer le tag avec un coût de
calcul minimal.
 Effectivement lé déchiffrage du tag est aussi simple que
sa génération.
 Exemple de déchiffrage du tag: TX 0.772352
 On reconsidère l’exemple précédent et on va essayer de
déchiffrer le tag obtenu, et ce, par imiter l’encodeur.
 L’intervalle contenant ce tag est un sous-intervalle de
tout les intervalles rencontrés dans le processus
d’encodage.
IFT-4003/7023 Compression de données Mohamed Haj Taieb, Département de génie électrique et de génie informatique
Exemple déchiffrage du tag (1)
 Exemple de déchiffrage du tag: TX 0.772352
 La stratégie consiste à décoder les éléments de la
séquence en s’assurant que l(k) et u(k) contiennent
toujours le tag.
 Étape 0:
 l(0) =0 et u(0) =1 contiennent bien le tag 0.772352.
 Étape 1:
 Après le décodage du premier élément de la séquence x1
les limites inférieures et supérieures deviennent.

u (1) l (0) (u (0) l (0) ) FX ( x1 ) FX ( x1 )


l (1) l (0) (u (0) l (0) ) FX ( x1 1) FX ( x1 1)

IFT-4003/7023 Compression de données Mohamed Haj Taieb, Département de génie électrique et de génie informatique
Exemple déchiffrage du tag (2)
 Suite étape 1: u (1) FX ( x1 ), l (1) FX ( x1 1) TX 0.772352
 Le tag suite à l’observation du premier élément se
trouve dans l’intervalle [FX(x1-1), FX(x1))=[0,0.8).

0.00

1 TX 0.772352 [0, 0.8)


TX TX 0.772352 [0.8, 0.82) x1 1
0.8 TX 0.772352 [0.82, 1)
2
0.82

3
1.0

 Séquence décodée: 1
IFT-4003/7023 Compression de données Mohamed Haj Taieb, Département de génie électrique et de génie informatique
Exemple déchiffrage du tag (3)
 Remise à l’échelle: TX 0.772352
 Préparation des nouveaux intervalles pour le second
élément.

0.00
0.00

1 1 Remise en échelle des intervalles


TX l (1) (u (1) l (1) )0.8 0 0.8 0.8 0.64
0.8 0.64 l (1) (u (1) l (1) )0.82 0 0.8 0.82 0.656
2 2
0.82 0.656

3 3
1.0 0.8

 Séquence décodée: 1
IFT-4003/7023 Compression de données Mohamed Haj Taieb, Département de génie électrique et de génie informatique
Exemple déchiffrage du tag (4)
 Étape 2: TX 0.772352
 Le tag suite à l’observation du premier élément se
trouve dans l’intervalle [FX(x2-1), FX(x2))=[0.656,0.8).

0.00
0.00

1 1 TX 0.772352 [0, 0.64)


TX 0.772352 [0.64, 0.656) x2 3
0.8 0.64 TX 0.772352 [0.656, 0.8)
2 2
0.82 0.656

3 TX 3
1.0 0.8

 Séquence décodée: 1 3
IFT-4003/7023 Compression de données Mohamed Haj Taieb, Département de génie électrique et de génie informatique
Exemple déchiffrage du tag (5)
 Remise à l’échelle: TX 0.772352
 Le tag suite à l’observation du premier élément se
trouve dans l’intervalle [FX(x2-1), FX(x2))=[0.656,0.8).

0.00
0.00 0.656

Remise en échelle des intervalles


1 1 1 l (2) (u (2) l (2) )0.8
0.656 0.144 0.8 0.7712
0.8 0.64 0.7712 l (2) (u (2) l (2) )0.8
2 2 2 0.656 0.144 0.82 0.77408
0.82 0.656 0.77408

3 TX 3 3
1.0 0.8
0.8
 Séquence décodée: 1 3
IFT-4003/7023 Compression de données Mohamed Haj Taieb, Département de génie électrique et de génie informatique
Exemple déchiffrage du tag (6)
 Étape 3: TX 0.772352 [0.656,0.7712 ) TX 0.772352
TX 0.772352 [0.7712, 0.77408) x3 2
TX 0.772352 [0.77408, 0.8)

0.00
0.00 0.656

1 1 1

0.8 0.64 0.7712


2 2 TX 2
0.82 0.656 0.77408

3 3 3
1.0 0.8
0.8
 Séquence décodée: 1 3 2
IFT-4003/7023 Compression de données Mohamed Haj Taieb, Département de génie électrique et de génie informatique
Exemple déchiffrage du tag (7)
 Étape 3: Remise en échelle des intervalles TX 0.772352
l (3) (u (3) l (3) )0.8 0.7712 0.0288 0.8 0.773504
l (3) (u (3) l (3) )0.8 0.7712 0.0288 0.82 0.7735616

0.00
0.00 0.656 0.7712

1 1 1 1

0.8 0.64 0.7712 0.773504


2 2 TX 2 2
0.82 0.656 0.77408 0.7735616

3 3 3 3
1.0 0.8
0.8 0.77408
 Séquence décodée: 1 3 2
IFT-4003/7023 Compression de données Mohamed Haj Taieb, Département de génie électrique et de génie informatique
Exemple déchiffrage du tag (8)
 Étape 3: TX 0.772352 [0.7712,0.773504 ) TX 0.772352
TX 0.772352 [0.773504, 0.7735616) x4 1
Fin:1321
TX 0.772352 [0.7735616, 0.77408)
Peut on
0.00
0.00 0.656 0.7712 simplifier
plus ?

1 1 1 1
TX

0.8 0.64 0.7712 0.773504


2 2 2 2
0.82 0.656 0.77408 0.7735616

3 3 3 3
1.0 0.8
0.8 0.77408
 Séquence décodée: 1 3 2 1
IFT-4003/7023 Compression de données Mohamed Haj Taieb, Département de génie électrique et de génie informatique
Exemple déchiffrage du tag
(Simplification)[1]
 On ramène l’intervalle [0.656, 0.8) à [0,1) TX 0.772352
0.656 0.656 / 0.144 0, 0.7712 0.656 / 0.144 0.8 (T 0.652) / 0.144 0.808
X

0.77408 0.656 / 0.144 0.82, 0.8 0.656 / 0.144 1


0.00
0.00 0.656 0.00

1 1 1

0.8 0.64 0.7712 0.8


2 2 2
0.82 0.656 0.77408 0.82

3 TX 3 3
1.0 0.8
0.8 1.0
 Séquence décodée: 1 3
IFT-4003/7023 Compression de données Mohamed Haj Taieb, Département de génie électrique et de génie informatique
Exemple déchiffrage du tag
(Simplification)[2]
 Remise à l’échelle TX 0.808
l (3) (u (3) l (3) )0.8 0.8 0.02 0.8 0.816
l (3) (u (3) l (3) )0.8 0.8 0.02 0.82 0.8164
0.00
0.00 0.00 0.8

1 1 1 1

0.8 0.64 0.8 0.816


2 2 TX 2 2
0.82 0.656 0.82 0.8164

3 3 3 3
1.0 0.8
1.0 0.82
 Séquence décodée: 1 3 2
IFT-4003/7023 Compression de données Mohamed Haj Taieb, Département de génie électrique et de génie informatique
Exemple déchiffrage du tag
(Simplification)[2]
 Remise à l’échelle TX 0.808
l (3) (u (3) l (3) )0.8 0.8 0.02 0.8 0.816
l (3) (u (3) l (3) )0.8 0.8 0.02 0.82 0.8164
0.00
0.00 0.00 0.8

1 1 1 1
TX

0.8 0.64 0.8 0.816


2 2 2 2
0.82 0.656 0.82 0.8164

3 3 3 3
1.0 0.8
1.0 0.82
 Séquence décodée: 1 3 2 1
IFT-4003/7023 Compression de données Mohamed Haj Taieb, Département de génie électrique et de génie informatique
Génération du code binaire

IFT-4003/7023 Compression de données Mohamed Haj Taieb, Département de génie électrique et de génie informatique

Vous aimerez peut-être aussi

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy