FR2514969A1 - DEVICE FOR CODING A TRAIN OF CHARACTERS WITH INFORMATION COMPRESSION - Google Patents

DEVICE FOR CODING A TRAIN OF CHARACTERS WITH INFORMATION COMPRESSION Download PDF

Info

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
Application number
FR8217314A
Other languages
French (fr)
Other versions
FR2514969B1 (en
Inventor
Pierre A Humblet
Steven G Finn
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.)
Motorola Solutions Inc
Original Assignee
Codex 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 Codex Corp filed Critical Codex Corp
Publication of FR2514969A1 publication Critical patent/FR2514969A1/en
Application granted granted Critical
Publication of FR2514969B1 publication Critical patent/FR2514969B1/en
Expired 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

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)

REVENDICATIONS 1 Dispositif destiné à coder un train de carac-  1 Device intended to code a character train tè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 est susceptible de varier dans le temps, chacun des mots de code appartenant à un groupe parmi plusieurs groupes de mots de code, et  original tres in a codeword train, each of the original characters having a frequency of occurrence in the original character train which is likely to vary over time, each of the codewords belonging to a group among several groups of code words, and les mots de code des groupes respectifs comprenant des nom-  the code words of the respective groups including names- bres respectifs différents de sous-mots; caractérisé en ce qu'il comprend: un codeur ( 14) destiné à coder chacun des caractères d'origine sous la forme de l'un des mots de code,  respective bres different from sub-words; characterized in that it comprises: an encoder (14) intended to encode each of the original characters in the form of one of the code words, les caractères d'origine qui apparaissent le plus fréquem-  the original characters that appear most frequently ment é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 nombres les nombres de mots de code appartenant respectivement à moins que la totalité des  ment being coded in the form of code words having less than sub-words; and a group size selector for replacing the numbers of code words belonging to respectively less than all of the numbers with new numbers. groupes, et à recalculer les nombres de mots de code appar-  groups, and to recalculate the numbers of code words tenant aux autres groupes, sur la base des nouveaux nombres, grâce à quoi une partie au moins du train de mots de code  relating to the other groups, on the basis of the new numbers, whereby at least part of the codeword train est raccourcie.is shortened. 2 Dispositif destiné à coder un train de carac-  2 Device intended to code a character train tères d'origine en un train de mots de code, chacun des  original parents in a string of code words, each of caractères d'origine provenant d'un alphabet d'origine, cha-  original characters from an original alphabet, each cun des caractères d'origine dans l'alphabet d'origine ayant une fréquence d'apparition dans le train de caractères  any of the original characters in the original alphabet having a frequency of occurrence in the character string d'origine qui est susceptible de varier dans le temps, cha-  origin which is likely to vary over time, each cun des mots de code appartenant à un groupe parmi plusieurs groupes de mots de code, et les mots de code qui se trouvent dans ces groupes comprenant des nombres respectifs différents de sous-mots; caractérisé en ce qu'il comprend: un codeur ( 14) destiné à coder chacun des caractères d'origine pour  one of the code words belonging to a group from among several groups of code words, and the code words which are in these groups comprising respective different numbers of subwords; characterized in that it comprises: an encoder (14) intended to encode each of the original characters for donner l'un des mots de code, les caractères d'origine appa-  give one of the code words, the original characters appear raissant le plus fréquemment étant codés sous la forme de mots de code ayant moins de sous-mots; un dispositif de contrôle destiné à compter le nombre d'apparitions, dans le train de caractères d'origine, de chaque caractère d'origine  occurring most frequently being coded in the form of code words having fewer subwords; a control device intended to count the number of appearances, in the original character string, of each original character dans un ensemble comprenant moins que la totalité des carac-  in a set comprising less than the totality of the tères d'origine; et un sélecteur de taille de-groupe qui fonctionne sous la dépendance du dispositif de contrôle de  original mothers; and a group-size selector which operates under the control of the façon à changer les nombres de mot de code appartenant res-  way to change the numbers of code word belonging res- pectivement aux groupes, grâce à quoi une partie au moins  pectively to groups, thanks to which a part at least du train de mots de code est raccourcie.  of the codeword train is shortened. 3 Dispositif destiné à coder un train de caractè-  3 Device intended to code a character train res d'origine en un train de mots de code, chacun des carac-  original res in a string of code words, each of the characters tères d'origine ayant une fréquence d'apparition dans le train de caractères d'origine qui est susceptible de varier  original parents with a frequency of occurrence in the original typeface which is likely to vary dans le temps, chacun des mots de code appartenant à un pre-  in time, each of the code words belonging to a pre- mier, un second ou un troisième groupe de mots de code, et les mots de code dans les premier, second et troisième  mier, a second or a third group of code words, and the code words in the first, second and third groupes comprenant respectivement un, deux et trois sous-  groups comprising one, two and three sub- mots, caractérisé en ce qu'il comprend: un codeur ( 14) des-  words, characterized in that it comprises: an encoder (14) for tiné à coder un premier ensemble de 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 de caractères d'origine sous la forme de mots de  intended to encode a first set of 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 characters original in the form of words from code appartenant au troisième groupe, les caractères d'ori-  code belonging to the third group, the original characters gine qui apparaissent 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é à changer le nombre de mots de code appartenant respectivement auxpremier,  gine which appear most frequently being coded in the form of code words having fewer subwords; and a group size selector intended to change the number of code words belonging respectively to the former, second et troisième groupes, sous la dépendance de varia-  second and third groups, dependent on varia- tions de la fréquence d'apparition, grâce à quoi une partie  frequency of occurrence, whereby part au moins du train de mots de code est raccourcie.  at least the codeword train is shortened. ou 3, 4 Dispositif selon la revendication 2 caractérisé en ce que le sélecteur de taille de groupe est connecté de façon à remplacer par un nouveau nombre le nombre de mots de  or 3, 4 Device according to claim 2 characterized in that the group size selector is connected so as to replace with a new number the number of words of code appartenant à l'un des groupes, et à recalculer les nom-  code belonging to one of the groups, and to recalculate the names- bres de mots de code appartenant aux autres groupes, en pro-  code words belonging to other groups, in pro- cédant directement à partir du-nouveau nombre.  yielding directly from the new number. Dispositif destiné à coder un train de caractè-  Device for coding a character train res d'origine en un train de mots de code, chacun des carac-  original res in a string of code words, each of the characters tères d'origine provenant d'un alphabet d'origine, chacun des caractères d'origine dans l'alphabet d'origine ayant une fréquence d'apparition dans le train de caractères d'origine qui est susceptible de varier dans le temps, chacun des mots de code appartenant à un premier, un second ou un troisième  original terms from an original alphabet, each of the original characters in the original alphabet having a frequency of occurrence in the original character string which is likely to vary over time, each code words belonging to a first, a second or a third groupe de mots de code, et les mots de code dans ces grou-  group of code words, and the code words in these groups pes comprenant respectivement un, deux ou trois sous-mots  pes comprising one, two or three subwords respectively de même longueur, chacun des sous-mots provenant d'un alpha-  of the same length, each of the subwords coming from an alpha- bet de sous-mots; caractérisé en ce qu'il comprend: un  subword bet; characterized in that it comprises: a dispositif de détermination de rang de fréquence d'appari-  matching frequency rank determination device tion, destiné à affecter à chacun des caractères d'origine un rang qui correspond à sa fréquence d'apparition relative estimée courante dans le train de caractères d'origine; un codeur ( 14) destiné à coder sous la forme d'un mot de code ayant un sous-mot, conformément à un code qui peut être sélectionné, chacun des caractères d'origine ayant un rang  tion, intended to assign to each of the original characters a rank which corresponds to its frequency of relative appearance estimated current in the train of original characters; an encoder (14) for encoding in the form of a code word having a subword, in accordance with a selectable code, each of the original characters having a rank qui ne dépasse pas un premier nombre qui peut être sélec-  which does not exceed a first number which can be selected tionné, à 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, ce second nombre étant fixé par la valeur du premier nombre; un dispositif de contrôle destiné à compter le nombre d'apparitions, dans le train de caractères d'origine, de chaque caractère d'origine dans un ensemble comprenant moins que la totalité des caractères d'origine; et un sélecteur qui fonctionne sous la dépendance du dispositif de contrôle en mettant à jour le premier nombre pour lui donner une nouvelle valeur, lorsque cette nouvelle valeur raccourcit une partie au moins du train de mots de code, et en recalculant le second nombre à partir du premier nombre. 6 Dispositif selon la revendication 5, caractérisé en ce que ledit ensemble comprend 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  tioned, to code 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 code in the form of a word code having three subwords each of the original characters having a rank greater than the second number, this second number being fixed by the value of the first number; a control device for counting the number of appearances, in the original character string, of each original character in a set comprising less than all of the original characters; and a selector which operates under the control of the control device by updating the first number to give it a new value, when this new value shortens at least part of the train of code words, and by recalculating the second number from of the first number. 6 Device according to claim 5, characterized in that said set includes the original characters for which the number of subwords in the associated code words would be changed by changes in the first number et du second nombre.and the second number. 7 Dispositif selon la revendication 6, caractérisé en ce que ledit ensemble comprend 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  7 Device according to claim 6, characterized in that said set includes the original characters having ranks equal to the first number, to the first number decreased by one, and to each number between the second number minus the number of sub -words in the alphabet de sous-mots, et le second nombre plus le nombre de sous-  of subwords, and the second number plus the number of sub- mots dans l'alphabet de sous-mots, diminué d'une unit".  words in the alphabet of subwords, minus one ". 6 ou 7, 8 Dispositif selon la revendication 5, caractérisé en ce que le dispositif de contrôle comprend un compteur ( 64) destiné à compter à partir d'une valeur médiane, en sens croissant à chaque apparition des caractères d'origine ayant des rangs égaux au premier nombre et au premier nombre  6 or 7, 8 Device according to claim 5, characterized in that the control device comprises a counter (64) intended to count from a median value, in ascending direction at each appearance of the original characters having ranks equal to the first number and the first number diminué d'une unité, et en sens décroissant à chaque appari-  decreased by one, and decreasing with each pairing tion des caractères d'origine ayant des rangs égaux à chaque nombre compris 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 unité; et en ce que le sélecteur comprend un additionneur destiné à augmenter le premier nombre d'une unité lorsque le compteur atteint une valeur supérieure et à diminuer le premier nombre d'une unité lorsque le compteur  tion of the original characters having ranks equal to each number between the second number minus the number of subwords in the alphabet of subwords, and the second number plus the number of subwords in the alphabet of subwords, decreased by one; and in that the selector comprises an adder intended to increase the first number by one unit when the counter reaches a higher value and to decrease the first number by one unit when the counter atteint une valeur inférieure.reaches a lower value. 9 Dispositif selon la revendication 5, caractérisé en ce que le code qui peut être sélectionné est changé  9 Device according to claim 5, characterized in that the code which can be selected is changed lorsque le premier nombre est mis à jour et prend une nouvel-  when the first number is updated and takes a new- le valeur.the value. 231 'une quelconque des reven-231 'any of the res- Dispositif selon" dications 5 à 9, caractérisé en ce qu'il comprend en outre un décodeur ( 24) destiné à décoder le train de mots de code pour donner le train de caractères d'origine, ce décodeur comprenant un dispositif de détermination de fréquence d'apparition de décodeur, destiné à déterminer pour chacun des caractères d'origine dans l'alphabet d'origine, le rang qui correspond à sa fréquence d'apparition relative estimée courante; et en ce que le décodeur ( 24) détermine directement à partir des mots de code présents dans le train de mots de code quel est celui des codes pouvant être sélectionnés qui a été utilisé pour  Device according to "indications 5 to 9, characterized in that it further comprises a decoder (24) intended to decode the train of code words to give the original character train, this decoder comprising a device for determining the frequency of appearance of decoder, intended to determine for each of the original characters in the alphabet of origin, the rank which corresponds to its frequency of relative appearance estimated current; and in that the decoder (24) directly determines from the code words present in the code word train which of the selectable codes was used for le codage.coding. 11 Dispositif destiné à coder un train de carac-  11 Device intended to code a character train tè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, caractérisé en ce qu'il comprend: une mémoire de rang  original tres in a train of code words, each of the original characters having a frequency of appearance in the original character train which varies over time, characterized in that it comprises: a rank memory (Ml) destinée à enregistrer le rang correspondant à la fré-  (Ml) intended to record the rank corresponding to the fre- 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 rang destiné à permuter le rang de chaque caractère d'origine qui apparaît dans le train de caractères d'origine avec le rang du caractère d'origine de rang immédiatement inférieur, à moins que le caractère d'origine qui apparaît dans le train ait le plus  current estimated relative occurrence of each original character in the original character string and a rank update device for swapping the rank of each original character that appears in the original character string origin with the rank of the original character of rank immediately below, unless the original character which appears in the train has the most faible rang possible.low rank possible. 12 Dispositif destiné à coder un train de carac-  12 Device intended to code a character train tères d'origine en un train de mots de code, chacun des caractères d'origine provenant d'un alphabet d'origine, chacun des caractères d'origine dans l'alphabet d'origine  original terms in a string of code words, each of the original characters from an original alphabet, each of the original characters in the original alphabet ayant une fréquence d'apparition dans le train de caractè-  having a frequency of appearance in the character train res d'origine qui varie dans le temps, ces caractères d'ori-  original res which varies over time, these original characters gine étant ordonnés en fonction de leur fréquence d'appari-  gine being ordered according to their frequency of pairing tion relative courante, chacun des mots de code appartenant à un premier, un second ou un troisième groupe de ces mots  current relative tion, each of the code words belonging to a first, a second or a third group of these words de code, et les mots de code dans ces groupes comprenant res-  code, and the code words in those groups including res- pectivement un, deux ou trois sous-mots de même longueur, chacun des sousmots appartenant à un alphabet de sous-mots, caractérisé en ce qu'il comprend: un codeur ( 14) destiné à  pectively one, two or three subwords of the same length, each of the subwords belonging to a subword alphabet, characterized in that it comprises: an encoder (14) intended for coder sous la forme d'un mot de code ayant un sous-mot cha-  code in the form of a code word with a subword cha- cun des caractères d'origine ayant un rang qui ne dépasse pas un premier nombre qu'on peut sélectionner, à coder sous la forme d'un mot de code ayant deux sous-mots chacun des  cun of the original characters having a rank which does not exceed a first number which can be selected, to be coded in the form of a code word having two subwords each of caractères d'origine ayant un rang supérieur au premier nom-  original characters having a rank higher than the first name- bre et ne dépassant pas un second nombre, et à coder sous la forme d'un mot de code ayant trois sous-mots chacun des  bre 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, ce second nombre étant fixé par la valeur du premier nombre; un modificateur de codage pour les mots de code à 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 mot de code ayant trois sous-mots et dont le dernier sous-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 donner un mot  bre, this second number being fixed by the value of the first number; a coding modifier for code 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 code word; and a coding modifier for code words with three subwords, intended to divide by 16 any code word having three subwords and whose last subword is zero, to 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, to give a word de code révisé.of revised code.
FR8217314A 1981-10-15 1982-10-15 DEVICE FOR CODING A TRAIN OF CHARACTERS WITH INFORMATION COMPRESSION Expired FR2514969B1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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