Brevet FR2657738A1 — publié le 19910802

"DISPOSITIF DE CODAGE A LONGUEUR VARIABLE DE SIGNAUX NUMERIQUES" La présente invention concerne un dispositif de codage à longueur variable de signaux numériques répartis dans N voies en parallèle, comprenant dans chaque voie successivement des moyens de quantification, des moyens de codage à longueur variable et des moyens de régulation de débit incluant des mémoires-tampons. Un dispositif de ce type est décrit par exemple dans le document "A flexible architecture for a HDTV codec based on DCT", de M.Barbero, S.Cucchi et J.L. Hernando-Bailon, volume III des "Proceedings of the Third International Workshop on HDTV", Turin (Italie), 30 août-ier septembre 1989. Ce document décrit un système de codage destiné à permettre une réduction de débit des informations à transmettre et dans lequel sont prévues N voies de codage à longueur variable en parallèle, précédées d'un démultiplexeur des signaux d'entrée et suivies d'un multiplexeur prévu pour délivrer les signaux de sortie du dispositif. Avant de préciser les possibilités et les limites d'un tel dispositif, il est utile d'effectuer quelques rappels relatifs aux opérations de codage dans une chaîne de transmission de signaux numériques à débit fixe après codage à longueur variable. Le brevet des Etats-Unis d'Amérique n04 394 774 décrit un exemple de réalisation de dispositif de codage à longueur variable permettant ensuite une telle transmission. Il apparaît, notamment sur la figure 2 de ce brevet, que le dispositif décrit comprend successivement un circuit de transformation cosinus discrète, un circuit de normalisation, un circuit de quantification, un circuit à codage variable, et un circuit de régulation de débit délivrant d'une part des signaux de régulation renvoyés vers le circuit de quantification et d'autre part les signaux de sortie, à débit fixe, du dispositif de codage.Par souci de simplification de la description d'un tel dispositif, on convient d'englober dans une même appellation de "circuit de quantification" le sousensemble qui exécute les fonctions de transformation cosinus, de normalisation et de quantification, et c'est cette description simplifiée que l'on retiendra ci-après. Dans un dispositif de codage ainsi constitué, les signaux à transmettre dans le canal de transmission traversent donc d'abord le circuit de quantification. La sortie de ce circuit est codée dans le circuit de codage à longueur variable, et le résultat de ce codage est envoyé dans la mémoire-tampon du circuit de régulation de débit. En sortie de celui-ci, le canal de transmission extrait à fréquence fixe les signaux numériques stockés dans ladite mémoire-tampon. En même temps, le pas de quantification est commandé par l'état de remplissage de cette mémoire-tampon de façon que celle-ci ne soit jamais ni totalement pleine ni totalement vide : le pas est augmenté quand elle risque d'être trop pleine, et au contraire réduit quand elle se vide trop.Pour que cette opération de régulation puisse se dérouler correctement, il faut bien entendu que la mémoire-tampon ait au moins une valeur donnée de capacité de mémorisation, qu'on appellera par la suite C, ou capacité minimale de stockage. Le fonctionnement d'un tel dispositif de codage ne pose pas de problème, sauf lorsque la technologie de réalisation dont on dispose est limitée en fréquence et que la fréquence voulue est supérieure à cette limite. D'une manière générale, ce problème est actuellement résolu de la façon suivante. Lorsqu'il y a un rapport N entre la fréquence théorique maximale voulue pour le dispositif et la fréquence maximale réelle que l'on peut mettre en oeuvre technologiquement, la solution technique apportée consiste à démultiplexer les signaux d'entrée et les diriger vers N voies en parallèle. Ces N voies sont identiques et indépendantes, et fonctionnent chacune comme le dispositif de codage décrit cidessus, mais cette fois avec une fréquence de fonctionnement compatible avec la technologie. C'est une telle structure à N voies en parallèle qui est décrite dans le premier document cité. On appelle Fmax la fréquence maximale réellement utilisable, dans chacune des N voies, pour faire fonctionner une telle structure, NFmax = FMAX la fréquence maximale voulue pour le dispositif de codage, et NC la capacité minimale de stockage qui serait indispensable, pour la mémoiretampon du circuit de régulation de débit, dans le cas d'une structure classique en série devant fonctionner à la fréquence FMAX. Dans le cas d'une structure à N voies en parallèle, la capacité minimale de stockage de la mémoire-tampon prévue dans chacune des N voies peut théoriquement être ramenée à NC/N = C puisque la fréquence de fonctionnement, Fmax, est N fois plus faible. En pratique, il n'est malheureusement pas possible d'adopter une telle valeur, car on constate qu'on ne peut pas effectuer avec N mémoires-tampon de capacité C une régulation de débit équivalente à celle que permet une mémoire-tampon unique de capacité NC. On observe en effet qu'après démultiplexage et codage à longueur variable dans chacune des N voies, les informations ainsi codées peuvent être très inégalement réparties entre ces voies et, par conséquent, entre les N mémoires-tampons. A la limite, la totalité des informations codées pourrait être concentrée sur une seule voie, les autres vgies et leurs mémoires-tampons n'étant alors plus d'aucune utilité. Cela implique que, pour réaliser effectivement la fonction de régulation de débit, chacune des N mémoires-tampons doit avoir une capacité minimale de stockage égale à NC, et non C comme on aurait pu le croire.Il en résulte que la mémoire-tampon équivalente du dispositif de codage a une capacité de stockage égale à N x N x C = N2C, c'est-à-dire que cette capacité doit être N fois plus grande que dans le cas d'une structure série équivalente où la valeur de la capacité de stockage est NC. Le but de l'invention est de remédier à cet inconvénient en proposant un dispositif de codage qui permette d'obtenir de façon simple, pour une structure à N voies en parallèle de codage à longueur variable, une capacité minimale de stockage voisine de celle de la structure série équivalente. A cet effet, l'invention concerne un dispositif de codage caractérisé en ce qu il comprend également, entre lesdits moyens de codage à longueur variable et lesdits moyens de régulation de débit, des moyens d'aiguillage prévus pour envoyer, après un classement des signaux codés selon leurs longueurs croissantes ou décroissantes et un classement des mémoires-tampons selon leurs états de remplissage décroissant ou croissant, les signaux codés vers des mémoires-tampons d'autant moins remplies que lesdits signaux codés sont plus longs. Dans un mode particulier de réalisation, dans lequel le dispositif de codage comprend successivement un circuit de démultiplexage de la séquence des signaux d'entrée en N sous-séquences présentes sur N sorties en parallèle dudit circuit, N voies en parallèle pour le codage à longueur variable desdites N sous-séquences respectivement, et un circuit de multiplexage des N sous-séquences de signaux ainsi codés présentes en sorties desdites N voies, lesdites voies comprenant elles-mêmes chacune un circuit de quantification des sigraux d'entrée de la voie, un circuit de codage à longueur variable des signaux ainsi quantifiés, et un circuit de régulation de débit associant à une mémoire-tampon une connexion de rétroaction reliant ladite mémoire et le circuit de quantification, ce dispositif comprend également (A) en sortie du sous-ensemble de codage constitué par les N circuits de codage à longueur variable, un circuit de classement des signaux codés en fonction de leur longueur (B) en sortie du sous-ensemble de régulation de débit constitué par les N circuits de régulation de débit, un circuit de classement des mémoires-tampons selon leur état de remplissage (C) entre ledit sous-ensemble de codage et ledit sous-ensemble de régulation de débit, un circuit d'aiguillage prévu pour envoyer, en réponse à un circuit de commande,le signal codé correspondant à la longueur de signal codé la plus faible à l'entrée de mémoire correspondant à la mémoire-tampon la plus remplie, le signal codé correspondant à la longueur de signal codé la plus grande à l'entrée de mémoire correspondant à la mémoire-tampon la moins remplie, et, de même, chacun des signaux codés correspondant à des longueurs de signal codé de plus en plus grandes à respectivement chacune des entrées de mémoire correspondant à des mémoires-tampons de moins en moins remplies (D) en sortie du sous-ensemble de codage, entre celui-ci et ledit circuit d'aiguillage, un sous-ensemble de retardement comprenant un circuit à retard par voie et destiné à assurer le synchronisme des signaux codés avec les commandes d'aiguillage qui leur correspondent. Avec cette réalisation, il est alors possible et avantageux de ne prévoir qu'une seule connexion de rétroaction, reliant l'une quelconque des mémoires-tampons à chacun des circuits de quantification. Les particularités et avantages de l'invention ainsi proposée apparaîtront de façon plus détaillée dans la description qui suit ainsi que dans les dessins annexés, donnés à titre d'exemples non limitatifs et dans lesquels - la figure I montre un exemple particulier de réalisation d'un dispositif de codage selon l'invention - la figure 2a montre un extrait de la séquence continue des signaux se présentant à l'entrée du dispositif de codage, sous la forme de blocs (numérotés ici à partir de 1) séparés à intervalles réguliers par des mots spéciaux M, la figure 2b montre les N séquences de blocs correspondantes, à fréquence N fois plus faible, à l'entrée des N voies en parallèle du dispositif de codage, et la figure 2c montre, en correspondance aux N séquences de blocs de longueur déterminée de la figure 2b, un exemple de N séquences correspondantes de signaux codés à longueur variable - la figure 3 montre un exemple particulier de réalisation des circuits essentiels du dispositif de codage selon l'invention, dans le cas de quatre voies en parallèle, c'est-à-dire pour N = 4 - la figure 4 montre un exemple de réalisation de la commande de position d'un interrupteur quelconque Sx dans ce cas de quatre voies en parallèle. Le dispositif de codage représenté sur la figure 1 dans un exemple particulier de réalisation comprend, dans le cas de cet exemple, les éléments suivants. Un circuit de démultiplexage 10 reçoit tout d'abord les signaux d'entrée du dispositif de codage. Ces signaux d'entrée qui, à l'origine, se présentent sous la forme d'un flot continu de bits sont préalablement séparés à intervalles réguliers par des mots spéciaux découpant ce flot en blocs de longueur fixe. Dans le cas du codage de signaux de télévision, on découpe la séquence continue des signaux par exemple en blocs de huit lignes d'image consécutives. Ces blocs se succèdent donc à l'entrée du circuit de démultiplexage 10 à une fréquence notée Fm à laquelle correspond une période TB. En sortie du circuit 10, ces mêmes blocs apparaissent démultiplexés sur N voies A à N-distinctes, à la fréquence Fm/N, avec une période NTB.La figure 2a montre la séquence continue des blocs 1 2,..., N, N*1, N+2,..., 2N, 2nit1, 2 & 2,..., 3N, 3ni,..., etc..., séparés à intervalles réguliers par les mots spéciaux M, et la figure 2b montre les N séquences correspondantes à fréquence N fois plus faible présentées à l'entrée des N voies en parallèle. Ces N voies en parallèle, référencées A à N, comprennent chacune un circuit de quantification, 20A à 20N respectivement, le regroupement de ces N circuits constituant un sous-ensemble de quantification 20 (qui exécute comme indiqué plus haut, mais ici dans chaque voie, les fonctions traditionnelles de transformation cosinus, de normalisation et de quantification). Chaque circuit de quantification 20A à 20N reçoit respectivement l'une des N séquences disponibles à l'entrée des N voies et représentées sur la figure 2b : le circuit de quantification 20A reçoit par exemple la séquence constituée des signaux de rang 1, N+l, 2N+1, 3N+1,..., etc..., et qui est présente à l'entrée de la première voie, le circuit 20B reçoit la séquence des signaux 2, N+2, 2N+2, 3N+2, etc..., présente à l'entrée de la deuxième voie, et ainsi de suite. Dans chaque voie, le circuit de quantification est suivi d'un circuit de codage à longueur variable, 30A à 30N respectivement, le regroupement de ces N circuits constituant un sous-ensemble 30 de codage à longueur variable. Chaque circuit 30A à 30N reçoit les signaux quantifiés délivrés par le circuit de quantification respectivement associé et délivre des mots codés à longueur variable correspondant à chaque bloc de longueur fixe. La figure 2c montre, en correspondance aux N séquences de blocs de longueur déterminée et fixe de la figure 2b, un exemple de N séquences correspondantes de signaux codés à longueur variable. Chaque sortie des circuits de codage à longueur variable 30A à 30N est alors envoyée (a) d'une part sur une entrée respective d'un circuit 40 de classement des signaux codés selon leur longueur, par exemple selon les longueurs croissantes. A ces N entrées notées 41A à 41N du circuit 40 correspondent N sorties 42A à 42N indiquant respectivement le rang de chaque voie tel qu'il ressort du classement ici effectué. (b) d'autre part sur une entrée respective d'un sous-ensemble de retardement 50 constitué de N lignes à retard 50A à SON. Le retard de ces lignes est tel que le classement effectué par le circuit 40 est établi avant que les signaux codés en provenance du sous-ensemble de codage à longueur va riable 30 n'apparaissent en sortie desdites lignes à retard. De façon sensiblement simultanée avec le classement opéré par le circuit 40, un circuit 60 de classement de voies opère un classement des N voies A à N selon les états de remplissage de N mémoires-tampons 91A à 91N respectivement associées et constituant le dernier circuit de chaque voie. L'ordre du classement (états de remplissage décroissant) est inverse de celui choisi pour le classement de longueurs décrit précédemment. Les signaux de sortie indiquant les N états de remplissage correspondant aux N mémoires des voies A à N sont respectivement fournis aux N entrées 61A à 61N du circuit de classement 60 dont les sorties 62A à 62N indiquent respectivement le rang des voies A à N tel qu'il ressort du classement d'états de remplissage effectué. Le retard des lignes 50A à SON est choisi de telle façon que le classement effectué par le circuit 60 soit terminé avant que les signaux codés en provenance du sous-ensemble de codage à longueur variable 30 n'apparaissent en sortie des lignes à retard 50A à SON. Le sous-ensemble de retardement 50 est suivi d'un circuit d'aiguillage 70 effectuant un aiguillage de N voies vers N voies, puis de N circuits de régulation de débit (9lA, 92A) à (91N, 92N) constituant un sous-ensemble 90 de régulation de débit. Chacun de ces circuits de régulation de débit est, comme précédemment, situé dans l'une des N voies en pa rallèle et comprend ladite mémoire-tampon 91A à 91N respecti ment, ainsi qu'une connexion de rétroaction 92A à 92N respectivement, destinée à agir sur le circuit de quantification associé, selon l'état de remplissage de la mémoire-tampon correspondante. L'aiguillage de N voies vers N voies effectué par le circuit 70 est réalisé de la façon suivante. On associe en amont de l'aiguilleur les voies véhiculant les blocs de longueurs les plus grandes aux voies en aval de l'aiguilleur associées aux mémoires-tampons dont les états de remplissage sont les plus faibles.Plus précisément, on associe, par l'une des N connexions du circuit 70, la sortie du sous-ensemble 50 correspondant à la longueur de bloc codé la plus longue à l'entrée du sous-ensemble 90 correspondant à la mémoire-tampon dont l'état de remplissage est le plus faible, puis on associe, par une autre connexion, la sortie du sous-ensemble 50 correspondant à la longueur de bloc codé la plus courte à la mémoire-tampon dont l'état de remplissage est le plus élevé, et, de même entre ces deux connexions extrêmes, on associe les (N-2) connexions restantes du sous-ensemble 50 aux (N-2) entrées des mémoires-tampons restantes en associant longueurs de signal codé croissants (ou respectivement décroissants) et mémoires-tampons de moins en moins remplies (ou respectivement de plus en plus). L'aiguillage est donc commandé d'une part par le classement de longueurs effectué par le circuit 40 et d'autre part par le classement de mémoires-tampons effectué par le circuit 60, par l'intermédiaire d'un circuit de commande 80. On va ici préciser une façon de réaliser cet aiguillage en donnant en référence à la figure 3 un exemple concret dans lequel N est égal à 4. Comme indiqué sur cette figure 3, le circuit d'aiguillage 70 est constitué de quatre interrupteurs S17 #2, S3 et S4, chacun de ces interrupteurs ayant quatre positions. Soit par exemple 4, 3, 1, 2 le classement respectif des voies A, B, C, D en amont du circuit d'aiguillage suivant les longueurs de blocs croissantes et 3, 2, 4, 1 le classement de ces mêmes voies en aval du circuit d'aiguillage suivant les états de remplissage décroissant des mémoires-tampons associées à ces voies. D'après ce qui a été dit précédemment, on déduit que la voie amont A doit être connectée à la voie aval C, la voie amont B à la voie aval A, la voie amont C à la voie aval D et la voie amont D à la voie aval B.Ces quatre connexions entre voies amont et aval sont indiquées dans le tableau 1 en fonction du classement de celles-ci TABLEAU 1 Classement Voies amont Voies aval 1 C D 2 D B 3 B A 4 A C et schématisées par les positions des quatre interrupteurs représentées sur la figure 3.Bien entendu, ce tableau 1 peut aussi se mettre sous la forme du tableau 2 suivant TABLEAU 2 Position interrupteur Numéro interrupteur 2 1 4 2 1 3 3 4 En effet, dans l'exemple décrit, pour établir les quatre connexions correctes conformément aux classements de longueurs et d'états de remplissage effectués respectivement en amont et en aval du circuit d'aiguillage, il faut que l Une réalisation possible de la commande de position d'un interrupteur quelconque Sx est schématisée sur la figure 4. Les entrées A07 Bor CO, Do de quatre circuits OU-exclusif 81 correspondent respectivement aux bits de poids faible du classement des voies amont A, B, C, D, et les entrées Ai, B17 C1, D1 de quatre autres circuits OU-exclusif 82 aux bits de poids fort. Les entrées XO et X1 correspondent respectivement aux bits de poids faible et de poids fort du classement de la voie aval X.La table de vérité du schéma logique, complété par quatre portes ET 83, est telle qu'il apparaît le niveau logique "1" sur l'une des quatre sorties a, b, c, d correspondant respectivement aux positions 1, 2, 3, 4 de l'interrupteur Sx, et le niveau logique "O" sur les trois autres. Comme le niveau logique "1" indique laquelle des quatre voies amont A, B, C, D a le même classement que la voie aval X, il est clair que la position de ce niveau logique "1" commande directement la position de l'interrupteur. Dans l'exemple décrit correspondant à N = 4, le circuit de commande 70 est constitué de quatre dispositifs logiques identiques à celui décrit sur la figure 4, puisqu'il y a quatre interrupteurs à commander. Il en découle de manière générale que, dans le cas de N voies, ce dispositif 70 peut être réalisé à l'aide de N dispositifs logiques identiques constitués chacun de N portes "ET" et de (M x N) circuits logiques "OU EXCLUSIF", M étant le nombre de bits nécessaire pour indiquer, en base 2, le classement d'une voie. Bien entendu, en associant ainsi N blocs codés et classés selon leurs longueurs mesurées croissantes (ou décroissantes) à N mémoires-tampons classées inversement selon leurs états de remplissage décroissant (ou respectivement croissant), on veille à conserver une sorte d'indicateur d'origine du bloc, par exemple en inscrivant dans ou à côté de chaque bloc le numéro de la sortie du circuit de démultiplexage 10 dont il provient. Cette information relative à l'indication d'origine de chaque bloc sera en effet indispensable du côté réception et décodage pour reconstruire la séquence de sortie des signaux numériques décodés, et doit donc être transmise en même temps que les signaux concernant le bloc lui-même.Ladite transmission des signaux de sortie de chaque voie et de ces indications d'origine du contenu de chaque mémoire-tampon est assurée de façon séquentielle, après regroupement de la totalité de ces informations, à l'aide d'un circuit# de multiplexage 100. Avec la structure de dispositif de codage ainsi décrite, les informations codées se trouvent donc également réparties entre les N mémoires-tampons, et ce quelle que soit la répartition d'origine sur les N sorties du circuit de démultiplexage 10. Dans le cas ici décrit d'une lecture séquentielle, effectuée à un rythme régulier, de ces N mémoirestampons, on démontre que la différence entre leurs états de remplissage à un instant donné ne peut pas excéder la longueur L d'un bloc codé. Il en résulte que la capacité minimale de stockage de chacune des mémoires-tampons du dispositif de codage selon l'invention est maintenant égale à C+L, c'est-àdire voisine de C, alors qu'elle était égale à NC avec la solution antérieure à la présente invention. Il résulte également de cette similitude des états de remplissage qu'une seule connexion de rétroaction peut alimenter les N circuits de quantification pour assurer de façon effective la réalisation de la régulation de débit, puisque toutes les mémoires-tampons se trouvent maintenant dans des états de remplissage identiques ou très voisins. Revendications 1. Dispositif de codage à longueur variable de signaux numériques répartis dans N voies en parallèle, comprenant dans chaque voie successivement des moyens de quantification, des moyens de codage à longueur variable et des moyens de régulation de débit incluant des mémoires-tampons, caractérisé en ce qu'il comprend également, entre lesdits moyens de codage à longueur variable et lesdits moyens de régulation de débit, des moyens d'aiguillage prévus pour envoyer, après un classement des signaux codés selon leurs longueurs croissantes ou décroissantes et un classement des mémoires-tampons selon leurs états de remplissage décroissant ou croissant, les signaux codés vers des mémoires-tampons d'autant moins remplies que lesdits signaux codés sont plus longs. 2. Dispositif de codage à longueur variable selon la revendication 1, comprenant successivement un circuit de démultiplexage de la séquence des signaux d'entrée en N sousséquences présentes sur N sorties en parallèle dudit circuit, N voies en parallèle pour le codage à longueur variable desdites N sous-séquences respectivement, et un circuit de multiplexage des N sous-séquences de signaux ainsi codés présentes en sorties desdites N voies, lesdites voies comprenant ellesmêmes chacune un circuit de quantification des signaux d'entrée de la voie, un circuit de codage à longueur variable des signaux ainsi quantifiés, et un circuit de régulation de débit associant à une mémoire-tampon une connexion de rétroaction reliant ladite mémoire et le circuit de quantification, caractérisé en ce qu il comprend (A) en sortie du sous-ensemble de codage constitué par les N circuits de codage à longueur variable, un circuit de classement des signaux codés en fonction de leur longueur (B) en sortie du sous-ensemble de régulation de débit constitué par les N circuits de régulation de débit, un circuit de classement des mémoires-tampons selon leur état de remplissage (C) entre ledit sous-ensemble de codage et ledit sous-ensemble de régulation de débit, un circuit d'aiguillage prévu pour envoyer, en réponse à un circuit de commande, le signal codé correspondant à la longueur de signal codé la plus faible à L'entrée de mémoire correspondant à la mémoire-tampon la plus remplie, le signal codé correspondant à la longueur de signal codé la plus grande à l'entrée de mémoire correspondant à la mémoire-tampon la moins remplie, et, de même, chacun des signaux codés correspondant à des longueurs de signal codé de plus en plus grandes à respectivement chacune des entrées de mémoire correspondant à des mémoires-tampons de moins en moins remplies (D) en sortie du sous-ensemble de codage, entre celui-ci et ledit circuit d'aiguillage, un sous-ensemble de retardement comprenant un circuit à retard par voie et destiné à assurer le synchronisme des signaux codés avec les commandes d'aiguillage qui leur correspondent. 3. Dispositif de codage selon la revendication 2, caractérisé en ce que le sous-ensemble de régulation de débit ne comprend qu'une seule connexion de rétroaction, reliant l'une quelconque des mémoires-tampons à chacun des circuits de quantification.