FR2514969A1 - DEVICE FOR CODING A TRAIN OF CHARACTERS WITH INFORMATION COMPRESSION - Google Patents
DEVICE FOR CODING A TRAIN OF CHARACTERS WITH INFORMATION COMPRESSION Download PDFInfo
- Publication number
- FR2514969A1 FR2514969A1 FR8217314A FR8217314A FR2514969A1 FR 2514969 A1 FR2514969 A1 FR 2514969A1 FR 8217314 A FR8217314 A FR 8217314A FR 8217314 A FR8217314 A FR 8217314A FR 2514969 A1 FR2514969 A1 FR 2514969A1
- Authority
- FR
- France
- Prior art keywords
- original
- code
- characters
- code words
- subwords
- 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
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion 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/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
- H03M7/42—Conversion 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
Abstract
UN TRAIN DE CARACTERES D'ORIGINE DANS LEQUEL LES CARACTERES APPARAISSENT AVEC DES FREQUENCES RELATIVES QUI VARIENT DANS LE TEMPS EST CODE DANS UN CODEUR 14 EN UN TRAIN DE MOTS DE CODE AVANT D'ETRE TRANSMIS PAR UNE LIAISON 20 VERS UN DECODEUR 24 QUI REDONNE LE TRAIN DE DONNEES D'ORIGINE. LES MOTS DE CODE SONT REPARTIS EN TROIS GROUPES DONT LES MOTS COMPRENNENT RESPECTIVEMENT UN, DEUX ET TROIS SOUS-MOTS. LE CODEUR DETERMINE CONTINUELLEMENT LA FREQUENCE D'APPARITION DES CARACTERES D'ORIGINE ET IL CODE CEUX-CI DE FACON A AFFECTER UN MOT DE CODE A UN SEUL SOUS-MOT AUX CARACTERES D'ORIGINE AYANT LA FREQUENCE D'APPARITION LA PLUS ELEVEE, TANDIS QUE LES CARACTERES D'ORIGINE LES MOINS FREQUENTS SONT CODES AVEC TROIS SOUS-MOTS.AN ORIGINAL CHARACTER TRAIN IN WHICH THE CHARACTERS APPEAR WITH RELATIVE FREQUENCIES WHICH VARY OVER TIME IS CODE IN AN ENCODER 14 INTO A TRAIN OF CODE WORDS BEFORE BEING TRANSMITTED BY A LINK 20 TO A DECODER 24 WHICH RETURNS THE ORIGINAL DATA TRAIN. THE CODE WORDS ARE DISTRIBUTED INTO THREE GROUPS OF WHICH THE WORDS CONSIST OF ONE, TWO AND THREE SUBWORDS RESPECTIVELY. THE ENCODER CONTINUALLY DETERMINES THE FREQUENCY OF APPEARANCE OF THE ORIGINAL CHARACTERS AND IT ENCODES THEM IN A WAY TO ASSIGN A CODEWORD TO A SINGLE SUBWORD WITH THE ORIGINAL CHARACTERS HAVING THE HIGHEST FREQUENCY OF APPEARANCE, WHILE THAT THE LESS FREQUENT ORIGINAL CHARACTERS ARE CODED WITH THREE SUBWORDS.
Description
DISPOSITIF DE CODAGE D'UN TRAIN DEDEVICE FOR CODING A TRAIN
CARACTERES AVEC COMPRESSION DE L'INFORMATION CHARACTERS WITH INFORMATION COMPRESSION
La présente invention concerne le codage d'un train de caractères d'origine en un train de mots de code plus court, et le décodage des mots de code. The present invention relates to the coding of an original character train into a shorter code word train, and the decoding of code words.
Différents caractères d'origine peuvent apparal- Different original characters may appear
tre avec différentes fréquences dans un train de caractè- be with different frequencies in a character train
res d'origine Le fait de coder sous forme de mots de code plus courts les caractères d'origine qui apparaissent plus fréquemment permet de réduire la longueur du train de mots original res The fact of coding in the form of shorter code words the original characters which appear more frequently makes it possible to reduce the length of the train of words
de code Les fréquences relatives d'apparition de diffé- The relative frequencies of occurrence of diffe-
rents caractères d'origine peuvent changer au cours du temps. The original characters may change over time.
L'invention consiste de façon générale en un dis- The invention generally consists of a dis-
positif destiné à coder un train de caractères d'origine en un train de mots de code, chacun des caractères d'origine ayant une fréquence d'apparition dans le train de caractères positive intended to encode a stream of original characters in a stream of code words, each of the original characters having a frequency of appearance in the stream of characters
d'origine qui est susceptible de varier dans le temps Cha- origin which is likely to vary over time Cha-
cun des mots de code appartient à un groupe parmi un ensem- none of the code words belongs to a group among a set
ble de groupes de mots de code et les mots de code dans les groupes respectifs comprennent des nombres respectifs différents de sous-mots Le dispositif comprend un codeur destiné à coder chacun des caractères d'origine sous la forme de l'un des mots de code, les caractères d'origine apparaissant le plus fréquemment étant codés sous la forme de mots de code ayant moins de sous-mots; et un sélecteur de taille de groupe destiné à remplacer par de nouveaux ble of groups of code words and the code words in the respective groups comprise different respective numbers of subwords The device comprises an encoder intended to encode each of the original characters in the form of one of the code words , the original characters appearing most frequently being coded in the form of code words having fewer subwords; and a group size selector to replace with new ones
nombres les nombres de mots de codes appartenant respective- numbers the numbers of code words belonging respective-
ment à certains des groupes, mais pas à tous, et à recalcu- to some, but not all, of the groups and to recalculate
ler les nombres de mots de code appartenant aux autres grou- the numbers of code words belonging to other groups
pes, sur la base des nouveaux nombres, grâce à quoi une pes, based on the new numbers, whereby a
partie au moins du train de mots de code est raccourcie. at least part of the codeword stream is shortened.
Un autre aspect de l'invention fait intervenir un dispositif de contr 8 le destiné à compter le nombre d'appa ritions, dans le train de caractères d'origine, de chaque caractère d'origine dans un ensemble comprenant moins de la totalité des caractères d'origine, et un sélecteur de taille de groupe qui réagit au dispositif de contr 8 le en Another aspect of the invention involves a control device 8 intended for counting the number of appearances, in the original character train, of each original character in a set comprising less than all of the characters. and a group size selector which reacts to the control device by
changeant les nombres de mots de code appartenant respecti- changing the numbers of code words belonging respectively-
vement aux groupes, grâce à quoi une partie au moins du groups, whereby at least part of the
train de mots de code est raccourcie. code word stream is shortened.
Un autre aspect de l'invention porte sur un dispo- Another aspect of the invention relates to a provision
sitif dans lequel les mots de code appartiennent à un pre- sitive in which the code words belong to a pre-
mier, à un second ou à un troisième groupe de mots de code, et les mots de code qui appartiennent aux premier, second et troisième groupes comprennent respectivement un, deux et trois sous-mots Le dispositif comprend un codeur destiné à coder un premier ensemble des caractères d'origine sous la forme de mots de code appartenant au premier groupe, un second ensemble des caractères d'origine sous la forme de mots de code appartenant au second groupe, et un troisième ensemble des caractères d'origine sous la forme de mots de mier, to a second or to a third group of code words, and the code words which belong to the first, second and third groups respectively comprise one, two and three subwords The device comprises an encoder intended to code a first set original characters in the form of code words belonging to the first group, a second set of original characters in the form of code words belonging to the second group, and a third set of the original characters in the form of words of
code appartenant au troisième groupe, les caractères d'ori- code belonging to the third group, the original characters
gine apparaissant le plus fréquemment étant codés sous la gine appearing most frequently being coded under the
forme de mots de code ayant un plus petit nombre de sous- form of code words with a smaller number of sub-
mots; et un sélecteur de taille de groupe destiné à charger les nombres de mots de code appartenant respectivement aux premier, second et troisième groupes, sous la dépendance de variations de la fréquence d'apparition, grâce à quoi une words; and a group size selector intended to load the numbers of code words belonging respectively to the first, second and third groups, depending on variations in the frequency of appearance, whereby a
partie au moins du train de mots de code est raccourcie. at least part of the codeword stream is shortened.
Dans des modes de réalisation/avantageux,le sélec- In embodiments / advantageous, the selection
teur de taille de groupe est connecté de façon à remplacer par un nouveau nombre le nombre de mots de code appartenant à l'un des groupes, et à recalculer les nombres de mots de code appartenant aux autres groupes, directement à partir group size is connected so as to replace the number of code words belonging to one of the groups with a new number, and to recalculate the numbers of code words belonging to the other groups, directly from
du nouveau nombre.of the new number.
Un autre aspect de l'invention porte sur un appa- Another aspect of the invention relates to an apparatus for
reil comprenant un dispositif de détermination de rang de fréquence d'apparition, destiné à affecter à chacun des caractères d'origine un rang correspondant à sa fréquence d'apparition relative estimée courante dans le train de caractères d'origine; un codeur destiné à coder en un mot reil comprising a device for determining the frequency of appearance rank, intended to assign to each of the original characters a rank corresponding to its relative frequency of appearance estimated current in the original character train; an encoder intended to encode in a word
de code ayant un sous-mot, conformément à un codé sélection- of code having a subword, according to a coded selection-
né, chacun des caractères d'origine,ayant un rang ne dépas- born, each of the original characters, having a rank not exceeding
sant pas un premier nombre sélectionné, à coder sous la for- not a first selected number, to be coded as
me d'un mot de code ayant deux sous-mots chacun des carac- me of a code word having two subwords each of the characters
tères d'origine ayant un rang supérieur au premier nombre et ne dépassant pas un second nombre, et à coder sous la forme d'un mot de code ayant trois sous-mots chacun des original tres having a rank greater than the first number and not exceeding a second number, and to be coded in the form of a code word having three subwords each of
caractères d'origine ayant un rang supérieur au second nom- original characters having a rank higher than the second name-
bre, le second nombre étant fixé par la valeur du premier nombre; un dispositif de contrôle destiné à compter le nombre d'apparitionsdans le train de caractères d'origine, de chaque caractère d'origine dans un ensemble ne comprenant pas la totalité des caractères d'origine; et un sélecteur qui fonctionne sous la dépendance du dispositif de contrôle de façon à mettre à jour le premier nombre pour lui donner une nouvelle valeur, lorsque la nouvelle valeur raccourcit une partie au moins du train de mots de code et de façon à bre, the second number being fixed by the value of the first number; a control device intended to count the number of appearances in the original character string of each original character in a set that does not include all of the original characters; and a selector which operates under the control of the control device so as to update the first number to give it a new value, when the new value shortens at least part of the stream of code words and so as to
recalculer le second nombre à partir du premier nombre. recalculate the second number from the first number.
Dans des modes de réalisation préférés, l'ensemble In preferred embodiments, the assembly
ne comprenant pas la totalité des caractères d'origine com- not including all of the original characters
prend les caractères d'origine pour lesquels le nombre de sous-mots dans les mots de code associés serait changé par des changements du premier nombre et du second nombre, et en particulier les caractères d'origine ayant des rangs égaux au premier nombre, au premier nombre diminué d'une unité, et à chaque nombre compris entre le second nombre moins le nombre de sous-mots dans l'alphabet de sous-mots, takes the original characters for which the number of subwords in the associated code words would be changed by changes in the first number and the second number, and in particular the original characters having ranks equal to the first number, at first number decreased by one, and for each number between the second number minus the number of subwords in the alphabet of subwords,
et le second nombre plus le nombre de sous-mots dans l'alpha- and the second number plus the number of subwords in alpha-
bet de sous-mots, diminué d'une unité; le dispositif de contrôle comprend un compteur destiné à compter en sens subword bet, decreased by one; the control device includes a counter intended to count in direction
croissant à partir d'une valeur médiane pour chaque appari- increasing from a median value for each pair-
tion des caractères d'origine ayant des rangs égaux au pre- tion of the original characters having ranks equal to the first
mier nombre et au premier nombre diminué d'une unité, et à compter en sens décroissant pour chaque apparition des caractères d'origine ayant des rangs égaux à chaque nombre entre le second nombre moins le nombre de sous-mots dans l'alphabet de sous-mots, et le second nombre plus le nombre de sous-mots dans l'alphabet de sous-mots, diminué d'une mier number and the first number minus one, and count in descending direction for each appearance of the original characters having ranks equal to each number between the second number minus the number of subwords in the sub alphabet -words, and the second number plus the number of words in the alphabet of words, minus one
unité, tandis que le sélecteur comprend un additionneur des- unit, while the selector includes an adder of-
tiné à augmenter -le premier nombre d'une unité lorsque le to increase the first number by one when the
compteur atteint une valeur supérieure et à diminuer le pre- counter reaches a higher value and decrease the pre-
mier nombre d'une unité lorsque le compteur atteint une valeur inférieure; le code sélectionné est changé lorsque le premier nombre est mis à jour pour prendre une nouvelle valeur; et il existe également un décodeur destiné à décoder le train de mots de code pour donner le train de caractères d'origine, le décodeur comprenant un dispositif mier number by one when the counter reaches a lower value; the selected code is changed when the first number is updated to take a new value; and there is also a decoder intended to decode the code word stream to give the original character train, the decoder comprising a device
de détermination de rang de fréquence d'apparition de déco- determining the frequency of occurrence of deco-
deur, destiné à déterminer pour chacun des caractères d'origine dans l'alphabet d'originele rang qui correspond à sa fréquence d'apparition relative estimée courante, et le décodeur détermine directement à par-tir des mots de code présents dans le train de mots de code quel est, parmi les codes qui peuvent être sélectionnés, celui qui a été utilisé deur, intended to determine for each of the characters of origin in the alphabet of origin the rank which corresponds to its frequency of relative appearance estimated current, and the decoder directly determines from code words present in the train of code words which of the codes that can be selected is used
pour le codage.for coding.
Un autre aspect de l'invention porte sur un dispo- Another aspect of the invention relates to a provision
sitif destiné à coder un train de caractères d'origine en un train de mots de code, chacun des caractères d'origine ayant une fréquence d'apparition dans le train de caractères d'origine qui varie dans le temps Le dispositif comprend une mémoire de rang destinée à enregistrer le rang qui correspond à la fréquence d'apparition relative estimée courante de chaque caractère d'origine dans le train de caractères d'origine, et un dispositif de mise à jour de sitive intended to encode an original character train into a code word train, each of the original characters having a frequency of appearance in the original character train which varies over time The device comprises a memory for rank intended to record the rank which corresponds to the current estimated relative frequency of appearance of each original character in the original character string, and a device for updating
rang destiné à permuter le rang de chaque caractère d'origi- rank to swap the rank of each original character
ne qui apparaît dans le train de caractères d'origine, avec le rang de celui des caractères d'origine qui a le rang immédiatement inférieur, à moins que le caractère d'origine which appears in the original character string, with the rank of that of the original characters which has the rank immediately below, unless the original character
qui apparaît dans le train ait le rang le plus faible possi- who appears in the train has the lowest possible rank
ble. Un autre aspect de l'invention porte sur un dispo- sitif qui comprend: un codeur destiné à coder sous la forme d'un mot de code ayant un sous-mot chacun des caractères d'origine ayant un rang de dépassant pas un premier nombre sélectionné, à coder sous la forme d'un mot de code ayant deux sous-mots chacun des caractères d'origine ayant un rang supérieur au premier nombre et ne dépassant pas un second nombre, et à coder sous la forme d'un mot de code ayant trois sous-mots chacun des caractères d'origine ayant un rang supérieur au second nombre, le second nombre étant fixé par la valeur du premier nombre; un modificateur de codage pour les mots à deux sous-mots, destiné à diviser par 16 tout mot de code ayant deux sous-mots et dont le dernier sous-mot est zéro, et à additionner le résultat à 15 plus le produit de 15 par le premier nombre, pour donner un mot de code révisé; et un modificateur de codage pour les mots de code à trois sous-mots, destiné à diviser par 16 tout corn. Another aspect of the invention relates to a device which comprises: an encoder intended to encode in the form of a code word having a subword each of the original characters having a rank of not exceeding a first number selected, to be coded in the form of a code word having two subwords each of the original characters having a rank greater than the first number and not exceeding a second number, and to be coded in the form of a word code having three subwords each of the original characters having a rank greater than the second number, the second number being fixed by the value of the first number; a coding modifier for words with two subwords, intended to divide by 16 any code word having two subwords and whose last subword is zero, and to add the result to 15 plus the product of 15 by the first number, to give a revised codeword; and a coding modifier for code words with three subwords, to divide by 16 all
mot de code ayant trois sous-mots et dont le dernier sous- code word with three subwords and the last of which
mot est zéro, à additionner le résultat à 3573 plus le second nombre et, si le mot de code résultant est inférieur à 3856, à soustraire 16 du mot de code résultant, pour word is zero, add the result to 3573 plus the second number and, if the resulting code word is less than 3856, subtract 16 from the resulting code word, for
donner un mot de code révisé.give a revised codeword.
L'invention permet un codage adaptatif rapide et. The invention allows rapid and adaptive coding.
efficace d'un train de caractères d'origine pour donner un train de mots comprimé; le code change pour s'adapter à des changements de la fréquence d'apparition relative des caractères d'origine, afin de minimiser la longueur du effective of an original character string to give a compressed word string; the code changes to adapt to changes in the relative frequency of appearance of the original characters, in order to minimize the length of the
train de mots de code; les adaptations de code sont effec- code word train; code adaptations are made
tuées rapidement et économiquement en changeant seulement une variable indépendante, à partir de laquelle les autres nombres qui interviennent peuvent 8 tre recalculés aisément et le décodeur peut s'adapter automatiquement à des codes qui changent, sur la base des mots de code reçus, sans nécessiter l'émission de signaux spéciaux de commutation de killed quickly and economically by changing only one independent variable, from which the other intervening numbers can be easily recalculated and the decoder can automatically adapt to changing codes, based on the code words received, without requiring the emission of special switching signals from
code du codeur vers le décodeur.coder code to decoder.
L'invention sera mieux comprise à la lecture de The invention will be better understood on reading
la description qui va suivre d'un mode de réalisation, donné the following description of an embodiment given
à titre d'exemple non limitatif La suite de la description by way of nonlimiting example The rest of the description
se réfère aux dessins annexés sur lesquels: - refers to the accompanying drawings in which: -
La figure 1 est un schéma synoptique d'un système Figure 1 is a block diagram of a system
de codage-décodage.coding-decoding.
La figure 2 est un tableau représentant une Figure 2 is a table showing a
séquence de codage caractéristique. characteristic coding sequence.
La figure 3 est un schéma synoptique du codeur de Figure 3 is a block diagram of the
la figure 1.Figure 1.
La figure 4 est un schéma synoptique du décodeur Figure 4 is a block diagram of the decoder
de la figure 1.of figure 1.
Les figures 5 A à 5 D sont des organigrammes du Figures 5 A to 5 D are flowcharts of the
processus de codage.coding process.
Les figures 6 A-6 D sont des organigrammes du pro- Figures 6 A-6 D are flow diagrams of the pro-
cessus de décodage.decoding stops.
Structure d'ensemble et fonctionnement Sur la figure 1, le terminal 10 génère un train de caractères d'origine sur la ligne 12, sous forme de tensions, de courants, de fréquences ou d'autres paramètres représentant des éléments binaires Le codeur 14 reçoit les caractères d'origine sur son accès 16 et il les code en un train de mots de code binaires qui sont émis par l'accès 18 sur la liaison 20 Le nombre de bits dans le train de mots de code est généralement inférieur au nombre de bits dans le train associé de caractères d'origine La Overall structure and operation In FIG. 1, the terminal 10 generates an original character train on line 12, in the form of voltages, currents, frequencies or other parameters representing binary elements. The encoder 14 receives the original characters on its access 16 and it codes them in a train of binary code words which are emitted by the access 18 on the link 20 The number of bits in the train of code words is generally less than the number of bits in the associated original character train La
forme des mots de code permet d'effectuer un décodage indé- form of the code words makes it possible to carry out an independent decoding
pendant pour obtenir le train initial de caractères d'origi- during to obtain the initial train of original characters
ne. La liaison 20 peut remplir diverses fonctions, born. The link 20 can fulfill various functions,
parmi lesquelles la modulation et la démodulation, la commu- including modulation and demodulation, communication
tation, l'enregistrement et la détection/correction des erreurs de transmission, mais, dans tous les cas, la liaison applique finalement à l'accès 22 du décodeur 24 une séquence de mots de code identique à celle qu'elle a reçue du codeur 14 Le décodeur 24 décode les mots de code pour donner un train de caractères d'origine identique au train reçu sur l'accès 16, et il les applique par l'accès 26 à la tation, recording and detection / correction of transmission errors, but, in all cases, the link finally applies to access 22 of decoder 24 a sequence of code words identical to that which it received from the encoder 14 The decoder 24 decodes the code words to give a train of characters of identical origin to the train received on the access 16, and it applies them by the access 26 to the
ligne 28 qui les transmet au terminal 30. line 28 which transmits them to terminal 30.
Un autre train de données peut circuler simultané- Another data train can run simultaneously-
ment dans le système dans la direction opposée, et pour ce train, le décodeur 24 fonctionne en codeur et le codeur 14 in the system in the opposite direction, and for this train, the decoder 24 operates as an encoder and the encoder 14
fonctionne en décodeur.works as a decoder.
Chaque caractère d'origine est l'un des 256 octects possibles Chaque mot de code est constitué par 1, 2 ou 3 Each original character is one of the 256 possible octects Each code word consists of 1, 2 or 3
sous-mots (appelés fragments) de quatre bits chacun. subwords (called fragments) of four bits each.
En général, la première étape dans le processus de codage consiste à ordonner les 256 caractères d'origine par ordre de fréquence d'apparition décroissante dans le train d'origine Le codeur conserve deux tables dont l'une est une liste de rangs (de O à 255) dans l'ordre des caractères d'origine, dans laquelle la iième rubrique est le rang du In general, the first step in the coding process consists in ordering the 256 original characters in order of frequency of decreasing appearance in the original train. The coder keeps two tables, one of which is a list of ranks (of O to 255) in the order of the original characters, in which the i th item is the rank of
iieme caractère d'origine; et la seconde table est une lis- second original character; and the second table is a read-
te des caractères d'origine (de O à 255) classés par rang,dans te original characters (from O to 255) classified by rank, in
laquelle la iième rubrique estle caractère d'origine de rang i. which the i th item is the original character of rank i.
Lorsqu'un caractère d'origine de rang r apparaît dans le train d'origine, les deux tables sont mises à jour de façon que le rang de ce caractère d'origine devienne r 1 When an original character of rank r appears in the original train, the two tables are updated so that the rank of this original character becomes r 1
(s'il n'est pas déjà égal à zéro), et de façon que le carac- (if it is not already zero), and so that the character-
tère d'origine qui avait le rang r 1 prenne le rang r. original parent who had rank r 1 take row r.
Les deux tables sont donc constamment mises à jour pour tra- The two tables are therefore constantly updated to work
duire les fréquences d'apparition relatives des caractères reduce the relative frequencies of appearance of the characters
d'origine Le rang (avant la mise à jour des tables) de cha- original The rank (before updating the tables) of each
que caractère d'origine apparaissant dans le train d'origine that original character appearing in the original train
détermine le mot de code sous la forme duquel il sera codé. determines the code word in the form of which it will be coded.
Pour effectuer le codage, les 256 caractères To perform the encoding, the 256 characters
d'origine possibles sont divisés en trois groupes Les carac- possible origins are divided into three groups The characters
tères d'origine ayant des rangs allant de zéro à un premier nombre (N 4 E) sont codés sous la forme de mots de code à un seul fragment, ceux dont les rangs vont de N 4 E à un second nombre (N 8 E 1) sont codés sous la forme de mots de code à deux fragments, et ceux dont les rangs vont de N 8 E à un troisième nombre (NL) sont codés sous la forme de mots de code à trois fragments. La détermination de N 4 E, N 8 E et NL est régie par l'égalité dite de Kraft: original tres having ranks ranging from zero to a first number (N 4 E) are coded in the form of code words with a single fragment, those whose ranks range from N 4 E to a second number (N 8 E 1) are coded in the form of two-fragment code words, and those whose ranks range from N 8 E to a third number (NL) are coded in the form of three-fragment code words. The determination of N 4 E, N 8 E and NL is governed by the so-called Kraft equality:
N 4 E + (N 8 E N 4 E) + NL N 8 E 1N 4 E + (N 8 E N 4 E) + NL N 8 E 1
NS NS NSNS NS NS
dans laquelle NS est le nombre de fragments différents dis- where NS is the number of different fragments dis-
ponibles et NL est un nombre sélectionné (ici 267) qui est au moins aussi grand que le nombre de caractères d'origine possibles Dans le cas présent, chaque fragment comporte 4 bits, ce qui permettrait normalement d'avoir 16 fragments différents, mais le fragment 0000 est spécifié comme étant un fragment illégal, ce qui donne NS 15, et l'égalité de Kraft devient: ponibles et NL is a selected number (here 267) which is at least as large as the number of possible original characters In the present case, each fragment contains 4 bits, which would normally allow to have 16 different fragments, but the fragment 0000 is specified as an illegal fragment, which gives NS 15, and the Kraft equality becomes:
N 4 E N 8 E N 4 E NL N 8 EN 4 E N 8 E N 4 E NL N 8 E
+ + 3+ + 3
15 1515 15
Lorsque N 4 E est incrémenté d'une unité (c'est-à-dire lorsqu'un caractère d'origine de plus est ajouté au groupe codé sous la forme de mots de code à un seul fragment), l'égalité nécessite que NL N 8 E soit incrémenté de 15 et que N 8 E N 4 E soit décrémenté de 14 Inversement, si N 4 E est décrémenté d'une unité, NL N 8 E doit 8 tre décrémenté When N 4 E is incremented by one (i.e. when one more original character is added to the coded group in the form of single-fragment code words), equality requires that NL N 8 E is incremented by 15 and N 8 EN 4 E is decremented by 14 Conversely, if N 4 E is decremented by one, NL N 8 E must 8 be decremented
de 15 et N 8 E N 4 E doit être incrémenté de 14 Par consé- by 15 and N 8 E N 4 E must be increased by 14 Therefore
quent, si le caractère d'origine de rang N 4 E apparaît plus souvent que les caractères d'origine de rangs N 8 E 15 à N 8 E 1, N 4 E doit être incrémenté d'une unité (c'est-à-dire qu'un caractère d'origine supplémentaire doit être ajouté au groupe qui est codé sous la forme de mots de code à un seul fragment); et N 4 E doit 8 tre décrémenté d'une unité si quent, if the original character of rank N 4 E appears more often than the original characters of rank N 8 E 15 to N 8 E 1, N 4 E must be incremented by one (i.e. - saying that an additional original character must be added to the group which is coded in the form of code words with a single fragment); and N 4 E must be decremented by one if
le caractère d'origine de rang N 4 E i apparaît moins fré- the original character of rank N 4 E i appears less frequent
quemment que les caractères d'origine de rangs N 8 E à only the original characters of ranks N 8 E to
N 8 E + 14, du fait que ceci raccourcira le train codé. N 8 E + 14, since this will shorten the coded stream.
On sélectionne N 4 E et N 8 E en comptant à partir d'une valeur médiane (par exemple 64), en sens croissant pour chaque apparition des caractères d'origine de rangs N 4 E 1 et N 4 E et en sens décroissant pour chaque apparition des caractères d'origine de rangs N 8 E-15 à N 8 E + 14. Lorsque ce compte dépasse un premier seuil (par exemple 128), N 4 E est incrémenté; et lorsque-le compte tombe en dessous d'un second seuil (par exemple 0), N 4 E est décrémenté Une fois que N 4 E est déterminé, la valeur de N 8 E est recalculée N 4 E and N 8 E are selected by counting from a median value (for example 64), in ascending direction for each appearance of the original characters of ranks N 4 E 1 and N 4 E and in decreasing direction for each appearance of the original characters of rows N 8 E-15 to N 8 E + 14. When this count exceeds a first threshold (for example 128), N 4 E is incremented; and when the count falls below a second threshold (for example 0), N 4 E is decremented Once N 4 E is determined, the value of N 8 E is recalculated
conformément à l'égalité de Kraft. in accordance with Kraft equality.
L'étape suivante consiste à affecter chaque carac- The next step is to assign each character
tère d'origine à un mot de code Le processus est représenté sur la figure 2 qui montre un arbre ayant un nombre de niveaux (colonnes) 110 égal au plus grand nombre de fragments qui constituent un mot de code, soit trois dans ce original mother to a codeword The process is represented in FIG. 2 which shows a tree having a number of levels (columns) 110 equal to the greatest number of fragments which constitute a codeword, that is to say three in this
cas Le premier niveau 115 comprend des branches 112 en nom- case The first level 115 includes branches 112 in nom-
bre égal au nombre possible de fragments ( 16 dans ce cas) et chaque branche 112 du premier niveau représente soit un mot de code à 4 bits possible, soit un préfixe à 4 bits possible d'un mot de code à 8 bits ou à 12 bits Chaque branche 112 est désignée par un nombre, ne figurant pas entre parenthèses, qui indique sous forme décimale le numéro du fragment représenté par cette branche, et toute branche bre equal to the possible number of fragments (16 in this case) and each branch 112 of the first level represents either a possible 4-bit code word or a possible 4-bit prefix of an 8-bit or 12 code word bits Each branch 112 is designated by a number, not appearing in parentheses, which indicates in decimal form the number of the fragment represented by this branch, and any branch
112 à laquelle un caractère d'origine peut être affecté con- 112 to which an original character can be assigned con-
tient entre parenthèses le rang décimal de ce caractère d'origine Le second niveau 116 comprend 16 rameaux 118 pour chaque branche 112 dont le fragment fait fonction de préfixe Chaque rameau 118 est désigné de façon similaire par un numéro de fragment, ne figurant pas entre parenthèses, holds the decimal rank of this original character in parentheses The second level 116 comprises 16 branches 118 for each branch 112 whose fragment acts as a prefix Each branch 118 is similarly designated by a fragment number, not appearing in parentheses ,
tandis que le rang du caractère d'origine affecté est indi- while the rank of the original character affected is indi-
qué entre parenthèses Le troisième niveau 122 comprend de façon similaire 16 feuilles 124 pour chaque rameau 118 dont le fragment fait fonction de préfixe Chaque caractère d'origine affecté à une feuille 124 au troisième niveau est codé sous la forme d'un mot à trois fragments, comprenant les fragments représentés par la branche au premier niveau, qué entre parentheses The third level 122 similarly includes 16 sheets 124 for each branch 118 whose fragment acts as a prefix Each original character assigned to a sheet 124 at the third level is coded in the form of a word with three fragments , including the fragments represented by the branch at the first level,
le rameau au second niveau et la feuille au troisième niveau. the branch on the second level and the leaf on the third level.
Chaque branche, rameau ou feuille indiqué par une ligne en pointillés représente le fragment illégal 0000, ce qui fait que seuls 15 fragments différents sont réellement disponibles à chaque niveau 110 Les niveaux 110 de l'arbre de la figure 2 sont conçus de façon à procurer N 4 E branches disponibles au premier niveau, pour coder N 4 E caractères d'origine sous la forme de mots de code à un seul fragment, N 8 E N 4 E rameaux disponibles 116 au second niveau pour coder N 8 E N 4 E caractères d'origine sous la forme de mots de code à deux fragments, et NL N 8 E feuilles disponibles 124 au troisième niveau pour coder les caractères d'origine Each branch, twig or leaf indicated by a dotted line represents the illegal fragment 0000, so that only 15 different fragments are actually available at each level 110 The levels 110 of the tree in Figure 2 are designed to provide N 4 E branches available at the first level, to code N 4 E original characters in the form of code words with a single fragment, N 8 EN 4 E branches available 116 at the second level to code N 8 EN 4 E characters d origin in the form of two-fragment code words, and NL N 8 E sheets available 124 at the third level for coding the original characters
restants sous la forme de mots à trois fragments. remaining in the form of three-fragment words.
Structure du codeur Comme le montre la figure 3, le codeur comporte une entrée 16 sur laquelle il reçoit le train de caractères Structure of the encoder As shown in Figure 3, the encoder has an input 16 on which it receives the character string
d'origine à 8 bits, éventuellement à une cadence irréguliè- original 8-bit, possibly at an irregular rate
re.re.
La mémoire Ml, 42, contient 256 éléments repré- The memory Ml, 42, contains 256 elements represented
sentant les 256 caractères d'origine possibles Le contenu des éléments de la mémoire Ml, 42 est fixé à des valeurs sensing the possible 256 original characters The content of the memory elements Ml, 42 is fixed at values
particulières comprises entre O et 255 La valeur r conser- between O and 255 The r value conserved
vée dans le i ième élément de la mémoire Ml, 42, représente seen in the i th element of the memory Ml, 42, represents
le rang r du iième caractère d'origine,en fréquence d'appa- the rank r of the i th original character, in frequency of appearance
rition dans le train de caractères d'origine Par exemple, si le 10 ième élément de la mémoire Ml, 42, contient la valeur 128, le caractère d'origine représenté par le 10 ième élément est estimé être le 128 ième caractère, par ordre rition in the original character string For example, if the 10 th element of the memory Ml, 42, contains the value 128, the original character represented by the 10 th element is estimated to be the 128 th character, in order
d'apparition décroissant, dans le train d'origine. decreasing appearance, in the original train.
La mémoire M 2, 44, contient 256 positions repré- The memory M 2, 44 contains 256 positions represented
sentant les 256 rangs de fréquence possibles des caractères d'origine La valeur i conservée dans le r ime élément de M 2 représente le caractère d'origine i qui porte le rang r feeling the 256 possible frequency ranks of the original characters The value i kept in the rth element of M 2 represents the original character i which carries the rank r
en ce qui concerne la fréquence d'apparition Par consé- with regard to the frequency of occurrence By cons-
quent, la mémoire Ml est une table des rangs dans l'ordre des caractères d'origine, tandis que la mémoire M 2 est une table des caractères d'origine dans l'ordre des rangs Si le lème ilème iièmeélément de Ml est r, le r élément de M 2 est i Il quent, the memory Ml is a table of ranks in the order of the original characters, while the memory M 2 is a table of the original characters in the order of the rows If the lth ilth ith element of Ml is r, the r element of M 2 is i Il
est très commode de fixer initialement à i les i ièmes élé- it is very convenient to initially set i to the i th elements
ments de Ml comme de M 2.both Ml and M 2.
Le registre N 4 E 46 contient le nombre N 4 E et le registre N 8 E 48 contient le nombre N 8 E N 4 E et N 8 E sont pris initialement égaux à des nombres entiers non négatifs, de The register N 4 E 46 contains the number N 4 E and the register N 8 E 48 contains the number N 8 E N 4 E and N 8 E are taken initially equal to non-negative whole numbers, from
façon que l'égalité de Kraft soit satisfaite, lorsqu'on-choi- so that Kraft equality is satisfied, when we choose
sit pour NL la valeur 267, de la manière suivante sit for NL the value 267, as follows
15 N 4 E + N 8 E22215 N 4 E + N 8 E222
Le registre CE 64, qui peut être fixé initialement à n'importe quelle valeur (par exemple 64), contient le The CE 64 register, which can be initially set to any value (e.g. 64), contains the
compte sur la base duquel le nombre N 4 E est changé. account on the basis of which the number N 4 E is changed.
L'unité arithmétique 60 effectue les calculs nécessaires Le train de mots de code qui résulte du codage est disponible sur l'accès de sortie 18 Le registre W 62 The arithmetic unit 60 performs the necessary calculations The code word stream which results from the coding is available on the output port 18 The register W 62
contient les fragments de chaque mot de code avant la trans- contains fragments of each codeword before trans-
mission vers l'accès 18 Les registres Ri 54, R 2 56, Ai 52 mission to access 18 The registers Ri 54, R 2 56, Ai 52
et A 2 58 sont connectés de la manière représentée Chaque. and A 258 are connected as shown Each.
composant du codeur 14 est connecté au bus de données 49, ainsi qu'au dispositif de commande de traitement de données , comme le montre la figure 3, et il est commandé par le dispositif 50 Les composants du codeur 14 sont réalisés component of the encoder 14 is connected to the data bus 49, as well as to the data processing control device, as shown in FIG. 3, and it is controlled by the device 50 The components of the encoder 14 are produced
sous la forme classique d'un microprocesseur et d'une mémoire. in the classic form of a microprocessor and a memory.
Fonctionnement du codeur Les résultats de chaque opération numérique décrite Encoder operation The results of each digital operation described
ci-dessous sont arrondis au nombre entier le plus proche. below are rounded up to the nearest whole number.
La description qui suit se réfère aux figures 3, The following description refers to FIGS. 3,
SA, 5 B, 5 C et 5 D Lorsqu'un octet de caractère d'origine est SA, 5 B, 5 C and 5 D When an original character byte is
reçu sur l'accès 16, le dispositif de commande 50 le trans- received on access 16, the control device 50 transmits it
fère vers le registre Ai 52 Le caractère d'origine présent dans le registre Al 52 fait alors fonction de pointeur d'adresse pour la table Ml 42, qui fournit au registre Ri 54 le rang r du caractère d'origine Si le registre Ri 54 ne contient pas un O (c'est-à-dire si le caractère d'origine refers to the register Ai 52 The original character present in the register Al 52 then acts as an address pointer for the table Ml 42, which supplies the register Ri 54 with the rank r of the original character If the register Ri 54 does not contain an O (i.e. if the original character
n'a pas le rang le plus bas, c'est-à-direla fréquence d'appa- does not have the lowest rank, i.e. the frequency of appearance
rition la plus élevée), la valeur du rang (r) est transférée du registre Ri 54 vers le registre R 2 56 qui est ensuite décrémenté de 1 pour prendre la valeur (r-1) Le registre R 2 56 fait alors fonction de pointeur d'adresse pour la table M 2 44, et le caractère d'origine ayant le rang (r-1) est placé dans le registre A 2 58, qui fait fonction de pointeur d'adresse pour le registre MI 44 Le nombre présent dans le registre Ai 52 (c'est-à-dire le caractère d'origine) est chargé dans la position (r-1) de la table M 2 44 Le registre R 2 56 est alors incrémenté de 1 pour prendre la valeur r, et le nombre présent dans le registre Al 52 est enregistré dans la position r de M 2 44 La position Al de la table Ml 42 est highest rition), the value of the rank (r) is transferred from the register Ri 54 to the register R 2 56 which is then decremented by 1 to take the value (r-1) The register R 2 56 then acts as a pointer address for table M 2 44, and the original character having the rank (r-1) is placed in the register A 2 58, which acts as an address pointer for the register MI 44 The number present in the register Ai 52 (that is to say the original character) is loaded in the position (r-1) of the table M 2 44 The register R 2 56 is then incremented by 1 to take the value r, and the number present in the register Al 52 is recorded in the position r of M 2 44 The position Al of the table Ml 42 is
décrémentée, et la position A 2 de la table Ml 42 est incré- decremented, and position A 2 of table Ml 42 is incremented
mentée. ièmelied. th
Si on considère que le i élément de la table. If we consider that the i element of the table.
Ml 42 contient le rang de caractère d'origine i, et si on considère que le r ième élément de la table M 2 44 contient le caractère d'origine de rang r, l'opération précédente a pour effet de placer le rang du caractère d'origine entrant dans le registre R? 54, de permuter le rang de ce caractère Ml 42 contains the original character rank i, and if we consider that the r th element of the table M 2 44 contains the original character of rank r, the preceding operation has the effect of placing the rank of the character of origin entering the register R? 54, to swap the rank of this character
d'origine avec le rang du caractère d'origine de rang immé- of origin with the rank of the original character of immediate rank
diatement inférieur, et de mettre à jour de façon correspon- much lower, and to update accordingly
dante les tables MI 42 et M 2 43.the tables MI 42 and M 2 43.
Le contenu du registre R? 54 (c'est-à-dire le rang r du caractère d'origine entrant) est comparé aux contenus du registre N 4 E 46 et du registre N 8 E 48, et la valeur de CE est changée de la façon suivante Si r est égal à N 4 E ou N 4 E 1, CE est incrémenté Si r est inférieur à N 8 E + 15 et The content of the register R? 54 (i.e. the rank r of the incoming original character) is compared with the contents of register N 4 E 46 and register N 8 E 48, and the value of CE is changed as follows If r is equal to N 4 E or N 4 E 1, CE is incremented If r is less than N 8 E + 15 and
supérieur ou égal à N 8 E 15, CE est décrémenté. greater than or equal to N 8 E 15, CE is decremented.
Sur la base des résultats des comparaisons précé- Based on the results of the previous comparisons
dentes entre les contenus des registres Ri 54, N 4 E 46 et N 8 E 48, les actions suivantes sont effectuées: Si le contenu de R? est inférieur à N 4 E (ce qui indique que le caractère d'origine entrant est compris dans le groupe à coder sous la forme de mots à un seul fragment), RI 54 est incrémenté de 1 et son contenu est transféré dans le registre W 62 (c'està-dire que le caractère d'origine est codé sous la forme d'un mot de code égal à un nombre supérieur d'une unité à son rang; ceci est représenté sur la figure 2, sur laquelle N 4 E 10 et le caractère d'origine de rang O est codé sous la forme du fragment 1, tandis que le caractère between the contents of registers Ri 54, N 4 E 46 and N 8 E 48, the following actions are performed: If the content of R? is less than N 4 E (which indicates that the incoming original character is included in the group to be coded as single fragment words), RI 54 is incremented by 1 and its content is transferred to the register W 62 (i.e. the original character is coded as a code word equal to a number greater than one unit than its rank; this is shown in Figure 2, in which N 4 E 10 and the original character of rank O is coded in the form of fragment 1, while the character
d'origine de rang 1 est codé sous la forme du fragment 2). original rank 1 is coded as fragment 2).
Si le contenu du registre Rl est au moins aussi If the content of the register Rl is at least as
grand que N 4 E mais inférieur à N 8 E (c'est-à-dire que le carac- greater than N 4 E but less than N 8 E (i.e. the characteristic
tère d'origine entrant doit être codé sous la forme d'un mot à deux fragments), la quantité (N 4 E) 15 + 17 + (N 8 E N 4 E 1) est additionnée au contenu du registre Rl 54 et elle est transférée vers le registre W 62 (pour devenir le mot de code à deux fragments potentiel) Si les 4 bits de faible poids du résultat sont égaux à O (c'est-à-dire qu'ils représentent le fragment illégal ( 0000)), la quantité w + 15 (N 4 E) + 15 est calculée et le résultat est transféré 1-6 vers le registre W 62 (pour devenir le mot de code à deux tère of incoming origin must be coded in the form of a word with two fragments), the quantity (N 4 E) 15 + 17 + (N 8 EN 4 E 1) is added to the content of the register Rl 54 and it is transferred to register W 62 (to become the potential two-fragment codeword) If the 4 low-weight bits of the result are equal to O (i.e. they represent the illegal fragment (0000)) , the quantity w + 15 (N 4 E) + 15 is calculated and the result is transferred 1-6 to the register W 62 (to become the code word for two
fragments final).final fragments).
Si le contenu du registre Rl est au moins aussi If the content of the register Rl is at least as
grand que N 8 E (c'est-à-dire que le mot de code aura une lon- greater than N 8 E (i.e. the code word will have a long
gueur de trois fragments), la quantité 3829 est ajoutée au contenu du registre Rl 54 et le résultat est placé dans le registre W 62 Si les 4 bits de faible poids du résultat ne sont pas égaux à O (c'est-à-dire que le troisième fragment n'est pas illégal), le contenu du registre W 62 est divisé par 16 et le résultat est additionné à 3573 + N 8 E Si ce résultat est inférieur à 3856, on lui soustrait la quantité three fragments), the quantity 3829 is added to the content of the register Rl 54 and the result is placed in the register W 62 If the 4 bits of light weight of the result are not equal to O (i.e. the third fragment is not illegal), the content of the register W 62 is divided by 16 and the result is added to 3573 + N 8 E If this result is less than 3856, the quantity is subtracted from it
16 Le résultat est transféré dans le registre W 62. 16 The result is transferred to register W 62.
L'opération de codage précédente a pour effet de charger un, deux ou trois fragments différents de zéro dans le registre W 62 en tant que mot de code, en fonction du rang du mot de source entrant Le fragment zéro n'est pas écrit de façon permanente dans le registre W 62 dans une position de poids plus faible que la position d'un fragment différent de zéro Le mot de code est ensuite émis à partir de l'accès de sortie 18, en commençant par le fragment différent de zéro The effect of the preceding coding operation is to load one, two or three fragments different from zero into the register W 62 as a code word, depending on the rank of the incoming source word. The zero fragment is not written by permanently in the W register 62 in a position of least significant weight as the position of a non-zero fragment The code word is then transmitted from the output port 18, starting with the non-zero fragment
ayant le poids le plus élevé.with the highest weight.
Enfin, si CE a atteint la valeur de seuil supérieu- Finally, if CE has reached the upper threshold value,
re (SUP) ou inférieure (INF), il doit être restauré à la valeur médiane (MED) et N 4 E et N 8 E doivent être changés pour ajuster le nombre de caractères d'origine codés sous la for- me de mots de code à un fragment, à deux fragments et à trois fragments, afin de minimiser la longueur du train codé Ceci re (SUP) or lower (INF), it must be restored to the median value (MED) and N 4 E and N 8 E must be changed to adjust the number of original characters coded in the form of words of one fragment, two fragment and three fragment code to minimize the length of the coded train This
est accompli de la manière suivante. is accomplished in the following manner.
Si CE SUP et si N 8 E est supérieur à 15, CE est If CE SUP and if N 8 E is greater than 15, CE is
restauré à MED, N 4 E est incrémenté de 1 et N 8 E est décré- restored to MED, N 4 E is incremented by 1 and N 8 E is decreased
menté de 15.lied to 15.
Si CE = INF et N 4 E n'est pas égal à zéro, CE est If CE = INF and N 4 E is not zero, CE is
restauré à MED, N 4 E est décrémenté de 1 et N 8 E est incrémen- restored to MED, N 4 E is decremented by 1 and N 8 E is incremented
té de 15.tee of 15.
SUP est le seuil supérieur mentionné précédemment et INF est le seuil inférieur mentionné précédemment SUP est supérieur à MED qui est lui-même supérieur à INF, et ces valeurs définissent la rapidité avec laquelle le codage est changé, lorsque les fréquences d'apparition relatives des caractères dans le train d'origine changent Pour des caractères d'origine à 8 bits, on utilise les valeurs sui- SUP is the upper threshold mentioned previously and INF is the lower threshold mentioned previously SUP is greater than MED which is itself greater than INF, and these values define the speed with which the coding is changed, when the relative frequencies of appearance of the characters in the original train change For 8-bit original characters, use the following values
vantes: SUP = 128, MED, 64 et INF 0. vantes: SUP = 128, MED, 64 and INF 0.
Lorsque CE prend une valeur élevée, N 4 E est aug- When CE takes a high value, N 4 E is increased
menté, ce qui fait que davantage de caractères d'origine sont codés sous la forme de fragments uniques, et c'est mented, so more original characters are encoded as single fragments, and that's
l'inverse qui se produit lorsque CE prend une valeur faible. the opposite occurs when CE takes a low value.
Ceci a pour effet de minimiser la longueur du train de mots de code lorsque la fréquence d'apparition relative des This has the effect of minimizing the length of the codeword train when the relative frequency of appearance of the
caractères d'origine change.original characters change.
A ce point, le codeur 14 attend l'apparition du At this point, the encoder 14 awaits the appearance of the
caractère d'origine suivant, et le processus se répète. next original character, and the process repeats.
Une fois que chaque caractère d'origine a été traité, le codeur 14 contient des tables (Ml et M 2) qui représentent les rangs de fréquence de tous les caractères Once each original character has been processed, the coder 14 contains tables (Ml and M 2) which represent the frequency ranks of all the characters
d'origine possibles, des nombres (N 4 E et N 8 E) qui détermi- possible origins, numbers (N 4 E and N 8 E) which determine
nent les groupes de caractères d'origine qui seront codés the original character groups which will be coded
225 14969225 14969
sous la forme de mots de code à un, deux et trois fragments, un nombre CE qui mesure l'intérêt relatif de changer N 4 E et in the form of one, two and three fragment code words, a CE number which measures the relative interest of changing N 4 E and
N 8 E, et un programme pour coder de façon déterminée le carac- N 8 E, and a program for definite coding of the character
tère d'origine reçu suivant, conformément à son rang et aux valeurs de N 4 E et N 8 E. Structure du décodeur original parent received following, in accordance with its rank and with the values of N 4 E and N 8 E. Structure of the decoder
Comme le montre la figure 4, le décodeur 24 com- As shown in FIG. 4, the decoder 24 comprises
porte un accès d'entrée 22, sur lequel il reçoit un train de mots de code, chacun d'eux comprenant un, deux ou trois fragments à 4 bits, un accès de sortie 26 sur lequel il fournit le train de caractères d'origine décodés, et une unité arithmétique 78 pour effectuer des calculs La table M 3 82 correspond à la table M 2 du codeur, les registres N 4 D 76 et N 8 D 77 correspondent aux registres N 4 E et N 8 E du codeur, le registre CD 80 correspond au registre CE du codeur et le registre S 74 contient une valeur qui indique carries an input port 22, on which it receives a stream of code words, each of them comprising one, two or three 4-bit fragments, an output port 26 on which it supplies the original character stream decoded, and an arithmetic unit 78 for performing calculations The table M 3 82 corresponds to the table M 2 of the coder, the registers N 4 D 76 and N 8 D 77 correspond to the registers N 4 E and N 8 E of the coder, the register CD 80 corresponds to the register CE of the encoder and register S 74 contains a value which indicates
si le fragment traité est le premier, le second ou le troi- if the fragment treated is the first, the second or the third
sième fragment d'un mot de code Les composants du décodeur sth fragment of a code word The components of the decoder
24 sont connectés au bus de données 79, et ils sont comman- 24 are connected to data bus 79, and they are controlled
dés par le dispositif de commande de traitement de données Les composants du décodeur 24 sont réalisés sous la dice by the data processing control device The components of the decoder 24 are produced under the
forme classique d'un microprocesseur et d'une mémoire. classic form of a microprocessor and memory.
Fonctionnement du décodeurDecoder operation
Avant le fonctionnement, la table M 3 est initiali- Before operation, the table M 3 is initialized
sée de façon à être identique à la table M 2 du codeur et les registres N 4 D, N 8 D et CD sont positionnés aux mêmes valeurs que les registres correspondants du codeur Le registre S est positionné initialement à zéro en préparation du traitement du premier fragment du premier mot de code set to be identical to the M 2 table of the coder and the registers N 4 D, N 8 D and CD are positioned at the same values as the corresponding registers of the coder The register S is initially positioned at zero in preparation for the processing of the first fragment of the first code word
entrant.entering.
La description qui suit se réfère aux figures 4, The following description refers to FIGS. 4,
6 A, 6 B, 6 C, et 6 D Lorsqu'un fragment est reçu sur l'accès 6 A, 6 B, 6 C, and 6 D When a fragment is received on the access
22, le dispositif de commande 70 le transfère vers le regis- 22, the control device 70 transfers it to the register
tre R 3 72 et il effectue les actions suivantes, en fonction de la valeur qui est enregistrée dans le registre S 74 La valeur présente dans le registre S indique si le fragment en cours de traitement est un premier fragment, un second tre R 3 72 and it performs the following actions, depending on the value which is recorded in the register S 74 The value present in the register S indicates whether the fragment being processed is a first fragment, a second
fragment ou un troisième fragment d'un mot de code. fragment or a third fragment of a code word.
Si le registre S est à zéro, ce qui indique le pre- If the register S is at zero, which indicates the first
mier fragment dans un mot de code, le contenu du registre R 3 est comparé à la valeur présente dans le registre N 4 D 76 Si le contenu du registre R 3 est inférieur ou égal à N 4 D (c'est-à-dire que le mot de code a une longueur d'un seul fragment), le registre R 3 est décrémenté pour obtenir le rang du caractère d'origine; et dans le cas contraire le contenu du registre R 3 est transféré vers le registre S. Si le contenu du registre S est supérieur à O et inférieur à 16, ce qui indique le second fragment dans un mot de code, le contenu du registre S 74 est multiplié par 16 et le résultat est additionné au contenu de R 3 Si le mier fragment in a code word, the content of the register R 3 is compared with the value present in the register N 4 D 76 If the content of the register R 3 is less than or equal to N 4 D (i.e. that the code word has a length of a single fragment), the register R 3 is decremented to obtain the rank of the original character; and otherwise the content of the register R 3 is transferred to the register S. If the content of the register S is greater than O and less than 16, which indicates the second fragment in a code word, the content of the register S 74 is multiplied by 16 and the result is added to the content of R 3 If the
(N 8 D N 4 D)(N 8 D N 4 D)
contenu de R 3 est inférieur à 16 N 4 D + 17 + 15 la quantité 15 N 4 D + 15 est soustraite de R 3, le résultat est multiplié par 16 et il est ramené dans le registre R 3 Si le contenu de R 3 est inférieur à l 15 N 4 D + 17 + (N 8 D N 4 D) content of R 3 is less than 16 N 4 D + 17 + 15 the quantity 15 N 4 D + 15 is subtracted from R 3, the result is multiplied by 16 and it is brought back into the register R 3 If the content of R 3 is less than l 15 N 4 D + 17 + (N 8 DN 4 D)
(N 8 D -N 4 D) 15 +(N 8 D -N 4 D) 15 +
* N 8 Dl, la quantité l 15 N 4 D + 17 + 1-5 est soustrai-* N 8 Dl, the quantity l 15 N 4 D + 17 + 1-5 is subtracted
te du contenu de R 3 et le registre S est mis à zéro, tandis te of the content of R 3 and the register S is set to zero, while
que dans le cas contraire le contenu du registre R 3 est envo- that otherwise the content of the register R 3 is approx.
yé vers le registre S. Si le contenu du registre S 74 est supérieur ou égal à 16; ce qui indique le troisième fragment d'un mot de code, le contenu de ce registre est multiplié par 16 et le résultat est additionné au contenu de R 3 Si le contenu de R 3 est supérieur à 3840, le nombre 16 lui est additionné, et si la valeur résultante de R 3 est inférieure à yé to register S. If the content of register S 74 is greater than or equal to 16; which indicates the third fragment of a code word, the content of this register is multiplied by 16 and the result is added to the content of R 3 If the content of R 3 is greater than 3840, the number 16 is added to it, and if the resulting value of R 3 is less than
3829 + N 8 D, la quantité 3573 + N 8 D est soustraite du conte- 3829 + N 8 D, the quantity 3573 + N 8 D is subtracted from the count-
nu de R 3, le résultat est multiplié par 16 et ce résultat est enregistré dans le registre R 3 La quantité 3829 est ensuite soustraite du contenu du registre-R 3 et le registre naked of R 3, the result is multiplied by 16 and this result is recorded in the register R 3 The quantity 3829 is then subtracted from the content of the register-R 3 and the register
S est mis à zéro.S is set to zero.
Lorsque ces opérations sont terminées, si la valeur présente dans S est égale à 0, ce qui indique qu'un nouveau When these operations are finished, if the value present in S is equal to 0, which indicates that a new
mot de code va être reçu, la valeur présente dans le regis- code word will be received, the value present in the register
251 4969251 4969
tre CD doit être mise à jour pour la conformer à la valeur du registre CE, afin que le codeur et le décodeur travaillent avec les mêmes codes Ceci est accompli par le dispositif de commande 70 qui effectue les actions suivantes: Le contenu du registre R 3 (qui est le rang du caractère d'origine correspondant au mot de code qui vient d'être décodé) est comparé avec les contenus des registres N 4 D et N 8 D Si R 3 = N 4 D 1 ou R 3 = N 4 D, le registre CD 80 est incrémenté Si le contenu du registre R 3 est supérieur ou égal à N 8 D 15 et inférieur à N 8 D + 15, le registre CD tre CD must be updated to conform to the value of the CE register, so that the coder and the decoder work with the same codes This is accomplished by the control device 70 which performs the following actions: The content of the register R 3 (which is the rank of the original character corresponding to the code word which has just been decoded) is compared with the contents of the registers N 4 D and N 8 D If R 3 = N 4 D 1 or R 3 = N 4 D, the register CD 80 is incremented If the content of the register R 3 is greater than or equal to N 8 D 15 and less than N 8 D + 15, the register CD
est décrémenté.is decremented.
Le dispositif de commande 70 place ensuite, sur l'accès de sortie 26,le contenu de la position R 3 de la table M 3 82 (qui est le caractère d'origine de rang R 3) et, si R 3 est supérieur à zéro (c'est-à-dire si le caractère d'origine The control device 70 then places, on the outlet access 26, the content of the position R 3 of the table M 3 82 (which is the original character of rank R 3) and, if R 3 is greater than zero (i.e. if the original character
n'est pas celui de plus faible rang), les contenus des posi- is not the lowest ranking), the contents of the posi-
tions R 3 et R 3 1 dans la table M 3 sont échangés, ce qui permute effectivement les rangs du caractère d'origine qui R 3 and R 3 1 in table M 3 are exchanged, which effectively swaps the ranks of the original character which
vient d'être traité et du caractère d'origine de rang immé- has just been treated and the original character of immediate rank
diatement inférieur, ce qui fait correspondre la table M 3 à diatly lower, which makes the M 3 table correspond to
la table M 2 44 du codeur 14.table M 2 44 of encoder 14.
Le dispositif de commande 70 compare ensuite la valeur de CD avec des seuils SUP et INF identiques à ceux The controller 70 then compares the value of CD with thresholds SUP and INF identical to those
utilisés par le codeur 14, et il effectue les actions sui- used by encoder 14, and it performs the following actions
vantes: Si CD = SUP et N 8 D est supérieur à 15, CD est vantes: If CD = SUP and N 8 D is greater than 15, CD is
positionné à MED, N 4 D est incrémenté de 1 et N 8 D est décré- positioned at MED, N 4 D is incremented by 1 and N 8 D is decreased
menté de 15.lied to 15.
Si CD = INF et N 4 D est supérieur à 0, CD est posi- If CD = INF and N 4 D is greater than 0, CD is posi-
tionné à MED, N 4 D est décrémenté de 1 et N 8 D est incrémenté tioned at MED, N 4 D is decremented by 1 and N 8 D is incremented
de 15.of 15.
Ces opérations ont pour effet de mettre à jour de façon interne les valeurs CD, N 4 D et N 8 D de façon qu'elles correspondent exactement aux valeurs respectives CE, N 4 E et These operations have the effect of internally updating the values CD, N 4 D and N 8 D so that they correspond exactly to the respective values CE, N 4 E and
N 8 E dans le codeur 14.N 8 E in encoder 14.
Enfin, le caractère d'origine décodé présent sur Finally, the original decoded character present on
1496914969
l'accès de sortie 26 est appliqué à la ligne 28 Le dispositif de commande 70 attend l'apparition du mot de code suivant sur output access 26 is applied to line 28 The control device 70 waits for the appearance of the following code word on
l'accès d'entrée 22, puis le processus se répète. input access 22, then the process repeats.
Le décodeur 24 décode donc chaque mot de code reçu pour donner le caractère d'origine correspondant, en utili- sant le processus inverse de celui du codeur, basé sur les paramètres de décodage N 4 D et N 8 D et sur une liste M 3 de caractères d'origine, ordonnés par rang N 4 D et N 8 D sont changés lorsqu'une valeur CD dépasse des seuils SUP et INF, The decoder 24 therefore decodes each code word received to give the corresponding original character, using the reverse process to that of the coder, based on the decoding parameters N 4 D and N 8 D and on a list M 3 of original characters, ordered by rank N 4 D and N 8 D are changed when a CD value exceeds the SUP and INF thresholds,
programmés à l'avance, qui sont les mêmes que ceux program- programmed in advance, which are the same as those programmed
més dans le codeur 14 CD est mis à jour pour être identique à la valeur CE M 3 est mis à jour pour indiquer les rangs més in the encoder 14 CD is updated to be identical to the value CE M 3 is updated to indicate the ranks
courants des caractères d'origine, par un processus identi- currents of the original characters, by an identi-
que à celui qui est utilisé dans le codeur 14 Aucune infor- than the one used in the encoder 14 No information
mation autre que le train de caractères d'origine ne doit mation other than the original character set must
être transmise du codeur 14 vers le décodeur 24 pour coor- be transmitted from coder 14 to decoder 24 to coordinate
donner leurs activités respectives, du fait que l'informa- give their respective activities, from the fact that information
tion de codage nécessaire est implicitement contenue dans coding required is implicitly contained in
les mots de code eux-mêmes.the code words themselves.
Il va de soi que de nombreuses modifications peu- It goes without saying that many modifications can
vent être apportées au dispositif décrit et représenté, sans sortir du cadre de l'invention Par exemple, les mots de code peuvent comprendre un groupe de mots de code can be made to the device described and shown, without departing from the scope of the invention For example, the code words can comprise a group of code words
constitués par plus de trois fragments Les points de sépa- made up of more than three fragments The points of separation
ration entre les groupes de mots de code sont alors détermi- ration between groups of code words are then determined
nés par plus de deux valeurs de séparation, conformément à l'inégalité de Kraft, et plusieurs de ces valeurs sont alors born by more than two separation values, in accordance with Kraft inequality, and several of these values are then
des variables indépendantes, tandis que les valeurs restan- independent variables, while the remaining values
tes sont déterminées une fois qu'on a fixé ces valeurs indépendantes. your are determined after you set these independent values.
251 4969251 4969
Claims (9)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US31174481A | 1981-10-15 | 1981-10-15 | |
US31187781A | 1981-10-15 | 1981-10-15 |
Publications (2)
Publication Number | Publication Date |
---|---|
FR2514969A1 true FR2514969A1 (en) | 1983-04-22 |
FR2514969B1 FR2514969B1 (en) | 1989-02-03 |
Family
ID=26978045
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR8217314A Expired FR2514969B1 (en) | 1981-10-15 | 1982-10-15 | DEVICE FOR CODING A TRAIN OF CHARACTERS WITH INFORMATION COMPRESSION |
Country Status (4)
Country | Link |
---|---|
AU (4) | AU555476B2 (en) |
DE (1) | DE3238130A1 (en) |
FR (1) | FR2514969B1 (en) |
GB (3) | GB2109204B (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1988010537A1 (en) * | 1987-06-26 | 1988-12-29 | Unisys Corporation | Apparatus and method for real time data compression |
WO1989009516A1 (en) * | 1988-03-31 | 1989-10-05 | Intel Corporation | Apparatus for decoding variable-length encoded data |
WO1989009517A1 (en) * | 1988-03-31 | 1989-10-05 | Intel Corporation | Method and apparatus for statistically encoding digital data |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5371499A (en) * | 1992-02-28 | 1994-12-06 | Intersecting Concepts, Inc. | Data compression using hashing |
GB2321375B (en) * | 1997-01-21 | 2002-02-27 | Fujitsu Ltd | Data encoding method and apparatus and data decoding method and apparatus |
GB2367223B (en) * | 1997-01-21 | 2002-05-15 | Fujitsu Ltd | Data encoding method and apparatus and data decoding method and apparatus |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0047382A2 (en) * | 1980-09-05 | 1982-03-17 | International Business Machines Corporation | Adaptive compression encoding of a binary-source symbol string |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SE406407B (en) * | 1975-11-25 | 1979-02-05 | Hell Rudolf Dr Ing Gmbh | PROCEDURE FOR DIGITAL RUN LENGTH CODING WITH REDUNDANCE REDUCTION FOR TRANSFER OF BINERT CODED IMAGE INFORMATION |
US4168513A (en) * | 1977-09-12 | 1979-09-18 | Xerox Corporation | Regenerative decoding of binary data using minimum redundancy codes |
-
1982
- 1982-10-13 AU AU89328/82A patent/AU555476B2/en not_active Ceased
- 1982-10-14 DE DE19823238130 patent/DE3238130A1/en not_active Ceased
- 1982-10-15 FR FR8217314A patent/FR2514969B1/en not_active Expired
- 1982-10-15 GB GB08229520A patent/GB2109204B/en not_active Expired
-
1985
- 1985-01-30 GB GB08502324A patent/GB2152252B/en not_active Expired
- 1985-01-30 GB GB08502325A patent/GB2152253B/en not_active Expired
-
1986
- 1986-04-28 AU AU56778/86A patent/AU5677886A/en not_active Abandoned
- 1986-04-28 AU AU56779/86A patent/AU575723B2/en not_active Ceased
- 1986-04-28 AU AU56777/86A patent/AU575722B2/en not_active Ceased
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0047382A2 (en) * | 1980-09-05 | 1982-03-17 | International Business Machines Corporation | Adaptive compression encoding of a binary-source symbol string |
Non-Patent Citations (3)
Title |
---|
IEEE TRANSACTIONS ON INFORMATION THEORY, vol. IT-20, no. 2, mars 1974, pages 288-290, New York, US; D.C. VAN VOORHIS: "Constructing codes with bounded codeword lengths" * |
IEEE TRANSACTIONS ON INFORMATION THEORY, vol. IT-24, no. 6, novembre 1978, pages 668-674, IEEE, New York, US; R.G.GALLAGER: "Variations on a theme by Huffman" * |
PROCEEDINGS OF THE FALL JOINT COMPUTER CONFERENCE, Anaheim, California, 5-7 décembre 1972, vol. 14, pages 579-586, A.F.I.P.S. Press, Montvale, N.J., US; W.T.WILNER: "Burroughs B1700 memory utilization" * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5045853A (en) * | 1987-06-17 | 1991-09-03 | Intel Corporation | Method and apparatus for statistically encoding digital data |
WO1988010537A1 (en) * | 1987-06-26 | 1988-12-29 | Unisys Corporation | Apparatus and method for real time data compression |
WO1989009516A1 (en) * | 1988-03-31 | 1989-10-05 | Intel Corporation | Apparatus for decoding variable-length encoded data |
WO1989009517A1 (en) * | 1988-03-31 | 1989-10-05 | Intel Corporation | Method and apparatus for statistically encoding digital data |
US4967196A (en) * | 1988-03-31 | 1990-10-30 | Intel Corporation | Apparatus for decoding variable-length encoded data |
Also Published As
Publication number | Publication date |
---|---|
GB2152252B (en) | 1986-05-21 |
GB2109204B (en) | 1986-05-29 |
AU5677786A (en) | 1986-09-18 |
AU555476B2 (en) | 1986-09-25 |
GB2152253B (en) | 1986-05-21 |
GB2109204A (en) | 1983-05-25 |
GB8502325D0 (en) | 1985-02-27 |
GB2152253A (en) | 1985-07-31 |
AU5677986A (en) | 1986-09-18 |
AU575723B2 (en) | 1988-08-04 |
AU5677886A (en) | 1986-09-18 |
GB8502324D0 (en) | 1985-02-27 |
GB2152252A (en) | 1985-07-31 |
AU8932882A (en) | 1983-04-21 |
DE3238130A1 (en) | 1983-06-23 |
AU575722B2 (en) | 1988-08-04 |
FR2514969B1 (en) | 1989-02-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0484259B1 (en) | Binary coding method with uniform switching rate of the binary elements and incrementation/decrementation method therefor | |
EP0323363B1 (en) | Method of synchronizing, for transmission, on an asynchronous channel, a sequence of pictures coded with a variable-length code, and device for carrying out this method | |
EP0436251B1 (en) | Coder/decoder for digital signals to be transmitted and/or stored | |
US4560976A (en) | Data compression | |
US5032838A (en) | Variable length code parallel decoding apparatus and method | |
FR2515900A1 (en) | METHOD AND APPARATUS FOR ENCODING AND DECODING A BINARY DIGITAL INFORMATION SIGNAL | |
EP0142439B1 (en) | Method of compressing a train of digital information, and apparatus therefor | |
BE1000062A4 (en) | Registration and information reading coded digital choice or unprotected protected by an error correction code. | |
FR2486334A1 (en) | METHOD FOR SCANNING A DISCRETE VIDEO SIGNAL IN TIME WITH USE OF IMAGE TRANSFORMATION | |
FR2599201A1 (en) | CODED PULSE DIFFERENTIAL MODULATION ENCODING DEVICE, ASSOCIATED DECODING DEVICE, AND TRANSMISSION SYSTEM COMPRISING AT LEAST ONE SUCH ENCODING OR DECODING DEVICE | |
JP3302210B2 (en) | Data encoding / decoding method and apparatus | |
FR2514969A1 (en) | DEVICE FOR CODING A TRAIN OF CHARACTERS WITH INFORMATION COMPRESSION | |
FR2475824A1 (en) | HIGH-PRECISION DIGITAL-TO-ANALOG CONVERTER AND METHOD OF REMOVAL OF TRANSIENT SIGNALS APPLIED TO THIS CONVERTER | |
EP0821493A1 (en) | Error correction system in data frames comprising horizontal and vertical parity codes | |
FR2639461A1 (en) | BIDIMENSIONAL ARRANGEMENT OF MEMORY POINTS AND STRUCTURE OF NEURON NETWORKS USING SUCH ARRANGEMENT | |
FR2604004A1 (en) | MANUSCRIPTED WRITING RECOGNITION PROCESS | |
KR100486251B1 (en) | Decoding apparatus for variable length code and method thereof | |
AU2018306486A1 (en) | Digital lensing | |
US4546433A (en) | Arrangement for processing data in a two-dimensional array | |
FR2509888A1 (en) | METHOD AND CIRCUIT FOR THE EXECUTION OF DIRECT AND INVERSE QUANTIFICATION BY VARIATION OF A REFERENCE PROGRESS STEP | |
US4562423A (en) | Data compression | |
FR2571565A1 (en) | METHOD AND DEVICE FOR SELECTING AN ADDRESS BIT IN A PACKET SWITCHING NETWORK | |
JPH03503707A (en) | A system for decoding statistically encoded digital data | |
FR2541836A1 (en) | DATA DECODING APPARATUS AND COMPRESSED DATA PROCESSING DEVICE | |
FR2490899A1 (en) | DECODING APPARATUS FOR CODES REPRESENTED BY A CODE TREE |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ST | Notification of lapse |