Brevet FR2635241A1 — publié le 19900209

DESCRIPTION Dispositif de codage statistique pour fournir des mots de co- de comportant un nombre variable d'éléments binaires' L'invention concerne un dispositif de codage sta- tistique pour fournir des mots de code variables comportant un nombre "n" variable d'éléments binaires (n variant de 1 à N), dispositif muni d'une entrée pour recevoir l'information à co- der sous forme de mots comportant un nombre fixe d'éléments binaires, d'un premier organe de transcodage pour fournir le- dit mot variable sur 'n' sorties parmi N sorties en parallèle, d'un deuxième organe de transcodage pour fournir à sa sortie l'indication de longueur "n'. De tels dispositifs trouvent des applications im- portantes dans les cas o l'on veut réduire le débit d'infor- mation. Par ce codage, on établit une statistique des mots à coder. Les mots qui surviennent le plus souvent sont affectés d'un mot variable de courte longueur et ceux qui surviennent rarement à une grande longueur. Ce mode de codage est particu- lièrement intéressant dans le domaine de la transmission de signaux pour lesquels on sait extraire des grandeurs statisti- ques (exemple: paroles, images, textes) car il permet de ré- duire considérablement le débit sans altérer l'information. Un problème qui survient pour réaliser ces codeurs dans le domaine de la télévision est la vitesse de traite- ment; en effet chaque point doit être codé à une cadence 1/13,5 MHz. Un tel dispositif est décrit dans la demande de brevet allemand n* 3 602 808. Cependant cette demande ne dé- crit pas les moyens essentiels qui permettent d'obtenir une vitesse de traitement élevée. La présente invention propose un dispositif tel que mentionné dans le préambule qui permet avec des circuits sim- ples et courants d'obtenir une vitesse de traitement élevée. Pour cela, un tel dispositif est remarquable est ce qu'il est muni, en outre: - d'un organe d'accumulation pour former une première informa- tion de cumul "modulo Ne et une deuxième information de cu- mul 'modulo 2N', résultat d'opérations effectuées sur "n", - de moyens de permutation circulaires pour fournir un mot permuté représentant le mot de code variable permuté en fonction de la première information de cumul, de moyens d'aiguillage pour transférer sélectivement, en fonction de la deuxième information de cumul, dans un pre- mier et/ou dans un deuxième registre les éléments binaires du mot permuté, - de moyens de détection coopérant avec l'organe d'accumula- tion pour détecter l'état de remplissage de l'un desdits re- gistres pour agir sur les moyens de transfert afin de trans- férer le contenu du registre rempli vers la sortie. La description suivante accompagnée des dessins ci- annexés, le tout donné à titre d'exemple non limitatif fera bien comprendre comment l'invention peut être réalisée. La figure 1 montre.un dispositif de codage conforme à l'invention. La figure 2 montre un mode de réalisation préféren- tiel pour combiner l'organe de permutation avec le premier or- gane de transcodage. La figure 3 montre le détail de réalisation du cir- cuit d'aiguillage et son interconnexion avec le premier et le deuxième registre. La figure 4 montre une succession de mot à coder et le résultat attendu. La figure 5 est un diagramme destiné à faire com- prendre comment le dispositif de codage de l'invention fonc- tionne. Le dispositif de l'invention montré à la figure 1 comporte une entrée 10 pour recevoir un code d'entrée à con- vertir. Ce code se présente sous la forme de m éléments bi- naires en parallèle pour représenter M = 2m mots d'informa- tion, par exemple m = 4 et M = 16. 16 mots d'information Wl à W16 peuvent alors être codés. A chacun de ces mots va corres- pondre un mot de code statistique dont la longueur peut varier d'un nombre minimum à un nombre N maximal par exemple N = 12. Le tableau I ci-dessous donne ces mots dans la colonne 2 en correspondance avec les mots d'entrée portés dans la colonne 1. Ces mots variables apparaissent à la sortie 12 d'un registre de sortie 13 accompagnés d'un signal de validation LL apparaissant à la sortie 14. Le dispositif comporte un premier organe de trans- codage 20 qui, à partir des mots d'entrée fournit les mots va- riables sur certaines de ses douze sorties. Les mots variables débutent toujours sur les premières positions de ces sorties comme l'indique la colonne 3 du tableau I. Sur les autres po- sitions non concernées par le mot statistique on peut avoir indifféremment des 1' ou des O0" ce qui est indiqué par "X à la colonne 3 du tableau I. Un deuxième organe de transcodage 22 dont l'entrée est connectée, tout comme celle de l'organe , à l'entrée 10 fournit un code binaire donnant l'indication de longueur du nombre d'éléments binaires dont est formé le mot variable. 263S5241 TABLEAU I Colonne I Colonne 2 Colonne 3 Colonne 4 Code d'enitrée Code statistique Code statistique Code de (en décimal) (en binaire) sur douze bits longueur à la sortie du (en convertisseur 20 décimal) W8 1 IXXXXXXXXXXX 1 W7 01 01XXXXXXXXXX 2 W9 001 001XXXXXXXXX 3 W6 00010 00010XXXXXXX 5 W10 000110 000110XXXXXX 6 Wl 0001110 0001110XXXXX 7 W5 00011110 00011110XXXX 8 W4 00011111110 00011111110X 11 W12 00011111111 00011111111X 11 W13 000111111011 000111111011 12 W3 000111111010 000111111010 12 W14 000111111001 000111111001 12 W2 000111111000 000111111000 12 W15 000111110111 000111110111 12 Wl 000111110110 000111110110 12 W16 000000111111 000000111111 12 X = 0 ou 1 indifféremment. Conformément à l'invention, le dispositif com- porte: - à la sortie de l'organe de transcodage 22 un organe d'accu- mulation 30 pour former une première information de cumul ACC1, résultat du cumul effectué modulo "N" sur les indica- tions de longueur et une deuxième information représentant un ACC2 cumul effectué modulo '2N' cette fois, - des moyens de permutation circulaires 32 pour fournir un mot permuté représentant le mot de code variable, permuté en fonction de l'information de cumul, - des moyens d'aiguillage 35 pour transférer sélectivement dans un premier ou dans un deuxième registre 41 et 42 les éléments du mot permuté, - des moyens de détection 45 coopérant avec l'organe accumula- teur 30 pour détecter le remplissage du premier ou du deu- xième registre pour agir sur des moyens de transfert 50 qui transfère le registre rempli en direction de la sortie 12 en passant par l'intermédiaire du registre 13. Une horloge 51 fournit un signal H qui fixe le rythme de fonctionnement du dispositif. L'horloge H est l'horloge d'entrée des données dans le système, qui impose la cadence de traitement. La fréquence de sortie des données sur le bus de N bits est in- férieure ou égale à celle de l'horloge H, ce qui fait le principal intérêt du système. Ce signal H agit sur les com- mandes de chargement des registres 52 et 53 qui sont couplés aux sorties des organes 32 et 23. L'organe d'accumulation 30 est formé d'un addition- neur 54 qui additionne l'indication de longueur provenant du deuxième organe de transcodage 22 avec le contenu d'un regis- tre d'accumulation 55 dont l'entrée est reliée à la sortie de l'additionneur 54. Les moyens de détection 45 utilisent le si- gnal MSB représentant l'élément binaire de plus fo.t poids à la sortie de l'additionneur 54. La valeur de MSB détermine la position d'un multiplexeur 50 constituant, en partie, les moyens de transfert. Le transfert entre les registres 41 ou 42 vers le registre de sortie 13 n'est effectif que si le signal LL est élaboré, ce signal agissant sur la commande de charge- ment du registre 13. Pour élaborer ce signal LL on utilise une bascule de type D 58 qui enregistre à chaque front actif du signal H le signal MSB; une porte bOU-EXCLUSIF' 59 dont les entrées sont reliées aux entrée et sortie de cette bascule fournit ce signal LL. Ce signal LL est donc actif à chaque changement de la valeur MSB. L'organe d'accumulation 30 fournit une somme de cumul ACC1 qui est une somme modulo "N" pour l'organe de per- mutation 32 et une somme de cumul ACC2 modulo "2N" pour le circuit d'aiguillage 35 ainsi qu'il l'a été dit. Selon un mode de réalisation préféré les moyens de permutation 32 sont combinés avec l'organe de transcodage 20 de sorte qu'une mémoire morte 60 (voir figure 2) peut être programmée pour effectuer cette combinaison de la manière in- diquée par le tableau II. L'ordre de permutation est donnée par une information ACC1 indiquant une permutation s'échelon- nant de 1 à 12. Le tableau II donne la correspondance du code à la sortie de la mémoire 60 pour deux valeurs du code d'en- trée (5 et 4) et pour des valeurs de PM variant de 1 à M. Il sera alors facile pour l'homme de l'art d'effectuer la pro- grammation de cette mémoire pour toutes valeurs du code d'en- trée. TABLEAU II ACCi Code d'entrée W5 Code d'entrée W4 0 " 00011110XZXX 00011111110X 1 xoooiiiioxxx X00011111110 2 XXOOO11110oXX OX00011111111 3 XXOOO11110X 1X00011111 4 XXXX00011110 110X00011111 OXXXXOO01111 1110X0001111 6 10XXXXOO0111 I110X000111 7 110XXXXOO011 111110X00011 8 1110XXXXOO01 111111OX0001 9 11110XXXXOO0 11111110X000 011110XXXXOO 01111111110XOO 11 0011110XXXXO 001111110XO A la figure 3, on a montré en détail le circuit d'aiguillage et son interconnexion avec les registres 41 et 42. Ce circuit est constitué par une première série de commutateurs à deux entrées 71 à 82 commandés respectivement par des signaux de commande SI à S12 et une deuxième série 83 à 94 commandée par des signaux Si à 512 complémentaires des précédents. Les sorties des commutateurs 71 à 82 sontconnec- tées respectivement aux entrées-parallèle du registre 41. Celles des commutateurs 83 à 94, aux entrées-parallèle du re- gistre 42. Les premières entrées des commutateurs 71 à 82 sont reliées respectivement aux sorties-parallèle du registre 41, et les premières entrées des commutateus 83 à 94 aux sorties du registre 42. Les secondes entrées des commutateurs 71 à 94 sont reliées aux sorties de la mémoire morte 60. Les signaux S1 à 512 et les signaux SI à S12 dé- rivés des précédents par inversion logique sont engendrés par un circuit de transcodage 100 qui peut être programmé aisément en fonction du tableau III suivant o la valeur *1" pour les signaux SI à 512 signifie que la seconde entrée est en rela- tion avec la sortie de 60 et que la valeur *0" signifie, par suite du rebouclage de la sortie sur l'entrée, que la valeur de l'élément binaire ne change pas. TABLEAU III ACC2 Sl52 S3 5S4 S5 S6 S7 S8S9S1O Sll S12 (en décimal) O 0 0 0 0 0 0 0 00 0 0 0 I 0 0 0 0 0 0 0 0 0 0 0 1 2 0 0 0 0 0 0 0 0 0 0 1 1 3 0 0 0 0 0 0 0 0 1 1 1 4 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 6 0 0 0 0 0 0 1 1 1 1 1 7 0 0 0 0 0 1111 1 1 I 1 8 0 0 0 0111 1 1 I 1 1 9 0 0 0 1 1 1 1 1 1 1 1 1 00 1 1 1 1 1 1 1 1 1 1 11 0 1 1 1 1 1 1 1 1 1 1 1 12 1 1 1 1 111 1 1 1 13 111 1 11 1 1 1 1 1 0 14 1 11 1 1 1 0 0 1 1 1 1 1 1 1 1 1 0 0 0 16 1 1 1 1 1 1 1 1 0 0 0 0 17 1 1 1 1 1 0 0 0 0 0 18 1 1 1 1 1 1 0 0 0 0 0 0 19 1 11 1 0 0 0 0 0 0 0 1 1 11 0 0 0 0 0 0 0 0 21 1 1 1 0 0 0 0 0 0 0 0 0 22 1 1 0 0 0 0 0 0 0 0 0 0 23 1 0 0 0 0 0 0 0 0 0 0 0 Le dispositif de codage de l'invention fonctionne de la manière suivante. Soient les mots W9, W5, W4, W7, W7,... à coder successivement. La figure 4 montre, en correspondance avec ces mots la succession des éléments binaires qu'ils impliquent. On admet que le mot W9 apparaît après le codage effectué par la mémoire 60 à l'instant to dans le registre 52, et l'on admet aussi qu'à cet instant les sommes de cumul ACC1 et ACC2 sont égales à '0". Conformément aux tableaux II et III le code statistique n'est pas permuté et tout le contenu du registre 52 est transféré dans le registre 42. A l'instant tl un nouveau code apparaît dans le registre-52 le code est per- muté par la valeur 33" correspondant à la longueur du code précédent. De ce fait les commutateurs 80, 81 et 82 autorise le transfert des trois premières positions du registre 52 dans les trois premières position du registre 41. Les neuf der- nières positions du registre 52 sont transférées dans les neuf dernières positions du registre 42. A l'instant t2, ACC1 et ACC2 prennent les valeurs 11, ce qui entraine une permutation de 11 fois du mot variable correspondant au mot W4 et du transfert des onze dernières positions du registre 52 dans le registre 41 et de la première position dans la première posi- tion du registre 42. A l'instant t3 le signal MSB a changé de valeur de sorte que les valeurs ACC1 et ACC2 vont différer mais le si- gnal LL devient actif de sorte que le contenu du registre 42 va être transféré dans le registre de sortie 13..A l'instant t4 on aura aussi un changement de-valeur de MSB qui produit aussi un signal actif de LL. REVENDICATION 1. Dispositif de codage statistique pour fournir des mots de code variables comportant un nombre n variable d'éléments-binaires (n variant de 1 à N), dispositif muni d'une entrée pour recevoir l'information à coder sous forme de' mots fixes comportant un nombre d'éléments binaires, d'un pre- mier organe de transcodage pour fournir ledit mot variable sur n sorties parmi n sorties en parallèle, d'un deuxième organe de transcodage pour fournir à sa sortie l'indication de lon- gueur 'n', caractérisé en ce qu'il est muni, en outre: - d'un organe d'accumulation, pour former une première infor- mation de cumul 'modulo N' et une deuxième information de cumul 'modulo 2N', résultat d'opérations effectuées sur n', - de moyens de permutation circulaire pour fournir un mot per- muté représentant le mot de code variable permuté en fonc- tion de la première information de cumul, - de moyens d'aiguillage pour transférer sélectivement, en fonction de la deuxième information de cumul, dari un pre- mier et/ou dans un deuxième registre les éléments binaires du mot permuté, - des moyens de détection coopérant avec l'organe d'accumula- tion pour détecter l'état de remplissage de l'un desdits re- gistres pour agir sur les moyens de transfert afin de trans- férer le contenu du registre rempli vers la sortie.