FR2490899A1 - DECODING APPARATUS FOR CODES REPRESENTED BY A CODE TREE - Google Patents

DECODING APPARATUS FOR CODES REPRESENTED BY A CODE TREE Download PDF

Info

Publication number
FR2490899A1
FR2490899A1 FR8117756A FR8117756A FR2490899A1 FR 2490899 A1 FR2490899 A1 FR 2490899A1 FR 8117756 A FR8117756 A FR 8117756A FR 8117756 A FR8117756 A FR 8117756A FR 2490899 A1 FR2490899 A1 FR 2490899A1
Authority
FR
France
Prior art keywords
data
decoding
bits
code
memory
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
FR8117756A
Other languages
French (fr)
Other versions
FR2490899B1 (en
Inventor
Hideaki Kanayama
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Publication of FR2490899A1 publication Critical patent/FR2490899A1/en
Application granted granted Critical
Publication of FR2490899B1 publication Critical patent/FR2490899B1/fr
Granted legal-status Critical Current

Links

Classifications

    • 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
    • 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/4025Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code constant length to or from Morse code conversion

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Facsimile Image Signal Circuits (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

DANS CET APPAREIL, SERVANT A DECODER UN CODE DE LONGUEUR VARIABLE REPRESENTE PAR UN ARBRE DE CODE ET DANS LEQUEL UNE MEMOIRE A TABLES DE DECODAGE 16 EST LUE ET DES MOYENS DECIDENT SI LES DONNEES LUES SONT FINALES OU INTERMEDIAIRES, IL EST PREVU DES MOYENS D'ENTREE 24, 26, 36 INTRODUISANT, POUR DES DONNEES INTERMEDIAIRES, UN NOMBRE DONNE DE BITS A INTRODUIRE, A PARTIR D'UN TRAIN DE CODES D'ENTREE, ET DES MOYENS 22 TRAITANT L'INFORMATION DES DONNEES INTERMEDIAIRES POUR DETERMINER L'ADRESSE DE LA MEMOIRE 16, A LAQUELLE L'ACCES DOIT ETRE EFFECTUE. APPLICATION NOTAMMENT AU DECODAGE DES CODES DE LONGUEUR VARIABLE.IN THIS APPARATUS, SERVING TO DECODER A CODE OF VARIABLE LENGTH REPRESENTED BY A CODE TREE AND IN WHICH A MEMORY WITH DECODING TABLES 16 IS READ AND MEANS DECIDE WHETHER THE DATA READ ARE FINAL OR INTERMEDIATE, MEANS ARE PROVIDED FOR. INPUT 24, 26, 36 INTRODUCING, FOR INTERMEDIATE DATA, A GIVEN NUMBER OF BITS TO BE ENTERED, FROM AN ENTRY CODES TRAIN, AND MEANS 22 PROCESSING THE INFORMATION OF INTERMEDIATE DATA TO DETERMINE THE ADDRESS OF MEMORY 16, TO WHICH THE ACCESS MUST BE MADE. APPLICATION IN PARTICULAR TO THE DECODING OF VARIABLE LENGTH CODES.

Description

La présente invention concerne un appareil permet-The present invention relates to an apparatus for

tant de décoder un code de longueur variable représenté par  to decode a variable length code represented by

un réseau ou un arbre de code.a network or a code tree.

Un code connu de longueur variable représenté par un arbre de code est par exemple le code de Huffman modifié. Ce code est obtenu par codage d'une longueur de parcours noire et blanche d'une image explorée, au moyen du système de codage de Huffman, comme cela est décrit par exemple dans l'article de R. Hunter et consorts "International Digital Facsimile Coding Standards" (Norme internationale de codage de facsimilé numérique), Proceeding of the IEEE, juillet 1980, vol. 68, No. 7, pp. 854-867, chapitre IV "One-Dimensional  A known code of variable length represented by a code tree is for example the modified Huffman code. This code is obtained by encoding a black and white path length of an image scanned, using the Huffman coding system, as described for example in the article by R. Hunter et al. International Digital Facsimile Coding Standards ", Proceeding of the IEEE, July 1980, vol. 68, No. 7, pp. 854-867, Chapter IV "One-Dimensional

Coding Scheme" (Système de codage unidimensionnel). Un procé-  Coding Scheme "(a one-dimensional coding system).

dé classique de décodage de ce code de Huffman modifié con-  decoding of this modified Huffman code

siste à choisir l'une parmi deux branches en chaque noeud d'un arbre de code en fonction du fait que l'on détecte un "1" ou un "O" pour des bits individuels du code d'entrée, en aboutissant finalement au niveau d'un noeud final indiquant  is to select one of two branches at each node of a code tree depending on whether a "1" or an "O" is detected for individual bits of the input code, ultimately leading to level of an endpoint indicating

un résultat décodé. Pour réaliser ce décodage, il est néces-  a decoded result. To achieve this decoding, it is necessary to

saire d'accéder à une mémoire à tables de décodage pour cha-  to access a decoding table memory for each

que bit des données d'entrée et de décider, pour chaque sor-  that bit of input data and decide, for each

tie de la mémoire, si le noeud final est atteint ou non.  of the memory, whether the endpoint is reached or not.

Ceci augmente le nombre des phases opératoires de traitement, y compris l'accès à la mémoire, qui prend du temps, et le  This increases the number of processing steps, including time-consuming memory access, and the

traitement des décisions, ce qui entraîne que la durée glo-  treatment of decisions, which means that the overall duration

bale de traitement devient relativement longue. C'est pour-  treatment bale becomes relatively long. It's for-

quoi le procédé de décodage de l'art antérieur, mentionné ci-dessus, est désavantageux par le-fait qu'on ne peut le  that the decoding method of the prior art, mentioned above, is disadvantageous by the fact that it can not be

mettre en oeuvre que moyennant l'utilisation d'un micropro-  implement only through the use of a micropro-

cesseur à grande vitesse ou d'un circuit logique câblé.  high-speed terminator or wired logic circuit.

Bien qu'il ne soit pas destiné à-être utilisé pour le code de facsimilé, un procédé visant à accroître la cadence de décodage pour le code de Huffman est décrit dans le brevet déposé aux Etats-Unis d'Amérique sous le numéro  Although it is not intended to be used for the facsimile code, a method for increasing the decoding rate for the Huffman code is described in the United States Patent number

3.883.847, ayant pour titre "Uniform Decoding of Minimum-  3,883,847, entitled "Uniform Decoding of Minimum-

Redundancy Codes" (Décodage uniforme de codes à redondance  Redundancy Codes "(Uniform Decoding of Redundancy Codes)

minimale). Selon le procédé de décodage décrit dans ce bre-  minimal). According to the decoding method described in this

vet, les données d'un nombre prédéterminé de bits sont intro-  vet, the data of a predetermined number of bits are inserted

duites à partir d'un train de codes d'entrée pour avoir accès à une mémoire principale à tables de décodage en vue d'en effectuer la lecture et, dans le cas o le décodage n'est pas achevé au moyen de la lecture, une adresse d'une mémoire secondaire à tables de décodage, à laquelle on doit accéder ensuite, est déterminée en utilisant les données extraites par lecture, puis des données d'entrée à plusieurs bits introduits ensuite ont alors accès à la mémoire secondaire à tables de décodage, ce qui permet d'obtenir un résultat décodé. Ce procédé accroît la vitesse de décodage, mais utilise deux mémoires à tables de décodage et par conséquent présente l'inconvénient consistant en ce que la capacité  using an input code train to access a main memory with decoding tables for reading and, in the case where the decoding is not completed by means of reading, an address of a secondary memory with decoding tables, which must then be accessed, is determined by using the read-out data, and then subsequently inputted multi-bit input data have access to the secondary memory with tables of decoding, which makes it possible to obtain a decoded result. This method increases the decoding speed, but uses two decode table memories and therefore has the disadvantage that the capacitance

globale de mémorisation est importante.  overall memory is important.

Un objet de la présente invention est de fournir un appareil de décodage pouvant réaliser un décodage à grande vitesse d'un code de longueur variable représenté par un  An object of the present invention is to provide a decoding apparatus capable of high speed decoding of a variable length code represented by a

arbre de code, sans mettre en oeuvre l'opération de déco-  code tree, without implementing the deco operation.

dage bit à bit, et dont la mémoire à tables de décodage  bit-wise, and whose decoding table memory

utilisée possède une faible capacité.  used has a low capacity.

Conformément à un aspect de la présente invention, la mémoire à tables de décodage possède une zone destinée à la mémorisation des données finales et une zone destinée à  In accordance with an aspect of the present invention, the decode table memory has an area for storing the final data and a region for

la mémorisation des données intermédiaires. Les données fina-  storage of the intermediate data. The final data

les comportent au moins une information indiquant l'achève-  include at least one information indicating the completion of

ment du décodage et une information indiquant le résultat du décodage, et les données intermédiaires incluent au moins  decoding and information indicating the result of the decoding, and the intermediate data include at least

une information indiquant un décodage incomplet, une informa-  information indicating incomplete decoding, information

tion indiquant le nombre des bits devant être introduits  indicating the number of bits to be inserted

ensuite à partir d'un train de codes d'entrée et une informa-  then from a train of input codes and information

tion sur laquelle est basée l'adresse de la mémoire à tables  on which the address of the table memory is based

de décodage, à laquelle il faut ensuite accéder. Il se pro-  decoding, which must then be accessed. It happens

duit un accès à la mémoire à tables de décodage et une lecture de cette dernière,et des moyens de décision décident si les données lues hors de la mémoire à tables de décodage sont des données finales ou des données intermédiaires. Dans  provides access to and readout of the decoding table memory, and decision means determines whether the data read out of the decoding table memory is final data or intermediate data. In

le cas de données finales, l'information des données indi-  the case of final data, the information given in the

quant le résultat du décodage est délivrée par l'appareil de décodage. Dans le cas de données intermédiaires, les données  as the result of the decoding is delivered by the decoding apparatus. In the case of intermediate data, the data

ultérieures sont introduites à partir du train de codes d'en-  are introduced from the code train of

trée avec un nombre de bits qui est déterminé par l'inform-  with a number of bits which is determined by the informa-

tion des données intermédiaires indiquant le nombre des bits  intermediate data indicating the number of bits

devant être introduits ultérieurement, et les données intro-  to be introduced later, and the data entered

duites et l'information des données intermédiaires pour la  information and intermediate data for the

détermination de l'adresse de la mémoire à tables de décoda-  determining the address of the memory with decoding tables

ge, à laquelle il faut ensuite accéder, sont traitées de  ge, which must then be accessed, are treated as

manière à fournir l'adresse, à laquelle on doit accéder ul-  to provide the address, which must be accessed

térieurement, puis l'accès à l'adresse de la mémoire à tables de décodage est ensuite réalisé. Ces opérations sont répétées jusqu'à ce que les données finales soient lues  later, then access to the address of the decoding table memory is then achieved. These operations are repeated until the final data is read

hors de la mémoire à tables de décodage.  out of memory to decoding tables.

Par détermination, à partir des données extraites par lecture, du nombre des bits du code devant être introduits  By determining, from the data extracted by reading, the number of bits of the code to be introduced

ultérieurement et par détermination de l'adresse de la mémoi-  subsequently and by determining the address of the memo-

re à tables de décodage, à laquelle il faut accéder ensuite, par exploitation des données introduites par un tel nombre prédéterminé de bits etde l'information extraite par lecture,  to decode tables, which must then be accessed by exploiting the data entered by such a predetermined number of bits and the information extracted by reading,

il est possible de décoder à la fois un code possédant plu-  it is possible to decode both a code having more than one

sieurs bits sans qu'il soit nécessaire de sélectionner l'une de deux branches en chaque noeud de l'arbre de-code, et il est possible de réduire le nombre de répétitions d'accès à la mémoire à tables de décodage, ce qui permet un décodage à grande vitesse. En outre on peut avoir un accès répété à la même mémoire à tables de décodage et par conséquent cette mémoire peut être utilisée de façon efficace et on peut lui donner une taille réduite. En outre lorsque le décodage d'un code est achevé, un premier bit du train de codes  binary bits without the need to select one of two branches at each node of the code tree, and it is possible to reduce the number of access repetitions to the decoding table memory, which allows high speed decoding. In addition, there can be repeated access to the same decoding table memory and therefore this memory can be used efficiently and can be given a small size. In addition, when the decoding of a code is completed, a first bit of the code stream

d'entrée indique le bit de tête du code suivant.  input indicates the leading bit of the next code.

Conformément à un autre aspect de la présente inven-  In accordance with another aspect of the present invention,

tion, les données finales présentes dans la mémoire à tables de décodage incluent une information indiquant l'achèvement  the final data present in the decoding table memory include information indicating the completion

du décodage, une information indiquant le résultat du déco-  decoding, information indicating the result of the deco-

dage et une information indiquant le nombre des bits devant  and information indicating the number of bits in front of

être introduits ensuite, et les données intermédiaires in-  to be introduced afterwards, and the intermediate data

cluent une information indiquant un décodage inachevé et  clue information indicating incomplete decoding and

une information sur laquelle est basée l'adresse de la mémoi-  information on which is based the address of the memo-

re à tables de décodage auxquelles on doit avoir accès ensuite. Après que la mémoire à tables de décodage ait été lue, des moyens de décision décident, en ce qui concerne les données extraites par lecture, s'il s'agit de données finales ou de données intermédiaires. Dans le cas de données finales, l'information des données indiquant le résultat du décodage  re to decoding tables which must be accessed later. After the decoding table memory has been read, decision means decides, with respect to the data extracted by reading, whether it is final data or intermediate data. In the case of final data, the information of the data indicating the result of the decoding

est sortie et les données ultérieures sont introduites à par-  has been released and the subsequent data are introduced

tir d'un train de codes d'entrée par le nombre de bits spéci-  firing of an input code train by the number of bits specified

fiés par l'information des données extraites par lecture,  informed by the information extracted from the reading,

indiquant le nombre de bitsdevant être introduits ensuite.  indicating the number of bits to be introduced next.

Dans le cas de données intermédiaires, les données ultérieu-  In the case of intermediate data, the subsequent data

res sont introduites à partir du train de codes d'entrée par un nombre fixe m de bits (m étant un nombre entier supérieur ou égal à 2),.et les données introduites et l'information des données extraites par lecture pour la détermination de l'adresse de la mémoire à tables de décodage, à laquelle doit s'effectuer ensuite l'accès, sont traitées, puis le résultat de l'opération est utilisé pour réaliser l'accès  res are introduced from the input code stream by a fixed number m of bits (m being an integer greater than or equal to 2), and the data entered and the information of the data extracted by reading for the determination of the address of the decoding table memory, which must then be accessed, are processed, then the result of the operation is used to achieve access

à la mémoire à tables de décodage. Ces opérations sont répé-  to the decoding table memory. These operations are repeated

tées pour le décodage successif des codes du train de codes d'entrée. Le nombre des bits devant être introduits ensuite dans les données finales est fourni par L-(n-1).m, o L est  for the successive decoding of the codes of the input code stream. The number of bits to be inserted into the final data is then provided by L- (n-1) .m, where L is

