Etude et Implementation logiciel des codes...
Transcript of Etude et Implementation logiciel des codes...
![Page 1: Etude et Implementation logiciel des codes fontainesdepartements.imt-atlantique.fr/data/sc/seminaires/... · 2010. 7. 12. · 21 Interprétation • Le décodeur proposé par Luby](https://reader035.fdocuments.in/reader035/viewer/2022071413/610ac080fe0b2350195ea26a/html5/thumbnails/1.jpg)
1
Etude et Etude et ImplémentationImplémentationlogiciellelogicielle
des codes fontainesdes codes fontaines
Ali BAZZIAli BAZZI
Encadrant: Mme Catherine DOUILLARD
![Page 2: Etude et Implementation logiciel des codes fontainesdepartements.imt-atlantique.fr/data/sc/seminaires/... · 2010. 7. 12. · 21 Interprétation • Le décodeur proposé par Luby](https://reader035.fdocuments.in/reader035/viewer/2022071413/610ac080fe0b2350195ea26a/html5/thumbnails/2.jpg)
22
IntroductionIntroduction
• canaux à effacement
• Fontaine linéaire
•Codes LT
•Codes raptor
•Implémentation des codes LT
•Résultats
•Conclusion
![Page 3: Etude et Implementation logiciel des codes fontainesdepartements.imt-atlantique.fr/data/sc/seminaires/... · 2010. 7. 12. · 21 Interprétation • Le décodeur proposé par Luby](https://reader035.fdocuments.in/reader035/viewer/2022071413/610ac080fe0b2350195ea26a/html5/thumbnails/3.jpg)
33
Canal à effacementCanal à effacement
0
1
0
1
*
1-f
1-f
f
f
• f : probabilité d’effacement
• Les fichiers émis sont découpés en paquets, et chaque paquet est reçu sans erreur ou bien n’est pas reçu.
• Une transition de ‘0’ vers ‘1’ ou de ‘1’ vers ‘0’ est impossible
• Grande importance : transmission de fichiers sur internet.
![Page 4: Etude et Implementation logiciel des codes fontainesdepartements.imt-atlantique.fr/data/sc/seminaires/... · 2010. 7. 12. · 21 Interprétation • Le décodeur proposé par Luby](https://reader035.fdocuments.in/reader035/viewer/2022071413/610ac080fe0b2350195ea26a/html5/thumbnails/4.jpg)
44
Message source
codeur
Seaux numériques
•Digital FountainDigital Fountain::
– Les K Symboles d’informations peuvent être récuperés à partir de n’importe quels N symboles codés
–Idéalement, le processus de codage et de décodage necessite un petit overhead (N ≥ K)
Fontaine linéaire aléatoireFontaine linéaire aléatoire
![Page 5: Etude et Implementation logiciel des codes fontainesdepartements.imt-atlantique.fr/data/sc/seminaires/... · 2010. 7. 12. · 21 Interprétation • Le décodeur proposé par Luby](https://reader035.fdocuments.in/reader035/viewer/2022071413/610ac080fe0b2350195ea26a/html5/thumbnails/5.jpg)
55
CodageCodage
1
1
1
11
1
1
11
1
1
11
1
1
1
1
11
1
1
11
1
11
1
11
1
1
1
11
11
1
1
1
1
1
1
1
1
1
11
1
1
11
1
1
1
1
1
1 1
1
11
1
11
1
1
11
1
1
11
1
1
11
1
11
1
1
1
11
1
1
1
1
1
111
K=10paquets
N= illimitée
Sans rendement
Paquets reçus Paquets effacés
tj = siGij
![Page 6: Etude et Implementation logiciel des codes fontainesdepartements.imt-atlantique.fr/data/sc/seminaires/... · 2010. 7. 12. · 21 Interprétation • Le décodeur proposé par Luby](https://reader035.fdocuments.in/reader035/viewer/2022071413/610ac080fe0b2350195ea26a/html5/thumbnails/6.jpg)
66
DécodageDécodage N < K : on n’ a pas l’information suffisante pour récupérer
l’information
N = K : La récupération est possible si la matrice génératrice KxK est inversible
La probabilité que cette matrice soit inversible vaut:
P = (1-2-K)(1-2-(K-1)) … (1-1/8)(1-1/4)(1-1/2)
P ≈ 0.289 pour K > 10
Mais… on veut que P soit proche de 1
![Page 7: Etude et Implementation logiciel des codes fontainesdepartements.imt-atlantique.fr/data/sc/seminaires/... · 2010. 7. 12. · 21 Interprétation • Le décodeur proposé par Luby](https://reader035.fdocuments.in/reader035/viewer/2022071413/610ac080fe0b2350195ea26a/html5/thumbnails/7.jpg)
77
Si Si N est légèrement supérieur à K:N est légèrement supérieur à K:
Prenons : Prenons : N=K+EN=K+E EE: nb de paquets en excès.: nb de paquets en excès.
La question sera: Quelle est la probabilité de trouver une La question sera: Quelle est la probabilité de trouver une matrice inversible matrice inversible KKxxKK dans notre matrice génératrice dans notre matrice génératrice KKxxNN ? ?
cette probabilité est : cette probabilité est : PP=1-=1- : Probabilité d’échec: Probabilité d’échec
En traçant En traçant en fonction de E en fonction de E
on obtient une borne supérieureon obtient une borne supérieure (E) ≤ 2(E) ≤ 2- E- E
donc si donc si NN = = KK+log+log221/1/ on a probabilité de récupération au moins on a probabilité de récupération au moins égale à égale à P = 1- P = 1-
Décodage
![Page 8: Etude et Implementation logiciel des codes fontainesdepartements.imt-atlantique.fr/data/sc/seminaires/... · 2010. 7. 12. · 21 Interprétation • Le décodeur proposé par Luby](https://reader035.fdocuments.in/reader035/viewer/2022071413/610ac080fe0b2350195ea26a/html5/thumbnails/8.jpg)
88
Codes LT Codes LT Le code LT est la première réalisation d’unLe code LT est la première réalisation d’uncode sans rendement. C’est également lacode sans rendement. C’est également lapremière réalisation pratique des codes première réalisation pratique des codes fontaines. fontaines.
Il conserve les bonnes performances des codes Il conserve les bonnes performances des codes présentés avant sous forme matricielle, tout en présentés avant sous forme matricielle, tout en présentant une nette réduction de complexité de présentant une nette réduction de complexité de codage et de décodage(le temps de calcul est codage et de décodage(le temps de calcul est proportionnelle à proportionnelle à OO(ln(lnKK) par symbole codé et ) par symbole codé et OO((KKlnlnKK) ) pour le décodage).pour le décodage).
![Page 9: Etude et Implementation logiciel des codes fontainesdepartements.imt-atlantique.fr/data/sc/seminaires/... · 2010. 7. 12. · 21 Interprétation • Le décodeur proposé par Luby](https://reader035.fdocuments.in/reader035/viewer/2022071413/610ac080fe0b2350195ea26a/html5/thumbnails/9.jpg)
99
Codage des codes LTCodage des codes LT
• Le fichier à transmettre est découpé en K blocs de l bits. • Tant que le récepteur le demande, la source envoie des combinaisons aléatoires de blocs construits comme suit :
•On tire un degré aléatoire i entre 1 et K selon une distribution de probabilité μ. Puis on tire aléatoirement i blocs Bx,…, By appelés voisins et on envoie le ou exclusif bit à bit des i blocs C=Bx … By.
1
3
2
2
SymbolesDe donnée
Symbolescodés
1
0
0
1
1
0
1
![Page 10: Etude et Implementation logiciel des codes fontainesdepartements.imt-atlantique.fr/data/sc/seminaires/... · 2010. 7. 12. · 21 Interprétation • Le décodeur proposé par Luby](https://reader035.fdocuments.in/reader035/viewer/2022071413/610ac080fe0b2350195ea26a/html5/thumbnails/10.jpg)
1010
Décodage des codes LTDécodage des codes LT
• Chaque combinaison de degré 1 est la copie d'un bloc original qui est donc retrouvé.
• Chaque bloc retrouvé est combiné par ou exclusif aux combinaisons auxquelles il est relié puis il est effacé du graphe, diminuant ainsi les degrés des combinaisons
1 1 0 1
1
![Page 11: Etude et Implementation logiciel des codes fontainesdepartements.imt-atlantique.fr/data/sc/seminaires/... · 2010. 7. 12. · 21 Interprétation • Le décodeur proposé par Luby](https://reader035.fdocuments.in/reader035/viewer/2022071413/610ac080fe0b2350195ea26a/html5/thumbnails/11.jpg)
1111
Décodage des codes LTDécodage des codes LT
• Chaque combinaison de degré 1 est la copie d'un bloc original qui est donc retrouvé.
• Chaque bloc retrouvé est combiné par ou exclusif aux combinaisons auxquelles il est relié puis il est effacé du graphe, diminuant ainsi les degrés des combinaisons
1 00 0
1 0 0
![Page 12: Etude et Implementation logiciel des codes fontainesdepartements.imt-atlantique.fr/data/sc/seminaires/... · 2010. 7. 12. · 21 Interprétation • Le décodeur proposé par Luby](https://reader035.fdocuments.in/reader035/viewer/2022071413/610ac080fe0b2350195ea26a/html5/thumbnails/12.jpg)
1212
Décodage des codes LTDécodage des codes LT
•Il s'avère que la distribution statistique des degrés est la partie critique de sa conception.
• Le processus de décodage ne peut pas commencer tant qu’il n’a pas reçu de combinaison de degré un, ceci signifie que des bonnes performances nécessitent une bonne distribution des degrés.
![Page 13: Etude et Implementation logiciel des codes fontainesdepartements.imt-atlantique.fr/data/sc/seminaires/... · 2010. 7. 12. · 21 Interprétation • Le décodeur proposé par Luby](https://reader035.fdocuments.in/reader035/viewer/2022071413/610ac080fe0b2350195ea26a/html5/thumbnails/13.jpg)
1313
La distribution soliton idéale: ρ(1)=1/K ρ(i)=1/i(i-1) pour 2≤ i≤ K.
On définit la distribution suivante: τ(i)=S/iK pour 1≤ i < K/S τ(K/S)=S/K ln(S/δ)• τ(i) = 0 pour i > K/S.
où S=c loge (K/δ) √K
On ajoute ensuite ρ à τ, puis on normalise pour obtenir la distribution soliton robuste µ :µ (i) = (ρ(i) + τ(i)) / β pour 2≤ i≤ K. où β = ∑1≤ i≤ k ( ρ(i) + τ(i) )
Le problème de la distribution Le problème de la distribution des degrésdes degrés
![Page 14: Etude et Implementation logiciel des codes fontainesdepartements.imt-atlantique.fr/data/sc/seminaires/... · 2010. 7. 12. · 21 Interprétation • Le décodeur proposé par Luby](https://reader035.fdocuments.in/reader035/viewer/2022071413/610ac080fe0b2350195ea26a/html5/thumbnails/14.jpg)
1414
Le problème de la Le problème de la distribution des degrésdistribution des degrés
![Page 15: Etude et Implementation logiciel des codes fontainesdepartements.imt-atlantique.fr/data/sc/seminaires/... · 2010. 7. 12. · 21 Interprétation • Le décodeur proposé par Luby](https://reader035.fdocuments.in/reader035/viewer/2022071413/610ac080fe0b2350195ea26a/html5/thumbnails/15.jpg)
1515
Codes raptorCodes raptor
• Inventés par Shokrollahi.
• Les codes raptor basent leur principe sur les codes LT.
• On y adjoint une ou plusieurs étapes préliminaires de codage avant de coder finalement en utilisant les codes LT.
• Ils ont des performances proches de l’optimum: Le nombre de symboles codés N nécessaires pour récupérer les K symboles de donnée est inférieur à celui demandé par le codage LT.
![Page 16: Etude et Implementation logiciel des codes fontainesdepartements.imt-atlantique.fr/data/sc/seminaires/... · 2010. 7. 12. · 21 Interprétation • Le décodeur proposé par Luby](https://reader035.fdocuments.in/reader035/viewer/2022071413/610ac080fe0b2350195ea26a/html5/thumbnails/16.jpg)
1616
Codes raptorCodes raptor
pré-codage (par exemple Hamming, LDPC)
codage LT
Symboles de donnée
Symboles codés
• Les meilleures performances ont été obtenues avec un pré codageLDPC (Low Density Parity Check)
![Page 17: Etude et Implementation logiciel des codes fontainesdepartements.imt-atlantique.fr/data/sc/seminaires/... · 2010. 7. 12. · 21 Interprétation • Le décodeur proposé par Luby](https://reader035.fdocuments.in/reader035/viewer/2022071413/610ac080fe0b2350195ea26a/html5/thumbnails/17.jpg)
1717
Codes raptorCodes raptor
• Une forme intéressante des codes raptor est la version systématique(donnée par Shokrollahi).
• Le codeur reproduit directement les symboles de données.
• Avec la forme systématique on obtient de bonnes performances. De plus on obtient des codes ayant des temps de codage et de décodage proportionnels respectivement à 1 et K.
![Page 18: Etude et Implementation logiciel des codes fontainesdepartements.imt-atlantique.fr/data/sc/seminaires/... · 2010. 7. 12. · 21 Interprétation • Le décodeur proposé par Luby](https://reader035.fdocuments.in/reader035/viewer/2022071413/610ac080fe0b2350195ea26a/html5/thumbnails/18.jpg)
1818
• Le fichier à transmettre est découpé en K blocs de l bits.
• Un générateur de nombres affecte une clé à chaque symbole codé.
• A partir de la clé, le codeur détermine le poids W du symbole codé (le nombre de symboles d’entrée à partir desquels un symbole codé est obtenu par une opération ou exclusif bit à bit).
• Avant de transmettre, on ajoute au symbole codé les bits correspondants à sa clé.
Implémentation Du CodeurImplémentation Du Codeur Des Codes LT Des Codes LT
![Page 19: Etude et Implementation logiciel des codes fontainesdepartements.imt-atlantique.fr/data/sc/seminaires/... · 2010. 7. 12. · 21 Interprétation • Le décodeur proposé par Luby](https://reader035.fdocuments.in/reader035/viewer/2022071413/610ac080fe0b2350195ea26a/html5/thumbnails/19.jpg)
1919
•Le décodeur doit comporter le même générateur de poids que celui du codeur, pour qu’à partir de la clé on puisse retrouver le poids et les voisins du symbole codé.
•Le décodeur contient un buffer, dans lequel on va mettre chaque symbole codé lorsqu’il arrive, la taille de ce buffer doit être suffisante pour stocker N symboles, on réserve 2K places pour les symboles codés
implémentation du implémentation du décodeur des codes LT décodeur des codes LT
![Page 20: Etude et Implementation logiciel des codes fontainesdepartements.imt-atlantique.fr/data/sc/seminaires/... · 2010. 7. 12. · 21 Interprétation • Le décodeur proposé par Luby](https://reader035.fdocuments.in/reader035/viewer/2022071413/610ac080fe0b2350195ea26a/html5/thumbnails/20.jpg)
2020
Résultats Résultats K = 5009 K = 10 007 K = 30 111
N overhead % N overhead % N overhead %
6105 21.88 12 120 21.11 36 382 20.8
6240 24.57 12 060 20.5 36 545 21
6131 22.3 12 190 21.8 36 259 20.4
6089 21.56 12 103 20.9 36 106 19.9
6023 20.24 12 225 22.1 36 150 20.05
6083 21.44 12 039 20.3 36 103 19.89
6094 21.66 12 164 21.55 36 445 21
6075 21.28 12 064 20.55 35 904 19.23
6124 22.25 12 096 20.87 36 329 20.65
6071 21.2 12 032 20.23 36 546 21.37
Moyenne 6103 21.84 12 109 20.99 36 277 20.47
K/N 0.821 0.826 0.830
Probabilité d’effacement= 0.05Donc limite de shannon=1-0.05=
0.95
![Page 21: Etude et Implementation logiciel des codes fontainesdepartements.imt-atlantique.fr/data/sc/seminaires/... · 2010. 7. 12. · 21 Interprétation • Le décodeur proposé par Luby](https://reader035.fdocuments.in/reader035/viewer/2022071413/610ac080fe0b2350195ea26a/html5/thumbnails/21.jpg)
2121
InterprétationInterprétation
• Le décodeur proposé par Luby est basé sur la transmission d’un nombre N fixé de paquets codés qui sera stockés dans la mémoire du récepteur avant de commencer la récupération.
•La différence entre les résultats obtenus et les résultats escomptés est, semble-t’il, liée au processus pseudo-aléatoire de tirage des voisins permettant de construire chacun des paquets codés.
•Il s’agit là de la propriété intellectuelle de la compagnie Digital Fountain, Inc. et ces informations n’ont pas été divulguéespar l’auteur.
![Page 22: Etude et Implementation logiciel des codes fontainesdepartements.imt-atlantique.fr/data/sc/seminaires/... · 2010. 7. 12. · 21 Interprétation • Le décodeur proposé par Luby](https://reader035.fdocuments.in/reader035/viewer/2022071413/610ac080fe0b2350195ea26a/html5/thumbnails/22.jpg)
2222
Conclusion Conclusion
• On a étudié les différentes familles des codes fontaines sur les canaux à effacements.
• La première version de ces codes appelés codes LT a été implémenté en langage C
• Les performances obtenues sont en partie cohérentes avec les résultats présentés par l’inventeur de ces codes.
• Le programme peut être amélioré, d’une part en fixant a priori la taille des séquences transmises comme proposé dans le décodeur de Luby, d’autre part en améliorant la méthode de génération pseudo-aléatoire des blocs codés.
• Une étape suivante du travail consisterait à mettre en œuvre la famille la plus récente de code fontaine appelée codes raptors avec différents types de précodage.