Chap 2
Chap 2
Chap 2
1 .Introduction :
2. problématique
Développer un codeur de source efficace satisfaisant aux contraintes suivantes :
les mots-code sont sous la forme de données binaires ;
les mots-code doivent être décodés de manière unique, i.e. la séquence émise par la
source doit être parfaitement reconstruite à partir de la séquence des mots-code.
Exemple de MORSE
L'idée générale : coder par des mots de code courts les lettres les plus fréquentes. C'est le
cas du codage de Morse En Morse, la lettre 'e' est représentée par le mot '·', alors que la
lettre 'q', beaucoup moins fréquente, est codée par le mot ‘--.-'. De tels code sont dits de
longueur variable
3. Code et codage
Soit un alphabet (fini) X = (x1,…, xK) muni d'une loi de probabilité Px.
Définition 1 Un code de X est une application
ϕ: X {0,1}*
(l'ensemble des mots binaires de longueur arbitraire).
Définition 2 Un mot de code est une séquence (non vide) de symboles pris dans l’alphabet
de codage. Un mot de code est un élément de ϕ(X).
Définition 3 Un codage de X est une application
ϕ:X* {0,1}*
qui a toute séquence finie de lettres de X associe une séquence binaire. Le codage fait
correspondre les symboles-sources et les mots de code.
A tout code ϕ de X on peut associer le codage (x1, x2,…,xL) (ϕ(x1) ॥ ϕ (x2) ॥ ….॥ ϕ ( xL))
remarque : La réciproque n'est pas vraie.
Définition 4 Un code (resp. codage) est dit régulier si deux lettres (resp. séquences de
lettres) distinctes sont codées par des mots distincts.
Un code non régulier implique une perte d'information. Un code régulier est un code non
ambigu.
Définition 5 on dit qu’un code est instantané si et seulement si chaque mot de code dans
toute chaine de mots de code peut être décodé des que l’on a atteint sa fin.
Cette définition garantit qu’il n’est ni nécessaire de mémoriser les mots de code reçus ni
d’attendre les suivants pour effectuer le décodage. Un tel code permet d’économiser du
temps et de l’espace dans le processus de décodage d’un message codé.
Exemple : Considérons la source composée des trois symboles a, b et c. Un message est une
séquence de ces symboles. Soit les deux codes suivants :
Code 1 : a→ 0 b → 1 c → 01
Code 2 : a→ 0 b → 11 c → 01.
Le code 1 est ambigu, la séquence de code 0101 peut correspondre à plusieurs messages à
savoir abab, abc, cab ou cc. Par contre, le code 2 est régulier.
4. Arbre de codage
Un arbre est un graphe de nœuds relies par des arcs ; le nœud de départ est dit racine et les
nœuds terminaux sont dits feuilles. Un arbre est dit n-aire (n ≥ 1) si chaque nœud intérieur a
n fils et il est dit n-aire complet si toutes les branches ont la même profondeur. Un arbre de
codage est un arbre n-aire, dont les arcs sont étiquetés par des lettres d’un alphabet donné
de taille n, de façon à ce que chaque lettre apparaisse tout au plus une fois à partir d’un
nœud donné. Les mots de code définis par un tel arbre correspondent à des séquences
d’étiquettes le long des chemins menant de la racine à une feuille. Pour tout code instantané
il existe au moins un arbre tel que chaque mot de code corresponde à un unique chemin de
la racine à une feuille.
Remarque Il peut arriver que quelques feuilles de l’arbre soient non utilisées pour quelque
code instantané.
Définition 1 : On dit que le code est un code complet lorsqu’il n’y a pas de feuille vide dans
l’arbre de codage n-aire correspondant.
Exemple de MORSE
5. Code préfixé :
Supposons que nous cherchons à transmettre le message BOF en utilisant le trois codes
figurant dans le tableau suivant
Avec le code II le message reçu est 10111110. Au décodage on récupère le bon message
BOF. Le code II possède les deux propriétés souhaitées:
décodable de manière unique et
Décodable de manière instantanée. Le code II est dit code préfixe ; aucun de ses mots de
code n’est un préfix d’un autre. On dit qu’une séquence x est un préfixe d’une autre
séquence x′ si et seulement si les n premiers symboles de x′ forment exactement la
séquence x.
Définition 1 Code préfixe On dit que le code d’une source discrète est préfixe si et
seulement si aucun mot de code n’est le préfixe d’un autre mot de code.
Remarque 2 Un code préfix sur l’alphabet binaire {0,1} est représenté par un arbre binaire
où tous les symboles sont des feuilles.
6. Définition
Prenons l'exemple de codage suivant pour l'alphabet X = {a, b, c, d} : Les probabilités d'avoir
un certain symbole en provenance de la source sont données par
On décide de coder chaque symbole en bits. Par exemple, C(a) est le codage de a. On note
donc
On a dans ce cas-ci un codage optimal, et en plus la longueur moyenne est égale à l'entropie,
ce qui sont deux critères qui ne sont pas forcément toujours compatibles. C'est le cas du
codage suivant.
On a les probabilités suivantes :
Et l'entropie :
7. Classes de codes
• Codes non singuliers
C est un code non singulier si :
• Codes instantanés : C est un code instantané (ou prex code, ou self-ponctuating code) s'il
vérifie la condition de préfixe : "aucun mot-code ne peut être le préfixe d'un autre mot-
code".
Exemple
Prenons le codage suivant :
Introduire 1110 serait rendre le code non instantané puisque 111 serait son préfixe. Si on
reçoit la séquence 01011111010, on peut directement, bit après bit, décoder l'arrivée de
nouveaux symboles, et traduire directement en abcdb sans qu'il ait fallu envoyer de bits
pour indiquer la séparation entre les symboles, ou sans qu'il ait fallu attendre plusieurs bit
excédentaires pour connaître l'identité d'un symbole.
Ci-dessus est représenté un schéma comprenant les différentes classes de codes, groupées
en ensembles. D'autres exemples sont donnés dans le tableau ci-dessous
Non singulier DFU instantané
X=a 0 10 0
X=b 010 00 10
X=c 01 11 110
X=d 10 110 111
8. Inégalité de Kraft-MacMillan
Il existe un code instantané de n mots de code et dont les longueurs des mots de code sont
les entiers positifs L1, L2, . . . , Ln si et seulement si :
Définition 1 :
Une source X est dite sans mémoire si sa loi de probabilité Px ne varie pas au cours du
temps. Son entropie est égale :
Définition 2 :
La longueur moyenne d'un code d'une source discrète sans mémoire est défini par:
L’efficacité d'un code ϕ d'une source discrète sans mémoire X est définie par