une longueur de code décodée et n est le nombre de répéti-  a decoded code length and n is the number of repetitions

tions d'accès à la mémoire à tables de décodage.  access to the decoding table memory.

A titre d'exemple on a décrit ci-dessous et illus-  By way of example, we have described below and illustrated

tré schématiquement aux dessins annexés une forme de réali-  schematically in the accompanying drawings a form of embodiment

sation de l'objet de l'invention.the object of the invention.

La figure 1 est un diagramme montrant une partie d'une table de décodage pour le code de Huffman modifié, au  Fig. 1 is a diagram showing a portion of a decoding table for the modified Huffman code, at

moyen d'un procédé de décodage bit par bit utilisant un ar-  by means of a bit-by-bit decoding method using an ar-

bre de code.code.

La figure 2 est un diagramme montrant les phases opé-  Figure 2 is a diagram showing the operational phases

ratoires du décodage d'un code d'entrée "11011" indicatif d'une longueur de parcours blanche 64, grâce à l'utilisation  decoding an input code "11011" indicative of a white path length 64, through the use of

de la table de décodage représentée sur la figure 1.  of the decoding table shown in FIG.

La figure 3 est un schéma-bloc illustrant un appa-  FIG. 3 is a block diagram illustrating a

reil de décodage décrit dans le brevet déposé aux Etats-Unis  decoding wire described in the patent filed in the United States

d'Amérique sous le No. 3.883.847.of America under No. 3,883,847.

La figure 4 (4A, 4B) est un diagramme montrant un exemple d'une table de décodage pour des codes blancs, qui est utilisée dans l'appareil de décodage conforme à la  Fig. 4 (4A, 4B) is a diagram showing an example of a decoding table for blank codes, which is used in the decoding apparatus according to the present invention.

présente invention.present invention.

La figure 5A montre un exemple du format de données finales. La figure 5B montre un exemple du format de données intermédiaires.  Figure 5A shows an example of the final data format. Figure 5B shows an example of the intermediate data format.

La figure 6 est un diagramme montrant les phases opé-  Figure 6 is a diagram showing the operational phases

ratoires du décodage d'un code d'entrée "11011" indicatif  decoding an input code "11011" indicative

d'une longueur de parcours blanche 64, moyennant l'utilisa-  of a length of white course 64, with the use of

tion de la table de décodage représentée sur la figure 4  of the decoding table shown in FIG.

(4A, 4B).(4A, 4B).

La figure 7 montre un schéma-bloc d'un exemple de  Figure 7 shows a block diagram of an example of

l'appareil de décodage conforme à la présente invention, uti-  the decoding apparatus according to the present invention,

lisant la table de décodage de la figure 4 (4A, 4B).  reading the decoding table of Figure 4 (4A, 4B).

La figure 8 montre un exemple d'une partie de la table de décodage pour des codes blancs, destinée à être utilisée dans une autre forme de réalisation de l'appareil  Fig. 8 shows an example of a part of the decoding table for white codes, for use in another embodiment of the apparatus

de décodage conforme à l'invention.  decoding according to the invention.

La figure 9 est un diagramme montrant les phases  Figure 9 is a diagram showing the phases

opératoires de décodage d'un code d'entrée "11011" représen-  procedures for decoding an input code "11011" representing

tatif d'une longueur -de parcours blanche 64, moyennant l'uti-  of a length of white course 64, with the use of

lisation de la table de.décodage de la figure 8.  the decoding table in Figure 8.

La figure 10 montre un schéma-bloc représentatif d'une autre forme de réalisation de l'appareil de décodage  Fig. 10 shows a block diagram representative of another embodiment of the decoding apparatus

conforme à la présente invention utilisant la table de déco-  according to the present invention using the table of deco-

dage de la figure 8.of Figure 8.

La figure 11 montre un schéma-bloc représentatif d'une autre forme de réalisation de l'appareil de décodage conforme à la présente invention, utilisant la table de décodage de la figure 4 (4A, 4B) et construit en utilisant  Fig. 11 shows a block diagram representative of another embodiment of the decoding apparatus according to the present invention, using the decoding table of Fig. 4 (4A, 4B) and constructed using

un microprocesseur.a microprocessor.

La figure 12 est un organigramme montrant un exemple de fonctionnement de l'appareil de décodage représenté sur  Fig. 12 is a flowchart showing an exemplary operation of the decoding apparatus shown in

la figure 11.Figure 11.

La figure 13, (13A, 13B) est un diagramme, corres-  Figure 13, (13A, 13B) is a diagram, corresponding to

pondant à celui de la figure 4 (4A, 4B), montrant un exemple  to that of Figure 4 (4A, 4B), showing an example

d'une table de décodage pour un code noir.  a decoding table for a black code.

La figure 14 est un graphe montrant les relations entre différents systèmes de décodage et les capacités de  Figure 14 is a graph showing the relationships between different decoding systems and the capabilities of

mémoire à tables de décodage requises pour ces systèmes.  memory decoding tables required for these systems.

La figure 15 est une table montrant les relations entre différents systèmes de décodage et les temps requis  Figure 15 is a table showing the relationships between different decoding systems and the required times

pour accéder aux mémoires à tables de décodage.  to access the decode table memories.

La figure 16 est une table montrant les relations entre les capacités des mémoires à tables de décodage et les durées d'accès requises dans chaque appareil de décodage, dans le cas o la capacité de la mémoire à tables de décoda-  FIG. 16 is a table showing the relationships between the decoding table memory capabilities and the required access times in each decoding apparatus, in the case where the capacity of the decoding table memory

ge et les temps d'accès aux mémoires requises dans la pre-  age and the access times to the memories required in the first

mière forme de réalisation de la présente invention sont  The first embodiment of the present invention is

représentées chacune par 1. -each represented by 1. -

Afin de faciliter une meilleure compréhension de la  In order to facilitate a better understanding of

présente invention, on va fournir tout d'abord une descrip-  present invention, we will first provide a descrip-

tion du procédé classique de décodage bit par bit. La figure 1 représente une partie d'un arbre de code blanc du code de Huffman modifié, basé sur le procédé classique de décodage  of the conventional bit-by-bit decoding method. Figure 1 shows a portion of a modified white code tree of Huffman code, based on the conventional decoding method

bit par bit, l'arbre de code constituant une table de déco-  bit by bit, the code tree constituting a table of deco-

dage. Une racine 1 est subdivisée en deux branches 4, dont chacune atteint un noeud 2. Le noeud 2 se subdivise en deux branches 4, dont chacune est à nouveau subdivisée en deux branches 4 en chaque noeud 2. De cette manière, on atteint les noeuds finaux 3. Au-dessus de la branche 4, au niveau de chaque noeud 2 et avant que ce dernier ne soit subdivisé, on a représenté une adresse <XX> de la table de décodage et  dage. A root 1 is subdivided into two branches 4, each of which reaches a node 2. The node 2 is subdivided into two branches 4, each of which is again subdivided into two branches 4 in each node 2. In this way, the nodes are reached. 3. On top of branch 4, at each node 2 and before it is subdivided, an address <XX> of the decoding table is shown.

des données (XX) de la table de décodage ou une longueur par-  data (XX) of the decoding table or a length par-

