FR2601833A1 - Procede de decodage d'un signal binaire code par un code de plages a longueur variable - Google Patents

Procede de decodage d'un signal binaire code par un code de plages a longueur variable Download PDF

Info

Publication number
FR2601833A1
FR2601833A1 FR8610410A FR8610410A FR2601833A1 FR 2601833 A1 FR2601833 A1 FR 2601833A1 FR 8610410 A FR8610410 A FR 8610410A FR 8610410 A FR8610410 A FR 8610410A FR 2601833 A1 FR2601833 A1 FR 2601833A1
Authority
FR
France
Prior art keywords
sep
length
binary
code
code word
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR8610410A
Other languages
English (en)
Other versions
FR2601833B1 (fr
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to FR8610410A priority Critical patent/FR2601833B1/fr
Publication of FR2601833A1 publication Critical patent/FR2601833A1/fr
Application granted granted Critical
Publication of FR2601833B1 publication Critical patent/FR2601833B1/fr
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/41Bandwidth or redundancy reduction
    • H04N1/411Bandwidth or redundancy reduction for the transmission or storage or reproduction of two-tone pictures, e.g. black and white pictures
    • H04N1/413Systems or arrangements allowing the picture to be reproduced without loss or modification of picture-information
    • H04N1/419Systems or arrangements allowing the picture to be reproduced without loss or modification of picture-information in which encoding of the length of a succession of picture-elements of the same value along a scanning line is the only encoding step
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/42Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code using table look-up for the coding or decoding process, e.g. using read-only memory
    • H03M7/425Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code using table look-up for the coding or decoding process, e.g. using read-only memory for the decoding process only

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

PROCEDE DE DECODAGE D'UN SIGNAL BINAIRE CODE PAR UN CODE DE PLAGES A LONGUEUR VARIABLE. LE PROCEDE DE L'INVENTION CONSISTE A REPETER, SUR LA SUITE BINAIRE COMPOSEE D'UNE SUITE DE MOTS DE LONGUEUR INFERIEURE OU EGALE A N, LES OPERATIONS SUCCESSIVES SUIVANTES TANT QUE LA SUITE BINAIRE N'EST PAS VIDE: -DETERMINER LA LONGUEUR D'UNE PLAGE A PARTIR DE LA CONFIGURATION BINAIRE COMPOSEE DES N PREMIERS BITS DE LA SUITE BINAIRE, LADITE CONFIGURATION BINAIRE ETANT UTILISEE COMME INDEX POUR ACCEDER A UNE PREMIERE TABLE DE DECODAGE, LADITE PREMIERE TABLE DE DECODAGE AYANT 2 ENTREES, LA VALEUR ASSOCIEE A UNE ENTREE ETANT EGALE, DANS LE CAS OU POUR UNE VALEUR P, PN, LES P BITS DE POIDS LES PLUS FORTS DE LA CONFIGURATION BINAIRE DE N BITS CONSTITUENT UN MOT DE CODE, A LA LONGUEUR DE LA PLAGE CORRESPONDANT AUDIT MOT DE CODE ET ETANT EGALE, DANS LE CAS CONTRAIRE, A UNE PREMIERE VALEUR PREDETERMINEE; -DETERMINER LA LONGUEUR DUDIT MOT DE CODE A PARTIR DE LADITE CONFIGURATION BINAIRE, CELLE-CI ETANT UTILISEE COMME INDEX POUR ACCEDER A UNE SECONDE TABLE DE DECODAGE AYANT 2 ENTREES, LA VALEUR ASSOCIEE A UNE ENTREE ETANT EGALE, DANS LE CAS OU POUR UNE VALEUR P, PN, LES P BITS DE POIDS LES PLUS FORTS DE LA CONFIGURATION BINAIRE DE N BITS CONSTITUENT UN MODE DE CODE, A LA LONGUEUR DUDIT MOT DE CODE ET ETANT EGALE, DANS LE CAS CONTRAIRE, A UNE SECONDE VALEUR PREDETERMINEE; -SUPPRIMER, DANS LADITE SUITE BINAIRE, LES P PREMIERS BITS FORMANT LE MOT DE CODE DECODE. APPLICATION AU TRAITEMENT DES IMAGES BINAIRES (TELECOPIE...).

Description

PROCEDE DE DECODAGE D'UN SIGNAL BINAIRE CODE PAR UN CODE DE
PLAGES A LONGUEUR VARIABLE
DESCRIPTION
La présente invention a pour objet un procédé de décodage d'un signal binaire codé par un code de plages à longueur variable. L'invention s'applique notamment au domaine du traitement des images numériques.
Le developpement des techniques de numérisation d'images s'est accompagné de la nécessité de pouvoir stocker et transmettre les images produites. L'importance du volume de données résultant de la numérisation d'une image a conduit à développer des méthodes de codage permettant de réduire la quantité d'informations à stocker ou à transmettre, ceci afin de réduire les ressources nécessaires, telles que la capacité de stockage ou le temps d'utilisation d'un réseau de transmission, et les coûts d'exploitation de ces ressources.
L'accès à une image stockée ou transmise ne peut donc se faire qu'après une opération de décodage, inverse de l'opération de codage, qui permet de retrouver le contenu de l'image initiale.
Les techniques de codage d'images numériques sont utilisées notamment en télécopie pour la transmission de documents sur le reseau téléphonique ou sur un reseau téléinformatique, et pour l'archivage électronique dans le but de constituer des bases de documents primaires et de permettre leur consultation par l'intermédiaire de réseaux publics ou privés.
On connait de nombreuses méthodes de codages d'images binaires. Certaines de ces méthodes se sont imposées comme normes en raison de leur efficacité, de leur fiabilité, et de la relative facilité de leur mise en oeuvre.
C'est le cas notamment des procédés de codage utilisés dans les appareils de télécopie du groupe III et du groupe IV, qui sont normalisés par Le CCITT.
Ces néthodes de codage s'appliquent à des images binaires comprenant un ensemble de points d'images, ou pixels, prenant la valeur "û" (point d'iaage blanc) ou la valeur "?" (point d'image noir). Les images binaires sont structurees en lignes consecutives dans chacune desquelles les pixels s'organisent eux-mêmes en une suite de plages, alternativement blanches et noires.
Le codage d'une image binaire consiste alors à remplacèr la valeur représentant La longueur d'une plage par un mot de code approprié. L'efficacité du codage, c'est-å-dire le taux de compression obtenu, depend du choix du mot de code associé à chaque longueur de plage, la plage de longueur la plus fréquente devant être codée par le Dot de code le plus court.
Ces mots de code à longueur variable sont en général définis dans une table de codage, qui donne la correspondance entre une longueur de plage de couleur déterminée (noire ou blanche) et le mot de code associé. C'est le cas par exemple du code de HUFFMAN modifie, utilisé en télécopie pour le groupe III, où l'image est entièrement codée par plages, et pour le groupe
IV, où L'image est partiellement codée par plages.
Une image binaire codée se présente ainsi sous la forme d'une suite binaire composée d'une succession de mots de code de longueurs différentes.
L'invention concerne l'opération de décodage, qui consiste à analyser le signal binaire de l'image codée pour restituer Les mots de code et pour déduire, à l'aide d'une table de correspondance, les longueurs de plages associées à ces mots de code et reconstruire ainsi l'image binaire de départ.
L'opération de décodage est rendue délicate par le fait qu'il faut découper le signal binaire représentant L'image codée en mots de code, ayant des Longueurs différentes, et dont la longueur est a priori inconnue. La technique généralement employée consiste en une recherche bit à bit, L'acquisition d'un nouveau bit du signal binaire permettant de progresser dans le parcours de L'arbre binaire de codage, jusqu'à atteindre un mot de code terminal, c'est-å-dire une feuille de l'arbre, correspondant à une longueur de pLage donnée. Lorsqu'un mot de code terminaL est obtenu, la recherche du mot de code suivant est initialisée par l'acquisition du bit suivant dans la suite de bits du signal binaire, et un nouveau parcours de l'arbre de codage commence.
L'arbre de codage peut être matérialisé de différentes façons. Le décodage peut être effectue de maniere logicielle dans ce cas, l'arbre de codage a une structure de donnees particulière (pointeurs, tableau, ...) dépendant de l'implémentation choisie dans le logiciel. Le décodage peut également être réalise sous forme câblée, l'arbre de codage étant alors contenu dans une mémoire morte à laquelle on accède, à chaque acquisition d'un nouveau bit, par une adresse calculée à partir de ce bit et de l'adresse précédente correspondant aux bits déjà reçus.
Ce procédé connu de décodage a pour inconvénient principal d'être très lent car le décodage s'effectue bit à bit sur le signal binaire représentant l'image codée. En effet, dans ce procédé, l'arbre binaire ou la table de décodage doivent être consultés après l'acquisition de chaque nouveau bit, jusqu'à ce que la suite des bits accumulés corresponde à un mot de code.
Pour un mot de code comprenant n bits, la reconnaissance de ce mot de code nécessite donc n accès à la table de décodage.
L'invention a pour but d'accélérer le décodage d'une suite binaire représentant une image binaire codée par un code de plages à longueur variable.
L'invention se rapporte à un procédé de décodage utilisant une table de décodage permettant de trouver, en un seul accès, la longueur de la plage correspondant à un mot de code contenu dans le signal binaire de l'image codée, ceci quelle que soit la longueur de ce mot de code. La recherche dans le signal binaire de l'image codée se fait donc, non plus bit à bit, mais par paquets de bits de longueur égale à celle des mots de code detectés.
De manière précise, l'invention a pour objet un procédé de décodage d'une suite binaire composée d'une suite de mots de code de longueurs différentes d'un code de plages à longueur variable, la longueur maximale d'un mot de code étant égale à n bits, où n est un entier, ledit procédé étant caractérisé en ce qu'il consiste à répéter les opérations successives suivantes tant que la suite binaire n'est pas vide ::
- déterminer la longueur d'une plage à partir de la configuration binaire composée des n premiers bits de la suite binaire, ladite configuration binaire étant utilisée comme index pour accéder à une première table de décodage, ladite première table de décodage ayant 2n entrées, la valeur associée à une entrée étant égale, dans le cas où pour une valeur p, p < n, les p bits de poids les plus forts de la configuration binaire de n bits constituent un mot de code, à la longueur de la plage correspondant audit mot de code et étant égale, dans le cas contraire, à une première valeur prédéterminée,
- déterminer la longueur dudit mot de code à partir de ladite configuration binaire, celle-ci étant utilisée comme index pour accéder à une seconde table de décodage ayant 2n entrées, la valeur associée à une entrée étant égale, dans le cas où pour une valeur p, p < n, les p bits de poids les plus forts de la configuration binaire de n bits constituent un mode de code, à la longueur dudit mot de code et étant égale, dans le cas contraire, à une se-conde valeur prédéterminée,
- supprimer, dans ladité suite binaire, les p premiers bits formant le mot de code décodé.
De manière préférée, la première table de décodage est séparée en deux sous-tables, une première sous-table blanche pour contenir les longueurs de plages blanches associées aux mots de code et une première sous-table noire pour contenir les longueurs de plages noires associes aux mots de code.
De même, de manière avantageuse, la seconde table de décodage est séparée en deux sous-tables, l'une pour mémoriser les longueurs des mots de code pour les mots de code associés aux longueurs de plages blanches, l'autre pour mémoriser les longueurs des mots de code pour les mots de code associés aux longueurs de plages noires.
Les caractéristiques et avantages de l'invention ressortiront mieux de la description qui va suivre, donnée à titre illustratif mais non limitatif, en référence aux dessins annexés sur lesquels :
- la figure 1 représente une configuration de treize bits extraits du signal binaire, dans laquelle les quatre premiers bits représentent un mot de code du code de HUFFMAN représenté dans le tableau I,
- la figure 2 illustre schématiquement la structure de la première table de décodage,
- la figure 3 illustre une variante de réalisation de la première table de décodage, dans laquelle ladite table est composée de deux sous-tables,
- la figure 4 illustre schématiquement la structure de la seconde table de décodage,
- la figure 5 illustre une variante de réalisation de la seconde table de décodage, dans laquelle ladite table est séparée en deux sous-tables, et
- La figure 6 illustre le décodage d'une suite binaire suivant le procédé de l'invention.
Le procédé de décodage de l'invention s'applique à toute suite binaire codée suivant un code de plages à longueur variable. A titre d'exemple, on va décrire un mode de mise en oeuvre du procédé de l'invention dans le cas du code de HUFFnAN modifié.
La table de codage des longueurs de plages suivant ce code est indiquée dans les tableaux Ia, Ib et Ic.
Le tableau Ia donne une première liste de mots de code pour des plages blanches ayant une longueur de O à 63 pixels et une deuxième liste de mots de code pour des plages noires ayant une longueur de O à 63 pixels. Le tableau Ib comprend de même deux listes de mots de code pour des plages respectivement blanches et noires dont la longueur est un multiple de 64 et est comprise entre 64 et 1728 pixels. Enfin, le tableau Ic comprend une liste de mots de code correspondant à des plages, blanches ou noires, dont la longueur est un multiple de 64 et est comprise entre 1792 et 2560 pixels.
Le tableau Ib est utilisé pour coder une longueur de plage comprise entre 64 et 1791 pixels. Par exemple, le codage d'une plage ayant une longueur de 760 pixels est composé d'un premier mot de code, extrait du tableau Ib, correspondant à une plage ayant une longueur de 704 pixels, suivi d'un deuxième mot de code, extrait du tableau Ia, correspondant à une plage ayant une longueur de 56 pixels.
Le tableau Ic est utilisé de la même manière pour le codage des plages ayant une longueur supérieure ou égale à 1792 pixels.
Dans le code de HUFFMAN modifié, choisi à titre d'exemple pour illustrer le procédé de l'invention, la longueur maximale n d'un mot de code est de treize bits. L'ensemble des mots de code est donc un sous-ensemble de l'ensemble des configurations binaires dont la valeur décimale est comprise entre 0 et 2@@-1.
Le procédé de décodage de l'invention consiste à extraire du signal binaire code une configuration binaire de longueur n(=13) et à utiliser cette configuration comme entrée dans une table de décodage, pour obtenir, en un seul accès à ladite table, le mot de code contenu dans ladite configuration binaire. Ce mode de code occupe les bits de poids les plus forts dans la configuration binaire et sa longueur est égale à p, où 2 < p < n. En cas d'erreur de codage, la configuration binaire peut ne pas comporter de mot de code.
Dans une configuration de n bits dans laquelle le mot de code a une longueur de p bits, les n-p bits de poids les plus faibles peuvent être quelconques. La table de décodage est donc n-p conçue de telle sorte que les 2 r configurations, dans lesquelles les p bits de poids les plus forts représentent un mot de code particulier, donnent chacune accès à la longueur de la plage codée par ledit mot de code, et à la longueur p de ce mot de code. La longueur du mot de code est en effet nécessaire pour pouvoir connaître le point de départ du mot de code suivant dans le signal binaire codé.
A titre d'exemple, on a représenté sur la figure 1 une configuration binaire de treize bits notés A12, Ail, ..., Ap (du bit de poids le plus fort au bit de poids le plus faible). Dans cette configuration les bits A12, Ail, AlO et A9 définissent le mot de code "0111" correspondant à une plage blanche ayant une longueur de 2 bits (cf tableau Ia).
La table de décodage doit permettre de reconnaître en un seul accès ce mot de code. Pour cela, toute les entrées de la table comprises entre 3584 (7.29) et 4095 (212,1) doivent contenir la même information relative à ce mot de code.
La table de décodage comprend donc une première table de décodage pour realiser une correspondance entre un mot de code contenu dans une configuration binaire de n bits et la longueur de la plage associée à ce mot de code, et une seconde table de décodage pour réaliser une correspondance entre un mot de code contenu dans une configuration binaire de n bits et la longueur de ce mot de code.
On a représenté schématiquement sur la figure 2 la première table de décodage. Cette table peut être utilisée aussi bien pour déterminer la longueur des plages noires que la longueur des plages blanches si une seule liste de mots de code est utilisée pour les deux couleurs de plages.
Dans l'exemple choisi, où n est égal à 13, la première
13 table de décodage comporte 2 entrées, c' est-à-dire 8192. On a rappelé entre parenthèses la valeur du mot de code associé à certaines entrées, dans le cas où la liste de mots de code utilisée pour les plages blanches et noires est celle des longueurs de plages blanches des tableaux la, Ib et Ic.
Par exemple, le mot de code "0111" se retrouve dans les
9 2 configurations de treize bits (cf figure 1) dont les valeurs décimales sont comprises entre 3584 et 4095. Le contenu de la table pour chacune de ces adresses est égal à la longueur de la plage associée, c'est-à-dire 2.
De même, les configurations de treize bits dont les valeurs décimales sont 32, 33, 34 et 35, contiennent le mot de code "00000001000". Le contenu de la table pour ces entrées est égal à 1792.
Pour certaines adresses, c'est-à-dire pour certaines configurations de treize bits, la configuration ne contient pas de mot de code. Ceci est indiqué dans la première table de décodage par une valeur particulière, par -exemple -1, associée auxdites adresses.
Une première table de décodage unique est utilisée
Lorsqu ' une seule liste de mots de code est utilisée pour les plages blanches et pour les plages noires. Cependant, de manière plus courante, une première liste de mots de code est associée à des longueurs de plages blanches et une seconde liste de mots de code est associée à des longueurs de plages noires, ceci pour tenir compte des statistiques différentes des longueurs de plages blanches et noires.
On a représenté schématiquement sur la figure 3 une partie de chacune des deux sous-tables constituant la première table de décodage dans le cas-où une liste de mots de code est associée à chaque couleur de plage. Pour chaque sous-table, on a indiqué la longueur de la plage associée au mot de code contenu dans une configuration de treize bits, cette configuration constituant l'adresse d'accès à la sous-table. Pour les configurations ne contenant pas de mpts de code, la valeur de la table a été fixée, à titre d'exemple, à la valeur -1.
Pour chaque sous-table, on a- en outre rappelé entre parenthèses te mot de code correspondant à chaque adresse. Les mots de code représentés sont extraits des tableaux la, Ib et Ic.
Les listes de mots de code sont différentes pour les longueurs de plages blanches et noires. Une même configuration de treize bits, utilisée comme adresse dans une sous-table, peut donc donner un résultat différent selon que la sous-table adressée est celle des longueurs de plages blanches ou celle des longueurs de plages noires.
Par exemple, toutes les configurations de treize bits dont la valeur decimale est comprise entre 1536 et 2047 contiennent, pour la sous-table des longueurs de plages noires, le même mot de code "0011". Pour chacune de ces entrées, la table contient la valeur 5 égale à la longueur de plage codée par ce mot de code.
En revanche, pour la sous-table des longueurs de plages blanches, "0011" n'est pas un mot de code mais est une séquence qui se retrouve dans plusieurs mots de code.
Ce sont notamment les mots de code "00111000", "00110010", "00110011" et "00111" que l'on trouve dans les configurations dont la valeur décimale est comprise respectivement entre 1536 et 1599, 1600 et 1631, 1632 et 1663, et 1792 et 2047. Les longueurs de plages blanches associées sont respectivement de 28, 61, 62 et 10 pixels.
Ainsi, par exemple, lors du décodage d'un mot de code correspondant à une plage blanche, si la configuration extraite du signal binaire codé est égale, en valeur décimale, à 1599, la longueur de la plage blanche est de 28 pixels et le mot de code est "ou11000". Dans le cas du décodage d'un mot de code représentant une plage noire, cette même configuration, de valeur décimale 1599, indique une plage noire ayant une longueur de 5 pixels, le mot de code étant égal à "0011".
La deuxième table de décodage, utilisée pour déterminer la longueur du mot de code, est construite de la même manière que la première table de décodage. On a représenté schématiquement sur la figure 4 la structure de cette seconde table de décodage.
Comme pour la première table de décodage, on peut n'utiliser qu'une unique seconde table de décodage, lorsqu'une même liste de mots de code est utilisée pour coder les longueurs de.plages blanches ou noires. La table représentée sur la figure 4 est conforme à la table de codage correspondant aux longueurs de plages blanches des tableaux Ia, Ib et Ic
Cette seconde table de décodage contient, pour chaque entrée égale à la valeur décimale d'une configuration binaire de treize bits, la longueur du mot de code contenu dans cette configuration binaire. Pour chaque configuration binaire indiquée sur la figure 4, le mot de code qu'elle contient est rappelé entre parenthèses. Pour les configurations ne contenant pas de mots de code, la valeur de la table est égale à -1.
Comme dans le cas de la première table de décodage, la seconde table de décodage se présente sous la forme de deux soustables, lorsque la table de codage comprend deux listes de mots de code associées respectivement aux plages blanches et aux plages noires.
On a représenté schématiquement sur la figure 5 une telle seconde table de décodage composee de deux sous-tables.
Chaque sous-table contient, pour l'entrée égale à la valeur décimale de la configuration binaire, la longueur du mot de code contenu dans ladite configuration. Le mot de code contenu dans une configuration est également rappelé entre parenthèses.
On va maintenant expliquer le fonctionnement du procédé de l'invention en référence à la figure 6. Sur cette figure, on a représenté une suite binaire 2 constituant un codage d'une ligne de pixels noirs ou blancs. Cette suite se compose d'un ensemble de mots de code qui correspondent alternativement à des longueurs de plages blanches et noirespuisque, sur une ligne de pixels, les plages successives sont alternativement blanches et noires.
On suppose que le signal 2 represente une ligne de pixels débutant par une plage blanche.
La première étape du procédé consiste à extraire de la suite codée la configuration binaire formée par les treize premiers bits de la suite. Cette configuration binaire est utilisée pour % accéder à la sous-table blanche de la première table de décodage et à la sous-tableblanche de la seconde table de décodage.
Ces sous-tables indiquent respectivement une longueur de mot de code égale à 6 bits (le mot de code est donc "110101") et une longueur de plage blanche égale à 15 pixels. Les six premiers bits de la suite codée 2 sont éliminés et les treize premiers bits de la suite restante sont utilisés pour déterminer la longueur de la plage noire suivant la plage blanche de 15 pixels.
Cette détermination se fait de la même manière que dans le cas précédent en utilisant la configuration binaire de treize bits comme accès à la sous-table noire de la première table de décodage et à la sous-table noire de la seconde table de décodage. Les valeurs obtenues indiquent respectivement un mot de code de 2 bits (le mot de code est "11") et une plage noire de 2 pixels.
Le procédé de décodage de l'invention est répété pour chaque ensemble des treize premiers bits de la suite binaire codée pour obtenir les longueurs des plages alternativement blanches et noires de la ligne de pixels.
En réalité, l'alternance entre les mots de code représentant des longueurs de plages blanches et noires n'est pas toujours respectée. En effet, les plages ayant une longueur supérieure ou égale à 64 pixels sont codées par une suite composée d'au moins deux mots de code. Une telle situation apparat dans la suite binaire codée 4 de la figure 6.
Les treize premiers bits de cette suite forment une configuration binaire qui, utilisée comme accès à la sous-table blanche de la première table de décodage et à la sous-table blanche de la seconde table de décodage, indiquent respectivement une longueur de mot de code de 5 bits (le mot de code étant "11011") et une longueur de plage de 64 bits.
Après suppression du mot de code dans la suite binaire codée, la configuration binaire égale aux treize premiers bits de la suite résiduelle 6 est utilisée non pas pour accéder aux soustables noires des première et seconde tables de décodage, comme le voudrait la règle de l'alternance des plages blanches et noires, mais au contraire pour adresser les sous-tables blanches des première et seconde tables de décodage afin de déterminer le complément de longueur de la plage blanche au-delà des 64 pixels.
Pour la configuration binaire représentée, les soustables indiquent respectivement une longueur de mot de code de 4 bits (le mot de code etant "1000") et une longueur de plage blanche de 3 pixels. La longueur totale de la plage blanche est donc de 64+3, soit 67 pixels.
Après suppression des quatre bits de tête de la suite 6, représentant le mot de code, la configuration binaire égale aux treize premiers bits de la suite résiduelle 8 est utilisée pour accéder aux sous-tables noires des première et seconde tables de décodage.
Le procédé de décodage est répété jusqu a ce que la suite binaire soit vide.
Deux cas particuliers de configurations binaires sont à distinguer lors du décodage de la suite binaire codée :
- pour chaque configuration contenant le mot de code correspondant à un code de fin de ligne (EOL), chaque sous-table contenant les longueurs de plages doit indiquer une valeur prédéterminée, par exemple -2, permettant de reconnaStre qu'il s'agit d'un code de fin de ligne. En ce qui concerne les soustables contenant les longueurs de mots de code, la valeur associée à ces configurations est égale- à la longueur du code de fin de ligne.
- pour les configurations ne contenant aucun mot de code de la table de codage, chaque sous-table des longueurs de plages doit indiquer également une valeur prédéterminée, par exemple -1, pour signifier qu'une erreur s'est produite ; la même valeur prédéterminée peut etre associée à ces configurations de bits dans chaque sous-table des longueurs de mots de code.
TABLEAU Ia
Figure img00130001
<tb> Longueur <SEP> de <SEP> Mot <SEP> de <SEP> code <SEP> Longueur <SEP> de <SEP> Mot <SEP> de <SEP> code
<tb> plage <SEP> blanche <SEP> plage <SEP> noire
<tb> 0 <SEP> 00110101 <SEP> 0 <SEP> 0000110111
<tb> <SEP> 1 <SEP> 000111 <SEP> 1 <SEP> 010
<tb> 2 <SEP> 0111 <SEP> 2 <SEP> 11
<tb> <SEP> @ <SEP> @@@@ <SEP> <SEP> @ <SEP> @@
<tb> <SEP> 3 <SEP> i <SEP> 1000 <SEP> | <SEP> 3 <SEP> I <SEP> 10
<tb> 4 <SEP> 1011 <SEP> 4 <SEP> 011
<tb> 5 <SEP> 1100 <SEP> 5 <SEP> 0011
<tb> 6 <SEP> 1110 <SEP> 6 <SEP> 0010
<tb> 7 <SEP> 1111 <SEP> 7 <SEP> 00011
<tb> 8 <SEP> 10011 <SEP> 8 <SEP> 000101
<tb> 9 <SEP> 10100 <SEP> 9 <SEP> 000100
<tb> 10 <SEP> 00111 <SEP> 10 <SEP> 0000100
<tb> 11 <SEP> 01000 <SEP> 11 <SEP> 0000101
<tb> 12 <SEP> 001000 <SEP> 12 <SEP> 0000111
<tb> 13 <SEP> 000011 <SEP> 13 <SEP> 00000100
<tb> 14 <SEP> 110100 <SEP> 14 <SEP> 00000111
<tb> <SEP> 15 <SEP> | <SEP> 110101 <SEP> 1 <SEP> 15 <SEP> j <SEP> 000011000 <SEP> | <SEP>
<tb> 16 <SEP> 101010 <SEP> 16 <SEP> 0000010111
<tb> 17 <SEP> 101011 <SEP> 17 <SEP> 0000011000
<tb> 18 <SEP> 0100111 <SEP> 18 <SEP> 0000001000
<tb> 19 <SEP> 0001100 <SEP> 19 <SEP> 00001100111
<tb> 20 <SEP> 0001000 <SEP> 20 <SEP> 00001101000
<tb> 21 <SEP> 0010111 <SEP> 21 <SEP> 00001101100
<tb> 22 <SEP> 0000011 <SEP> 22 <SEP> 00000110111
<tb> 23 <SEP> 0000100 <SEP> 23 <SEP> 00000101000
<tb> 24 <SEP> 0101000 <SEP> 24 <SEP> 00000010111
<tb> 25 <SEP> 0101011 <SEP> 25 <SEP> 00000011000
<tb> 26 <SEP> 0010011 <SEP> 26 <SEP> 000011001010
<tb> 27 <SEP> 0100100 <SEP> 27 <SEP> 000011001011
<tb>
TABLEAU la (suite)
Figure img00140001
<tb> j <SEP> Longueur <SEP> de <SEP> j <SEP> Mot <SEP> de <SEP> code <SEP> j <SEP> Longueur <SEP> de <SEP> j <SEP> Mot <SEP> de <SEP> code <SEP> j <SEP>
<tb> plage <SEP> blanche <SEP> plage <SEP> noire
<tb> 1 <SEP> 28 <SEP> 1 <SEP> 0011000 <SEP> 1 <SEP> 28 <SEP> 1 <SEP> 000011001100 <SEP> t <SEP>
<tb> j <SEP> 29 <SEP> j <SEP> 00000010 <SEP> 1 <SEP> 29 <SEP> 1 <SEP> 000011001101 <SEP> 1 <SEP>
<tb> 1 <SEP> 30 <SEP> 1 <SEP> 00000011 <SEP> 1 <SEP> 30 <SEP> 000001101000 <SEP> j <SEP>
<tb> 1 <SEP> 31 <SEP> j <SEP> 00011010 <SEP> j <SEP> 31 <SEP> j <SEP> 000001101001 <SEP> I
<tb> 1 <SEP> 32 <SEP> 1 <SEP> 00011011 <SEP> 1 <SEP> 32 <SEP> 1 <SEP> 000001101010 <SEP> j <SEP>
<tb> 33 <SEP> 00010010 <SEP> 33 <SEP> 000001101011
<tb> 34 <SEP> 00010011 <SEP> 34 <SEP> 000011010010
<tb> I <SEP> 35 <SEP> j <SEP> 00010100 <SEP> j <SEP> 35 <SEP> j <SEP> 000011010011 <SEP> j <SEP>
<tb> 36 <SEP> 00010101 <SEP> 35 <SEP> 000011010100
<tb> 37 <SEP> 00010110 <SEP> 37 <SEP> 000011010101
<tb> 38 <SEP> 00010111 <SEP> 38 <SEP> 000011010110
<tb> 39 <SEP> 00101000 <SEP> 39 <SEP> 000011010111
<tb> 40 <SEP> 00101001 <SEP> 40 <SEP> 000001101100
<tb> 41 <SEP> 00101010 <SEP> 41 <SEP> 000001101101
<tb> 42 <SEP> 00101011 <SEP> 42 <SEP> 000011011010
<tb> 43 <SEP> 00101100 <SEP> 43 <SEP> 000011011011
<tb> 44 <SEP> 00101101 <SEP> 44 <SEP> 000001010100
<tb> 45 <SEP> 00000100 <SEP> 45 <SEP> 000001010101
<tb> 46 <SEP> 00000101 <SEP> 46 <SEP> 000001010110
<tb> 47 <SEP> 00001010 <SEP> 47 <SEP> 000001010111
<tb> 48 <SEP> 00001011 <SEP> 48 <SEP> 000001100100
<tb> 49 <SEP> 01010010 <SEP> 49 <SEP> 000001100101
<tb> 50 <SEP> 01010011 <SEP> 50 <SEP> 000001010010
<tb> 51 <SEP> 01010100 <SEP> 51 <SEP> 000001010011
<tb> 52 <SEP> 01010101 <SEP> 52 <SEP> 000000100100
<tb> 53 <SEP> 00100100 <SEP> 53 <SEP> 000000110111
<tb> 54 <SEP> 00100101 <SEP> 54 <SEP> 000000111000
<tb> j <SEP> 55 <SEP> j <SEP> 01011000 <SEP> | <SEP> 55 <SEP> i <SEP> 000000100111 <SEP> j <SEP>
<tb>
TABLEAU Ia (suite)
Figure img00150001
<tb> Longueur <SEP> de <SEP> Mot <SEP> de <SEP> code <SEP> Longueur <SEP> de <SEP> Mot <SEP> de <SEP> code
<tb> <SEP> plage <SEP> blanche <SEP> plage <SEP> noire
<tb> <SEP> 56 <SEP> 01011001 <SEP> 56 <SEP> 000000101000
<tb> 57 <SEP> 01011010 <SEP> 57 <SEP> 000001011000
<tb> 58 <SEP> 01011011 <SEP> 58 <SEP> 000001011001
<tb> 59 <SEP> 01001010 <SEP> 59 <SEP> 000000101011
<tb> 60 <SEP> 01001011 <SEP> 60 <SEP> 000000101100
<tb> 61 <SEP> 00110010 <SEP> 61 <SEP> 000001011010
<tb> 62 <SEP> 00110011 <SEP> 62 <SEP> 000001100110
<tb> 63 <SEP> 00110100 <SEP> 63 <SEP> 000001100111
<tb>
TABLEAU Ib
Figure img00160001
<tb> j <SEP> Longueur <SEP> de <SEP> j <SEP> Mot <SEP> de <SEP> code <SEP> j <SEP> Longueur <SEP> de <SEP> j <SEP> Mot <SEP> de <SEP> code <SEP> j <SEP>
<tb> plage <SEP> blanche <SEP> plage <SEP> noire
<tb> 1 <SEP> 64 <SEP> 1 <SEP> 11011 <SEP> 1 <SEP> 64 <SEP> 1 <SEP> 0000001111 <SEP> j
<tb> 1 <SEP> 128 <SEP> j <SEP> 10010 <SEP> 1 <SEP> 128 <SEP> j <SEP> 000011001000 <SEP> 1 <SEP>
<tb> 1 <SEP> 192 <SEP> 010111 <SEP> 1 <SEP> 192 <SEP> 1 <SEP> 000011001001 <SEP> 1 <SEP>
<tb> 1 <SEP> 256 <SEP> 1 <SEP> 0110111 <SEP> 1 <SEP> 256 <SEP> 1 <SEP> 000001011011 <SEP> 1 <SEP>
<tb> 1 <SEP> 320 <SEP> 1 <SEP> 0010110 <SEP> 1 <SEP> 320 <SEP> 1 <SEP> 000000110011 <SEP> 1 <SEP>
<tb> 384 <SEP> 00110111 <SEP> 384 <SEP> 000000110100
<tb> 448 <SEP> 01100100 <SEP> 448 <SEP> 000000110101
<tb> 512 <SEP> 01100101 <SEP> 512 <SEP> 0000001101100
<tb> 576 <SEP> 01101000 <SEP> 576 <SEP> 0000001101101
<tb> 640 <SEP> 01100111 <SEP> 640 <SEP> 0000001001010
<tb> 704 <SEP> 011001100 <SEP> 704 <SEP> 0000001001011
<tb> 768 <SEP> 011001101 <SEP> 768 <SEP> 0000001001100
<tb> i <SEP> 832 <SEP> j <SEP> 011010010 <SEP> | <SEP> 832 <SEP> i <SEP> 0000001001101 <SEP>
<tb> 896 <SEP> 011010011 <SEP> 896 <SEP> 0000001110010
<tb> 960 <SEP> 011010100 <SEP> 960 <SEP> 0000001110011
<tb> 1024 <SEP> 011010101 <SEP> 1024 <SEP> 0000001110100
<tb> 1088 <SEP> 011010110 <SEP> 1088 <SEP> 0000001110101
<tb> 1152 <SEP> 011010111 <SEP> 1152 <SEP> 0000001110110
<tb> 1216 <SEP> 011011000 <SEP> 1216 <SEP> 0000001110111
<tb> 1280 <SEP> 011011001 <SEP> 1280 <SEP> 0000001010010
<tb> 1344 <SEP> 011011010 <SEP> 1344 <SEP> 0000001010011
<tb> 1408 <SEP> 011011011 <SEP> 1408 <SEP> 0000001010100
<tb> 1472 <SEP> 010011000 <SEP> 1472 <SEP> 0000001010101
<tb> 1536 <SEP> 010011001 <SEP> 1536 <SEP> 0000001011010
<tb> 1600 <SEP> 010011010 <SEP> 1600 <SEP> 0000001011011
<tb> 1664 <SEP> 011000 <SEP> 1664 <SEP> 0000001100100
<tb> 1728 <SEP> 010011011 <SEP> 1728 <SEP> 0000001100101
<tb>
TABLEAU Ic
Figure img00170001
<tb> <SEP> Longueur <SEP> de <SEP> plage <SEP> Mot <SEP> de <SEP> code
<tb> (blanche <SEP> ou <SEP> noire)
<tb> 1792 <SEP> 00000001000
<tb> 1856 <SEP> 00000001100
<tb> 1920 <SEP> 00000001101
<tb> 1 <SEP> 1984 <SEP> i <SEP> 000000010010 <SEP> | <SEP>
<tb> 2048 <SEP> 000000010011
<tb> <SEP> 2112 <SEP> 1 <SEP> 000000010100 <SEP> | <SEP>
<tb> 2176 <SEP> 000000010101
<tb> <SEP> 2240 <SEP> 1 <SEP> 000000010110 <SEP> | <SEP>
<tb> <SEP> 2304 <SEP> 1 <SEP> 000000010111 <SEP> | <SEP>
<tb> 1 <SEP> 2368 <SEP> i <SEP> 000000011100 <SEP> | <SEP>
<tb> 2432 <SEP> 000000011101
<tb> <SEP> 2496 <SEP> 1 <SEP> 000000011110 <SEP> | <SEP>
<tb> 2560 <SEP> 000000011111
<tb>

Claims (4)

REVENDICATIONS
1. Procéde de décodage d'une suite binaire composée d'une suite de mots de code de longueurs différentes d'un code de plages à longueur variable, la longueur maximale d'un mot de code étant égale à n bits, où n est un entier, ledit procédé étant caractérisé - en ce qu'il consiste à répéter Les opérations successives suivantes tant que la suite binaire n'est pas vide
- déterminer la longueur d'une plage à partir de la configuration binaire composée des n premiers bits de la suite binaire, ladite configuration binaire étant utilisée comme index pour accéder à une première table de décodage, ladite première table de décodage ayant 2n entrées, la valeur associée à une entrée étant égale, dans le cas où pour une valeur p, p < n, les p bits de poids les plus forts de la configuration binaire de n bits constituent un mot de code, à la longueur de la plage correspondant audit mot de code et étant égale, dans Le cas contraire, à une première valeur prédéterminée,
- déterminer la longueur dudit mot de code à partir de ladite configuration binaire, celle-ci étant utilisée comme index
n pour accéder à une seconde table de décodage ayant 2 entrées, la valeur associée à une entrée étant égale, dans le cas ou pour une valeur p, p < n, les p bits de poids les plus forts de La configuration binaire de n bits constituent un mode de code, à la longueur dudit mot de code et étant égale, dans le cas contraire, à une seconde valeur prédéterminée,
- supprimer, dans ladite suite binaire, les p premiers bits formant le mot de code décodé.
2. Procédé selon la revendication 1, caractérisé en ce que la première table de décodage se compose d'une première soustable blanche - pour contenir les longueurs des plages blanches associées aux mots de code et une première sous-table noire pour contenir les longueurs des plages noires associées aux mots de code.
3. Procédé selon l'une quelconque des revendications 1 et 2 caractérisé en ce que la seconde table de décodage se compose d'une seconde sous-table blanche pour contenir les longueurs des mots de code, pour les mots de code associés aux plages blanches, et une seconde sous-table noire pour contenir les longueurs des mots de code, pour les mots de code associés aux plages noires.
4. Procédé selon la revendication 1, caractérisé en ce que, pour chaque entrée de la première table de décodage dont la configuration d'accès contient le mot de code "fin de ligne", une seconde valeur prédéterminée est associée à ladite entrée.
FR8610410A 1986-07-17 1986-07-17 Procede de decodage d'un signal binaire code par un code de plages a longueur variable Expired - Lifetime FR2601833B1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR8610410A FR2601833B1 (fr) 1986-07-17 1986-07-17 Procede de decodage d'un signal binaire code par un code de plages a longueur variable

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR8610410A FR2601833B1 (fr) 1986-07-17 1986-07-17 Procede de decodage d'un signal binaire code par un code de plages a longueur variable

Publications (2)

Publication Number Publication Date
FR2601833A1 true FR2601833A1 (fr) 1988-01-22
FR2601833B1 FR2601833B1 (fr) 1992-12-31

Family

ID=9337511

Family Applications (1)

Application Number Title Priority Date Filing Date
FR8610410A Expired - Lifetime FR2601833B1 (fr) 1986-07-17 1986-07-17 Procede de decodage d'un signal binaire code par un code de plages a longueur variable

Country Status (1)

Country Link
FR (1) FR2601833B1 (fr)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3883847A (en) * 1974-03-28 1975-05-13 Bell Telephone Labor Inc Uniform decoding of minimum-redundancy codes
GB2012462A (en) * 1978-01-13 1979-07-25 Ncr Co Apparatus for decoding variable length code words

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3883847A (en) * 1974-03-28 1975-05-13 Bell Telephone Labor Inc Uniform decoding of minimum-redundancy codes
GB2012462A (en) * 1978-01-13 1979-07-25 Ncr Co Apparatus for decoding variable length code words

Also Published As

Publication number Publication date
FR2601833B1 (fr) 1992-12-31

Similar Documents

Publication Publication Date Title
FR2716587A1 (fr) Procédé et appareil de compression d&#39;images.
EP0142439B1 (fr) Procédé de compression d&#39;une succession d&#39;informations numériques, et dispositif mettant en oeuvre ce procédé
KR101678223B1 (ko) 멀티미디어 서명 코딩 및 디코딩
EP0484259A1 (fr) Procédé de codage binaire à taux de basculement des éléments binaires sensiblement uniforme, et procédés d&#39;incrémentation et de décrémentation correspondants
EP0820151B1 (fr) Procédé et dispositif de compression et de décompression de messages
FR2714554A1 (fr) Procédé et dispositif de décodage et codage parallèles et de décompression de données.
WO2014001703A1 (fr) Procédé de codage d&#39;un bloc courant d&#39;une première composante d&#39;image par rapport a un bloc de référence d&#39;au moins une deuxième composante d&#39;image, dispositif de codage et programme d&#39;ordinateur correspondant
FR2702914A1 (fr) Dispositif de codage de suites d&#39;images constituées d&#39;images de nature film et d&#39;images de nature vidéo, et dispositif de décodage correspondant.
AU2295399A (en) Arithmetic encoding and decoding of an information signal
FR2683341A1 (fr) Procede et appareil pour reduire la transmission de donnees par la mise en antememoire indexee de donnees.
EP2932714A1 (fr) Procédé de codage et décodage d&#39;images, dispositif de codage et décodage et programmes d&#39;ordinateur correspondants
FR2541836A1 (fr) Appareil de decodage de donnees et dispositif de traitement de donnees comprimees
EP0066512A1 (fr) Procédé de codage de données binaires, et son application à un système de transfert de signal vidéo numérisé sur bande magnétique
FR2825224A1 (fr) Procede et dispositif de compression et ou d&#39;indexation d&#39;images numeriques
FR2601833A1 (fr) Procede de decodage d&#39;un signal binaire code par un code de plages a longueur variable
FR2524740A1 (fr) Procede de compression d&#39;une image numerisee
EP1525663B1 (fr) Compression de donnees numeriques robuste au bruit de transmission
EP2279561A2 (fr) Procédé et dispositif pour coder et décoder des données dans des chiffres uniques
EP3529987A1 (fr) Procédé de codage et de décodage de paramètres d&#39;image, dispositif de codage et de décodage de paramètres d&#39;image et programmes d&#39;ordinateur correspondants
WO2019015884A1 (fr) Procede de decodage d&#39;une image, procede de codage, dispositifs, equipement terminal et programmes d&#39;ordinateurs associes
EP3491825B1 (fr) Procédé de décodage d&#39;une image, procédé de codage, dispositifs, équipement terminal et programmes d&#39;ordinateurs associés
RU2331914C2 (ru) Способ формирования потока данных с возможностью произвольного доступа и соответствующий способ его декодирования
FR3137809A1 (fr) Codage et décodage de données audio et/ou vidéo
WO2022175419A1 (fr) Procédé de fourniture d&#39;un contenu comportant au moins une image, format de fichier
EP4014494A1 (fr) Procédé de fourniture d&#39;un contenu comportant au moins une image, format de fichier

Legal Events

Date Code Title Description
TP Transmission of property
CL Concession to grant licences
TP Transmission of property
ST Notification of lapse