Massih-Reza Amini Université Joseph Fourier Laboratoire d Informatique de Grenoble
2/33 Introduction Mesure de l information Codage de source Table des matières 1 Introduction 2 Mesure de l information 3 Codage de source
3/33 Introduction Mesure de l information Codage de source Introduction aux systèmes de communication La théorie des communications s intéresse aux moyens de transmission d une information depuis une source jusqu à un récepteur à travers un canal. bruit source codeur canal décodeur récepteur La nature de la source peut être très variée: un signal électromagnétique, une séquence de symbole binaire ou une voix; Le canal peut être une ligne téléphonique, une liaison radio ou un support magnétique; La transmission peut se faire dans l espace ou dans le temps ; Le codeur représente l ensemble des opérations effectuées sur la sortie de la source avant la transmission: modulation, compression, le brouillage (rend compatible le signal au canal) ; Le décodeur restitue à partir de la sortie du canal, l information fournie par la source.
4/33 Introduction Mesure de l information Codage de source Introduction aux systèmes de communication La théorie de l information a été créée par Claude Shannon dans les années 40. Il s agit d une théorie mathématique qui décrit les plus fondamentaux des systèmes de communications Elle consiste en l élaboration et l étude de modèles pour la source et le canal qui utilisent différents outils comme les probabilités, les automates finis, etc. Dans ce cours, nous étudierons séparément les modèles de sources et les modèles de canaux ainsi que leurs codages respectifs.
5/33 Introduction Mesure de l information Codage de source Sources et codage et source Parmi les classes possibles de modèles de source, nous nous intéresserons plus particulièrement aux sources discrètes sans mémoire. La sortie d une telle source est une séquence de lettres tirées aléatoirement d après une loi de probabilité p indépendante du temps à partir d un alphabet fini A = {a 1,..., a n} Exemple : Soit une source d information S travaillant sur l alphabet suivant A = {a 1, a 2, a 3, a 4 }. Supposons qu il existe deux codages de source transformant cette information discrète en symboles binaires : Codage 1 Codage 2 a 1 00 a 1 0 a 2 01 a 2 10 a 3 10 a 3 110 a 4 11 a 4 111 Si S émet les caractères de l alphabet avec une distribution de probabilité uniforme, la longueur moyenne d un symbole codé par le codage 1 est inférieure à la longueur moyenne d un symbole codé par le codage 2. Si l on a une source qui émet les caractères avec la probabilité suivante; p(a 1 ) = 1 2, p(a 2) = 1 4, p(a 3) = p(a 4 ) = 1 8 Le deuxième codage réussit à coder quatre symboles avec moins de deux bits, par rapport au codage 1 (il réalise ainsi une compression).
6/33 Introduction Mesure de l information Codage de source Entropie d une source discrète Avec l outil des probabilités, on peut aussi établir un lien entre l information fournie par une source et la distribution de probabilité de la sortie de cette source. On part de l hypothèse que : l apparition d un événement peu probable apporte beaucoup d information tandis que l occurrence d un événement certain ne fournit au contraire aucune information. Si une lettre a, a une probabilité p(a) d être tirée, son information propre est définie par : I(a) = log 2 p(a) La valeur moyenne de l information propre calculée sur l ensemble de l alphabet, appelée entropie de la source, H(A) revêt une grande importance dans la théorie de l information H(A) = a A p(a) log 2 p(a) L entropie d une source est parfois donnée en bits/seconde, si l entropie d une source discrète est H et si les lettres sont émises toutes les τ s secondes, son entropie est H/τ s bits/s.
7/33 Introduction Mesure de l information Codage de source Entropie d une source discrète THÉORÈME. Soit (A, p) un espace probabilisé discret de cardinal n. Nous avons alors H(A) log 2 n avec l égalité ssi la loi de probabilité p est uniforme sur A.
8/33 Introduction Mesure de l information Codage de source Canaux et codage de canal Pour modéliser un canal de transmission, il est nécessaire de spécifier l ensemble des entrées et l ensemble des sorties possibles. le cas le plus simple est celui du canal discret sans mémoire. L entrée est une lettre prise dans un alphabet fini A = {a 1,..., a n} et la sortie est une lettre prise dans un autre ou même alphabet fini B = {b 1,..., b M }. Ces lettres sont émises en séquence, et, le canal est sans mémoire si chaque lettre de la séquence reçue ne dépend que de la lettre de même position. Un canal discret sans mémoire est entièrement décrit par la donnée des probabilités conditionnelles p(b a). Exemple : Le canal binaire symétrique: A = B = {0, 1} 1 p 0 0 p p 1 1 1 p
9/33 Introduction Mesure de l information Codage de source Capacité du canal L un des paramètres les plus importants pour décrire un canal est sa capacité. On peut montrer que l on peut transmettre de l information à travers un canal à n importe quel taux de transmission inférieur à sa capacité avec une probabilité d erreur arbitrairement faible. Le taux de transmission est le nombre de symboles émis en entrée divisé par le nombre de symboles reçus en sortie.
10/33 Introduction Mesure de l information Codage de source Mesure de l information En suivant le modèle probabiliste, fournir une information à un utilisateur consiste à choisir un événement parmi plusieurs possibles. Qualitativement fournir une information consiste à lever une incertitude sur l issue d une expérience aléatoire. La notion d information est donc inhérente à celle de probabilité conditionnelle. Considérons les événements {A = a} et {B = b}, la probabilité p(a b) peut être interprétée comme la modification apportée à la probabilité p(a) de l événement {A = a} lorsque l on reçoit l information que l événement {B = b} s est réalisée. Ainsi si p(a b) p(a), l incertitude sur a augmente; si p(a b) p(a), l incertitude sur a diminue; Ainsi l information b est réalisée diminue l incertitude sur a de la quantité appelée information mutuelle : I(a; b) = I(a) I(a b) = log 2 p(a b) p(a)
11/33 Introduction Mesure de l information Codage de source Information mutuelle I(a; b) = I(b; a) = log 2 p(a, b) p(a)p(b) I(a; b) > 0 signifie que si l un des deux événements se réalise, alors la probabilité de l autre augmente ; I(a; b) < 0 signifie que si l un des deux événements se réalise, alors la probabilité de l autre diminue ; I(a; b) = 0 signifie que les deux événements sont statistiquement indépendants. Exemple : Considérons le canal binaire symétrique de probabilité de transition p avec des entrées notées a 1, a 2 équiprobables et des sorites b 1, b 2. 1 p a 1 b 1 p p a 2 b 2 1 p Pour quelles valeurs de p l observation de b 1 (b 2 ) à la sortie du canal augmente (diminue) la probabilité d émission du symbole a 1?
12/33 Introduction Mesure de l information Codage de source Gain d information L information mutuelle moyenne, ou le gain d information entre deux alphabets A et B est l information mutuelle moyenne définie par I(A; B) = a A,b B p(a, b)i(a; b) = a A,b B p(a, b) log 2 p(a, b) p(a)p(b) PROPOSITION. Soit AB un espace probabilisé joint. Le gain d information I(A; B) de A et B est toujours positive ou nulle. Elle est nulle ssi A et B sont statistiquement indépendants. Ce résultat signifie essentiellement que, en moyenne, le fait de connaître la valeur de b dans B diminue toujours l incertitude sur A, sauf si A et B sont indépendants auquel cas aucune information n est apportée.
13/33 Introduction Mesure de l information Codage de source Code et codage Lorsque l on code une source discrète sans mémoire en une séquence binaire, le décodage devra permettre de retrouver la séquence des lettres émises par la source, à partir de la séquence codée binaire. On peut démontrer que le nombre minimal moyen de symboles binaires par lettre est égal à l entropie de la source. Exemple : Code Morse. En Morse, la lettre e, très fréquente, est représentée par le mot., tandis que la lettre q, moins fréquente est représentée par un mot plus long.. De tels codes sont dits codes à longueur variable, ou tout simplement code. Si A est un alphabet fini, on note A est l ensemble des mots sur l alphabet A. On appellera codage d une source discrète une application injective qui associe à chaque séquence finie de lettres de la source une séquence binaire finie : c : A {0, 1} Le codage d un mot u = u 1... u n est alors le mot c(u 1 )... c(u n)
14/33 Introduction Mesure de l information Codage de source Code On note l ensemble des codes possibles des lettres L efficacité du code est définie par Où m = a A p(a) c(a) C = {c(a) a A} E = H(A) m Un ensemble de mots finis de C sur un alphabet A est appelé code. Un code est à déchiffrage unique ssi que pour tous mots u 1,..., u n, v 1,..., v m de C, u 1... u n = v 1... v m implique n = m et i {1,..., n}; u i = v i.
15/33 Introduction Mesure de l information Codage de source Codage avec un code de longueur fixe Si une source a pour cardinal n, il est alors possible de la coder avec un code de longueur fixe m tel que log 2 n m < log 2 n + 1 L efficacité E d un code de longueur m est égale à H(A), comme m H(A) log 2 n on a E 1 et E = 1 ssi H(A) = log 2 n, c est-à-dire les lettres de la source sont équiprobables m = log 2 n, c est-à-dire le cardinal de la source est une puissance de 2 Exemple : Soit une source dont l alphabet est A = {0, 1,..., 9} munie de la loi de probabilité uniforme. On code cette source par une code de longueur fixe de longueur 4 0 1 2 3 4 5 6 7 8 9 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 Quelle est l efficacité de ce code? Peut-on l améliorer?
16/33 Introduction Mesure de l information Codage de source Codes non-ambigus On dit que le code d une source discrète est non-ambigu si et seulement si chaque séquence (de longueur finie) de mots de code ne correspond qu à un seul message de la source. Exemple de code ambigu Considérons la source avec l alphabet suivant A = {a, b, c}. Les messages de cette source peuvent être n importe quelle séquence de ces symboles ; par exemple aabca est un message de cette source. Le codage suivant de cette source: a 1, b 00, c 11 est ambigu. (il n y a par exemple pas de moyen de distinguer le message aaaa de cc). Le codage suivant de cette source : a 1, b 00, c 10 est non-ambigu. (Par exemple, la séquence 10000 se décode abb et la séquence 1000 se décode cb.)
17/33 Introduction Mesure de l information Codage de source Codes sans préfixe Parmi les codes non-ambigus, certains présentent un intérêt particulier. Ce sont les codes sans préfixe. On dit qu une séquence z de longueur n (n 1) est un préfixe d une autre séquence z si et seulement si les n premiers symboles de z forment exactement la séquence z. Par exemple, abba est un préfixe de abbabc. On dit que le code d une source discrète est sans préfixe lorsqu aucun mot de code n est le préfixe d un autre mot de code. Plus formellement, on dit qu un code Z dont l alphabet est Z et dont l ensemble de mots de ce code est V Z est sans préfixe si et seulement si z V Z, y Z (zy V Z y = ɛ) ɛ représentant la chaîne vide, c est à dire la chaîne de longueur 0.
18/33 Introduction Mesure de l information Codage de source Exemple de code sans préfixe Codes sans préfixe Considérons la source avec l alphabet suivant A = {a, b, c}. Le codage suivant de cette source: a 0, b 10, c 11 est sans préfixe. Le codage suivant de cette source : a 1, b 00, c 10 n est pas sans préfixe puisque 1 est un préfixe de 10 (alors qu il est non ambigu). Tout code sans préfixe est non-ambigu (alors que l inverse n est pas vraie). On dit qu un code est instantané si et seulement si chaque mot de code dans tout chaîne de mots de code peut être décodé dès que l on a atteint sa fin. Un code est instantané si et seulement si il est sans préfixe 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é.
19/33 Introduction Mesure de l information Codage de source Exemple Codes sans préfixe Considérons la source avec l alphabet suivant A = {1, 2, 3, 4}, avec la distribution de probabilité suivante : e i 1 2 3 4 P(X = e i ) 0.5 0.25 0.125 0.125 Considérons donc le codage suivant de cette source, (ou z i est le mot de code pour e i ) : 1. Calcule l entropie de la source. z 1 z 2 z 3 z 4 0 10 110 111 2. Le code proposé est-il non-ambigu? 3. Codez le message 1234412. 4. Décodez la séquence 1001101010. 5. Quelle est l efficacité de ce code?
20/33 Introduction Mesure de l information Codage de source Exemple Codes sans préfixe Considérons la source avec l alphabet suivant A = {1, 2, 3, 4}, avec la distribution de probabilité suivante : e i 1 2 3 4 P(X = e i ) 0.5 0.25 0.125 0.125 Considérons donc le codage suivant de cette source, (ou z i est le mot de code pour e i ) : 1. Calcule l entropie de la source. z 1 z 2 z 3 z 4 0 10 110 111 2. Le code proposé est-il non-ambigu? 3. Codez le message 1234412. 4. Décodez la séquence 1001101010. 5. Quelle est l efficacité de ce code?
21/33 Introduction Mesure de l information Codage de source Arbres k-aires pour le codage L outil le plus utile à l étude des codes instantanés est sans doute les arbres k-aires. nœuds intérieurs racine profondeur, d = 3 feuilles Un arbre est un graphe (nœuds et arcs) qui commence par un nœud racine (ou racine). Chaque nœud du graphe est soit une feuille, soit un nœud intérieur. Un nœud intérieur a un ou plusieurs fils et est appelé le parent de ses fils. L arité est le nombre de fils d un nœud. Un nœud feuille est un nœud sans fils.
22/33 Introduction Mesure de l information Codage de source Arbres k-aires pour le codage Un arbre k-aire (k 1) est un arbre dans lequel chaque nœud intérieur a comme arité k, c est à dire qu il a exactement k fils. Un arbre k-aire complet est un arbre k-aire dans lequel toutes les feuilles ont la même profondeur. Arbre ternaire (k = 3) Arbre ternaire complet Propriété K. Dans l arbre k-aire complet de profondeur d 0, chaque nœud à la profondeur δ(δ 0 d) couvre exactement k d δ feuilles
23/33 Introduction Mesure de l information Codage de source Arbres de codage Un arbre de codage est un arbre k aire, dont les arcs sont étiquetés par des lettres d un alphabet donné de taille k, de façon à 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. Exemple : Arbre binaire correspondant au Code Morse. -. E -. T - I A N M. -. -. -. - S U R W D K G. -... -. -. -. - H V F L P J B X C Y Z Q O
24/33 Introduction Mesure de l information Codage de source Arbres de codage Un code avec un alphabet de taille k est appelé un code k-aire. Propriété. Pour tout code instantané k-aire, il existe au moins un arbre de codage k-aire tel que chaque mot de code corresponde à la séquence d étiquettes d un chemin (unique) de la racine à une feuille. Inversement, chaque arbre de codage définit un code instantané. Les mots de code instantané sont définis comme les séquences d étiquettes de chaque chemin de la racine à chaque feuille de l arbre de codage. Exemple : L arbre de codage correspondant au code instantané {00, 01, 10, 111} est 00 01 10 111
25/33 Introduction Mesure de l information Codage de source Inégalité de Kraft THÉORÈME : Inégalité de Kraft Il existe un code instantané k-aire de N mots de code et dont les longueurs des mots de code sont les entiers positifs l 1, l 2,..., l N si et seulement si N k l i 1 (1) i=1 Lorsque l égalité se réalise, le code instantané correspondant est complet. Exemple 1. Calculer la somme intervenant dans la partie gauche de l inégalité de (Eq. 1); pour le code instantané binaire {00, 01, 10, 111}. 2. D après l inégalité de Kraft, existe-il un code instantané ternaire dont les longueurs de mots de code sont 1, 2, 2 et 4? 3. Un tel code est-il complet?
26/33 Introduction Mesure de l information Codage de source Inégalité de Kraft Piège à éviter Le piège à éviter avec le théorème précédent est que le théorème nous apprend uniquement quand un code instantané peut exister, mais il ne répond absolument pas à la question est-ce qu un code donné est instantané? Par exemple, le code {0, 00, 10} n est pas instantané mais on a bien 2 1 + 2 2 + 2 2 = 1 Mais le théorème dit bien qu il existe un code instantané de longueur de codes respectifs 1,2 et 2 (par exemple {0, 10, 11}).
27/33 Introduction Mesure de l information Codage de source Inégalité de Kraft, démonstration : Supposons tout d abord qu il existe un code instantané k-aire dont les longueurs de mots de code sont l 1, l 2,..., l N. Soit L = max i l i + 1, considérons la construction de l arbre de codage correspondant de profondeur d qui consiste à élaguer l arbre k aire de profondeur L. On peut alors montrer facilement N i=1 k l i 1 en utilisant la propriété K (p. 22). L = 4 00 01 10 111
28/33 Introduction Mesure de l information Codage de source Inégalité de Kraft, démonstration : Supposons que l 1, l 2,..., l N soient des entiers positifs tel que l inéquation (Eq. 1) est vérifiée. Soit L = max i l i, et n j le nombre de ces l i qui sont égaux à j (1 j L). On peut alors montrer que pour 0 i L 1 L i 1 n L i k L i n j k L j i Ces inégalités constituent le point-clé de la construction d un code avec des longueurs de mots de code l 1,..., l N, l algorithme associé est simple : Pour i de 1 à L On assigne chaque mot de code à un nœud de profondeur courante i; On étend tous les nœuds restants de profondeur courante avec k fils; Fin Pour Ce faisant, le nombre de nœdus qui sont étendus est k i j i n jk i j, menant à k i+1 j i n jk i+1 j nouveaux nœdus pour l étape suivante. D après l inégalité précédente ce nombre est plus grand que n i+1 laissant ainsi suffisamment de nœds pour l étape suivante. j=1
29/33 Introduction Mesure de l information Codage de source Inégalité de Kraft Exemple 1. Existe-t-il un code binaire instantané avec des longueurs de mots de code l 1 = 2, l 2 = 2, l 3, l 4 = 3, et l 5 = 4? 2. Proposer un tel code. 3. Existe-t-il un code binaire instantané avec des longueurs de mots de code 1, deux fois 2, 3, et 4? 4. Existe-t-il un code ternaire instantané avec des longueurs de mots de code 1, deux fois 2, 3, et 4?
30/33 Introduction Mesure de l information Codage de source Code efficace Quand on code une source d information le but est de minimiser la longueur moyenne de codage; Généralement minimiser la longueur moyenne de code équivaut à minimiser l espérance de la longueur de code. Rappel : Si on suppose que le symbole-source a i (1 i n) a un probabilité p i d être émis, et si on dénote l i la longueur du mot de code correspondant, l espérance de la longueur de code E(L) est : E(L) = m = n p i l i Parmi tous les codes possibles, nous recherchons des codes instantanés tels que E(L) soit aussi petit que possible. Il est ainsi évident que nous devrions assigner les mots de code les plus courts aux symboles-source les plus probables... mais comment savoir quelles longueurs de mots de codes utiliser? Quel est le plus petit E(L) à pouvoir être atteint? i=1
31/33 Introduction Mesure de l information Codage de source Théorème de Shannon sur le codage THÉORÈME : Théorème de Shannon sur le codage Pour toute source d information discrète sans mémoire d entropie H(A), l espérance de la longueur de code E(L) de tout code k-aire instantané pour cette source satisfait : E(L) H(A) (2) log 2 k Exemple Considérons une source d information d alphabet A = {1, 2, 3, 4}, avec la distribution de probabilité suivante : e i 1 2 3 4 P(X = e i ) 0.5 0.25 0.125 0.125 Considérons le codage suivant de cette source z 1 z 2 z 3 z 4 0 10 110 111 1. Quelle est l espérance de la longueur de ce code? 2. Ce code est-il efficace (optimal du point de vue de l espérance de la longueur de code)?
32/33 Introduction Mesure de l information Codage de source Codes instantanés de Shannon-Fano Le code de Shannon-Fano prend pour chaque symbole e i A, un code de longueur l i = log 2 p i log 2 k Exemple 1. Montre qu un tel code instantané existe toujours. 2. Montrer E(L) < H(A) + 1 (À quel point un tel code est-il bon)? log 2 k THÉORÈME : Théorème de Shannon sur le codage (2ème partie) Pour toute source d information discrète sans mémoire d entropie, il existe au moins un code instantané k-aire dont l espérance de la longueur de code satisfait : E(L) < H(A) log 2 k + 1
33/33 Introduction Mesure de l information Codage de source Théorème du codage sans bruit de Shannon Partie 1: Pour toute source d information sans mémoire discrète d entropie H(A), et pour tout code k-aire instantané de cette source, la longueur moyenne du code E(L) vérifie : E(L) H(A) log 2 k Partie 2: Pour toute source d information sans mémoire discrète d entropie H(A), il existe au moins un code k-aire instantané dont la longueur moyenne E(L) vérifie : E(L) < H(A) log 2 k + 1 Piège 1: La première partie du théorème vaut pour les codes sans préfixes, des codes ambigus peuvent descendre en-dessous de la limite. Par exemple e i 1 2 3 4 P(X = e i ) 0.25 0.25 0.25 0.25 z i 0 1 01 001 Piège 2 : La seconde patrie donne une borne supérieure pour les codes optimaux, d autres codes sous optimaux peuvent être plus longs. e i 1 2 3 4 P(X = e i ) 0.25 0.25 0.25 0.25 z i 0011 1010 0111 1111