Brevet FR2873518A1 — publié le 20060127

Procédé de codage et de décodage d'une séquence de mots, signal, codeur, décodeur, programmes d'ordinateur et moyens de stockage correspondants. 1. Domaine de l'invention La présente invention se rapporte au domaine des télécommunications. Plus précisément, l'invention concerne un dispositif et un procédé de codage adapté, notamment, à une transmission de données à haut débit sur une liaison filaire, notamment dans un environnement domestique ou bureautique. 2. Description de l'art antérieur. Pour des applications de transmission de données en environnement intérieur et extérieur, certaines contraintes doivent être respectées pendant la phase d'émission et de transmission des données, limitant notamment le spectre de rayonnement. Ces contraintes s'appliquent particulièrement aux transmissions en environnement domestique ou bureautique. Ainsi, conformément aux normes de compatibilité électromagnétique en vigueur, le spectre de rayonnement doit satisfaire un gabarit limitant les rayonnements au-delà de 30MHz. Certains procédés de codage sont utilisés pour les transmissions de données en environnement intra-bâtiment, permettant notamment de limiter les rayonnements au-delà de 30MHz, tout en fournissant un débit élevé. Ainsi un premier codage, le codage MLT3, de l'anglais MulTiLevel 3 pour multi niveaux , décrit plus particulièrement dans la norme IEEE802.3, est utilisé, par exemple dans les interfaces de type 100BaseT. Dans ce codage, les bits de valeur '1' correspondent à une transition, tandis que les bits de valeur 0' correspondent à une absence de transition. Ainsi, seuls les bits égaux à 1' font changer le signal d'état. Ils sont codés successivement sur 3 états, comme par exemple V, 0, +V. Les bits de valeur 0' sont quant à eux codés en conservant la valeur précédemment transmise. Le principal avantage du codage MLT3 est de diminuer fortement la fréquence nécessaire pour un débit donné grâce à l'utilisation de 3 états. Par exemple, pour un débit voisin de 100Mbit/s, la fréquence parasite maximale du signal est d'environ 25MHz. Un inconvénient majeur de ce code provient des longues suites de bits égaux à 0' apparaissant dans ce code et pouvant entraîner une perte ou un déphasage de l'horloge du récepteur. Pour remédier à ce problème, les données codées sont brassées avant d'être transmises, ce qui diminue les améliorations apportées par ce code. Par ailleurs, la distance de Hamming entre les mots de code valides étant très faible (égale à un), les erreurs de transmission sont facilitées, des erreurs pouvant intervenir soit au niveau du codage, soit au niveau du brassage. On risque alors d'accepter des mots de code non valides ou de rejeter des mots de code valides. Finalement, ce code permet difficilement de contrôler le spectre de rayonnement, et ne présente pas de propriétés de détection ou de correction d'erreurs particulièrement intéressantes. D'autres procédés de codage permettant d'obtenir un spectre de rayonnement respectant en partie la limitation des rayonnements au-delà de 30MHz sont aussi envisagés selon l'art antérieur. Ces procédés de codage permettent d'annuler, en moyenne ou pour chaque symbole transmis, la composante continue des données à transmettre. L'annulation de cette composante continue (encore appelée DC balancing en anglais pour composante continue équilibrée ) permet d'obtenir un spectre de rayonnement respectant en partie un gabarit imposé par des normes d'émission intra-bâtiment, limitant les rayonnements au-delà de 30MHz. Un tel procédé est, par exemple, le codage de Widmer et Franaszek (A. X. Widmer and P.A. Franaszek, IBM Journal of Research and Development, Vol. 27 no. 5, p.440, September 1983), utilisé dans la norme IEEE 1394b. Ce codage permet d'obtenir des mots de 10 bits à partir de mots de 8 bits, en utilisant une technique de DC balancing . Cette technique permet d'annuler la composante continue en moyenne, et non pas sur chaque symbole transmis. Cependant, elle présente l'inconvénient d'autoriser les transitions successives. Il en résulte un rayonnement non négligeable au-delà de 30MHz. Le spectre ne satisfait pas alors entièrement au gabarit spécifié dans les normes d'émission de fréquences. Ce code ne répond donc qu'en partie aux contraintes spécifiées. 3. Objectifs de l'invention L'invention selon ses différents aspects a notamment pour objectif de pallier ces inconvénients de l'art antérieur. Plus précisément, un objectif de l'invention est de fournir un procédé de codage pour une transmission de données permettant de transmettre un signal tout en limitant le rayonnement à l'émission et permettant une reconstruction d'une horloge à partir du signal de données, reçu. En particulier, dans le cas d'une transmission filaire, un objectif de l'invention est de fournir un tel procédé permettant de limiter le rayonnement et les atténuations dans des fils de transmission, et notamment dans des câbles. Un autre objectif de l'invention est de fournir un tel procédé de codage qui permette des transmissions de données à haut débit. L'invention a également pour objectif de proposer un procédé facile à implémenter en émission et en réception, et présentant un faible coût. 4. Présentation de l'invention Ces objectifs, ainsi que d'autres qui apparaîtront par la suite, sont atteints à l'aide d'un procédé de codage d'une séquence de mots source. Selon l'invention, un tel procédé de codage comprend une étape de sélection d'une fonction de codage à appliquer à un mot source à coder en fonction du contenu du mot à coder et d'au moins un mot source précédent dans la séquence de sorte que la concaténation de deux mots codés consécutifs ne possède pas d'élément binaire, dit élément binaire isolé, encadré par deux éléments binaires qui ont une valeur différente de l'élément binaire isolé. Ce procédé comprend également une étape de codage du mot à coder mettant en oeuvre la fonction de codage sélectionnée. Selon un mode de réalisation préférentiel de l'invention, un mot est une suite d'élément binaires, et une séquence de mots est le résultat d'une concaténation de mots. Ainsi, l'invention permet non seulement de limiter le nombre d'éléments binaires isolés à l'intérieur d'un mot codé mais également dans toute séquence de mots codés. De cette manière, le spectre d'un signal émis correspondant à une séquence de mots codés est réduit pour une vitesse de transmission donnée. Néanmoins, il est toujours possible de retrouver l'horloge de transmission à partir du signal émis par un codeur puis reçu par un décodeur, des transitions pouvant apparaître tous les deux, trois, quatre, ... éléments binaires dans une séquence de mots codés. De manière avantageuse, ladite étape de codage dudit mot à coder produit un mot codé de longueur fixe en fonction de la longueur du mot à coder. Préférentiellement, ladite étape de sélection d'une fonction de codage tient compte dudit élément binaire du dernier mot codé, le premier élément binaire du résultat de l'application de ladite fonction de codage à ladite séquence source à coder étant égal audit élément binaire du dernier mot codé. Ainsi, la mise en oeuvre du procédé de codage selon l'invention est particulièrement simple. Notamment, le procédé de codage peut comprendre une étape de mémorisation du dernier élément binaire du dernier mot codé. De façon avantageuse, le procédé de codage comprend une étape de calcul de la différence entre un nombre d'éléments binaires associés à une première valeur binaire, et un nombre d'éléments binaires associés à une seconde valeur binaire, lesdits éléments binaires appartenant à un ensemble de mots précédemment codés. Selon l'invention, l'étape de sélection d'une fonction de codage tient compte du résultat dudit calcul de sorte à équilibrer sensiblement les nombres d'éléments binaires associés respectivement aux première et seconde valeurs binaires, et les éléments binaires appartiennent à un ensemble de mots codés après application de ladite fonction de codage. Ainsi, le nombre d'éléments binaires associés respectivement à une première valeur (par exemple 0) et à une seconde valeur (par exemple 1) est équilibré, le poids d'une séquence étant proche de la moitié de sa longueur. On élimine ainsi (ou à tout le moins on limite) la présence d'une composante continue dans un signal correspondant à une séquence codée. L'annulation de cette composante continue (encore appelée DC balancing en anglais pour composante continue équilibrée ) permet d'obtenir un spectre de rayonnement respectant en partie un gabarit imposé par des normes d'émission en limitant les rayonnements. De manière préférentielle, ladite étape de sélection d'une fonction de codage tient compte du signe de ladite différence. Notamment, l'application de la fonction de codage sélectionnée lors de 15 ladite étape de sélection, audit mot source à coder: - contient au moins autant d'éléments correspondant à ladite première valeur binaire que d'élément correspondant à ladite seconde valeur binaire si ladite différence est strictement négative; et - contient au plus autant d'éléments correspondant à ladite première valeur binaire 20 que d'élément correspondant à ladite seconde valeur binaire si ladite différence est strictement positive. De cette façon, le codage de chaque mot permet un équilibrage simple d'une séquence de mots codés. De manière avantageuse, ladite étape de sélection d'une fonction de 25 codage comprend une sélection d'une fonction de codage parmi: - une première fonction de codage prédéterminée dont le résultat est une séquence codée de poids supérieur ou égal à la moitié du nombre d'éléments du mot codé, dit poids moyen, et dont le premier élément possède une première valeur binaire représentative de 0; - une deuxième fonction de codage prédéterminée dont le résultat est un mot codé de poids inférieur ou égal audit poids moyen, et dont le premier élément possède une première valeur binaire représentative de 0; une troisième fonction de codage prédéterminée dont le résultat est un mot codé de poids supérieur ou égal au dit poids moyen, et dont le premier élément possède une première valeur binaire représentative de 1; et - une quatrième fonction de codage prédéterminée dont le résultat est un mot codé de poids inférieur ou égal audit poids moyen, et dont le premier élément possède une première valeur binaire représentative de 1. De cette manière, l'invention permet, avec un nombre de fonctions de codage réduit, de satisfaire à la fois les exigences d'absence d'éléments binaires isolés dans un mot et d'équilibrage des éléments dans une séquence de mots. Notamment, les première et deuxième fonctions de codage coïncident lorsqu'elles produisent chacune des mots codés de poids égal au poids moyen et les troisième et quatrième fonctions coïncident lorsqu'elles produisent chacune des mots codés de poids égal au poids moyen. On entend par coïncident le fait que deux fonctions de codage sont telles que si deux mots codés de poids égal audit poids moyen, produites respectivement par chacune des deux fonctions de codage à partir respectivement d'un premier mot source et d'une deuxième mot source sont identiques, alors lesdits premier et deuxième mots sources sont identiques. De cette manière, les mots codés de poids égal au poids moyen sont relativement simples à décoder puisque qu'ils peuvent être décodés indifféremment par la première ou seconde fonction de codage (respectivement troisième et quatrième) lorsque leur premier élément possède une première valeur binaire représentative de 0 (respectivement 1) . Le procédé de codage comprend notamment une étape de mémorisation d'une première table de codage associée à la première fonction de codage et d'une deuxième table de codage associée à la deuxième fonction de codage, et une étape de lecture d'une séquence codée dans une desdites tables de codage associée à la fonction de codage sélectionnée, si une des première ou deuxième fonctions de codage est sélectionnée. Ainsi, la mise en oeuvre du procédé de codage requiert peu de capacité de calcul tout en restant simple à mettre en oeuvre. Préférentiellement, au moins une desdites fonctions de codage comprend une étape de détermination du complément binaire du mot à coder. De cette manière, il est possible de réduire la taille mémoire nécessaire pour le codage, et, en particulier, de tenir compte de symétrie entre un mot à coder et son complément, les deux mots codés étant avantageusement complémentaires. L'invention concerne également un procédé de décodage d'une séquence de mots codés binaires. Selon l'invention, la séquence ne possède pas d'élément binaire, dit élément binaire isolé, encadré par deux éléments binaires qui ont une valeur différente dudit élément binaire isolé, et le procédé de décodage comprend une étape de décodage de chacun des mots codés binaires, les mots codés binaires étant décodées séparément. Avantageusement, tous les mots codés binaires ont la même longueur déterminée. Ainsi, l'invention est particulièrement bien adaptée à un décodage d'un signal dont le spectre est limité, tout en permettant un décodage simple à mettre en oeuvre. De façon préférentielle, le procédé de décodage comprend, pour chacun des mots codés binaires, une étape de lecture d'un mot décodé dans une table de décodage à un emplacement fonction du mot codé, et une étape de vérification de la validité du mot décodé en fonction du résultat de ladite étape de lecture. De cette façon, le décodage est particulièrement simple à mettre en oeuvre, tout en permettant une détection d'erreur de transmission d'un mot codé lorsque la lecture de la table de décodage renvoie une valeur aberrante ou un signal d'erreur spécifique. Le procédé de décodage est également remarquable en ce qu'il comprend, pour chacun des mots codés binaires, une étape de vérification de la validité dudit mot reçu en fonction des mots de ladite séquence, précédemment reçus. De manière avantageuse, le procédé de décodage comprend, pour chacun des mots codés binaires, une étape de sélection d'une fonction de décodage à appliquer au mot codé binaires en fonction du contenu dudit mot codé. Ainsi, le décodage permet d'identifier simplement une fonction de décodage adaptée au mot codé. Notamment, l'étape de sélection peut comprendre une sous-étape 10 d'extraction d'un sous-mot dudit mot codé binaire. Un sous-mot extrait d'un mot est ici un n-uple contenant une partie des éléments binaires de ce mot. De cette manière, il n'est pas nécessaire de lire et/ou de traiter tout le contenu d'un mot codé pour sélectionner une fonction de décodage. De plus, le procédé de décodage peut comprendre une sous-étape de détermination du poids dudit mot codé binaire, et ladite sous-étape d'extraction de la sous-séquence comprendre une détermination des positions des éléments binaires extraits dudit mot codé binaire en fonction dudit poids. Ainsi, par simple calcul du poids d'un mot codé, on sélectionne les positions des éléments binaire à extraire, ce qui laisse une grande liberté pour le choix des codes qu'il est possible d'utiliser selon l'invention, tout en limitant le nombre d'éléments binaires à extraire. Notamment, le procédé est remarquable en ce qu'il comprend une étape de calcul d'une combinaison linéaire des éléments binaires dudit sous-mot, et une étape de lecture d'une table de décodage en fonction de ladite combinaison linéaire. Ainsi, par simple calcul d'une combinaison linéaire des éléments binaires du sous-mot, on peut obtenir directement un mot décodé par lecture de la table de décodage. Préférentiellement, pour chacun des mots codés binaires, le procédé de décodage comprend une étape d'identification du premier élément binaire dudit mot codé binaire, et une étape de calcul du complément binaire dudit mot codé binaire si ledit premier élément binaire correspond à une valeur prédéterminée. Ainsi, le procédé de décodage selon l'invention permet de tenir compte des symétries entre un mot codé et son complément pour une simplification de mise en oeuvre du procédé, et, plus particulièrement, pour une économie de mémoire. De façon avantageuse, pour chacun desdits mots codés binaires, le procédé comprend une étape de vérification de la validité dudit mot codé en fonction du poids dudit mot codé. En effet, les poids des mots codés sont préférentiellement proches du poids moyen. Si le poids reçu est trop élevé ou trop faible, on détecte facilement, selon l'invention, une erreur de transmission. L'invention concerne également un signal représentatif d'une séquence de mots codés binaires. Ce signal est remarquable en ce que ladite séquence ne possède pas d'élément binaire, dit élément binaire isolé, encadré par deux éléments binaires qui ont une valeur différente dudit élément binaire isolé. Notamment, le poids de toute sous-séquence de ladite séquence est inférieur à une valeur prédéterminée. Les avantages des dispositifs, produits programmes d'ordinateur et moyens de stockage sont les mêmes que ceux des procédés de codage et de décodage, ils ne sont pas détaillés plus amplement. 5. Liste des figures. D'autres caractéristiques et avantages de l'invention apparaîtront plus clairement à la lecture de la description suivante d'un mode de réalisation préférentiel, donné à titre de simple exemple illustratif et non limitatif, et des dessins annexés, parmi lesquels: - la figure 1 présente le principe général d'un système de codage en émission et de décodage en réception selon l'invention; - les figures 2 et 7 illustrent respectivement un dispositif formant un codeur et un dispositif formant un décodeur, appartenant au système présenté en figure 1; - la figure 3 présente une table mis en oeuvre dans le codeur de la figure 2; - la figure 4 décrit un algorithme de codage mis en oeuvre dans le codeur illustré en regard de la figure 2; la figure 6 illustre un algorithme de décodage mis en oeuvre dans le décodeur présenté en regard de la figure 7; et - la figure 5 est une vue synoptique d'une interface pour un système mettant en oeuvre les algorithmes de codage et de décodage illustrés en figures 4 et 6, selon une variante de réalisation de l'invention. 6. Description selon un mode de réalisation préférentiel de l'invention. Le principe général de l'invention repose sur le codage d'un symbole (ou mot) source en symbole codé, de sorte que les symboles codés soient relativement équilibrés, c'est-à-dire que leur poids ne soit ni faible ni fort et de sorte qu'ils ne possèdent pas de données binaires (ou bits) isolés. Dans un mode de réalisation préférentiel de l'invention, on considère des mots sources notés a, contenant chacun huit éléments binaires notés ai où i représente un entier compris entre 0 et 7 (a = (a0,al, ....a7)). On appelle élément binaire un élément de l'alphabet {0,11. Chaque mot source a est codé pour former un mot x sur l'alphabet {-E,+E}, E correspondant à une amplitude de signal valant, par exemple, 1. Le codage est tel qu'une séquence codée résultant de la concaténation de plusieurs mots x, issus d'un codage de plusieurs mots sources a reste décodable. Afin de faciliter la description d'un mode de réalisation, on représente chacun des mots x par un mot y, en remplaçant chacune de ses composantes par un élément sur l'alphabet {0,1 1, chacune des composantes de y étant égale à la moitié de la valeur de la composante de x correspondante, incrémentée de 1 (yi = (l+xi)/2). Deux types de problèmes surviennent dans ce contexte: - une fréquence trop élevée dans les transitions +1/-1 (respectivement 1/0) dans une séquence de plusieurs mots x (respectivement y) ; et un déséquilibre entre le nombre de 1 et de -1 dans la séquence de plusieurs mots x. Afin de pallier ces problèmes, le codage respecte les deux conditions suivantes: - aucune des séquences de mots y ne contient de bit isolés (à l'exception éventuellement du premier ou du dernier symbole de chaque mot) ou, en d'autres termes, de sous-mots du type (0,1,0) ou (1,0,1) ; - j étant un entier positif ou nul quelconque, la somme des j premières composantes de chaque séquence de mots x est inférieure, en valeur absolue, à un entier M positif (pour tout j>_ 0, J E xi s M), ce qui permet d'équilibrer les séquences (ou de i=0 manière équivalente, la somme des j premières composantes de chaque séquence y est proche de la moitié de j, pour j inférieur ou égal à m. Il est clair que la méthode, connue en soi, consistant à coder chaque composante ai de a en composante xi de x, valant (- Dai ne satisfait pas ces conditions. Selon une autre méthode, n'appartenant pas à l'état de l'art, un mot a est considéré comme résultant de la concaténation de sous-mots homogènes, c'est-à-dire de sous-mots ne contenant que des 0 ou que des 1 mais pas les deux. A titre illustratif, le mot a valant (0, 0, 1, 1, 0, 1, 1, 1) est considéré comme la concaténation des quatre sous-mots homogènes suivantes: (0,0), (1,1), (0) et (1,1,1). Selon cette méthode, chaque sous-mot homogène est étendu d'un symbole, le mot résultant restant homogène. ainsi, a est d'abord codé en un mot intermédiaire valant (0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1). Puis, afin d'équilibrer le mot, des symboles sont ajoutés en fin de séquence intermédiaire (symboles dits de padding ), de sorte qu'il y ait autant de 0 que de 1. Le mot final y vaut alors (0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0). Ce mot y possède une longueur qui dépend de a (selon l'exemple, cette longueur vaut 14). Cette méthode présente donc l'inconvénient de produire un code de longueur variable. La distribution N(1) de longueur 1 des 256 séquences possibles y obtenues 10 par codage de séquences a de longueur 8 est donnée dans la table suivante: 1 10 12 14 16 18 N(l) 2 32 90 90 42 Cette méthode présente également l'inconvénient d'une longueur moyenne relativement élevée (égale à 15, 0781 selon l'exemple). Néanmoins, elle présente l'avantage d'être relativement simple à décoder, selon notamment l'algorithme suivant: - chaque sous-mot homogène de y est identifié puis raccourci d'un symbole (élimination du symbole de padding de chaque sous-mot) jusqu'à l'obtention de huit symboles; puis - les huit premiers symboles ainsi obtenus correspondent à un mot source a et sont conservés; - le nombre de symboles de padding est calculé à partir de ces symboles et les symboles correspondant sont éliminés (élimination des éventuels symboles ajoutés au mot intermédiaire). Le processus peut être réitéré pour chaque séquence reçue à décoder. L'invention présente l'avantage de permettre une longueur de code fixe. Selon un mode préféré de réalisation de l'invention, chaque mot a sous forme de 8-uple est codé en un 14-uple binaire. Ainsi, la longueur de chaque mot codé est fixe (égale à 14 selon le mode de réalisation décrit) et inférieur à la longueur moyenne (proche de 15,1) du code précédemment décrit. On considère l'ensemble L des 14-uples ne contenant pas de sous-mot (0,1, 0) ou (1,0,1). L'ensemble L comprend 1220 14-uples, correspondant à des bons mots . L'ensemble L comprend deux sous-ensembles: un sous-ensemble L0 qui comprend les 14-uples dont le premier élément est égal à o; et un sous-ensemble L1 qui comprend les 14-uples dont le premier élément est égal à 1. Bien entendu les sous ensembles L0 et L 1 sont disjoints et possède le même nombre de 14-uples soit 610. On considère Ai(w) le nombre d'éléments de Li qui ont un poids de Hamming (c'est-à-dire qui ont un nombre d'éléments valeur 1) égal à w. L'ensemble des quinze nombres Ai(w) avec w compris entre 0 et 14 (0 s w s 14) est appelé distribution des poids de l'ensemble Li . La distribution des poids de L0 et L1 est donnée dans la table ci-après: w 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 A0(w) 1 1 12 20 54 87 117 121 96 59 27 12 2 1 0 A1(w) 0 1 2 12 27 59 96 121 117 87 54 20 12 1 1 La première ligne de ce tableau représente les valeurs possibles du poids w, les seconde et troisième lignes représentent respectivement les valeurs de A0(w) et A 1(w) correspondantes. Bien sûr, A0(w) est égal à A 1(14-w). On calcule les quantités suivantes: 7 14 A0(w) = EA1(w) = 413, w=0 w=7 2873518 14 7 14 Al(w) = A0(w) = 318, w=0 w=7 Puisque la somme 7w=0 AD (w) est supérieure à 256, on peut coder les 256 S-uples binaires a en 256 14-uples y différents qui ne contiennent pas l'un des sous-mots (0, 1, 0) ou (1, 0, 1), ayant un premier élément égal à 0 et un poids inférieur ou égal à 7. De la même manière, puisque la somme lw47 A0 (w) est également supérieure à 256, on peut coder tous les 8-uples binaires a en desl4-uples y différents qui ne contiennent pas l'un des sous-mots (0, 1, 0) ou (1, 0, 1), ayant un premier élément égal à 0 et un poids supérieur ou égal à 7. De même, puisque la somme 1 w=0 A0 (w) est supérieure à 256, il est possible de coder tous les 8-uples binaires a en des 14-uples y différents qui ne contiennent pas l'une des sous-mots (0, 1, 0) ou (1, 0, 1), ayant pour premier élément égal à 1 et ayant un poids inférieur ou égal à 7. De même, puisque la somme w4 7 Al (w) est supérieure à 256, il est possible de coder chaque 8- uple binaire a en des 14-uples y différents qui ne contiennent pas l'un des sous-mots (0, 1, 0) ou (1, 0, 1), ayant pour premier élément égal à 1 et ayant un poids supérieur ou égal à 7. Sur la base de ces remarques, on spécifie quatre fonctions de codage différentes, notées respectivement (Do+, (D o, (D1+, et gl) i et qui ont les caractéristiques suivantes: - la fonction (Do+, affecte les 256 8-uples a sur 256 14-uples y différents de poids supérieur ou égal à 7 dans l'ensemble L0. la fonction tp, affecte les 256 8-uples a sur 256 14-uples y différents de poids inférieur ou égal à 7 dans l'ensemble L0. pour tous les 14-uples y d'un poids égal à 7, les fonctions (Do+ et (Do sont choisies de sorte que, si les mots 4=.o+ (a+) et (Dp (a) sont tous égaux à un même mot y, alors les deux mots a+ et a sont identiques. - la fonction (D 1+ affecte les 256 8-uples a sur 256 14-uples y différents d'un poids supérieur ou égal à 7 dans l'ensemble LI. - la fonction ( affecte les 256 8-uples a sur 256 14-uples y différents d'un poids inférieur ou égal à 7 dans l'ensemble LI. - pour tous les 14-uples y de poids égal à 7, les fonctions (D 1+ et (D1 sont choisies de sorte que, si les mots (D1 +(a+) et (D1 (a) sont tous égaux à un même mot y, alors les deux mots a+ et a sont identiques. La fonction de codage est notée (D et correspond a (D0+, (D0, cD1+ ou (D1, en fonction de la valeur courante de deux paramètres notés respectivement b et c. Le premier paramètre b appartient à l'ensemble 0,1} et est égal à la valeur binaire du dernier symbole du dernier 14-uple y transmis précédemment. Le second paramètre appartient à l'ensemble -,+ et est calculé de la manière suivante: pour i est égal à 0 ou 1, n(i) représente le nombre de symboles précédemment transmis égaux à i, et n est égal à la différencen(0) n(1). Si n est strictement positif (n > 0) c vaut +. Si n est strictement négatif, c vaut -. Si n est nul, c est arbitrairement égal à ou +. Pour des valeurs de b et c ainsi déterminées, la fonction de codage (D choisie est Dcb Préférentiellement, la complexité du codage est minimisée selon les règles 20 suivantes. Une table de codage est déterminée par deux tables de 256 14-uples, L0+ et L0: - les 121 premiers éléments de la table L0+ sont les 14-uples d'un poids égal à 7 dans l'ensemble L0, et les derniers 135 14-uples sont 14-uples différents d'un poids supérieur ou égal à 8 dans l'ensemble L0. les 121 premiers 14-uples de la table L0-, coïncident avec ceux de Lot alors que ses 135 derniers 14-uples sont 135 14-uples différents d'un poids inférieur ou égal à 6 dans l'ensemble L0. On représente les 256 8-uple binaires a par des entiers a compris entre 0 et 255. Le codage de a est alors effectué en fonction de a, b et c selon les règles suivantes: - si b est égal à zéro et c = +, alors a est codé (par la fonction égale a (Dp+) pour former le aième 14-uple de Lo+ (a est compris entre 0 et 255 ou O s a s 255) ; - si b est égal à zéro et c vaut -, alors a est codé (par la fonction ID égale à (Do) pour former le aième 14-uple de LD; si b est égal à 1 et c vaut +, alors a est codé (par la fonction égale à (D1+) pour former le complément binaire du aième 14-uple deL0; si b est égal à 1 et c vaut -, alors a est codé (par la fonction Ce égale à (D1) pour former le complément binaire du aième 14-uple de Lot La fonction (D décrite précédemment possède les propriétés suivantes: lorsque la valeur de n est strictement positive, cette valeur n'augmente plus avant d'être d'abord négative ou nulle; lorsque la valeur de n est strictement inférieure à 0, cette valeur n'augmente plus avant d'être d'abord positive ou nulle; le premier élément du mot y coïncide avec le premier élément du mot suivant; à l'exception du premier et du dernier symbole, la séquence résultant de la concaténation des 14-uples successifs ne comprend pas de symboles isolés: les sous-séquences (0,1,0) et (1,0,1) n'apparaissent jamais. Le récepteur doit recalculer une information a émise à partir d'une version y codée reçue. Selon un premier mode de réalisation du décodeur, la mémoire du décodeur comprend une table mémorisée, à 214 entrées, chaque entrée étant indexée avec un nombre entier i, allant de 0 à 214-1 et contient: - une valeur de a, si elle existe, codée en un 14-uple marqué par le nombre i; ou - un symbole d'effacement X, si le 14-uple en position i n'est pas un 14- uple légitime produit par le procédé de codage. Le décodage d'un mot y se fait alors par simple lecture de l'entrée i correspondante. Si cette entrée correspond à une valeur de a légitime, cette dernière est considérée comme la valeur décodée de y. Sinon, une erreur est détectée. Selon une variante de réalisation du décodeur selon l'invention, nécessitant moins de capacité de mémorisation, on met en oeuvre six tables de taille inférieure ou égale à 28 (soit 256) mots, à la place d'une table de taille 214 (soit 16384) mots. Le décodage repose alors sur des choix spécifiques de la fonction de codage. Afin de le décrire, les notations suivantes sont adoptées: On considère: - un 14-uple y correspondant à un mot noté (y0,y1 ' É É É,y13) dans l'ensemble {0,1} ; et - un 8-uple s associée au mot (s(0),...,s(7)) dans l'ensemble {0,1, ...13} tel que, pour toute les valeurs de i allant de 0 à 6, s(i) est strictement inférieur à s(i+l) (ou s(i) On définit le mot y(s)=(ys(0), É É .,y s(7))É On considère les 121 mots y d'un poids égal à 7 dans l'ensemble L0 et on choisit le 8-uple s7 égal à (1,2,6,7,9,10,12,13). On définit alors un sous-ensemble L0 7 de 90 mots parmi ces 121 mots y d'un poids égal à 7, tels que si y' et y " sont deux mots différents dans l'ensemble LO 7, alors y'L7) est différent de y" (s7) . On considère les 108 mots y d'un poids égal à 8 ou 11 dans l'ensemble L0 8 et on choisit le 8-uple s8 valant (1,3,5,6,8,9,12,13). On définit alors un sous-ensemble L0 g de 89 mots, parmi les 108 mots y d'un poids égal à 8 ou 11, tels que si y' et y" sont deux mots différents dans l'ensemble L0 8, alors y'(2) est différent de y"(s8). On considère les 59 mots y d'un poids égal à 9 dans l'ensemble L0 et on choisit le 8-uple s9 = (1,5,6,7,9,10,12,13). On définit alors un sousensemble L0,9 de 52 mots, parmi les 59 mots y, tels que si y' et y" soient deux mots différents dans l'ensemble L0,9, alors y' s9)est différent de y' '(s9). On considère les 27 mots y d'un poids égal à 10 dans l'ensemble L0 et on choisit le 8-uple s10 = (1,3,4,6,7,8,12,13). On définit alors un sousensemble L0,10 de 26 mots, parmi les 27 mots y d'un poids égal à 10, tels que si y' et y" sont deux mots différents dans l'ensemble L010, alors y, (s) et, 2 ) sont différents. On considère les 117 mots y d'un poids égal à 6 dans l'ensemble L0 et on choisit le 8-uple s6 = (1,3,4,5,7,8,12,13). On définit alors un sousensemble L0,6 de 26 mots, parmi les 117 mots y d'un poids égal à 6, tels que si y' et y" sont deux mots différents dans l'ensemble L0,6, alors y'(s6) est différent de y' '(s6). On considère les 141 mots y d'un poids de 4 ou 5 dans l'ensemble L0 et on choisit le 8-uple s5 = (3,4,6,7,9,10,12,13). On définit alors un sousensemble L0,5 de 83 mots, parmi les 141 mots _d'un poids de 4 ou 5, tels que si y' et y" soient deux mots différents dans l'ensemble L0 5, alors y'(s5) est différent de y"(s5). Les fonctions de méthode de codage correspondante sont définies comme suit. pour réaliser la fonction 1 correspondant à (D0+ les 90 nombres a allant de 0 à 89 sont représentés par les 90 différents 14-uples dans l'ensemble LO 7; les 89 nombres a allant de 90 à 178 sont représentés par les 89 différents 14-uples dans l'ensemble L0 8; les 52 nombres a allant de 179 à 230 sont représentés par les 52 différents 14-uples dans l'ensemble L0, 9; et - les 25 nombres a allant de 231 à 255 sont représenté par 15 différents 14-uples dans l'ensemble L0,10 - pour réaliser la fonction cl) correspondant à eè0, 25 - les 90 nombres a allant de 0 à 89 sont représentés par les mêmes 14- uples tel que représentés par (D0+ ; et les 89 nombres a allant de 90 à 178 sont représentés par 89 différents 14-uples dans l'ensemble LO 6; et les 77 nombres a allant de 179 à 255 sont représentés par 77 différents 14-uples dans l'ensemble L0,5. pour réaliser la fonction cl) correspondant à (1)1-, les nombres a sont représentés par le complément de leur représentation telle que décrite pour la fonction (Do+ ; et pour réaliser la fonction 1 correspondant à (D1+, les nombres a sont représentés par le complément de leur représentation telle que décrite pour la fonction Suivant ces règles de codage, la procédure de décodage utilise six tables de décodage de taille 28, notée T5 à T10. Chacun des mots mémorisés dans les tables de décodage T5 à T 10 est représenté sous la forme d'un 9-uple: le neuvième symbole de chaque 9uple permet de distinguer un symbole d'effacement noté X, d'un mot a décodé : par exemple, s'il vaut 1, il s'agit du symbole d'effacement X; sinon, il s'agit d'un mot a décodé ; lorsqu'il s'agit d'un mot a décodé, les huit premiers symboles du 9-uple représentent le mot a correspondant. Pour y appartenant à l'ensemble L0 7, on pose m7(y) égal à la somme 7 y 7. 2i. En position m7(y), la table T7 contient le 8-uple binaire a, codé en y i=0 s (i) lorsque b (valeur du dernier symbole du 14-uple y précédemment transmis) est égal à 0. En position m, pour lequel aucune valeur de y dans l'ensemble L0 7 ne satisfait la relation m = m7(y), un symbole d'effacement X, est mémorisé. Pour y appartenant à l'ensemble L0 8, on pose m 8(y) égal à la somme y 8. 2. En position m8 (y), la table Tg contient le 8-uple binaire a, i=o s (i) 10 codé en y lorsque b est égal à 0. En position m, pour lequel aucune valeur de y dans l'ensemble L0 8 ne satisfait la relation m = m8(y), le symbole d'effacement X, est mémorisé. Pour y appartenant à l'ensemble L0 9, on pose m9 (y) égal à a oys9 (l> .2. En position m9(y), la table T9 contient le 8-uple binaire a, codé en y lorsque b est égal à 0. En position m, pour lequel aucune valeur de y dans l'ensemble L0,9, satisfait la relation m = m9(y), le symbole d'effacement X, est mémorisé. Pour y appartenant à l'ensemble L0,10' on pose m 10 (y_) égal à i oyS10 (i) .2' . En position m 10(y), la table T10 contient le 8-uple binaire codé en y lorsque b est égal à 0. En position m, pour lequel aucune valeur de y dans l'ensemble L0,10, satisfait la relation m = m10(y), le symbole d'effacement X, est mémorisé. Pour y appartenant à l'ensemble L0 6, m6 (y) est oys6 (i) .2t. En position a m6 (y), la table T6 contient le 8-uple binaire a, codé en y lorsque b est égal à 0. En position m, pour lequel aucune valeur de y dans l'ensemble L0 6 satisfait la relation m = m10(y), le symbole d'effacement X, est mémorisé. 7 Pour y appartenant à l'ensemble L0 5, m5(y) est ôys5 i> .21. En position a m5(y), la table T5 contient le 8- uple binaire a, codé en y lorsque b est égal à 0. En position m, pour lequel aucune valeur de y dans l'ensemble L0 5, satisfait la 20 relation m = m5(y), le symbole d'effacement X, est mémorisé. Lorsqu'un 14-uple.y est reçu avec un premier élément égal à 0, son poids w est calculé. Si le poids w vaut 4 ou 11, alors il est réinitialisé à respectivement 5 ou 8. Si le poids w est inférieur ou égal à 3 ou supérieur ou égal à 12, alors une erreur de transmission est détectée. Si aucune erreur n'est détectée, le décodeur lit la table Tw à la position mW(y). Si une marque d'effacement X, est lue, une erreur de transmission est également détectée. Sinon, le contenu de la table TW à la position mW(y) est une estimation de l'information transmise a. Lorsqu'un 14-uple y est reçu avec un premier élément égal à 1, le 14-uple y est d'abord remplacé par son complément binaire puis il est décodé comme si son premier élément était égal à 0. On présente, en relation avec la figure 1, un système selon l'invention comprenant un bloc d'émission 11 et un bloc de réception 14 reliés par un câble 13 de type CAT-5 UTP (de l'anglais Unshielded Twisted Pair, Category 5 , pour paire torsadée non blindée de catégorie 5 selon la norme ANSI/TIA/EIA/568A), les données étant transmises sur le câble 13 de sorte à respecter les normes d'émission de fréquences parasites. Ce type de câble est classiquement utilisé dans les réseaux de type Ethernet, et est particulièrement bien adapté à l'invention. Selon des variantes de l'invention, d'autres médiums de transmission filaires sont utilisés. Le bloc d'émission 11 comprend: une source 10 d'informations quelconque (par exemple multimédia). ; et - un codeur 12 codant les données émises par la source 10 sous forme, par exemple, de bits, regroupés en symboles, et les émettant sur le câble 13. Le bloc de réception 14 comprend: - un décodeur 15 adapté à recevoir et à décoder les données codées par le codeur 12 et émises sur le câble 13; et un destinataire 16 des données décodées par le décodeur 15 et des éventuels signaux indiquant une erreur de transmission détectée par le décodeur 15. Ce codeur 12 code les données de manière à transmettre un signal dont la composante continue est sensiblement nulle pour chaque symbole transmis, et qui ne possède jamais deux transitions successives pendant la durée de la transmission. La figure 2 illustre schématiquement un dispositif correspondant au codeur 12 tel qu'illustré en regard de la figure 1. Le codeur 12 comprend, reliés entre eux par un bus d'adresses et de données 21: un processeur 22; une mémoire vive 23; - une mémoire non volatile 24; - une interface entrées/sorties 25; et une interface homme/machine 26. Chacun des éléments illustrés en figure 2 est bien connu de l'Homme du Métier. Ces éléments communs ne sont pas décrits ici. On observe que le mot registre utilisé dans toute la description désigne dans chacune des mémoires mentionnées, aussi bien une zone de mémoire de faible capacité (quelques données binaires) qu'une zone mémoire de grande capacité (permettant de stocker un programme entier ou l'intégralité d'un ensemble de mots transmis ou reçus). La mémoire non volatile 24 conserve dans des registres qui par commodité possèdent les mêmes noms que les données qu'ils conservent: - le programme de fonctionnement du processeur 22 dans un registre Prog 240; et - les ensembles L0-, L0+, L 1 et L1+ précédemment décrits dans un registre 241. Les algorithmes mettant en oeuvre les étapes des procédés décrits ciaprès, notamment en regard de la figure 4 sont stockés dans la mémoire non volatile 24 associé au codeur 12 mettant en oeuvre des étapes de ces algorithmes. A la mise sous tension, le processeur 22 charge et exécute les instructions de ces algorithmes (associés notamment au programme 240) ainsi que le contenu du registre 241. La mémoire vive 23 conserve des données, des variables et des résultats intermédiaires de traitement et comprend notamment: le programme prog 250 de fonctionnement du processeur 22 chargé à la mise sous tension du codeur 12; - des variables de fonctionnement du programme 250, notamment: - les ensembles L0-, LO+, L Cet L 1+ dans un registre 251 et chargés également à la mise sous tension du codeur 12; - un mot a à coder dans un registre 252; - un mot codé y à coder dans un registre 253; une valeur d'élément binaire b égal à la valeur du dernier symbole du dernier 14-uple y transmis précédemment dans un registre 254; une valeur du paramètre c décrit précédemment dans un registre 255; et - les valeurs des paramètres n (0), n (1) et n décrits précédemment dans un registre 256. La figure 3 présente, à titre illustratif, la table Lo+ (14-uples d'un poids égal à 7 dans l'ensemble L0) mémorisée dans le registre 251. Cette table comprend pour chaque entrée a dont le rang allant de 0 à 255 est représenté, la valeur du 14-uple correspondant de Lo+ et déterminée selon les règles précédemment illustrées. La figure 4 décrit un algorithme de codage mis en oeuvre dans le codeur 12 illustré en regard des figures 1 et 2. L'algorithme de codage débute par une étape 40 permettant d'initialiser les différentes variables utilisées par l'algorithme, et notamment la variable b mise à 0 arbitrairement et les variables n(0) et n(l) égales à 0. Puis, le codeur 12 se met en attente et reçoit de la source 10 un mot a à coder au cours d'une étape 41. Ensuite, au cours d'une étape 42, le codeur 12 calcule n(0) et n(l) (n(i) représente le nombre de symboles précédemment transmis égaux à i), et n est égal à la différence n(0) n(l). Au cours de l'étape 42, le codeur 12 calcule également le paramètre c en fonction du signe de n comme indiqué précédemment. Puis, au cours d'une étape 43, le codeur 12 calcule la fonction 1 en fonction de b et de c, la fonction de codage (D choisie étant cpcb Enfin, au cours d'une étape 44, le codeur 12 détermine le mot y codé, égale à (Dcb(a) en lisant l'entrée correspondant au mot a dans la table Lcb mémorisée dans le registre 251. Ce mot y_est alors émis sur le câble 13. En parallèle, le paramètre b est déterminé (b est égale à la valeur du dernier élément binaire du mot y). L'étape 41 est ensuite réitérée. La figure 7 illustre schématiquement un dispositif correspondant au décodeur 15 tel qu'illustré en regard de la figure 1. Le décodeur 15 comprend, reliés entre eux par un bus d'adresses et de données 71: - un processeur 72; une mémoire vive 73; une mémoire non volatile 74; - une interface entrées/sorties 75; et une interface homme/machine 76. Chacun des éléments illustrés en figure 7 est bien connu de l'Homme du 20 Métier. Ces éléments communs ne sont pas décrits ici. La mémoire non volatile 74 conserve dans des registres qui par commodité possèdent les mêmes noms que les données qu'ils conservent: le programme de fonctionnement du processeur 72 dans un registre Pro g 740; et les tables TW précédemment décrites dans un registre 741. Les algorithmes mettant en oeuvre les étapes des procédés décrits ciaprès, notamment en regard de la figure 6 sont stockés dans la mémoire non volatile 74 associé au décodeur 15 mettant en oeuvre des étapes de ces algorithmes. A la mise sous tension, le processeur 72 charge et exécute les instructions de ces algorithmes (associés notamment au programme 740) ainsi que le contenu du registre 741. La mémoire vive 75 conserve des données, des variables et des résultats intermédiaires de traitement et comprend notamment: - le programme prog 750 de fonctionnement du processeur 72 chargé à la mise sous tension du décodeur 15; des variables de fonctionnement du programme 750, notamment: - les tables Tw dans un registre 751 et chargés également à la mise sous tension du décodeur 15; une estimation â du mot a transmise dans un registre 752; - un mot reçu y à décoder dans un registre 753; une valeur d'élément binaire b égal à la valeur du dernier symbole du dernier 14-uple k reçu précédemment dans un registre 754; une valeur du paramètre c décrit précédemment dans un registre 755; - les valeurs des paramètres w et mW(y) dans un registre 756; et une indication d'erreur Err dans un registre 757. La figure 6 décrit un algorithme de décodage mis en oeuvre dans le décodeur 15 illustré en regard des figures 1 et 7. L'algorithme de décodage débute par une étape 60 permettant d'initialiser les différentes variables utilisées par l'algorithme. Puis, le décodeur 15 se met en attente puis reçoit du bloc d'émission 11 un mot y à décoder au cours d'une étape 61. Puis, au cours d'un test 611, le décodeur 15 vérifie la cohérence du mot reçu y avec les éventuels mots y déjà reçus et appartenant à la séquence courante. Plus précisément, le dernier symbole du mot y précédent dans la séquence courante doit être le même que le premier symbole du mot y_ traité conformément au choix de la fonction de codage l) déterminée en fonction du paramètre b décrit précédemment. Si, au cours du test 611, le décodeur 15 détecte une incohérence sur cet aspect, une erreur de réception est détectée et, au cours d'une étape 610 de traitement d'erreur, un signal d'erreur correspondant est généré. Le mot y courant est alors écarté ainsi que le résultat correspondant au décodage du mot y précédemment reçu. Au cours du test 611, la cohérence des poids des mots y reçus est également vérifiée. Pour i égal à 0 ou 1, n(i) représente le nombre de symboles précédemment reçus égaux à i, et n est égal à la différence n(0) n(1). Si n est strictement négatif, alors le poids de la séquence courante doit être supérieur ou égal à 7, conformément au choix de la fonction de codage (1) déterminée en fonction du paramètre c décrit précédemment. Si n est strictement positif, alors le poids de la séquence courante doit être inférieur ou égal à 7. Si, au cours du test 611, le décodeur 15 détecte une incohérence sur les poids de la séquence de mots reçus, une erreur de réception est détectée et, au cours de l'étape 610 de traitement d'erreur, un signal d'erreur correspondant est généré et le mot y courant est écarté ainsi que le résultat correspondant au décodage des mot y précédemment reçu et appartenant à la séquence y. Selon une variante de réalisation de l'invention, seul le mot y courant est écarté lors de l'étape 610 si une incohérence est détectée. Ensuite, si la cohérence des mots y reçu dans la séquence courante est vérifiée lors du test 611, au cours d'une étape 62, le décodeur 15 calcule le poids w du mot y reçu. Puis, au cours d'une étape 63, le décodeur détermine si le premier bit du mot reçu y est 0 ou 1. Si le premier bit du mot y est 1, alors, au cours d'une étape 64, le décodeur remplace le mot par son complément (les bits 0 sont changés en 1 et vice- versa) et le décodeur calcule le poids w de y correspondant, par exemple, en ôtant 30 de 14 la valeur courante de w (w = 14 - w). Suite à l'étape 64 ou si le premier bit du mot y est égal à 0 au cours de l'étape 63, au cours d'un test 65, le décodeur 15 vérifie que le poids calculé w est compris strictement entre 3 et 11. Dans la négative, une erreur de réception est détectée et, au cours de l'étape 610 de traitement d'erreur, un signal d'erreur correspondant est généré et traité selon des techniques bien connues de l'homme du métier (demande de retransmission, effacement du mot mal reçu, ...). Dans l'affirmative, le poids calculé w possède une valeur cohérente avec l'algorithme de codage, et, au cours d'une étape 66, le décodeur 15 corrige le paramètre w si ce dernier est égal à 4 ou 11: si le poids w vaut 4, la valeur de w est incrémentée d'une unité ; si le poids w vaut 11, alors la valeur de w devient 8; - sinon la valeur w garde sa véritable valeur de poids. Puis, au cours d'une étape 67, le décodeur 15 détermine une estimation 4 du mot décodé en fonction de la valeur de w et de y_: le décodeur 15 calcule w-1 d'abord mw correspondant à la somme ys w (i) .2l puis lit dans la table 751 i=0 Tw le contenu du mot correspondant: a = 7,w(mw y Puis, au cours d'un test 68, le décodeur 15 vérifie si la valeur du mot â ainsi déterminée correspond à une valeur différente de la séquence d'effacement X. Dans la négative, la valeur lue dans la table Tw est une valeur d'effacement et le décodeur 15 effectue l'étape 610 de traitement d'erreur Dans l'affirmative, au cours d'une étape 69, le décodeur 15 fournit au destinataire 16 un mot a en fonction du résultat du test 63 et correspondant au mot 4 déterminé au cours de l'étape 67. Après les étapes 610 et 69, l'étape d'attente 61 d'un mot y est réitérée. Selon des variantes du décodage, aucun test de vérification de la validité des mots reçus n'est effectuée ou seulement une partie de ces tests. La figure 5 est une vue synoptique d'une interface de lien UTP5 pour un système utilisant le procédé de codage et de décodage décrits aux figures 3 et 4, notamment à l'intérieur d'un réseau de communication permettant de connecter une pluralité d'équipements dans un réseau domestique par exemple. La transmission des données, qui peuvent être de différents formats, est, en particulier, effectuée au moyen de câbles ou de liens adaptés, notamment pour des applications en environnement domestique. Ainsi, les équipements traitant des données numériques peuvent fonctionner selon la norme IEEE-1394. Selon un mode de réalisation particulier, la transmission des données est réalisée au moyen d'un câble de type CAT5 constitué de quatre paires de fils torsadés, deux paires étant dédiées pour l'émission d'informations codées et deux paires étant dédiées pour la réception d'informations. Ce type de câble est classiquement utilisé dans les réseaux de type Ethernet, et est particulièrement bien adapté à l'invention. Sur les deux paires de transmission dédiées à l'émission (ou la réception) une paire assure la transmission de segments comprenant des bits de poids fort des octets d'information émis par les dispositifs d'émission et l'autre paire assure la transmission de segments comprenant des bits de poids faible des octets d'information émis par les dispositifs d'émission. L'interface de lien UTP5 est reliée à un médium de transmission 51 tel que 20 décrit précédemment. Il est à remarquer que d'autres médiums filaires pourraient être utilisés comme des câbles conformes à la norme IEEE1355. La liaison entre l'interface de lien UTP5 et le medium 51 est effectuée par l'intermédiaire d'un module d'interface physique 52 non décrit dans ce document. A ce module d'interface physique 52 est relié un bloc de synchronisation de réception 530 qui détermine la valeur binaire associée à chaque période du signal reçu sur une paire. Il détermine en outre le début du segment et informe le bloc dé-sérialisation/décodage 531a et 53 lb de la valeur binaire associée à chaque période de signal reçu sur la paire de réception correspondante. Il est à remarquer que les données arrivent au bloc de synchronisation 530 sous la forme de deux signaux. En effet, les données sont divisées en deux, une première partie pour les bits de poids forts est reçue sur une paire de fils, une seconde partie pour les bits de poids faible est reçue sur une autre paire. Ainsi le bloc de synchronisation 530 fournit à chaque bloc de désérialisation/décodage une horloge de synchronisation, déterminée à partir du signal reçu. Il détermine aussi la valeur binaire du signal pour chacune de ces périodes. Les blocs de dé-sérialisation/décodage 531a et 531b vont décoder les données reçues, à l'aide du procédé de décodage présenté en figure 6, puis paralléliser les données décodées, c'est-à-dire les mettre chacune sur huit bits. Les données étant décodées et parallélisées, elles sont transférées aux blocs de réception de segments 532b pour les segments contenant les poids fort et 532a pour les segments contenant les poids faible. Ces blocs 532a et 532b vont reconstruire les segments reçus et en sus vérifier si le segment reçu est correct en effectuant par exemple un contrôle de parité classique sur les données reçues. Ce contrôle effectué, le bloc 532b transfère le segment de poids fort reconstruit vers un moyen de stockage (mémoire) de type FIFO 533b. Il génère aussi à destination du module de contrôle de FIFO 534 un signal d'information relatif à la présence d'un nouveau segment. Le bloc 532a effectue les mêmes opérations que le bloc 532b mais pour les segments contenant les bits de poids faible. Il ne sera pas décrit plus en détail. Le module de contrôle de FIFO en réception 534 notifie au module de contrôle de sortie de données 536 la réception de la totalité d'un segment, le segment comprenant à la fois les octets de poids faible stockés dans la FIFO 533a (rx_fifo_LSB) et les octets de poids fort stockés dans la FIFO 533b (rx_fifo_MSB). A l'interface de lien UTP5 sont associées 3 mémoires de sortie, reliées via un bus 56a (MUX Bus) à l'interface de lien UTP5, et 3 mémoires d'entrées, reliées via un bus 56b (DEMUX Bus) à l'interface de lien UTP5. Ces mémoires sont contrôlées par un module de contrôle FIFO Le module 5 de contrôle de sortie de données 536 notifie au module de contrôle FIFO de la réception d'un nouveau segment. Le module 536 gère l'insertion des caractères de crédit par les modules 540a et 540b en fonction des opérations de lecture sur les moyens de stockage 533a et 533b. Le module de contrôle FIFO effectue alors la lecture des données (demande de lecture ou read request en langage anglo-saxon) reçues via les modules d'analyse des crédits 535a et 535b. Le module d'analyse de crédit 535a, respectivement 535b, extrait d'une part l'information représentative de la mémoire Fifo, ou buffer de destination, d'autre part l'information représentative d'une libération de crédit dans une mémoire Fifo, ou buffer distante de réception. Lorsque le module d'analyse de crédit 535a, respectivement 535b, identifie un buffer de destination, l'information est transmise via un signal decontrôle à un module de contrôle FIFO afin que celui-ci sélectionne la FIFO d'entrée (3 mémoires de sortie) vers laquelle seront transférées les données. Lorsque le module d'analyse de crédit 535a, respectivement 535b, identifie une libération de crédit, l'information est transmise via un signal de contrôle au module d'émission de données 542. Le module d'émission de données 542, gère le procédé de segmentation pour la transmission des paquets depuis chacune des FIFO de sortie (3 mémoires de sortie). Le transfert de données depuis l'une des FIFO de sortie vers d'une part la FIFO d'émission des octets de poids fort 541a (tx_FIFO_MSB) et d'autre part vers la FIFO d'émission des octets de poids faible 541b (tx_FIFO_LSB) est effectué via les modules d'insertion de crédit 540a pour les poids faible et 540b pour les poids fort. D'une part, via des signaux de contrôle, le module d'émission de données 542 reçoit des informations de libération de crédit en provenance du module d'analyse de crédit 535a, respectivement 535b. D'autre part, le module d'émission de données 542 reçoit des demandes de 5 lecture ( read request en langage anglo-saxon) des FIFO de sortie en provenance d'un module de contrôle FIFO. Par ailleurs, le module de contrôle FIFO notifie au module d'insertion de crédit 540, lorsqu'un nombre prédéterminé de données a été lu dans une des FIFO d'entrée. Le module d'insertion de crédit 540a, respectivement 540b insère alors dans le segment une information représentative d'une libération de crédit associée à une des FIFO d'entrée. Le module de contrôle FIFO en émission 543 notifie au module d'émission de données 542 de l'émission de la totalité d'un segment, le segment comprenant à la fois les octets de poids faible stockés dans la FIFO 541b (tx_FIFO_LSB) et les octets de poids fort stockés dans la FIFO 541a (tx_FIFO_MSB). Les blocs 544a et 544b vont effectuer la transmission des segments en calculant le champ de contrôle de parité associé au segment. Ils informent donc le module de contrôle de FIFO en émission 543 de la fin d'émission de chaque partie du segment (respectivement poids faible et poids fort). Les blocs 545a et 545b vont effectuer le codage des segments comme décrit en figure 3 et la transmission octet par octet de chaque segment sous forme d'un train binaire via le bloc de synchronisation à l'émission 546. Le bloc de synchronisation à l'émission 546 est principalement en charge de générer un signal de synchronisation en tête de segment. Bien entendu, l'invention n'est pas limitée aux exemples de réalisation mentionnés ci-dessus. En particulier, l'homme du métier pourra apporter toute variante dans la longueur du mot à coder et du mot codée. On note que le codage ne se limite pas à un codage mettant en oeuvre 30 quatre fonctions de codage élémentaires mais s'étend à tout codage distinguant au moins deux fonctions de codage élémentaire en fonction des mots précédemment codés et du contenu du mot à coder. De même, le décodage de codes obtenus par un codage mettant en oeuvre des codages élémentaire en fonction des mots précédemment codés et du contenu du mot à coder est mis en oeuvre, selon l'invention, en fonction de la complexité recherchée: si la capacité mémoire n'est pas limitée, le décodeur peut effectuer une lecture directe dans des tables de décodages complètes et comprenant la correspondance entre mots de codes et mots décodés; si en revanche, il est nécessaire d'économiser de la mémoire, le décodage est simplifié, par exemple, en tenant compte des symétries possibles entre un mot décodé et son complément, et/ou du poids de mots de code reçu et/ou de tout autre paramètre permettant un décodage rapide et simple. On notera que l'invention ne se limite pas à une implantation purement matérielle mais qu'elle peut aussi être mise en oeuvre sous la forme d'une séquence d'instructions d'un programme informatique ou toute forme mixant une partie matérielle et une partie logicielle. Dans le cas où l'invention est implantée partiellement ou totalement sous forme logicielle, la séquence d'instructions correspondante pourra être stockée dans un moyen de stockage amovible (tel que par exemple une disquette, un CD-ROM ou un DVD-ROM) ou non, ce moyen de stockage étant lisible partiellement ou totalement par un ordinateur ou un microprocesseur. REVENDICATIONS 1. Procédé de codage d'une séquence de mots source, caractérisé en ce qu'il comprend: une étape de sélection d'une fonction de codage à appliquer à un mot source à coder en fonction du contenu dudit mot à coder et d'au moins un mot source précédent dans ladite séquence de sorte que la concaténation de deux mots codés consécutifs ne possède pas d'élément binaire, dit élément binaire isolé, encadré par deux éléments binaires qui ont une valeur différente dudit élément binaire isolé ; et - une étape de codage dudit mot à coder mettant en oeuvre la fonction de codage sélectionnée. 2. Procédé selon la revendication 1, caractérisé en ce que ladite étape de codage dudit mot à coder produit un mot codé de longueur fixe en fonction de la longueur du mot à coder. 3. Procédé selon l'une quelconque des revendications 1 et 2, caractérisé en ce que ladite étape de sélection d'une fonction de codage tient compte dudit élément binaire du dernier mot codé, le premier élément binaire du résultat de l'application de ladite fonction de codage à ladite séquence source à coder étant égal audit élément binaire du dernier mot codé. 4. Procédé selon la revendication 3, caractérisé en ce qu'il comprend une étape de mémorisation du dernier élément binaire du dernier mot codé. 5. Procédé selon l'une quelconque des revendications 1 à 4, caractérisé en ce qu'il comprend une étape de calcul de la différence entre un nombre d'éléments binaires associés à une première valeur binaire, et un nombre d'éléments binaires associés à une seconde valeur binaire, lesdits éléments binaires appartenant à un ensemble de mots précédemment codés, ladite étape de sélection d'une fonction de codage tenant compte du résultat dudit calcul de sorte à équilibrer sensiblement les nombres d'éléments binaires associés respectivement auxdites première et seconde valeurs binaires et lesdits éléments binaires appartenant à un ensemble de mots codés après application de ladite fonction de codage. 6. Procédé selon la revendication 5, caractérisé en ce que ladite étape de sélection d'une fonction de codage tient compte du signe de ladite différence. 7. Procédé selon la revendication 6, caractérisé en ce que l'application de la fonction de codage sélectionnée lors de ladite étape de sélection, audit mot source à coder: - contient au moins autant d'éléments correspondant à ladite première valeur binaire que d'élément correspondant à ladite seconde valeur binaire si ladite différence est strictement négative; et - contient au plus autant d'éléments correspondant à ladite première valeur binaire que d'élément correspondant à ladite seconde valeur binaire si ladite différence est strictement positive. 8. Procédé selon l'une quelconque des revendications 1 à 7, caractérisé en ce que ladite étape de sélection d'une fonction de codage comprend une sélection d'une fonction de codage parmi: - une première fonction de codage prédéterminée dont le résultat est une séquence codée de poids supérieur ou égal à la moitié du nombre d'éléments du mot codé, dit poids moyen, et dont le premier élément possède une première valeur binaire représentative de 0; - une deuxième fonction de codage prédéterminée dont le résultat est un mot codé de poids inférieur ou égal audit poids moyen, et dont le premier élément possède une première valeur binaire représentative de 0; une troisième fonction de codage prédéterminée dont le résultat est un mot codé de poids supérieur ou égal au dit poids moyen, et dont le premier élément possède une première valeur binaire représentative de 1; et - une quatrième fonction de codage prédéterminée dont le résultat est un mot codé de poids inférieur ou égal audit poids moyen, et dont le premier élément possède une première valeur binaire représentative de 1. 9. Procédé selon la revendication 8, caractérisé en ce que lesdites première et deuxième fonctions de codage coïncident lorsqu'elles produisent chacune des mots codés de poids égal audit poids moyen; et et en ce que lesdites troisième et quatrième fonctions coïncident lorsqu'elles produisent chacune des mots codés de poids égal audit poids moyen. 10. Procédé selon l'une quelconque des revendications 8 et 9, caractérisé en ce qu'il comprend: une étape de mémorisation d'une première table de codage associée à ladite première fonction de codage et d'une deuxième table de codage associée à ladite deuxième fonction de codage; et - une étape de lecture d'une séquence codée dans une desdites tables de codage associée à la fonction de codage sélectionnée, si une des première ou deuxième fonctions de codage est sélectionnée. 11. Procédé selon l'une quelconque des revendications 1 à 10, caractérisé en ce 15 qu'au moins une desdites fonctions de codage comprend une étape de détermination du complément binaire dudit mot à coder. 12. Procédé de décodage d'une séquence de mots codés binaires, caractérisé en ce que ladite séquence ne possède pas d'élément binaire, dit élément binaire isolé, encadré par deux éléments binaires qui ont une valeur différente dudit élément binaire isolé et en ce que ledit procédé comprend une étape de décodage de chacun desdits mots codés binaires, lesdits mots codés binaires étant décodées séparément. 13. Procédé selon la revendication 12, caractérisé en ce que tous lesdits mots codés binaires ont la même longueur déterminée. 14. Procédé selon l'une quelconque des revendications 12 et 13, caractérisé en ce qu'il comprend, pour chacun desdits mots codés binaires: une étape de lecture d'un mot décodé dans une table de décodage à un emplacement fonction dudit mot codé ; et - une étape de vérification de la validité dudit mot décodé en fonction du résultat de ladite étape de lecture. 15. Procédé selon l'une quelconque des revendications 12 à 14, caractérisé en ce qu'il comprend, pour chacun desdits mots codés binaires, une étape de vérification de la validité dudit mot reçu en fonction des mots de ladite séquence, précédemment reçus. 16. Procédé selon l'une quelconque des revendications 12 à 15, caractérisé en ce qu'il comprend, pour chacun desdits mots codés binaires, une étape de sélection d'une fonction de décodage à appliquer au mot codé binaire en fonction du contenu dudit mot codé. 17. Procédé selon la revendication 16, caractérisé en ce que ladite étape de sélection comprend une sous-étape d'extraction d'un sous-mot dudit mot codé binaire. 18. Procédé selon la revendication 17, caractérisé en ce que ledit procédé comprend une sous-étape de détermination du poids dudit mot codé binaire; et en ce que ladite sous-étape d'extraction de la sous-séquence comprend une détermination des positions des éléments binaires extraits dudit mot codé binaire en fonction dudit poids. 19. Procédé selon la revendication 18, caractérisé en ce qu'il comprend: une étape de calcul d'une combinaison linéaire des éléments binaires dudit sous-mot; et - une étape de lecture d'une table de décodage en fonction de ladite combinaison linéaire. 20. Procédé selon l'une quelconque des revendications 12 à 19, caractérisé en ce que, pour chacun desdits mots codés binaires, il comprend: une étape d'identification du premier élément binaire dudit mot codé 25 binaire; - et une étape de calcul du complément binaire dudit mot codé binaire si ledit premier élément binaire correspond à une valeur prédéterminée. 21. Procédé selon l'une quelconque des revendications 12 à 20, caractérisé en ce que, pour chacun desdits mots codés binaires, il comprend une étape de vérification de la validité dudit mot codé en fonction du poids dudit mot codé. 22. Signal représentatif d'une séquence de mots codés binaires, caractérisé en ce que ladite séquence ne possède pas d'élément binaire, dit élément binaire isolé, encadré par deux éléments binaires qui ont une valeur différente dudit élément binaire isolé. 23. Signal selon la revendication 22, caractérisé en ce que le poids de toute sous-séquence de ladite séquence est inférieur à une valeur prédéterminée. 24. Dispositif de codage d'une séquence de mots source, caractérisé en ce qu'il comprend: - des moyens de sélection d'une fonction de codage à appliquer à un mot source à coder en fonction du contenu dudit mot à coder et d'au moins un mot source précédent dans ladite séquence de sorte que la concaténation de deux mots codés consécutifs ne possède pas d'élément binaire, dit élément binaire isolé, encadré par deux éléments binaires qui ont une valeur différente dudit élément binaire isolé ; et - des moyens de codage dudit mot à coder mettant en oeuvre la fonction de codage sélectionnée. 25. Dispositif de codage selon la revendication 24, caractérisé en ce que lesdits moyens de codage dudit mot à coder produisent un mot codé de longueur fixe en fonction de la longueur du mot à coder. 26. Dispositif de codage selon l'une quelconque des revendications 24 et 25, caractérisé en ce qu'il comprend des moyens de calcul de la différence entre un nombre d'éléments binaires associés à une première valeur binaire, et un nombre d'éléments binaires associés à une seconde valeur binaire, lesdits éléments binaires appartenant à un ensemble de mots précédemment codés, lesdits moyens de sélection d'une fonction de codage tenant compte du résultat dudit calcul de sorte à équilibrer sensiblement les nombres d'éléments binaires associés respectivement auxdites première et seconde valeurs binaires et lesdits éléments binaires appartenant à un ensemble de mots codés après application de ladite fonction de codage. 27. Dispositif de codage selon l'une quelconque des revendications 24 à 26, caractérisé en ce que lesdits moyens de sélection d'une fonction de codage permettent une sélection d'une fonction de codage parmi: une première fonction de codage prédéterminée dont le résultat est une séquence codée de poids supérieur ou égal à la moitié du nombre d'éléments du mot codé, dit poids moyen, et dont le premier élément possède une première valeur binaire représentative de 0; une deuxième fonction de codage prédéterminée dont le résultat est un mot codé de poids inférieur ou égal audit poids moyen, et dont le premier élément possède une première valeur binaire représentative de 0; - une troisième fonction de codage prédéterminée dont le résultat est un mot codé de poids supérieur ou égal au dit poids moyen, et dont le premier élément possède une première valeur binaire représentative de 1; et - une quatrième fonction de codage prédéterminée dont le résultat est un mot codé de poids inférieur ou égal audit poids moyen, et dont le premier élément possède une première valeur binaire représentative de 1. 28. Dispositif de décodage d'une séquence de mots codés binaires, caractérisé en ce que ladite séquence ne possède pas d'élément binaire, dit élément binaire isolé, encadré par deux éléments binaires qui ont une valeur différente dudit élément binaire isolé et en ce que ledit dispositif comprend des moyens de décodage de chacun desdits mots codés binaires, lesdits mots codés binaires étant décodées séparément. 29. Dispositif de décodage selon la revendication 28, caractérisé en ce que tous lesdits mots codés binaires ont la même longueur déterminée. 30. Dispositif de décodage selon l'une quelconque des revendications 28 et 29, caractérisé en ce qu'il comprend, pour chacun desdits mots codés binaires: - des moyens de lecture d'un mot décodé dans une table de décodage à un emplacement fonction dudit mot codé ; et des moyens de vérification de la validité dudit mot décodé en fonction du résultat desdits moyens de lecture. 31. Dispositif de décodage selon l'une quelconque des revendications 28 à 30, caractérisé en ce qu'il comprend, pour chacun desdits mots codés binaires, des moyens de sélection d'une fonction de décodage à appliquer au mot codé binaire en fonction du contenu dudit mot codé. 32. Dispositif de décodage selon l'une quelconque des revendications 28 à 31, caractérisé en ce que, pour chacun desdits mots codés binaires, il comprend: - des moyens d'identification du premier élément binaire dudit mot codé binaire; et - des moyens de calcul du complément binaire dudit mot codé binaire si ledit premier élément binaire correspond à une valeur prédéterminée. 35. Produit programme d'ordinateur caractérisé en ce que ledit programme comprend des séquences d'instructions adaptées à la mise en oeuvre d'un procédé de codage selon l'une quelconque des revendications 1 à 11 lorsque ledit programme est exécuté sur un ordinateur. 36. Produit programme d'ordinateur caractérisé en ce que ledit programme comprend des séquences d'instructions adaptées à la mise en oeuvre d'un procédé de décodage selon l'une quelconque des revendications 12 à 21 lorsque ledit programme est exécuté sur un ordinateur. 37. Moyen de stockage d'informations, éventuellement totalement ou partiellement amovible, lisible par un système informatique, caractérisé en ce qu'il comprend des instructions pour un programme informatique adaptées à mettre en oeuvre le procédé de codage selon l'une quelconque des revendications l à l 1. 38. Moyen de stockage d'informations, éventuellement totalement ou partiellement amovible, lisible par un système informatique, caractérisé en ce qu'il comprend des instructions pour un programme informatique adaptées à mettre en oeuvre le procédé de décodage selon l'une quelconque des revendications 12 à 21.