courue [XXI. Les X de cette adresse et de ces données prennent  run [XXI. The X's of this address and this data take

la forme de l'un quelconque des caractères 0, 1, 2, 3,...  the shape of any of the characters 0, 1, 2, 3, ...

9, A, B, C, D, E et F; en effet "XX" représente des nombres hexadécimaux à deux chiffres. Cependant, dans le cas de la longueur de parcours, le X indique un nombre décimal. Une lettre minuscule "c" indique une extension supplémentaire  9, A, B, C, D, E and F; indeed "XX" represents hexadecimal numbers with two digits. However, in the case of the path length, the X indicates a decimal number. A lowercase letter "c" indicates an additional extension

de l'arbre de code.of the code tree.

La figure 2 représente un exemple du décodage d'un code "11011" représentant une longueur de parcours blanche 64, qui est introduite en tant que train de codes d'entrée  Fig. 2 shows an example of decoding a code "11011" representing a white path length 64, which is inputted as an input code stream.

(train de données) dans la table de décodage de la figure 1.  (data stream) in the decoding table of FIG.

La procédure de décodage commence avec la préparation de (00) comme données initiales. Le premier bit "1" des données d'entrée est introduit en étant ajouté aux données initiales  The decoding procedure begins with the preparation of (00) as initial data. The first bit "1" of the input data is introduced by being added to the initial data

(00) de manière à obtenir une adresse de saut <01>. Des don-  (00) so as to obtain a jump address <01>. Data

nées (04) de l'adresse de saut sont extraites par lecture.  born (04) of the jump address are read out.

A partir des données (04), il est vérifié si un noeud final de l'arbre de codes a été atteint ou non. Les données (X2=0, X1=4) sont représentées respectivement sous la forme de nombres binaires et le fait qu'un noeud final a été atteint ou non est décidé en fonction du fait que le bit de poids le plus important de "X2X1l" c'est-à-dire "00000100" est "1" ou "0". Dans ce cas, étant donné que le bit de poids le plus important est "0", il est décidé que le noeud final n'a pas été atteint (dans le cas o le bit de poids le plus important est "1", il est décidé que le noeud final a été atteint). Ensuite le bit suivant "1" des données d'entrée est ajouté aux données (04) de manière à obtenir une adresse de saut <05>. De cette manière l'une des deux branches est choisie pour chaque noeud 2 en fonction du fait que chaque donnée à un bit est "0" ou "1". Ensuite, l'accès à la table de décodage, la décision du noeud final et la formation d'une adresse de saut sont répétés de façon similaire lors de chaque application d'un bit des données d'entrée, ce qui  From the data (04), it is checked whether or not an end node of the code tree has been reached. The data (X2 = 0, X1 = 4) are represented as binary numbers and the fact that an end node has been reached or not is decided according to the fact that the most significant bit of "X2X1l "i.e.," 00000100 "is" 1 "or" 0 ". In this case, since the most significant bit is "0", it is decided that the end node has not been reached (in the case where the most significant bit is "1" it is is decided that the end node has been reached). Then the next bit "1" of the input data is added to the data (04) so as to obtain a jump address <05>. In this way one of the two branches is selected for each node 2 depending on whether each one-bit data is "0" or "1". Then, the access to the decoding table, the decision of the endpoint and the formation of a jump address are similarly repeated at each application of a bit of the input data, which

permet d'arriver en définitive au niveau du noeud final.  allows to finally arrive at the endpoint.

Ainsi une adresse <21> est atteinte et sa donnée (Ci), c'est-à-dire "11000001" est lue. Etant donné que le bit de poids le plus important de cette donnée est "1", il est décidé que le noeud final a été atteint, et la longueur de parcours est décodée en utilisant la donnée (Ci) de ce noeud final. C'est-à-dire que la donnée du bit qui succède au bit de poids le plus important de la donnée (Cl=11000001) indique un code de terminaison ou un code de reprise. Lorsque  Thus an address <21> is reached and its data (Ci), that is to say "11000001" is read. Since the most significant bit of this datum is "1", it is decided that the end node has been reached, and the path length is decoded using the datum (Ci) of this end node. That is, the bit data that succeeds the most significant bit of the data (Cl = 11000001) indicates a termination code or a recovery code. When

o ce bit est "1", cela indique le code de reprise et la lon-  o this bit is "1", this indicates the recovery code and the time

gueur de parcours est obtenue en multipliant 64 par un nom-  course is obtained by multiplying 64 by a number of

bre formé des six chiffres d'ordre inférieur, c'est-à-dire "000001" (un nombre binaire) = 1 (un nombre décimal) dans ce cas. Lorsque la donnée du bit d'ordre immédiatement inférieur par rapport au bit de poids le plus important des données  6 digits of lower order, that is "000001" (a binary number) = 1 (a decimal number) in this case. When the data of the order bit immediately below the most important data bit of the data

lues est "0", cela indique le code de terminaison et la va-  reads "0", this indicates the termination code and the

leur des six bits d'ordre inférieur de la donnée indique la  their six lower order bits of the data indicates the

longueur de parcours.Dans l'art antérieur, il était nécessai-  In the prior art, it was necessary to

re d'accéder à la table de décodage pour chaque bit de donnée et de prendre une décision relative à la donnée, comme cela a été décrit cidessus. Ceci oEtraîne de façon inévitable  re to access the decoding table for each bit of data and make a decision about the data, as described above. This inevitably entails

une réduction de la vitesse de décodage.  a reduction in the decoding speed.

En se référant à la figure 3, on va donner une brève  Referring to Figure 3, we will give a brief

description d'un procédé de décodage décrit dans le brevet  description of a decoding method described in the patent

déposé aux Etats-Unis d'Amérique sous le No. 3.883.847. Les données d'entrée sont introduites dans un registre d'entrée 210, à partir duquel seulement K bits des données d'entrée sont transférés dans un registre 211. Les données à K bits ainsi appliquées au registre 211 sont incrémentées de 1 dans un additionneur 212, dont le signal de sortie est utilisé en  deposited in the United States of America under No. 3,883,847. The input data is inputted into an input register 210, from which only K bits of the input data are transferred into a register 211. The K-bit data thus applied to the register 211 are incremented by 1 in an adder 212, whose output signal is used in

tant qu'adresse pour l'accès à une mémoire à tables de déco-  as an address for access to a memory at deco-

dage principale 214 par l'intermédiaire d'un circuit d'adres-  principal 214 through a circuit of

sage 213 et d'une porte d'inhibition 281. Lorsque les don-  213 and a door of inhibition 281. When the

nées provenant de la mémoire 214 sont un résultat décodé, le code décodé est délivré à partir d'un registre 217 à un conducteur de sortie 243 par l'intermédiaire d'une porte d'inhibition 241 et d'une porte OU 242. En outre le nombre des bits utilisés dans les données à K bits introduites est délivré par un registre 216 à un multiplicateur de cadence binaire 218 par l'intermédiaire d'une porte d'inhibition 283 et d'une porte OU 286. Le registre d'entrée 210 est commandé par le multiplicateur de cadence binaire 218 conformément au  The decoded code from the memory 214 is a decoded result, the decoded code is output from a register 217 to an output conductor 243 through an inhibit gate 241 and an OR gate 242. in addition to the number of bits used in the introduced K-bit data is output from a register 216 to a bit rate multiplier 218 via an inhibit gate 283 and an OR gate 286. The input 210 is controlled by the bit rate multiplier 218 in accordance with

nombre des bits utilisés de ce fait pour introduite la quan-  number of bits thus used to introduce the quantity

titié correspondante des données d'entrée dans le registre 211. D'autre part, dans le cas o les K bits des données introduites dans le registre 211 ne constituent pas un code, le registre 217 délivre un signal indiquant qu'il n'y a aucune délivrance d'un résultat décodé lorsqu'intervient l'accès à la mémoire à tables principale.Ce'signal provoque  corresponding titer of the input data in the register 211. On the other hand, in the case where the K bits of the data entered in the register 211 do not constitute a code, the register 217 delivers a signal indicating that there has no issue of a decoded result when accessing the main table memory. This signal causes

l'inhibition de la porte d'inhibition 283 et le positionne-  inhibition of the inhibition gate 283 and the positioning

ment d'une bascule bistable 285. Le signal de sortie de la bascule bistable 285 est envoyé aux portes d'inhibition 241 et 281 en vue de les inhiber. En outre le signal de sortie provenant du registre 217 est appliqué par l'intermédiaire de la porte 286 au multiplicateur 218 afin de piloter ce dernier, en introduisant les K bits des données d'entrée  The output signal of the flip-flop 285 is sent to the inhibit gates 241 and 281 to inhibit them. In addition, the output signal from the register 217 is applied via the gate 286 to the multiplier 218 in order to drive the latter, by introducing the K bits of the input data.

dans le registre 211 par l'intermédiaire du registre 210.  in the register 211 through the register 210.

Des bits inutiles dans les données du registre 211 sont mas-  Unnecessary bits in the data of the register 211 are mas-

qués par le signal de sortie délivré lu registre 216 dans un décodeur 260 de manière à retirer les bits A requis. Le signal de sortie provenant du décodeur 260 est incrémenté de 1 dans un additionneur 261 et le résultat additionné est utilisé en tant qu'adresse pour accéder à une mémoire à tablessecondaire 250 par l'intermédiaire d'un circuit d'adressage 251. Dans ce cas le circuit d'adressage 251 est commandé par le signal de sortie provenant du registre 217 de manière à déterminer à laquelle des tables de la mémoire secondaire à tables 250 on a accès. Lorsque la mémoire 250  By the output signal delivered to the register 216 in a decoder 260 so as to remove the required bits A. The output signal from the decoder 260 is incremented by 1 in an adder 261 and the summed result is used as an address to access a secondary-table memory 250 via an addressing circuit 251. In this in this case, the addressing circuit 251 is controlled by the output signal from the register 217 so as to determine which tables of the secondary table memory 250 are accessed. When memory 250

est lue, le résultat décodé est délivré à partir d'un regis-  is read, the decoded result is issued from a regis-

tre 272 au conducteur de sortie 243 par l'intermédiaire de portes 292 et 242 et le nombre des bits utilisés pour le  272 to the output conductor 243 through gates 292 and 242 and the number of bits used for

décodage est envoyé depuis un registre 271 au multiplica-  decoding is sent from a register 271 to the multiplier

teur 218 par l'intermédiaire de la porte 286. Lors de la détection de la fin des données d'entrée par un détecteur 221, une bascule bistable 222 est positionnée et son signal de sortie est envoyé à une porte d'inhibition 224 de manière à fermer cette dernière, ce qui arrête le fonctionnement de  218 through the gate 286. Upon detecting the end of the input data by a detector 221, a flip-flop 222 is set and its output signal is sent to an inhibit gate 224 so that to close the latter, which stops the operation of

cet appareil de décodage.this decoding apparatus.

L'appareil de décodage conforme au brevet déposé aux Etats-Unis d'Amérique mentionné précédemment est du type qui  The decoding apparatus according to the above-mentioned United States patent is of the type which

réalise un accès à la mémoire principaleàtables 214 utili-  realizes access to the main memory at table 214

sant plusieurs bits des données d'entrée et dans lequel il  several bits of the input data and in which it

n'y a pas de vérification pour savoir si chaque bit est dé-  There is no check to see if each bit is

codé ou non; par conséquent le nombredes-accès requis à la mémoire est faible, ce qui permet un décodage à grande vitesse. Cependant cet appareil nécessite de prévoir les première et seconde mémoires à tables 214 et 250, ce qui  coded or not; therefore, the number of required accesses to the memory is small, which allows high-speed decoding. However, this apparatus requires the provision of the first and second memory tables 214 and 250, which

entraîne une taille accrue de mémoire.  causes an increased size of memory.

La figure 4 (4A, 4B) illustre un exemple d'une ta-  Figure 4 (4A, 4B) illustrates an example of a

ble de décodage destinée à être utilisée dans l'appareil de décodage conforme à la présente invention; il s'agit d'une table de décodage utilisant un arbre de code blanc du code de Huffman modifié. Dans ce cas la longueur des données (XX) est de huit bits, l'adresse de mémoire <XX> est de huit bits et le nombre de branches devant être sélectionnées à la fois, c'est-à-dire le nombre des bits de code devant être décodés à la fois, est 1, 2 ou 4. Il va de soi que la longueur des données, la longueur de l'adresse de mémoire et le nombre des branches devant être sélectionnées à la fois sont arbitraires. De même le nombre des branches devant être sélectionnées à la fois peut être fixé ou limité de  decoding wire for use in the decoding apparatus according to the present invention; it is a decoding table using a white code tree of the modified Huffman code. In this case the length of the data (XX) is eight bits, the memory address <XX> is eight bits and the number of branches to be selected at a time, that is to say the number of bits of code to be decoded at once, is 1, 2 or 4. It goes without saying that the length of the data, the length of the memory address and the number of branches to be selected at a time are arbitrary. Similarly, the number of branches to be selected at a time can be set or limited by

façon spécifique à par exemple deux. Les chiffres de réfé-  specific way to for example two. The reference figures

rence 1 à 4 sont identiques à ceux utilisés sur la figure 1, mais une donnée pendant le cours du décodage est indiquée par un noeud interne 5. Ici le nombre des branches devant être choisi à la fois est sélectionné de manière à ne pas dépasser le nombre de branches 4 depuis la racine 1 ou le noeud interne 5 jusqu'au noeud final 3 le plus proche. En effet dans la figure 4 (4A, 4B) les noeuds finaux 3 les plus proches par rapport à la racine 1 sont ceux possédant les adresses <07>, <08>, <OB>, <OC>, <OE> et <OF> sur une  1 to 4 are identical to those used in FIG. 1, but data during the course of the decoding is indicated by an internal node 5. Here the number of branches to be selected at a time is selected so as not to exceed number of branches 4 from the root 1 or the inner node 5 to the nearest end node 3. In fact in FIG. 4 (4A, 4B) the end nodes 3 closest to the root 1 are those having the addresses <07>, <08>, <OB>, <OC>, <OE> and < OF> on a

ligne 61 et ce sont les quatrièmes à partir de la racine 1.  line 61 and these are the fourth ones from the root 1.

En examinant les noeuds internes sur la ligne 61 par exemple, une adresse <03> atteint le noeud final 3 le plus proche au niveau d'une adresse <10> qui est une branche proche de l'adresse <03> et le nombre des branches choisi est égal à un. Cependant dans le cas d'une adresse <00>, il n'existe aucun noeud final avant une seconde branche, c'est-à-dire une branche située sur la ligne 62, par exemple lorsqu'une adresse <13> est atteinte. C'est pourquoi le nombre des branches choisi à partir de l'adresse <00> jusqu'au noeud final le plus proche est deux. Les données (FF) et (EF) indiquent un signal de synchronisation de ligne EOL et les  By examining the internal nodes on line 61 for example, an address <03> reaches the closest endpoint 3 at an address <10> which is a branch close to the address <03> and the number of chosen branches is equal to one. However, in the case of an <00> address, there is no endpoint before a second branch, that is, a branch on line 62, for example when an <13> address is reached . That is why the number of branches chosen from the <00> address to the nearest endpoint is two. The (FF) and (EF) data indicate an EOL line synchronization signal and the

données (8F) indiquent une erreur de décodage.  data (8F) indicate a decoding error.

Les données (XX) sont mémorisées dans chaque adresse <XX> d'une mémoire à tables de décodage succédant à la table de décodage de la figure 4 (4A, 4B). [XXI indique la longueur de parcours et alors X est un nombre décimal. La mémoire de décodage possède une zone destinée à la mémorisation des données finales et une zone destinée à la mémorisation des données intermédiaires. Dans cette forme de réalisation la mémoire à tables de décodage est une mémoire à un mot à huit bits et les données finales et les données intermédiaires sont chacune formée de huit bits. Le format des données finales est tel que représenté sur la figure 5A. Lorsque le bit de poids le plus faible B1 est "1", cela indique un noeud final 3, c'est-à-dire une donnée finale. Le bit B2 succédant au bit de poids le plus faible B1 indique le type il du code décodé; dans cet exemple, il indique si le résultat  The data (XX) is stored in each address <XX> of a decoding table memory succeeding the decoding table of FIG. 4 (4A, 4B). [XXI indicates the course length and then X is a decimal number. The decoding memory has a zone for storing the final data and a zone for storing the intermediate data. In this embodiment the decode table memory is an eight-bit word memory and the final data and the intermediate data are each eight bits. The format of the final data is as shown in Figure 5A. When the least significant bit B1 is "1", this indicates an endpoint 3, that is to say a final data. The B2 bit succeeding the least significant bit B1 indicates the type il of the decoded code; in this example, it indicates whether the result

décodé est un code de terminaison ou un code de reprise.  decoded is a termination code or a recovery code.

Les six bits B3 à B8 sont des informations indiquant le ré-  The six bits B3 to B8 are information indicating the

sultat décodé, c'est-à-dire la longueur parcourue. Lorsque le bit B2 est égal à "1", l'information du résultat décodé est le code de terminaison et, comme cela est indiqué par le chiffre de référence 44, les bits B3 à B8 possèdent les  decoded sultat, that is, the length traveled. When the bit B2 is equal to "1", the information of the decoded result is the termination code and, as indicated by the reference numeral 44, the bits B3 to B8 have the

poids respectifs 20 à 25. Lorsque le bit B2 est "0", l'infor-  respective weights 20 to 25. When bit B2 is "0", the information

mation du résultat décodé est le code de reprise et, comme cela est indiqué par le chiffre de référence 45, les bits B3 à B8 ont pour poids respectifs 2 jusqu'à 2 Le format des données intermédiaires est-tel que représenté sur la figure 5B. Lorsque le bit de poids le plus  The value of the decoded result is the recovery code and, as indicated by the reference numeral 45, the bits B3 to B8 have the respective weight 2 to 2. The format of the intermediate data is as shown in FIG. 5B. . When the most significant bit

faible B1 est "0", il représente le noeud interne 5, c'est-  weak B1 is "0", it represents the internal node 5, that is,

à-dire-qu'il indique que la donnée est une donnée intermé-  to say-that it indicates that the data is an intermediate

diaire dans le cours du décodage. Le second bit B2 indique le nombre des bits devant être introduits ensuite à partir du train de codes d'entrée. Lorsque le bit B2 est "0", un bit est introduit et lorsque le bit B2 est "1", deux bits  in the course of decoding. The second bit B2 indicates the number of bits to be entered next from the input code stream. When bit B2 is "0", a bit is inserted and when bit B2 is "1", two bits

sont introduits. Les bits B3 à B8 représentent une informa-  are introduced. Bits B3 to B8 represent information

tion pour déterminer l'adresse de la mémoire à tables de  to determine the address of the memory at tables of

décodage, à laquelle l'acces doit être ensuite effectué.  decoding, to which access must then be made.

La figure 6 montre un exemple de décodage dans le cas o "11011" indiquant la longueur de parcours blanche 64 est introduite en tant que donnée d'entrée dans la table de décodage de la figure 4 (4A, 4B). L'opération de décodage de ce cas va être décrite en référence à la figure 6. (00) est préparé en tant que donnée initiale. Comme cela a été décrit précédemment, le nombre des branches devant être sélectionnées tout d'abord, c'est-à-dire le nombre des bits devant être introduits au départ du décodage de chaque code, est quatre et quatre bits "1101" ("OD" dans le système hexadécimal) de la donnée d'entrée sont ajoutés à la donnée initiale (00) en vue d'obtenir l'adresse de saut <OD>. A  Fig. 6 shows an example of decoding in the case where "11011" indicating the white path length 64 is inputted as input to the decoding table of Fig. 4 (4A, 4B). The decoding operation of this case will be described with reference to FIG. 6. (00) is prepared as initial data. As previously described, the number of branches to be selected first, that is to say the number of bits to be introduced at the start of the decoding of each code, is four and four bits "1101" ( "OD" in the hexadecimal system) of the input data is added to the initial data (00) in order to obtain the jump address <OD>. AT

partir de l'adresse de saut se trouve lue sa donnée (34).  from the jump address is read its data (34).

Par détection du bit de poids le plus faible B1 de la repré-  By detecting the least significant bit B1 of the representation

sentation binaire "00110100" de cette donnée, il est décidé si un noeud final 3 de l'arbre de code a été atteint ou non. Etant donné que le bit de poids le plus faible B1 est  Binary "00110100" of this data, it is decided whether or not an endpoint 3 of the code tree has been reached. Since the least significant bit B1 is

"0", cette donnée est une donnée intermédiaire et son déco-  "0", this data is an intermediate data and its deco-

dage n'a pas été achevé. A partir du second bit B2=0 de la représentation binaire de la donnée lue (34), il est décidé que le nombre des branches devant être sélectionnées ensuite est un. Ensuite le bit "1" suivant de la donnée d'entrée est introduit et il est ajouté à-une donnée, dans laquelle les bits B1 et B2 des données lues (34) ont été rendus égaux à "0", ce qui permet d'obtenir une adresse de saut <35X. A  has not been completed. From the second bit B2 = 0 of the binary representation of the read data (34), it is decided that the number of branches to be selected next is one. Then the next "1" bit of the input data is introduced and it is added to a data item, in which the bits B1 and B2 of the read data (34) have been made equal to "0", which allows obtain a jump address <35X. AT

partir de l'adresse de saut se trouve lue sa donnée (07).  from the jump address is read its data (07).

Etant donné que le bit de poids le plus faible B1 de la re-  Since the least significant bit B1 of the

présentation binaire "00000111" de la donnée est "1", il est  binary presentation "00000111" of the data is "1", it is

décidé qu'un noeuSfinal de l'arbre de code a été atteint.  decided that a nodeSfinal of the code tree was reached.

A partir du bit B2=1 de la donnée lue, il est décidé que la  From the bit B2 = 1 of the read data, it is decided that the

donnée est le code de reprise. Ainsi l'information du résul-  data is the recovery code. Thus the information of the result

tat codé B8B7... B=000001 signifie une longueurde parcours égale à 64, qui est obtenue par multiplication du résultat  coded state B8B7 ... B = 000001 means a path length equal to 64, which is obtained by multiplying the result

décodé ("1" en nombres décimaux) par 64.  decoded ("1" in decimals) by 64.

La figure 7 illustre une forme de réalisation de l'appareil de décodage de la présente invention, basée sur l'exemple de la table de décodage du code de Huffman modifié représenté sur la figure 4 (4A, 4B). Le fonctionnement de cet appareil va être décrit ci-après en liaison avec le cas o la donnée d'entrée "11011" est introduite comme dans le cas de la figure 6. Pour le démarrage de l'opération de décodage, un signal de démarrage de décodage est délivré sous la forme d'un niveau élevé "1" à partir d'un conducteur il à un circuit 12 de détection d'achèvement de décodage, par exemple pendant un certain intervalle de temps. Par suite de la montée du signal de sortie provenant d'une ligne 32 délivrant le signal de sortie du circuit de détection 12, une bascule bistable 14, indiquant si la donnée d'entrée est une donnée blanche ou une donnée noire, est ramenée à l'étatinitial de manière à préparer le décodage d'un code blanc et, simultanément, une bascule bistable d'adresses de mémoire 15 est ramenée à l'état initial. Pour le code de  Fig. 7 illustrates an embodiment of the decoding apparatus of the present invention, based on the example of the modified Huffman code decoding table shown in Fig. 4 (4A, 4B). The operation of this apparatus will be described below in connection with the case where the input data "11011" is introduced as in the case of Figure 6. For the start of the decoding operation, a start signal The decoding is delivered as a high level "1" from a conductor 11 to a decoding completion detection circuit 12, for example for a certain time interval. As a result of the rise of the output signal from a line 32 delivering the output signal of the detection circuit 12, a flip-flop 14, indicating whether the input data is a white data or a black data, is reduced to the initial state to prepare white code decoding and simultaneously a memory address flip-flop 15 is reset. For the code of

Huffman modifié, l'opération de décodage d'un code de fac-  Modified Huffman, the operation of decoding a code of fac-

similé commence avec un code blanc. Une adresse de mémoire  similarly begins with a white code. A memory address

provenant de la bascule bistable 15 est utilisée pour effec-  from the flip-flop 15 is used to effect

tuer la lecture d'une mémoire 16, dans laquelle se trouve  kill the reading of a memory 16, in which is located

2490E992490E99

mémorisée la table de décodage de la figure 4 (4A, 4B), et la donnée initiale (00) extraite par lecture est délivrée à une bascule bistable de données 17. Dans le circuit 12 de détection de l'achèvement du décodage, le signal mentionné ci-dessus de départ du décodage fournit un niveau bas dans une ligne de sortie 18 par l'intermédiaire d'une porte OU 33 et d'un inverseur 34. Simultanément le signal de sortie provenant de l'inverseur 34 produit un niveau bas dans une ligne de sortie 38 par l'intermédiaire d'un circuit 39  stored in the decoding table of FIG. 4 (4A, 4B), and the initial data (00) extracted by reading is delivered to a data flip-flop 17. In the circuit 12 for detecting the completion of the decoding, the signal The above mentioned decoding start provides a low level in an output line 18 through an OR gate 33 and an inverter 34. Simultaneously the output signal from the inverter 34 produces a low level. in an output line 38 via a circuit 39

d'allongement des impulsions, constitué par une ligne à re-  lengthening of the pulses, constituted by a line

tard et une porte ET. Des sélecteurs de données 19, 20 et 21 sont respectivement raccordés au côté b, au moyen de ces niveaux. Sous l'effet du fonctionnement indiqué ci-dessus, le sélecteur de données 20 est raccordé à une mémoire de  late and an AND gate. Data selectors 19, 20 and 21 are respectively connected to the side b, by means of these levels. As a result of the operation indicated above, the data selector 20 is connected to a memory of

données initiales 23, aussitôt après le démarrage de l'opé-  23, immediately after the start of the operation.

ration de décodage. La mémoire de données initiales 23 est commandée par un signal de sortie "" (indiquant un décodage de code blanc) provenant de la bascule bistable 14 de manière à régler une valeur 4 dans un compteur de données d'entrée  decoding ration. The initial data memory 23 is controlled by an output signal "" (indicating white code decoding) from the flip-flop 14 so as to set a value 4 in an input data counter

24 par l'intermédiaire du sélecteur 20. Les signaux d'horlo-  24 through the selector 20. The clock signals

ge d'entrée provenant d'une borne 25 sont appliqués au compteur 24 et, en synchronisme avec ces signaux d'horloge, une donnée d'entrée à quatre bits "1101" est introduite dans un convertisseur série-parallèle des données d'entrée, à partir d'un conducteur 27. Ensuite la donnée d'entrée "1101" est envoyée par le convertisseur série-parallèle 26  The input from a terminal 25 is applied to the counter 24 and, in synchronism with these clock signals, a four-bit input data "1101" is input into a serial-to-parallel converter of the input data. from a conductor 27. Then the input data "1101" is sent by the serial-parallel converter 26

à un circuit additionneur à huit bits 22, après quoi le con-  to an eight-bit adder circuit 22, after which the

vertisseur série-parallèle 26 des données d'entrée est rame-  serial-parallelizer 26 of the input data is ream-

né à l'état initial. C'est-à-dire que son état d'entrée est rendu égal à "0000", tandis que ses sorties sont maintenues non modifiées, c'est-àdire restent "1101". Pendant ce temps, le bit de poids le plus faible B1=O de la donnée initiale (00) introduite dans la bascule bistable des données 17 comme décrit précédemment est appliquée au circuit 12 de détection de fin de décodage de manière à fournir un niveau élevé dans la ligne de sortie 18 par l'intermédiaire de la porte OU 33, ce qui provoque une commutation des sélecteurs 19 et 21 sur le côté a. Il en résulte que les bits B8 à B3 de la donnée initiale (00) sont appliqués par la bascule 17 à l'additionneur à huit bits 22 par l'intermédiaire du sélecteur 21. Cette donnée initiale (00) et la donnée d'entrée "1101" provenant du convertisseur série-parallèle 26 sont additionnées dans le circuit additionneur à huit bits 22 de manière à fournir une adresse de saut <OD>. Le sélec-  born in the initial state. That is, its input state is made equal to "0000", while its outputs are kept unmodified, ie, remain "1101". Meanwhile, the least significant bit B1 = 0 of the initial data (00) introduced into the data flip-flop 17 as previously described is applied to the decoding end detection circuit 12 to provide a high level. in the output line 18 through the OR gate 33, which causes switching of the selectors 19 and 21 on the side a. As a result, the bits B8 to B3 of the initial data (00) are applied by the flip-flop 17 to the eight-bit adder 22 via the selector 21. This initial data (00) and the input data "1101" from the serial-parallel converter 26 are summed in the eight-bit adder circuit 22 so as to provide a jump address <OD>. The selection

teur 20 est commuté sur le côté a par le circuit 39 d'allonge-  20 is switched on the side a by the extension circuit 39.

ment des impulsions après la commutation des sélecteurs 19 et  pulses after switching the selectors 19 and

, c'est-à-dire après la sortie de l'adresse de saut <OD>.  , that is after the exit of the <OD> jump address.

L'adresse de saut <OD> est délivrée à la bascule  Jump address <OD> is issued to the flip-flop

bistable d'adresses de mémoire 15. Le signal de lecture pré-  bistable memory address 15. The read signal

sent dans une ligne de transmission de signaux 28 a accès à la mémoire 16 en vue de lire la donnée (34) correspondant à  in a signal transmission line 28 has access to the memory 16 in order to read the data item (34) corresponding to

l'adresse de saut <OD>, qui est envoyée à la bascule bista-  the jump address <OD>, which is sent to the bistable flip-flop

ble de données 17. Par conséquent, dans ce cas, B1=O et B2=0. Etant donné que le bit de poids le plus faible B1 est "0", cette donnée n'est pas une donnée finale, mais une  Therefore, in this case, B1 = O and B2 = 0. Since the least significant bit B1 is "0", this data is not a final data, but a

donnée intermédiaire. Par conséquent les sélecteurs de don-  intermediate data. Therefore, the data selectors

nées 19 à 21 sont maintenus sur le côté a par le circuit 12 de détection de fin de décodage. Le bit B2=0 est délivré en tant qu'adresse à une mémoire suivante de données 36 pour lire le contenu "1" qui à son tour est comptabilité dans le compteur 24 des données d'entrée par l'intermédiaire du sélecteur 20. Par conséquent le bit "1" suivant de la donnée d'entrée provenant du conducteur 27 est introduit dans le convertisseur série-parallèle des données d'entrée 26 en synchronisme avec le signal d'horloge d'entrée. Le signal de sortie du convertisseur série-parallèle des données d'entrée 26 passe à l'état "0001" et le signal d'entrée au circuit additionneur à huit bits 22 passe à l'état (01) . Les bits B8 à B3 du signal de sortie (34) provenant de la bascule  19 to 21 are maintained on the side a by the decoding end detection circuit 12. The bit B2 = 0 is delivered as an address to a next data memory 36 for reading the content "1" which in turn is accounting in the counter 24 of the input data via the selector 20. By therefore, the next "1" bit of the input data from the conductor 27 is fed into the serial-to-parallel converter of the input data 26 in synchronism with the input clock signal. The output signal of the serial-to-parallel converter of the input data 26 changes to the state "0001" and the input signal to the eight-bit adder circuit 22 goes to the state (01). Bits B8 to B3 of the output signal (34) from the flip-flop

bistable des données 17 sont appliqués au circuit addition-  bistable data 17 are applied to the circuit

neur à huit bits 22. (01) et (34) - "B2B1" sont additionnés par le circuit additionneur à huit bits 22 pour fournir une adresse de saut <35>, qui est envoyée à la bascule bistable d'adresses de mémoire 15. A partir de l'adresse <35> de la mémoire 16 se trouve lue une donnée (07) qui est envoyée à la bascule bistable des données 17. Par conséquent les bits  Eight-bit neur 22. (01) and (34) - "B2B1" are summed by the eight-bit adder circuit 22 to provide a jump address <35>, which is sent to the memory address bistable flip-flop 15 From the address <35> of the memory 16 is read a data (07) which is sent to the flip-flop of the data 17. Therefore the bits

B1 et B2 passent tous les deux à l'état "1".  B1 and B2 both go to state "1".

Etant donné que le bit de poids le plus faible B1  Since the least significant bit B1

est "1", le circuit 12 de détection de fin de décodage dé-  is "1", the end decoding detection circuit 12 de-

tecte que la donnée est une donnée finale, c'est-à-dire  that the data is a final data, that is to say

qu'un noeud final a été atteint, et le signal de sortie dé-  that an end node has been reached, and the output signal de-

tecté entraîne une commutation des sélecteurs de données 19 à 21 sur le côté b. Etant donné que le bit B2 est "1', un sélecteur de données 29 est commuté sur le côté MC et les bits B8 à B3 présents dans la bascule bistable de données 17 sont appliqués aux six bits d'ordre supérieur d'une bascule  tected switches the data selectors 19 to 21 on the b side. Since bit B2 is "1", a data selector 29 is switched to the MC side and bits B8 to B3 present in the data flip-flop 17 are applied to the six higher order bits of a flip-flop.

bistable de délivrance de la longueur de parcours.Il en résul-  bistable of delivery of the length of the course.The result is

te que la valeur "000001000000", c'est-à-dire la longueur de parcours "64" est délivrée, ce qui termine l'opération de  that the value "000001000000", that is to say the length of travel "64" is delivered, which ends the operation of

décodage. Dans le code de Huffman modifié, lorsqu'une lon-  decoding. In the modified Huffman code, when a length of

* gueur de parcours est supérieure à 63, cette longueur est représentée par une combinaison d'un code de reprise et d'un code de terminaison. Par exemple un parcours blanc 80 est représenté par un parcours blanc 64 + un parcours blanc 16. Par conséquent le décodage pour un code de reprise est toujours suivi par un code de terminaison de la même couleur que le code précédent, ce qui est accompli dans l'appareil de décodage conforme à la présente invention de telle manière que le résultat décodé du code de reprise, c'est-à-dire laIf the path length is greater than 63, this length is represented by a combination of a recovery code and a termination code. For example, a white path 80 is represented by a white path 64 + a white path 16. Therefore, the decoding for a recovery code is always followed by a termination code of the same color as the preceding code, which is accomplished in the decoding apparatus according to the present invention such that the decoded result of the recovery code, i.e.

donnée finale, fournit toujours "1" comme bit suivant immé-  final data, always provides "1" as the next bit

diatement le bit de poids le plus faible B1, et le bit  diatement the least significant bit B1, and the bit

B2=1 de la donnée finale est envoyé au circuit 12 de détec-  B2 = 1 of the final data is sent to the circuit 12 for detecting

tion de fin de décodage afin d'inhiber sa porte d'inhibition 35. C'est pourquoi le bit de poids le plus faible Bl=l est envoyé à la porte 33 et que l'opération de décodage pour le  In this case, the least significant bit B1 = 1 is sent to the gate 33 and the decoding operation for

code suivant commence avec le code blanc. Dans le cas du par-  next code starts with the white code. In the case of the

cours blanc 64, comme explicité précédemment, la donnée est décodée sous la forme d'un parcours blanc 64 + parcours blanc 0. Dans le cas o la donnée décodée est un code de terminaison ou de fin, le bit B2 de la donnée finale est "0" et le bit B1=1 est délivré par l'intermédiaire de la porte d'inhibition 35 à la bascule bistable 14 afin d'inverser cette dernière, en modifiant la lecture de la mémoire à tables de décodage 16 depuis la table de décodage des codes  white course 64, as explained above, the data is decoded in the form of a white path 64 + white 0. In the case where the decoded data is a termination code or end, the B2 bit of the final data is "0" and the bit B1 = 1 is delivered through the inhibit gate 35 to the flip-flop 14 to invert the latter, by changing the reading of the decoding table memory 16 from the table of code decoding

blancs à une table de décodage des codes noirs et réciproque-  blanks to a black code decoding table and reciprocal-

ment. Simultanément la bascule bistable d'adresses de mémoi-  is lying. Simultaneously the bistable latch of memory addresses

re 15 est ramenée à l'état initial de manière à décoder la donnée d'entrée suivante de la même manière que dans le cas  re 15 is reset to decode the next input data in the same manner as in the case

de la donnée d'entrée "11011".input data "11011".

La figure 8 montre une partie de la table de décoda-  Figure 8 shows part of the decoding table.

ge du code de Huffman modifié dans une autre forme de réali-  of the modified Huffman code in another form of reali-

sation de l'appareil de décodage conforme à la présente  of the decoding apparatus in accordance with this

invention. Sur la figure 8 les parties correspondant à cel-  invention. In Figure 8 the parts corresponding to this

les de la figure 4 (4A, 4B) sont repérées par les mêmes chiffres de référence. Dans ce cas la longueur des données est de 10 bits, la mémoire d'adresses est de huit bits et le nombre des branches devant être sélectionnées à la fois, c'est-à-dire le nombre des bits d'une donnée d'entrée devant être introduits ultérieurement dans le cas du décodage non terminé, est fixé à quatre. De même dans ce cas, X est un chiffre d'un nombre hexadécimal et si l'affectation des bits dans le cas de chaque chiffre de la donnée (XXX), qui est converti sous la forme de la représentation binaire, est choisie comme étant (Bi.B8B7B6B5XXB4B3B2B1), alors le bit  4 (4A, 4B) are marked with the same reference numerals. In this case, the data length is 10 bits, the address memory is eight bits and the number of branches to be selected at a time, that is to say the number of bits of a data item. input to be introduced later in the case of unfinished decoding, is set to four. Similarly, in this case, X is a digit of a hexadecimal number and if the assignment of the bits in the case of each digit of the datum (XXX), which is converted into the form of the binary representation, is chosen as (Bi.B8B7B6B5XXB4B3B2B1), then the bit

B1 indique la fin ou la continuation de l'opération de déco-  B1 indicates the end or continuation of the deco-

dage; les bits B2 et B3 indiquent le nombre des bits de données initiales devant être introduits après la-fin de  dage; bits B2 and B3 indicate the number of initial data bits to be introduced after the end of

l'opération de décodage, c'est-à-dire lorsque la donnée ex-  the decoding operation, that is to say when the data ex-

traite par lecture est une donnée finale; le bit B4 indique si la donnée décodée est un code de reprise ou de terminaison à la fin de l'opération de décodage; et les bits B5 à B10  read-through is a final data; bit B4 indicates whether the decoded data is a recovery or termination code at the end of the decoding operation; and bits B5 to B10

indiquent une donnée d'adresse dans le cas de la donnée in-  indicate an address data in the case of

termédiaire et le résultat décodé dans le cas de la donnée finale. "X" est "1" ou "0" et ceci n'est pas utilisé pour  intermediate and the decoded result in the case of the final data. "X" is "1" or "0" and this is not used to

l'opération de décodage.the decoding operation.

La figure 9 montre un exemple du déroulement du décodage dans le cas o la table de décodage de la figure 8 est utilisée et o la donnée "11011" indiquant la longueur de parcours blanc 64 est introduite en tant que donnée  FIG. 9 shows an example of the decoding procedure in the case where the decoding table of FIG. 8 is used and the data "11011" indicating the length of the white path 64 is introduced as data

d'entrée. Ce fonctionnement sera décrit plus loin.  input. This operation will be described later.

La figure 10 montre une autre forme de réalisation de l'appareil de décodage selon la présente invention, qui utilise la table de décodage du code de Huffman modifié, représentée sur la figure 8. Sur la figure 10 les parties correspondant à celles de la figure 7 sont repérées par les mêmes chiffres de.référence.Le sélecteur de données choisit si la valeur du compteur de données d'entrée 24 est réglée à un nombre fixe de la donnée d'entrée à partir d'une mémoire 35 de réglage d'un nombre fixe de bits ou au nombre des données provenant d'un circuit 37 de réglage du nombre initial de bits. Le circuit 37 de réglage du nombre  Fig. 10 shows another embodiment of the decoding apparatus according to the present invention, which uses the modified Huffman code decoding table, shown in Fig. 8. In Fig. 10, the parts corresponding to those in Fig. The data selector selects whether the value of the input data counter 24 is set to a fixed number of the input data from a control memory 35. a fixed number of bits or the number of data from a circuit 37 for setting the initial number of bits. The number setting circuit 37

initial de bits règle le nombre des données d'entrée ini-  initial bit parameter sets the number of initial input

tiales pour un code devant être décodé ultérieurement à par-  for a code to be decoded later at

tir des données de sortie B2 et B3 situées dans la bascule bistable de données 17 et ce nombre n'est pas fixé. La mémoire 35 de réglage du nombre fixe de bits est utilisée pour introduire un nombre fixe de données d'entrée au cours  firing output data B2 and B3 located in the data flip-flop 17 and this number is not fixed. The fixed bit number setting memory 35 is used to input a fixed number of input data during

du décodage.decoding.

On va décrire le fonctionnement de l'appareil repré-  We will describe the operation of the device

senté sur la figure 10 en rapport avec le cas de l'introduc-  shown in Figure 10 in relation to the case of the introductory

tion d'une donnée d'entrée "1101000" représentée sur la figu-  input data "1101000" shown in FIG.

re 9. Pour démarrer l'opération de décodage, un signal de démarrage de décodage est appliqué par l'intermédiaire du conducteur 11 au circuit 12 de détection de fin de décodage de manière à ramener à l'état initial la bascule bistable 14 par l'intermédiaire de la ligne de transmission de signaux 32, en plaçant la mémoire à tables de décodage 16 dans l'état de lecture du code blanc. Simultanément la bascule bistable d'adresses de mémoire 15 est également remise à l'état initial de manière à délivrer une donnée (000) depuis les mémoires 16 en direction de la bascule bistable de données 17. D'autre part le circuit 12 de détection de fin  9. In order to start the decoding operation, a decoding start signal is applied via the conductor 11 to the decoding end detection circuit 12 so as to reset the flip-flop 14 to the initial state. intermediate of the signal transmission line 32, by placing the decoding table memory 16 in the read state of the white code. Simultaneously, the memory address bistable flip-flop 15 is also reset so as to deliver data (000) from the memories 16 in the direction of the data flip-flop 17. On the other hand the detection circuit 12 the end

de décodage délivre des niveaux bas dans les lignes de sor-  decoding system delivers low levels in the output lines

tie 18 et 32 au moyen du signal de démarrage du décodeur de manière à commuter les sélecteurs de données 20 et 21 sur le  18 and 32 by means of the decoder start signal so as to switch the data selectors 20 and 21 to the

côté b comme dans le cas de la figure 7. Lors de ce fonction-  side b as in the case of Figure 7. In this function

nement, le sélecteur de données 20 est raccordé au circuit 37  The data selector 20 is connected to the circuit 37

de réglage du nombre initial de bits. Le circuit 37 de ré-  setting the initial number of bits. The circuit 37 of

glage du nombre initial de bits est ramené à l'état initial  setting of the initial number of bits is reset to the initial state

par le signal de démarrage de décodage de manière à position-  by the decoding start signal so as to position-

ner une donnée de comptage d'entrée "4" dans le compteur 24 des données d'entrée. Les quatre premiers bits "1101" des  enter an input count data "4" in the counter 24 of the input data. The first four bits "1101" of the

données d'entrée sont appliqués au convertisseur série-  input data is applied to the serial-to-converter

parallèle des données d'entrée 26 à partir du conducteur 27 en synchronisme avec des impulsions d'horloge d'entrée provenant de la borne 25. Les données introduites peuvent  parallel of the input data 26 from the driver 27 in synchronism with input clock pulses from the terminal 25. The data entered can be

être représentées par (OD) dans la notation hexadécimale.  be represented by (OD) in hexadecimal notation.

Ensuite le convertisseur série-parallèle des données d'en-  Then the serial-parallel converter of the data of

trée 26 délivre la donnée d'entrée "1101" au circuit addi-  26 delivers the input data "1101" to the addi-

tionneur à huit bits 22. Pendant ce temps, le bit de poids le plus faible B1=0 de la donnée initiale (000) introduit  In the meantime, the least significant bit B1 = 0 of the initial data (000)

dans la bascule bistable de données 17 est appliqué au cir-  in the data flip-flop 17 is applied to the circuit

cuit 12 de décodage de fin de décodage de manière à fournir  cooked decoding end decoding 12 so as to provide

un niveau élevé dans la ligne de sortie 18 par l'intermédiai-  a high level in the output line 18 through the intermediary

re de la porte OU 33, en provoquant la commutation du sélec-  OR gate 33, causing the switching of the selec-

teur 21 sur le côté a. Par conséquent les bits B10 à B5 de la donnée initiale (000) sont introduits à partir de la bascule bistable de données 17 dans le circuit additionneur à huit bits 22 par l'intermédiaire du sélecteur de données 21. La donnée d'entrée "1101", c'est-à-dire (OD), et la donnée initiale (00), c'est-à-dire (000) - "B4B3B2B1" sont ajoutées de manière à fournir l'adresse de saut <OD>, qui  21 on the side a. Therefore bits B10 to B5 of the initial data (000) are inputted from the data flip-flop 17 into the eight-bit adder circuit 22 via the data selector 21. The input data "1101 ", i.e. (OD), and the initial data (00), i.e. (000) -" B4B3B2B1 "are added to provide the jump address <OD>, who

est délivrée à la bascule bistable d'adresses de mémoire 15.  is delivered to the bistable latch of memory addresses 15.

Le sélecteur de données 20 est commandé par le circuit 39 d' allongement des impulsions en étant commuté sur le côté a après le sélecteur de données 21, c'est-à-dire après la délivrance de l'adresse de saut <OD>. Sous l'effet du signal délivré dans la ligne de transmission de signaux 28 par le circuit additionneur à huit bits 22, une donnée (AOO) (B10B B8B7B6B5XXB4B3B2B&'101OOOOOOOO en représentation binaire) correspondant à l'adresse de saut <OD> est lue hors de la mémoire à table de décalage 16 pour être introduite dans la bascule bistable des données 17. Cette donnée est une donnée intermédiaire pour un noeud interne étant donné que le bit de poids le plus faible B1 est "O". Le circuit 12 de détection de fin de décodage maintient les sélecteurs de  The data selector 20 is controlled by the pulse extension circuit 39 by being switched to the a side after the data selector 21, i.e. after the jump address <OD> has been issued. Under the effect of the signal delivered in the signal transmission line 28 by the eight-bit adder circuit 22, a datum (AOO) (B10B B8B7B6B5XXB4B3B2B & '101OOOOOOOO in binary representation) corresponding to the jump address <OD> is read. out of the shift table memory 16 to be introduced into the data flip-flop 17. This data is an intermediate data for an internal node since the least significant bit B1 is "O". The decoding end detection circuit 12 maintains the selectors of

données 20 et 21 dans l'état "non fini" (sur le côté a).  data 20 and 21 in the "unfinished" state (on the a side).

Par conséquent "4" est introduit par la mémoire 35  Therefore "4" is introduced by the memory 35

de réglage du nombre fixé de bits dans le compteur des don-  of setting the fixed number of bits in the data counter.

nées d'entrée 24 et quatre bits "1000" de la donnée d'entrée  input 24 and four "1000" bits of the input data

suivante sont introduits dans le convertisseur série-parallè-  following are introduced into the series-parallel converter

le des données d'entrée 26 en synchronisme avec les impul-  the input data 26 in synchronism with the impulse

sions d'horloge d'entrée. Le signal de sortie du convertis-  input clock. The output signal of the converts

seur série-parallèle des données d'entrée 26 passe à l'état  series-parallel data input 26 goes to state

"1000" et le signal d'entrée aboutissant au circuit addition-  "1000" and the input signal to the add-on circuit

neur à huit bits 22 devient "00001000" (08 dans la représen-  eight-bit neur 22 becomes "00001000" (08 in the representation

tation hexadécimale). Les bits B5 à B1o du signal de sortie  hexadecimal representation). Bits B5 to B1o of the output signal

provenant de la bascule bistable des données 17 sont déli-  from the flip-flop of data 17 are deli-

vrés au circuit additionneur à huit bits 22 de manière à envoyer un autre signal d'entrée (AO) à ce dernier. Dans le  to the eight-bit adder circuit 22 so as to send another input signal (A0) thereto. In the

circuit additionneur à hut bits 22, (08) et (Ab) sont ajou-  hut bit adder circuit 22, (08) and (Ab) are added.

tés l'un à l'autre de manière à fournir une adresse de saut <A8>, qui est envoyée à la bascule bistable d'adresses de mémoire 15. Simultanément, la donnée (049) (B10B9B8B7B6B5 XXB4B3B2Bl=0000010010"O ' selon la représentation binaire) est lue hors de la mémoire à tables de décodage 16 pour être introduite dans la bascule bistable des données 17. Le bit de poids le plus faible B '="1" indique que cette donnée est une donnée finale, c'est-à-dire qu'un noeud final a été atteint à la fin de l'opération de décodage. Les sélecteurs de données 20 et 21 sont commutés par le circuit 12 de détection de fin de décodage sur le côté b ("fin"). Etant donné que le bit B4 est "1", le sélecteur de données 29 est commuté sur le côté MC, c'est-à-dire que le signal de sortie provenant du sélecteur de données 29 est introduit en  to each other so as to provide a jump address <A8>, which is sent to the bistable latch of memory addresses 15. Simultaneously, the data (049) (B10B9B8B7B6B5 XXB4B3B2B1 = 0000010010 "O" according to the binary representation) is read out of the decoding table memory 16 to be introduced into the data bistable flip-flop 17. The least significant bit B '= "1" indicates that this data is a final datum, c' that is, an end node has been reached at the end of the decoding operation The data selectors 20 and 21 are switched by the end decoding detection circuit 12 on the b side ("end") Since bit B4 is "1", data selector 29 is switched to the MC side, i.e., the output signal from data selector 29 is fed into

tant que code de reprise dans la bascule bistable 31 de sor-  as a recovery code in the flip-flop 31 of output

tie de la longueur parcourue de manière à obtenir "000001000000" selon la représentation binaire, àasavoir la longueur de parcours "64", ce qui termine l'opération de décodage.  of the length traveled so as to obtain "000001000000" according to the binary representation, to have the path length "64", which ends the decoding operation.

Une donnée B3B2="00" de la bascule bistable des don-  A datum B3B2 = "00" of the flip-flop of data

nées 17 est envoyée au circuit 37 de réglage du nombre ini-  17 is sent to circuit 37 for setting the initial number

tial de bits, o le "00" est incrémenté d'un un pour fournir une valeur "1", qui représente une différence entre le nombre fixé de bits de la donnée d'entrée "4" et le nombre de bits  tial of bits, where the "00" is incremented by one to provide a value "1", which represents a difference between the fixed number of bits of the input data "4" and the number of bits

"3" de la donnée "000" qui n'a pas été utilisée pour le déco-  "3" of the data "000" which has not been used for deco-

dage de la donnée d'entrée "11011000". La valeur "1" est  input data "11011000". The value "1" is

appliquée en tant que donnée initiale au compteur des don-  applied as initial data to the data counter.

nées d'entrée 24. Dans cet exemple, étant donné que le bit  24. In this example, since the bit

B4 de la donnée finale lue est "1", le circuit 12 de détec-  B4 of the final data read is "1", the circuit 12 for detecting

tion de fin de décodage ramène à l'état initial la bascule bistable d'adresses de mémoire 15 tout en maintenant la bascule bistable 14 dans un état inchangé, c'est-à-dire en  The end of decoding operation resets the memory address flip-flop 15 while maintaining the flip-flop 14 in an unchanged state, i.e.

2490E992490E99

maintenant l'état de décodage du code blanc. A partir de la mémoire 16 se trouve lue la donnée (000) qui est introduite dans la bascule bistable des données 17. Ensuite, lors de l'entrée des données dans le convertisseur série-parallèle des données d'entrée 26, le décodage de la donnée d'entrée suivante est effectué de la même manière que dans le cas de l'entrée "1101l". Dans le cas o le bit B4est "0" lorsque la donnée finale est lue, le circuit 12 de détection de fin de décodage inverse la bascule bistable 14 de manière à commuter la lecture de la mémoire à tables de décodage 16 sur la lecture de la table du code noir et ramène à l'état initial la bascule bistable d'adresses de mémoire 15. Dans la forme de réalisation décrite ci-dessus en liaison avec les figures 8 et 10, la donnée est introduite par échelons d'un nombre fixé de bits, quatre bits dans le cas de cet exemple, au cours du décodage, et ces bits de la donnée à quatre bits introduite, qui n'ont pas été utilisés pour le décodage, c'est-à-dire les trois bits "000" dans l'exemple  now the decoding state of the white code. From the memory 16 is read the data (000) which is introduced into the flip-flop of the data 17. Then, when entering the data in the serial-parallel converter of the input data 26, the decoding of the next input data is done in the same way as in the case of the "1101l" input. In the case where the bit B4is "0" when the final data is read, the decoding end detection circuit 12 inverts the flip-flop 14 so as to switch the reading of the decoding table memory 16 over the reading of the black code table and reset the flip-flop of memory addresses 15. In the embodiment described above in connection with Figures 8 and 10, the data is introduced in steps of a fixed number bits, four bits in the case of this example, during decoding, and these bits of the introduced four-bit data, which were not used for decoding, that is to say the three bits " 000 "in the example

ci-dessus, sont utilisés pour le décodage immédiatement sui-  above, are used for the decoding immediately following

vant. Par conséquent le décodage reprend en utilisant ces trois bits et un bit de la donnée suivante (le nombre fixé  efore. Therefore the decoding resumes using these three bits and a bit of the following data (the fixed number

de bits, c'est-à-dire quatre bits dans cet exemple).  bits, that is, four bits in this example).

L'appareil de décodage conforme à la présente inven-  The decoding apparatus according to the present invention

tion peut être constitué en utilisant non seulement un cir-  can be formed by using not only a

cuit logique câblé comme représenté sur les figures 7 et 10, mais également un circuit à utilisation générale, muni d'une fonction d'accès de mémoire et d'une fonction de décision et  cabled logic as shown in Figures 7 and 10, but also a general purpose circuit, provided with a memory access function and a decision function and

de calcul des données, telle que par exemple un microproces-  for calculating data, such as, for example, microproces-

seur. En se référant à la figure 11, on va donner une des-  sor. Referring to Figure 11, we will give a

cription d'un exemple de l'appareil de décodage utilisant un microprocesseur en liaison avec le cas de la table de décodage de la figure 4 (4A, 4B) utilisé. A un bus 41 se trouvent raccordés un microprocesseur 42, un convertisseur série-parallèle 43, une mémoiretampon de réception 44, une  an example of the decoding apparatus using a microprocessor in connection with the case of the decoding table of FIG. 4 (4A, 4B) used. To a bus 41 is connected a microprocessor 42, a serial-parallel converter 43, a memory and reception buffer 44, a

mémoire de programmes 45, un accès de sortie 46 et la mémoi-  program memory 45, an output port 46 and the memory

re à tables de décodage 16. Dans cette mémoire 16 se trouve mémorisée la table de décodage de la figure 4 (4A, 4B), 1  In this memory 16 is stored the decoding table of FIG. 4 (4A, 4B), 1

c'est-à-dire que la donnée représentée par (Xx) est mémori-  that is, the data represented by (Xx) is stored

sée au niveau de chaque adresse représentée par <XX>. Le microprocesseur 42 possède plusieurs registres généraux 47,  at each address represented by <XX>. The microprocessor 42 has several general registers 47,

accède à la mémoire de programmes 45 selon un ordre séquen-  accesses the program memory 45 in sequential order

tiel de manière à introduire les instructions lues à l'inté-  in order to introduce the instructions read into the

rieur d'un registre d'instructions 48, décode ces instruc-  within an instruction register 48, decode these instructions

tions dans un décodeur 49 et exécute différentes opérations et décisions de commande d'entrée/sortie basées sur les résultats décodés. Les opérations logiques d'addition et de décision sont effectuées par un opérateur 51 en liaison avec  in a decoder 49 and performs various input / output control operations and decisions based on the decoded results. The logical addition and decision operations are performed by an operator 51 in connection with

les données du registre général 47. Les résultats des opéra-  data from the general register 47. The results of the

tions sont mémorisés dans le registre général 47. La mémoire  are stored in the general register 47. The memory

à tables de décodage 16 et la mémoire de programmes 46 peu-  with decoding tables 16 and the program memory 46 can

vent être constituées par une mémoire. Un train de codes d'entrée est introduit dans le convertisseur série-parallèle 43 à partir du conducteur 27. Lors de chaque application de par exemple huit bits, un signal d'interruption est appliqué  can be constituted by a memory. An input code stream is introduced into the serial-parallel converter 43 from the conductor 27. At each application of e.g. eight bits, an interrupt signal is applied.

par l'intermédiaire d'une ligne de transmission d'interrup-  through a transmission line of interrup-

tions 52 à un circuit d'interruption 53 du microprocesseur  tions 52 to an interrupt circuit 53 of the microprocessor

42. Lorsqu'il reçoit le signal d'interruption, le micropro-  42. When receiving the interruption signal, the micropro-

cesseur 42 mémorise une donnée série à huit bits en prove-  processor 42 stores an eight-bit serial data from

nance du convertisseur série-parallèle 43 dans la mémoire-  of the serial-parallel converter 43 in the memory

tampon de réception 44. L'accès de sortie 46 sert à délivrer  receiving buffer 44. The output port 46 serves to deliver

les résultats décodés.the decoded results.

En se référant maintenant à un organigramme tel que celui représenté sur la figure 12, on va décrire un exemple  Referring now to a flow chart such as that shown in Figure 12, an example will be described.

du fonctionnement de l'appareil de décodage mentionné ci-  the operation of the decoding apparatus mentioned above.

dessus. Le fonctionnement commence avec un pas de traitement S1, au cours duquel le nombre des bits initial d'entrée, c'est-à-dire le nombre des bits devant être introduits en premier à partir du train de codes d'entrée, "4" dans cet exemple, est positionné dans un registre général 47a et une  above. The operation starts with a processing step S1, during which the number of initial input bits, i.e. the number of bits to be entered first from the input code stream, "4 in this example, is set in a general register 47a and a

donnée d'adresse initiale pour la mémoire à tables de déco-  initial address data for the table-top memory

dage 16, c'est-à-dire (00) dans cet exemple, est positionnée dans un registre général 47b. Au cours du pas de traitement suivant S2 se trouve vérifié si par exemple si tous les bits du code d'entrée à huit bits introduits dans un registre général 47c à partir de la mémoire-tampon de réception 44 ont été utilisés ou non. Dans le cas o le code d'entrée a déjà été utilisé, le fonctionnement passe à une phase ou pas de traitement S3, au cours duquel la donnée suivante à huit bits est introduite à partir de la mémoire-tampon de réception 44 dans le registre général 47c. Au cours d'un pas de traitement S4, la donnée correspondant au nombre des bits d'entrée "4" positionné dans le registre 47a au cours du pas de traitement S est transférée du registre 47c à un registre général 47d. Au cours d'un pas de traitement S5, les données ainsi transférées au registre général 47d et la donnée d'adresse initiale (00) positionnée dans le registre 47b au cours du pas de traitement S1, sont ajoutées l'une  Step 16, i.e. (00) in this example, is set in a general register 47b. During the next processing step S2 is checked whether, for example, all the bits of the eight-bit input code entered in a general register 47c from the receiving buffer 44 have been used or not. In the case where the input code has already been used, the operation proceeds to a phase or no S3 processing, during which the next eight-bit data is introduced from the receiving buffer 44 into the register General 47c. During a processing step S4, the data corresponding to the number of input bits "4" positioned in the register 47a during the processing step S is transferred from the register 47c to a general register 47d. During a processing step S5, the data thus transferred to the general register 47d and the initial address data item (00) positioned in the register 47b during the processing step S1, are added one

à l'autre pour fournir une adresse. Cette adresse est utili-  to another to provide an address. This address is used

sée pour l'accès à la mémoire à tables de décodage 16 au  for access to the decoding table memory 16 at the

cours d'un pas de traitement S6. Au cours d'un pas de traite-  during a S6 treatment step. During a treatment step

ment S7 il est vérifié si le bit de poids le plus faible B1 de la donnée lue hors de la mémoire à tables de décodage 16, est "1" ou non. Lorsque le bit B1 n'est pas "1", la donnée lue est une donnée intermédiaire et la donnée d'adresse suivante et- le nombre des bits du code d'entrée  S7 it is checked whether the least significant bit B1 of the data read out of the decoding table memory 16, is "1" or not. When the bit B1 is not "1", the data read is an intermediate data and the next address data and the number of bits of the input code

devant être introduits ensuite sont positionnés. C'est-à-  to be introduced then are positioned. That is,

dire que, dans l'exemple décrit précédemment, il est vérifié au cours du pas de traitement S6 si le bit B2 de la donnée lue est "1" ou non. Si le bit B2 n'est pas "1", alors le nombre des bits du code d'entrée devant être introduits ensuite est "1" et, au cours d'un pas de traitement S, les bits B3 à B8 des données lues hors de la mémoire à tables de décodage 16 sont positionnées sous la forme d'une donnée d'adresse dans le registre général 47b et, simultanément, le nombre des bits du code d'entrée "1" est positionné dans le registre général 47a. Dans le cas o il est décidé, au cours d'un pas de traitement S8, que le bit B2 est "1", le nombre des bits du code d'entrée devant être introduits ensuite est "2", et, dans un pas de traitement Sio les bits B3 à B8 de la donnée lue sont chargés dans le registre général 47b et simultanément le nombre des bits suivants du code d'entrée "2" est chargé dans le registre général 47a. Après les pas de traitement S9 ou S,(, le fonctionnement revient au pas de traitement S2 de manière à répéter la procédure indiquée ci-dessus. Lorsqu'au pas de traitement S7 il est décidé que le bit de poids le plus faible B1 est "1", la donnée lue hors  say that, in the example described above, it is checked during processing step S6 if the bit B2 of the data read is "1" or not. If the bit B2 is not "1", then the number of bits of the input code to be entered next is "1" and, during a processing step S, the bits B3 to B8 of the read data. Out of the decode table memory 16 are set as address data in the general register 47b and, simultaneously, the number of bits of the input code "1" is set in the general register 47a. In the case where it is decided, during a processing step S8, that the bit B2 is "1", the number of bits of the input code to be entered next is "2", and in one step Sio the bits B3 to B8 of the read data are loaded into the general register 47b and simultaneously the number of subsequent bits of the input code "2" is loaded into the general register 47a. After the processing steps S9 or S, the operation returns to the processing step S2 so as to repeat the procedure indicated above, When at the S7 processing step it is decided that the least significant bit B1 is "1", the data read out

2490E992490E99

de la mémoire à tables de décodage 16 est une donnée finale  of the decoding table memory 16 is a final datum

et l'opération passe au pas de traitement Sil, au cours du-  and the operation goes to treatment step Sil, during

quel se trouve vérifié si le bit B2 de la donnée est "1" ou non. S'il est décidé que le bit B2 est "1", la donnée est un code de reprise et n (en nombre décimal) représenté par les bits B3 à B8 de la donnée doit être multiplié par 64 pour fournir la longueur de parcours (pas de traitement S Dans le cas o il est décidé au cours d'un pas de traitement S11 que le bit de poids le plus faible Bi est "0" et que la donnée lue est un code final, les bits B3 à B8 des données sont obtenus sous la forme de la longueur de parcours, lors d'un pas de traitement S 13. Le résultat décodé obtenu lors  which is verified if the bit B2 of the data is "1" or not. If it is decided that the bit B2 is "1", the data is a recovery code and n (in decimal number) represented by the bits B3 to B8 of the data must be multiplied by 64 to provide the path length ( no processing S In the case where it is decided during a processing step S11 that the least significant bit Bi is "0" and the read data is a final code, the bits B3 to B8 of the data are obtained in the form of the path length at a processing step S 13. The decoded result obtained during

du pas de traitement S12 ou S13 est délivré en tant que sor-  the S12 or S13 treatment step is delivered as a

tie décodée par l'orifice de sortie 46 (figure 11) au cours d'un pas de traitement S14' Ensuite il est vérifié au cours d'un pas de traitement S15 si le décodage a été entièrement achevé ou non. Ceci peut être décidé sur la base de la donnée du code d'entrée ou de la donnée décodée, comme dans  This is decoded by the output port 46 (FIG. 11) during a processing step S14. Then it is checked during a processing step S15 whether the decoding has been completely completed or not. This can be decided on the basis of the input code data or the decoded data, as in

le cas de l'art antérieur. Lorsqu'il est décidé que le déco-  the case of the prior art. When it is decided that the deco-

dage n'est pas encore achevé, le fonctionnement passe au pas de traitement S16' lors duquel, lorsqu'il est décidé que le  is not yet completed, the operation proceeds to the processing step S16 'where, when it is decided that the

code décodé est un code de terminaison, c'est-à-dire lors-  decoded code is a termination code, ie when

qu'il est décidé au cours du pas de traitement S11 que le bit B2 est "0", l'opération suivante de décodage est commutée entre le décodage du code blanc et le décodage du code noir  it is decided during the processing step S11 that the bit B2 is "0", the next decoding operation is switched between the decoding of the white code and the decoding of the black code

et réciproquement, puis l'opération revient au pas de traite-  and vice versa, then the operation returns to the step of

ment S1. Dans le cas o il est décidé au cours du pas de traitement S15 que le décodage n'est pas encore achevé et que  S1. In the case where it is decided during processing step S15 that the decoding is not yet completed and that

le bit B2 est "1" au cours du pas de traitement Si,, l'opéra-  bit B2 is "1" during the processing step Si, the operation

tion revient au pas de traitement S1 sans passer par le pas  tion returns to step S1 without going through

de traitement S16.S16 treatment.

Un exemple de la table de décodage pour des codes noirs est représenté sur la figure 13 (13A, 13B) de la même manière que sur la figure 4 (4A, 4B). Comme on le comprendra à partir de cette table, il existe un noeud final au niveau d'une seconde branche à partir de la racine 1, de sorte que le nombre des bits du code-d'entrée devant être introduits en premier est "2". Comme cela est visible d'après les figures 4 (4A, 4B) et 13 (13A, 13B), ces tables de décodage  An example of the decode table for black codes is shown in Fig. 13 (13A, 13B) in the same manner as in Fig. 4 (4A, 4B). As will be understood from this table, there is an end node at a second branch from root 1, so that the number of input code bits to be introduced first is "2 ". As can be seen from FIGS. 4 (4A, 4B) and 13 (13A, 13B), these decoding tables

24906'9924906'99

contiennent des adresses -inutilisées (par exemple <OA> et  contain unused addresses (for example <OA> and

<OB> sur la figure 13 (13A, 13B)> et par conséquent la mé-  <OB> in FIG. 13 (13A, 13B)> and consequently the

moire à tables de décodage n'est pas utilisée de façon efficace à ce point de vue. On réalise la mémoire à tables de décodage de telle manière que de telles adresses inutiles  moire to decoding tables is not used effectively in this respect. The decoding table memory is made in such a way that such useless addresses are

de puissent pas exister, il est possible de réduire en sup-.  can not exist, it is possible to reduce to sup-.

plément la capacité de la mémoire.  plement the capacity of the memory.

Etant donné que la forme de réalisation dé la figure 7 utilise une mémoire à un mot à huit bits comme mémoire à tables de décalage 16 et huit bits comme information du résultat décodé et en tant que donnée pour la détermination de l'adresse à laquelle l'accès doit être effectué ensuite,  Since the embodiment of Fig. 7 uses an eight-bit word memory as an offset table memory 16 and eight bits as information of the decoded result and as data for the determination of the address at which the access must be made afterwards,

de sorte que le nombre des bits d'entrée devant être intro-  so that the number of input bits to be introduced

duits tout d'abord pour chaque code, "4", est positionné dans la mémoire 23. Cependant il est possible d'adopter un agencement tel que dans le casou le nombre des bits devant être introduits à la fois, y compris le nombre des bits devant être introduits tout d'abord, est "2" ou moins, le  for each code, "4", is set in the memory 23. However, it is possible to adopt an arrangement such as in the case where the number of bits to be introduced at a time, including the number of bits to be introduced first, is "2" or less, the

nombre des bits devant être introduits est toujours détermi-  number of bits to be introduced is always determined

né par l'information qui détermine le nombre des bits d'en-  born by the information that determines the number of bits of

trée dans la donnée lue à partir de la mémoire à tables de  in the data read from the table memory of

décodage 16. En choisissant pour le nombre des bits consti-  16. By choosing for the number of bits constituting

tuant un mot de la mémoire à tables de décodage 16 une valeur supérieure à 8, il est possible que dans le cas o  killing a word of memory decoding tables 16 a value greater than 8, it is possible that in the case o

le nombre des bits devant être introduits à la fois, y com-  the number of bits to be introduced at a time, including

pris le nombre des bits devant être introduits en premier,  taken the number of bits to be introduced first,

est supérieur à deux, le nombre des bits devant être intro-  is greater than two, the number of bits to be inserted

duits conformément à un nombre maximum de bits d'entrée soit encore toujours déterminé par l'information qui détermine le nombre des bits d'entrée dans la donnée lue à partir de la  in accordance with a maximum number of input bits is still always determined by the information which determines the number of input bits in the data read from the

mémoire à tables de décodage 16.memory with decoding tables 16.

Grâce à l'appareil de décodage selon la présente invention, décrit cidessus, il est possible de réduire la  Thanks to the decoding apparatus according to the present invention, described above, it is possible to reduce the

capacité requise de la mémoire à tables de décodage. La fi-  required capacity of the decoding table memory. The

gure 14 montre des capacités de mémoire requises pour diffé-  Figure 14 shows memory capacities required for different

rents procédés de décodage. Les abscisses représentent les procédés de décodage. L'abscisse 1 indique un procédé de décodage utilisant une table de codes et selon lequel les codes de la table de codes mémorisés sont séquentiellément  decoding methods. The abscissas represent the decoding methods. The abscissa 1 indicates a decoding method using a code table and according to which the codes of the stored code table are sequentially

2490E992490E99

produits en vue d'être comparés à un code d'entrée pour ob-  products to be compared to an entry code for ob-

tenir un résultat décodé basé sur la coïncidence entre les codes. Les abscisses 2, 3 et 4 représentent chacune le cas de l'utilisation du procédé décrit précédemment en liaison avec la figure 7, l'abscisse 2 représentant le cas o le nombre des bits du code d'entrée est choisi à une valeur préférée pour chaque noeud de l'arbre de codes, l'abscisse  keep a decoded result based on the coincidence between the codes. The abscissas 2, 3 and 4 each represent the case of the use of the method described above in connection with FIG. 7, the abscissa 2 representing the case where the number of bits of the input code is chosen at a preferred value for each node of the code tree, the abscissa

3 illustrant le cas o le nombre des bits devant être intro-  3 illustrating the case where the number of bits to be introduced

duits à la fois est choisi étant égal soit à "1", soit à "2", soit à "4", et l'abscisse 4 représentant le cas o le nombre de bits devant être introduits à la fois est choisi comme étant égal soit à "1", soit à "2". L'abscisse 5 repère le  both is chosen equal to either "1" or "2" or "4", and the abscissa 4 represents the case where the number of bits to be introduced at a time is chosen to be equal. either "1" or "2". The abscissa 5 marks the

procédé de décodage bit par bit décrit précédemment en réfé-  bit-by-bit decoding method described above with reference to

rence à la figure 1. Les abscisses 6 à 10 illustrent chacune  Figure 6. The abscissas 6 to 10 each illustrate

le cas de l'utilisation du procédé de décodage décrit précé-  the case of the use of the decoding method described above.

demment en référence à la figure 10. Pour les abscisses 6 à , le nombre fixé des bits devant être introduits à la fois  10 for the abscissa 6 to, the fixed number of bits to be introduced at a time.

est choisi comme étant égal à "2", "3", "4", "5", "6" respec-  is chosen to be equal to "2", "3", "4", "5", "6",

tivement. Les abscisses 11 à 17 illustrent chacune le cas de l'utilisation du procédé de décodage considéré en référence précédemment en liaison avec la figure 3. Pour ces cas 11 à 17, le nombre des bits devant être introduits à la fois est choisi comme étant égal à "7", "8", "9", "10", "11", "12" et "13" respectivement. L'ordonnée représente la capacité de mémorisation. La courbe 63 repère le cas de l'utilisation d'une mémoire à 1 mot à 16 bits et la courbe 64 repère le cas de l'utilisation d'une mémoire àunmot à huit bits. Il ressort de la figure 14 que la capacité de mémoire requise pour l'appareil de la figure 7 est égale à la plus petite des capacités de mémoire requises dans les procédés de l'art antérieur, et est égale en particulier à environ 1/3  tively. The abscissas 11 to 17 each illustrate the case of the use of the decoding method referred to above with reference to FIG. 3. For these cases 11 to 17, the number of bits to be introduced at a time is chosen as being equal. at 7, 8, 9, 10, 11, 12 and 13 respectively. The ordinate represents the storage capacity. Curve 63 identifies the case of using a 1-bit 16-bit memory and curve 64 identifies the case of using an 8-bit one-bit memory. It can be seen from FIG. 14 that the memory capacity required for the apparatus of FIG. 7 is equal to the smallest of the memory capacities required in the methods of the prior art, and is equal in particular to approximately 1/3

de la plus petite des capacités dans les cas de l'utilisa-  of the smallest capacity in the case of the use of

tion du procédé de la figure 3. Dans l'appareil représenté sur la figure 10, un accroissement du nombre des bits devant être introduits en premier provoque un accroissement de la capacité de mémoire requise, mais la capacité de mémoire est inférieure ou sensiblement égale à la capacité de mémoire  In the apparatus shown in FIG. 10, an increase in the number of bits to be introduced first causes an increase in the required memory capacity, but the memory capacity is less than or substantially equal to memory capacity

nécessaire dans le cas de la figure 3.  necessary in the case of Figure 3.

La figure 15 indique les temps d'accès à la mémoire, qui sont requis pour les différents procédés de décodage. Les abscisses repèrent les mêmes procédés que ceux mentionnés ci-dessus en rapport avec la figure 14 et les ordonnées représentent le nombre d'accès. Les courbes 65 et 65' indiquent chacune un temps d'accès maximum, les cour- bes 66 et 66' un temps d'accès moyen et les courbes 67 et  Figure 15 shows the memory access times, which are required for the different decoding methods. The abscissae identify the same processes as those mentioned above in connection with FIG. 14 and the ordinates represent the number of accesses. Curves 65 and 65 'each indicate a maximum access time, bursts 66 and 66' average access time and curves 67 and 65 '.

67' un temps d'accès moyen pondéré prenant en compte la pro-  67 'a weighted average access time taking into account the

babilité d'apparition des différents codes; les courbes 65', 66' et 67' illustrent le cas de l'utilisation d'une mémoire à un mot à 16 bits et les autres courbes illustrent le cas de l'utilisation d'une mémoire à un mot à huit bits. Sur la figure 15 on note que le nombre des actions nécessaires dans l'appareil conforme à la présente invention est nettement inférieur au nombre des actions nécessaires dans le cas du procédé de décodage bit par bit repéré à l'abscisse 5, et  the appearance of different codes; curves 65 ', 66' and 67 'illustrate the case of using a 16-bit word memory and the other curves illustrate the case of using an eight-bit word memory. In FIG. 15 it is noted that the number of necessary actions in the apparatus according to the present invention is clearly less than the number of actions required in the case of the bit-by-bit decoding method identified at the abscissa 5, and

est seulement légèrement supérieur à celui du cas de l'appa-  only slightly higher than in the case of

reil classique à la figure 3. En considérant les temps d'accès moyens pondérés qui représentent les valeurs les plus usuelles, l'appareil selon la présente invention est  3. Considering the weighted average access times which represent the most usual values, the apparatus according to the present invention is

assez proche de l'appareil de la figure 3.  fairly close to the apparatus of Figure 3.

Sur la base des données indiquées ci-dessus, la  On the basis of the data indicated above, the

figure 16 montre la capacité de la mémoire à tables de déco-  Figure 16 shows the capacity of memory at deco-

dage et les temps d'accès dans chacun des différents appa-  time and access times in each of the different

reils, la capacité de la mémoire à tables de décodage et le  the memory capacity to decode tables and the

nombre d'accès dans l'appareil de la figure 7 étant représen--  number of accesses in the apparatus of FIG. 7 being representative--

tés respectivement par 1.respectively by 1.

Comme cela a été décrit précédemment, conformément  As previously described, in accordance with

à la présente invention, le nombre des bits devant être in-  the present invention, the number of bits to be in-

troduits ensuite est déterminé par lecture hors de la  troduits then is determined by reading out of the

mémoire à tables de décodage, par une addition ou une opéra-  decoding table memory, by an addition or an operation

tion analogue de la donnée lue hors de la mémoire à tables  analogous representation of the data read out of the table memory

de décodage et le code introduit est mis en oeuvre pour dé-  decoding and the code introduced is implemented to de-

terminer l'adresse à laquelle l'accès doit être ensuite effectué, puis l'accès à la même mémoire de décodage est effectué en utilisant l'adresse. Ceci réduit la capacité de la mémoire et le nombre des accès et par conséquent permet un décodage à grande vitesse avec un matériel de taille réduite. En outre, conformément à la forme de réalisation de la figure 7, dans le cas du décodage d'un code, le bit de  terminate the address to which access must then be made, then access to the same decoding memory is performed using the address. This reduces the capacity of the memory and the number of accesses and therefore allows high-speed decoding with reduced hardware. Furthermore, in accordance with the embodiment of FIG. 7, in the case of decoding a code, the bit of

2490E992490E99

tête du code d'entrée devient le premier bit du code suivant,  header of the input code becomes the first bit of the next code,

ce qui facilite le traitement ultérieur.  which facilitates further processing.

Bien que, dans ce qui précède, l'adresse, à laquelle on accède ensuite, est obtenue par addition l'un à l'autre de la donnée lue hors de la mémoire à tables de décodage et du code d'entrée, il est également possible d'obtenir cette adresse par d'autres opérations appliquées à ces données,  Although, in the foregoing, the address, which is then accessed, is obtained by adding to one another the data read out of the decoding table memory and the input code, it is also possible to obtain this address by other operations applied to these data,

comme par exemple une soustraction et une multiplication.  such as subtraction and multiplication.

Dans ce qui précède, étant donné que les formes de réalisa-  In the foregoing, since the forms of

tion de la présente invention ont été décrites comme étant  of the present invention have been described as being

appliquées au décodage du code de Huffman modifié, l'informa-  applied to the decoding of the modified Huffman code, the

tion représentant le type du code, c'est-à-dire le fait que le code est un code de reprise ou un code de terminaison ou de fin, est inclus dans le code final, mais dans le cas d'un code de Huffman simple, l'information indiquant le type de code n'est pas nécessaire. En outre la présente invention  the code type, that is, the code is a recovery code or a termination or termination code, is included in the final code, but in the case of a Huffman code simple, the information indicating the type of code is not necessary. In addition the present invention

peut être également appliquée au décodage de codes d'une lon-  can also be applied to the decoding of codes

gueur variable représentée d'une manière générale par un  variable form represented in a general way by a

arbre de code.code tree.

Il ressort à l'évidence que l'on peut apporter de  It is clear that one can bring

nombreuses modifications et variantes à l'objet de l'inven-  many modifications and variants to the subject of the invention

tion sans sortir du cadre de cette dernière.  without departing from the framework of the latter.

Claims (11)

REVENDICATIONS 1. Appareil' permettant le décodage d'un code de lon-  1. Apparatus for decoding a time code gueur variable représenté par un arbre de code, dans lequel un dispositif de lecture à accès à une mémoire à tables de décodage (16) pour en extraire des données par lecture, des moyens de décision décident si les données extraites par lecture sont soit des données finales, soit  variable means represented by a code tree, in which a read device with access to a decoding table memory (16) for extracting data from it by reading, decision means decides whether the data extracted by reading are either data final, either des données intermédiaires, et, dans le cas de données fina-  intermediary data and, in the case of final data, les, une information indiquant le résultat du décodage dans les données finales et délivrée par des moyens de sortie (31), et, dans le cas de données intermédiaires, la mémoire à tables de décodage (16) est lue sur la base de la donnée  the, information indicating the result of the decoding in the final data and output by output means (31), and, in the case of intermediate data, the decoding table memory (16) is read on the basis of the data d'adresse présente dans les données intermédiaires, caracté-  address present in the intermediate data, risé en ce que la mémoire à tables de décodage (16) possède une zone destinée à la mémorisation des données finales incluant l'information indiquant l'achèvement du décodage et une information indiquant le résultat décodé, et une zone destinée à la mémorisation des données intermédiaires incluant une information indiquant un décodage inachevé, une  in that the decode table memory (16) has an area for storing the final data including information indicating completion of the decoding and information indicating the decoded result, and an area for storing the data. intermediates including information indicating uncompleted decoding, information indiquant le nombre des bits devant être intro-  information indicating the number of bits to be inserted duits à partir d'un train de codes d'entrée et une informa-  from a train of input codes and information tion destinée à déterminer l'adresse de la mémoire à tables de décodage, à laquelle doit s'effectuer l'accès, et qu'il  tion to determine the address of the decoding-table memory to which access must be made, and est prévu des moyens d'entrée (24, 26, 36) permettant d'in-  input means (24, 26, 36) are provided for troduire, dans le cas des données intermédiaires, une donnée provenant du train de codes d'entrée au moyen du nombre de bits indiqué par l'information des données intermédiaires indiquant le nombre des bits devant être introduits et des moyens (22) de traitement des adresses destinés à traiter, dans le cas des données intermédiaires, l'information des données intermédiaires pour la détermination de l'adresse de la mémoire à tables de décodage, à laquelle doit être effectué l'accès, et de la donnée introduite par les moyens d'entrée pour obtenir l'adresse de la mémoire à tables de  in the case of intermediate data, outputting data from the input code stream by means of the number of bits indicated by the information of the intermediate data indicating the number of bits to be inputted and means (22) for processing data. addresses for processing, in the case of intermediate data, the information of the intermediate data for determining the address of the decoding table memory, to which access is to be made, and the data introduced by the means input to get the memory address to tables from décodage, à laquelle l'accès doit se faire ensuite.  decoding, to which access must be made later. 2. Appareil de décodage selon la revendication 1, caractérisé en ce que l'information indiquant le nombre de  Decoding apparatus according to claim 1, characterized in that the information indicating the number of bits devant être introduits est choisie comme étant un nom-  bits to be introduced is chosen as a bre variable inférieur au nombre des branches partant d'une racine ou d'un noeud interne et aboutissant au noeud final  variable less than the number of branches starting from a root or an internal node and ending at the endpoint le plus proche de ce dernier dans lrarbre de code.  the closest to it in the code tree. 3. Appareil de décodage selon la revendication 1,  Decoding apparatus according to claim 1, caractérisé en ce que le nombre des bits devant être intro-  characterized in that the number of bits to be introduced is duits en premier pour chaque code du train de codes d'entrée est mémorisé dans une mémoire de données initiales prévue  first feed for each code of the input code stream is stored in an initial data memory provided indépendamment de la mémoire à tables de décodage (16).  independently of the decode table memory (16). 4. Appareil permettant le décodage d'un code de longueur variable représenté par un arbre de code, dans lequel un dispositif de lecture a accès à une mémoire à  Apparatus for decoding a variable length code represented by a code tree, in which a reading device has access to a memory tables de décodage (16) pour en extraire des don-  decoding tables (16) to extract data from nées par lecture, des moyens de décision décident si les données extraites par lecture sont soit des données finales, soit des données intermédiaires, et, dans le cas de données finales, une information indiquant le résultat du décodage dans les données finales est délivrée par des moyens de sortie (31), et, dans le cas de données intermédiaires, la mémoire à tables de décodage (16) est lue sur la base de la donnée d'adresse présente dans les données intermédiaires, caractérisé en ce que la mémoire à tables de décodage (16) comporte une zone destinée à la mémorisation des données finales incluant une information indiquant l'achèvement du décodage, une information indiquant un résultat décodé et  read-out means, decision means decides whether the read-out data are either final data or intermediate data, and, in the case of final data, information indicating the result of the decoding in the final data is delivered by output means (31), and, in the case of intermediate data, the decode table memory (16) is read on the basis of the address data present in the intermediate data, characterized in that the table memory decoding circuit (16) includes a zone for storing the final data including information indicating completion of the decoding, information indicating a decoded result and une information indiquant le nombre des bits devant être in-  information indicating the number of bits to be in- troduits en premier pour chaque code, et une zone destinée à  products first for each code, and a zone intended for la mémorisation des données intermédiaires incluant une infor-  storage of intermediate data including information mation indiquant un décodage inachevé et une information pour la détermination de l'adresse de la mémoire à tables de décodage, à laquelle l'accès doit s'effectuer, et qu'il est prévu des moyens d'entrée (24, 26, 35) pour introduire une donnée d'un nombre fixé de bits m (m étant un nombre entier supérieur ou égal à 2) à partir du train de codes d'entrée dans le cas des données intermédiaires, des moyens (22) de  an indication of incomplete decoding and information for determining the address of the decode table memory to which access is to be made, and that input means (24, 26, 35) are provided; ) for inputting data of a fixed number of bits m (m being an integer greater than or equal to 2) from the input code stream in the case of the intermediate data, means (22) of traitement des adresses pour traiter, dans le cas des don-  processing addresses to process, in the case of nées intermédiaires, l'information pour déterminer l'adresse de la mémoire à tables de décodage à laquelle l'accès doit  intermediate information, the information to determine the address of the decoding table memory to which access être effectué, et la donnée introduite par les moyens d'en-  be done, and the data introduced by the means of trée pour obtenir l'adresse de la mémoire à tables de déco-  to obtain the memory address at deco- dage, à laquelle l'accès doit se faire ensuite, des moyens  to which access must be made afterwards, means of 2490E992490E99 (12) pour activer de façon répétée les moyens de lecture, les moyens d'entrée, les moyens de décision et les moyens de traitement des adresses jusqu'à ce que la donnée finale soit extraite par lecture, et des seconds moyens d'entrée (24, 26, 37) pour introduire, dans le cas des données fina- les, une donnée du train de codes d'entrée au moyen du  (12) for repeatedly activating the reading means, the input means, the decision means and the address processing means until the final data is extracted by reading, and second input means (24, 26, 37) to introduce, in the case of final data, a data of the input code stream by means of the nombre de bits indiqués par l'information indiquant le nom-  number of bits indicated by the information indicating the name bre des bits devant être introduits en premier.  number of bits to be entered first. 5. Appareil de décodage selon la revendication 4, caractérisé en ce que l'information indiquant le nombre des bits devant être introduits en premier est L-(n-1)m, o L est la longueur du code décodée à cet instant et m est le  5. The decoding apparatus according to claim 4, characterized in that the information indicating the number of bits to be introduced first is L- (n-1) m, where L is the length of the decoded code at this time and m is the nombre des accès effectués à la mémoire à tables de déco-  number of accesses to memory at deco- dage (16) pour le décodage.dage (16) for decoding. 6. Appareil de décodage selon la revendication 4, caractérisé en ce qu'il comporte en outre des moyens pour mémoriser un nombre fixe m, à savoir le nombre des bits qui y sont introduits dans le cas o les moyens de décision décident que la donnée extraite par lecture est une donnée  6. Decoding apparatus according to claim 4, characterized in that it further comprises means for storing a fixed number m, namely the number of bits which are introduced in the case where the decision means decide that the data extracted by reading is a given intermédiaire.intermediate. 7. Appareil de décodage selon l'une des revendica-  7. Decoding apparatus according to one of the claims tions lou 4, caractérisé en ce que les données finales comportent une information indiquant le type d'un code décodé.  4, characterized in that the final data comprises information indicating the type of a decoded code. 8. Appareil de décodage selon la revendication 7,Decoding apparatus according to claim 7, caractérisé en ce que les moyens de sortie (31) sont agen-  characterized in that the output means (31) is arranged cés de telle manière que dans le cas o les moyens de déci-  in such a way that in the event that the means of sion décident que la donnée extraite par lecture est une donnée finale, la destination de l'information du résultat décodé de la donnée finale est modifiée conformément à  decide that the data extracted by reading is a final data, the destination of the information of the decoded result of the final data is modified in accordance with l'information de la donnée finale indiquant le type de code.  the information of the final data indicating the type of code. 9. Appareil de décodage selon l'une des revendica-  9. Decoding apparatus according to one of the claims tion 1 ou 4, caractérisé en ce que les moyens (22) de traite-  1 or 4, characterized in that the means (22) for processing ment des adresses sont des moyens permettant de réaliser  Addresses are means of achieving une opération d'addition.an addition operation. 10. Appareil de décodage selon l'une des revendica-  10. Decoding apparatus according to one of the claims tions 1 ou 4, caractérisé en ce que, dans les formats des données finales et des données intermédiaires, le même bit est affecté à l'information indiquant l'achèvement du  1 or 4, characterized in that, in the final data and intermediate data formats, the same bit is assigned to the information indicating the completion of the 249OE99249OE99 décodage, et l'information indiquant l'état inachevé du décodage.  decoding, and the information indicating the uncompleted state of the decoding. 11. Appareil de décodage selon l'une des revendica-  11. Decoding apparatus according to one of the claims tions 1 ou 4, caractérisé en ce que, dans les formats des données finales et des données intermédiaires, l'affecta-  1 or 4, characterized in that, in the formats of the final data and the intermediate data, the allocation tion de bits à l'information du résultat décodé et l'affec-  bits to the information of the decoded result and the tation de bits à l'information pour la détermination de l'adresse de la mémoire à tables de décodage (16) à laquelle  information to determine the address of the decode table memory (16) at which l'accès doit être effectué, se recouvrent au moins récipro-  access must be effected, overlap each other at least quement.cally.
FR8117756A 1980-09-22 1981-09-21 DECODING APPARATUS FOR CODES REPRESENTED BY A CODE TREE Granted FR2490899A1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP13186280A JPS5755668A (en) 1980-09-22 1980-09-22 Decoding method for run-length code

Publications (2)

Publication Number Publication Date
FR2490899A1 true FR2490899A1 (en) 1982-03-26
FR2490899B1 FR2490899B1 (en) 1984-12-28

Family

ID=15067855

Family Applications (1)

Application Number Title Priority Date Filing Date
FR8117756A Granted FR2490899A1 (en) 1980-09-22 1981-09-21 DECODING APPARATUS FOR CODES REPRESENTED BY A CODE TREE

Country Status (5)

Country Link
JP (1) JPS5755668A (en)
DE (1) DE3137704C2 (en)
FR (1) FR2490899A1 (en)
GB (1) GB2084366B (en)
NL (1) NL190094C (en)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5937773A (en) * 1982-08-26 1984-03-01 Canon Inc Run-length coding and decoding device
JPS59225676A (en) * 1983-06-06 1984-12-18 Usac Electronics Ind Co Ltd Generating circuit of bit length variable code
JPS6041883A (en) * 1983-08-17 1985-03-05 Fujitsu Ltd Decoding system of coded data
JPS6098768A (en) * 1983-11-04 1985-06-01 Sony Corp Decoding method of run length code
JPS61139069U (en) * 1985-02-18 1986-08-28
GB2178577B (en) * 1985-07-27 1989-01-11 Plessey Co Plc A signal converter
US4800441A (en) * 1986-02-28 1989-01-24 Kabushiki Kaisha Toshiba Binary data compression and expansion processing apparatus
JPH0656958B2 (en) * 1986-07-03 1994-07-27 キヤノン株式会社 Information data restoration device
JP3227292B2 (en) * 1993-12-20 2001-11-12 キヤノン株式会社 Encoding device, encoding method, decoding device, decoding method, encoding / decoding device, and encoding / decoding method
US6408102B1 (en) 1993-12-20 2002-06-18 Canon Kabushiki Kaisha Encoding/decoding device
KR0152038B1 (en) * 1994-10-17 1998-10-15 김광호 Variable length decode apparatus using partner address

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2208664A1 (en) * 1971-02-26 1972-08-31 Ibm Method for decoding a prefix-free compression code of variable length
US3701111A (en) * 1971-02-08 1972-10-24 Ibm Method of and apparatus for decoding variable-length codes having length-indicating prefixes
FR2206630A1 (en) * 1972-11-10 1974-06-07 Ibm
US3918047A (en) * 1974-03-28 1975-11-04 Bell Telephone Labor Inc Decoding circuit for variable length codes

Family Cites Families (1)

* 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

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3701111A (en) * 1971-02-08 1972-10-24 Ibm Method of and apparatus for decoding variable-length codes having length-indicating prefixes
DE2208664A1 (en) * 1971-02-26 1972-08-31 Ibm Method for decoding a prefix-free compression code of variable length
FR2206630A1 (en) * 1972-11-10 1974-06-07 Ibm
US3918047A (en) * 1974-03-28 1975-11-04 Bell Telephone Labor Inc Decoding circuit for variable length codes

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
IBM TECHNICAL DISCLOSURE BULLETIN, vol. 15, no. 4, septembre 1972, pages 1109-1110, New York, US *
IBM TECHNICAL DISCLOSURE BULLETIN, vol. 16, no. 11, avril 1974, pages 3678-3681, New York, US *
IBM TECHNICAL DISCLOSURE BULLETIN, vol. 19, no. 5, octobre 1976, pages 1892-1895, New York, US *
IBM TECHNICAL DISCLOSURE BULLETIN, vol. 23, no. 3, août 1980, pages 1211-1216, New York, US *

Also Published As

Publication number Publication date
NL8104352A (en) 1982-04-16
GB2084366A (en) 1982-04-07
FR2490899B1 (en) 1984-12-28
JPS6338153B2 (en) 1988-07-28
DE3137704C2 (en) 1986-01-09
DE3137704A1 (en) 1982-04-15
NL190094B (en) 1993-05-17
NL190094C (en) 1993-10-18
JPS5755668A (en) 1982-04-02
GB2084366B (en) 1985-07-03

Similar Documents

Publication Publication Date Title
FR2645666A1 (en) METHOD FOR TRANSFERRING DATA FROM SALVES IN A MICROPROCESSOR
FR2490899A1 (en) DECODING APPARATUS FOR CODES REPRESENTED BY A CODE TREE
FR2533091A1 (en) SYSTEM FOR DETECTING AND CORRECTING TRANSMISSION ERRORS OF A BINARY MESSAGE USING A CYCLIC CODE DETECTOR AND CORRECTING ERRORS OF THE REED-SOLOMON TYPE BETWEEN
FR2725330A1 (en) METHOD AND APPARATUS FOR ENCODING AND DECODING DATA
FR2678121A1 (en) DEVICE FOR INSERTING DIGITAL PACKETS IN A TRANSMISSION CHANNEL.
BE1000062A4 (en) Registration and information reading coded digital choice or unprotected protected by an error correction code.
BE897586A (en) PARALLEL CIRCUIT FOR CYCLIC REDUNDANCY CONTROL
FR2554995A1 (en) METHOD FOR COMPRESSING A SUCCESSION OF DIGITAL INFORMATION AND DEVICE USING THE SAME
EP0436251A2 (en) Coder/decoder for digital signals to be transmitted and/or stored
EP0298546B1 (en) System for the transmission of a series of digital samples coded by binary words with variable lengths
EP0682828B1 (en) Block interleaving and deinterleaving method and device therefor
EP1301996A1 (en) Device for transmitting/receiving digital data capable of variable-rate processing, in particular on a vdsl environment
FR2541836A1 (en) DATA DECODING APPARATUS AND COMPRESSED DATA PROCESSING DEVICE
FR2720528A1 (en) Majority-logic error correction decoder with limit on corrected bits
CA2045882C (en) Convolutional code decoding circuit for the stocking and inverse scanning of the surviving paths of a viterbi algorithm
EP0772361B1 (en) Process for cascading detachable conditional access modules, circuit for inserting a predefined sequence and circuit for detecting this sequence allowing the process to start
FR2611100A1 (en) DIGITAL CODE DECODING APPARATUS
EP0476592A2 (en) Address generator for the data storage of a processor
EP0083998B1 (en) Scramble or unscramble byte generator
FR2524740A1 (en) METHOD OF COMPRESSING A DIGITIZED IMAGE
EP0376384A1 (en) Information transmission device using statistical coding, transmission and receiving part for such a device
EP0438340B1 (en) Method and device for data compression
FR2514969A1 (en) DEVICE FOR CODING A TRAIN OF CHARACTERS WITH INFORMATION COMPRESSION
EP0668557B1 (en) Data reorganization circuit and method
FR2624676A1 (en) Device for coding and decoding Reed-Solomon codes

Legal Events

Date Code Title Description
TP Transmission of property
CA Change of address