FR 2599201 A1 19871127 FR 8607392 A 19860523 259920 1 DISPOSITIF DE CODAGE A MODULATION DIFFERENTIELLE PAR IMPULSIONS CODEES. DISPOSITIF DE DECODAGE ASSOCIE ET SYSTEME DE TRANSMISSION COMPORTANT AU MOINS UN TEL DISPOSITIF DE CODAGE OU DE DECODAGE. L'invention concerne un dispositif de codage à modulation différentielle par impulsions codées comportant une entrée pour recevoir le signal à coder, un circuit de différence pour fournir un signal de différence formé par un cer05 tain nombre d'éléments binaires représentant la différence entre le signal à coder et un signal de prédiction, un circuit de prédiction d'émission pour fournir ce signal de prédiction, un circuit de transcodage d'émission pour réduire le nombre d'éléments binaires du circuit de différence en fonction d'une 10 information de commande, un circuit de mesure d'activité pour fournir une information d'activité, un circuit de codage statistique à mots numériques de longueur variable pour coder le signal de sortie du circuit de transcodage, un circuit de mémoire tampon pour emmagasiner les mots du circuit de codage 15 statistique et pour les fournir vers la sortie dudit dispositif et un circuit de mesure d'occupation pour fournir une information d'occupation du circuit de mémoire tampon. Un dispositif de codage de ce genre trouve des applications importantes notamment dans le domaine de la télévi20 sion numérique. On pourra à ce sujet se reporter à l'article de PETER PIRSCH intitulé 'Design of DPCH Quantizers for Video Signals Using Subjective Tests' et paru en juillet 1981 dans la revue nIEEE TRANSACTIONS ON COMMUNICATIONS, VOL.COM-29, N 7. On sait que dans ce genre de dispositif on est con-fronté au problème du débordement du circuit de mémoire dû au circuit de décodage statistique. En effet, il peut arriver que le codage d'une image implique l'utilisation de mot de grande longueur de sorte qu'il arrive plus de données dans le circuit 30 de mémoire qu'il n'en sort. - 2 Pour résoudre cette sorte de problème, il est connu d'agir au niveau du circuit de transcodage dans un sens tel que le circuit de codage statistique fournisse des mots de plus faible longueur (voir par exemple l'article de TOSEIO et 05 autres intitulé: 'Statistical Performance Analysis of an Interframe Encoder for Broadcast Television Signals' et paru en décembre 1981 dans la revue IEEE TRANSACTIONS ON CONUNICATIONS, VOL.CON29, N*12). Cependant, avec ce genre de mesure, l'image est 10 alors codée sous une forme trop grossière et celle-ci devient de mauvaise qualité. La présente invention propose un dispositif de codage du genre cité dans le préambule qui permet de sauvegarder une image de qualité suffisante dans un plus grand nombre de 15 cas o un risque de débordement est détecté. Pour cela, ce dispositif est remarquable en ce qu'il comporte en outre un organe de combinaison pour fournir l'information de commande & partir de l'information d'activité et de l'information d'occupation. L'invention concerne aussi un dispositif de décodage associé et un système de transmission comportant au moins un tel dispositif de codage ou de décodage. La description suivante en regard des dessins annexés, le tout donné à titre d'exemple, fera bien comprendre 25 comment l'invention peut être réalisée. La figure 1 montre un dispositif de codage conforme à l'invention. La figure 2 montre l'allure de caractéristiques de transcodage. La figure 3 montre comment sont réalisés le circuit de codage statistique, le circuit de mémoire et le circuit de mesure d'occupation faisant partie du dispositif de la figure 1. La figure 4 montre un dispositif de décodage con35 forme à l'invention. - 3 La figure 5 montre comment peuvent être réalisés le circuit de prédiction, le circuit de mesure d'activité et l'organe de combinaison. A la figure 1, la référence 1 indique une caméra de 05 télévision; le signal analogique à sa sortie est codé, sous forme numérique par un codeur échantillonneur-bloqueur 2, à la cadence définie par un circuit d'horloge 5. L'échantillon à la sortie du codeur est comparé avec l'échantillon fourni par un circuit de prédiction 10. 10 Pour cette comparaison, on utilise un circuit de différence 12; le signal de différence qui en résulte est appliqué à l'entrée d'un circuit de transcodage 15 qui réduit le nombre d'élémenits binaires du signal de différence. Cette réduction s'effectue selon des caractéristiques Q1, Q2 et Q3 dont l'al15 lure est montrée en partie à la figure 2. Ainsi, dans l'exemple dont il est question, le signal de différence est codé selon NE sur 511 niveaux (- 255 à + 255) à l'entrée, tandis que le signal à la sortie n'en présente plus que 15, selon NS; le choix de ces différentes caractéristiques Q1, Q2 et Q3 est dé20 terminé par une information de commande appliquée à une entrée 20. Le code de sortie du circuit de transcodage 15 est appliqué d'une part à l'entrée d'un additionneur 21 recevant en outre sur son autre entrée le signal du prédicteur 10 et d'autre part, à l'entrée d'un circuit de codage statistique 22 qui fait correspondre des mots numériques de courte longueur pour les mots d'entrée arrivant le plus souvent, c'est-à-dire les mots représentant les signaux de différence de faibles valeurs. Ainsi pour NS = 8 on aura un mot d'1élément binaire, pour NS = 9 ou 7 un mot de 3 éléments binaires et pour NS = 10 30 ou 6 un mot de 5 éléments binaires et ainsi de suite... selon ie codage dû à Huffman. On pourra à ce sujet consulter le paragraphe 6.2. 3.2. de l'ouvrage intitulé "Digital Image Processing" de R.C.GONZALEZ et P.WINTZ édité en 1977 par ADDISONWESLEY PUBLISHING Company. Le code fourni par ce codeur 22 se présente sous forme série à sa sortie et est appliqué à un circuit de mémoire tampon 25 constitué essentiellement par une mémoire du type -4 première donnée entrée, première donnée sortie mieux connue sous le nom de mémoire FIFO. Pour déterminer la caractéristique de transcodage Q1, Q2 et Q3 offerte par le circuit de transcodage 15, on uti05 lise un circuit de mesure d'activités 30 coopérant avec le circuit de prédiction 10. Les valeurs d'activités élaborées par ce circuit sont comparées à des valeurs de seuils SP1 et SP2 au moyen de comparateurs 32 et 34. On sait que l'activité définit une transition de 10 luminance entre éléments d'image; l'activité est d'autant plus forte que la transition est brutale. A une activité forte on associe une caractéristique grossière par exemple Q3 puisqu'il n'est pas nécessaire (voir le premier article cité) de coder avec précision les niveaux situés de part et d'autre de 15 la transition. A une activité faible on associe, donc, une caractéristique fine Q2 ou mieux Q1. Ainsi par le choix de ces caractéristiques on essaye de se situer vers les niveaux NS proches de 8 correspondant à des mots de faible longueur élaborés par le codeur d'Huffman 22. Cependant, on peut se trou20 ver dans des cas défavorables o les mots sont très longs et o le débit de transmission qu'autorise le canal de transmission (représenté à la figure 1 par un câble coaxial 40) est insuffisant. Il en découle que le circuit mémoire 25 risque de déborder, ce risque étant apprécié par une information d'occu25 pation élaborée au moyen d'un circuit de mesure d'occupation rattaché au circuit de mémoire tampon 25. Pour éviter ce débordement, le dispositif de codage comporte, en outre, conformément à l'invention, un organe de combinaison 50 pour fournir l'information de commande de ca30 ractéristiques à partir de l'information d'activité et de l'information d'occupation. Cet organe de combinaison 50 est formé, en plus des comparateurs 32 et 34, de deux multiplieurs 52 et 54 pour multiplier par un facteur " deux valeurs de seuils préétablies S1 35 - 5 et S2 et pour fournir SP1 = a.S1 SP2 = ".S2 Les éléments 32, 34, 51 et 52 font partie d'un enOS semble commun 55 que l'on retrouvera dans le circuit de décodage associé à ce circuit de codage. Ce facteur a est établi au moyen d'un circuit de calcul 60 qui effectue l'opération suivante a(T+1) = a(T) - k.{@B(T) + [B(T) - B(T-1)]} o k = ["(T) - a(T-1)]/[B(T) - 2B(T-1) + B(T-2)] et g est un coefficient d'amortissement dont la valeur peut être égale à 0,5. Il convient, dès lors, de noter que les coefficients a sont calculés pour des périodes de temps T successi15 ves en des instants i.T o i = - -,..., T-2, T-I, T. L'instant T.T correspondant à l'instant présent. La durée T correspond en pratique à la durée d'une trame d'image. On appelle B(T) le degré de remplissage du circuit mémoire chiffré en nombre d'éléments binaires et considéré à l'instant T, B(T-1) 20 le degré de remplissage à l'instant T-1 et B(T-2) à l'instant T-2. On se propose donc de déterminer a(T+1) qui ramène le degré de remplissage B(T+1) à zéro ou mieux qui le diminue du coefficient d'amortissement e pour le ramener à une fraction du degré précédent, c'est-à-dire B(T+1) = (1-g)B(T). Pour calculer a(T+1) on admet que les variations de degré de remplissage sont une fonction linéaire de a, ce qui permet d'écrire dans le cas présent, avec ao constante à éliminer: a(T) = k[B(T) - B(T-1)] + mo 30 Pour estimer a(T+1) il faut donc que: B(T+1) - B(T) = -OB(T) d'o a(T+1) = a(T) - k.[B(T) - B(T-1)] + k.[-oB(T)] et de là, la formule proposée. 35 - 6 Le circuit de calcul 60 établit l'évaluation de "(T+1) uniquement sur la lecture du degré de remplissage du circuit mémoire; c'est ce degré de remplissage qui constitue, dans cet exemple décrit, l'information d'occupation. A la figure 3, o l'on a représenté plus en détail le codeur 22 coopérant avec le circuit de mesure d'occupation , on montre comment est élalborée l'information d'occupation. Le codeur 22 est constitué essentiellement par une 10 mémoire morte 100 qui est adressée par le code de sortie du circuit de transcodage 15. Le code à la sortie de cette mémoire est scindé en deux parties:une partie est appliquée aux entrées en parallèle d'un registre 102 et l'autre partie aux entrées en parallèle d'un registre à décalage 104; le regis15 tre 102 est destiné à contenir une valeur indiquant la largeur du mot dans le registre 104. Les commandes de chargement de ces registres 102 et 104 reçoivent un signal HC qui est actif, au même rythme selon lequel l'échantillonnage est effectué par le codeur échantillonneur-bloqueur 2. La sortie en série du 20 registre à décalage 104 est connectée à l'entrée de la mémoire. L'inscription de cette mémoire s'effectue par un signal WFO au même rythme que le décalage du registre 104. Ce signal WFO provient de la sortie d'une porte ET 106 à deux entrées: la première reçoit des signaux W périodiques dont la cadence 25 est un multiple de la fréquence des signaux HC, ce multiple correspondant à la longueur maximale des codes contenus dans le registre 104. La deuxième entrée de la porte 106 est reliée à la sortie d'un comparateur de codes 108 qui fournit un signal de blocage pour la porte 106 lorsqu'est détectée une éga30 lité de codes continus, d'une part dans le registre 102 et d'autre part dans un compteur 110 comptant les impulsions de signal WFO. Ce compteur est remis à zéro dès que le signal BC est actif. De cette manière, la mémoire 25 se remplit succes35 sivement des éléments binaires constituant chaque mot de lon- - 7 gueur variable. Pour obtenir le degré de remplissage de la mémoire 25, on utilise un circuit accumulateur formé d'un additionneur 115 et un registre d'accumulation 117. L'additionneur effectue la somme du contenu du registre 102 avec le con05 tenu du registre 117 diminué d'une valeur wBR". Cette diminution est effectuée par un circuit de soustraction 20. La valeur BR définit le degré de remplissage optimal de la mémoire , par exemple, la moitié de sa capacité. Un signal HT qui devient actif après chaque période de temps T permet le char10 gement dans un registre 122 du degré de remplissage B(...) utile pour le circuit de calcul 60. On notera que la mémoire se vide au rythme d'un signal de lecture RF0. Pour pouvoir transmettre les informations ainsi codées, on utilise un multiplexeur 150 (voir figure 1); ce multiplexeur transmet, via 15 un circuit de transmission de ligne 151, sur le canal de transmission 40 pendant un premier temps un code de synchronisation "SVT" fourni par la base de temps 5 puis, pendant un deuxième temps la valeur a provenant d'un registre à décalage 152 dont les entrées en parallèle sont connectées à la sortie 20 du circuit 60 et enfin, pendant un troisième temps les informations d'image-provenant de la mémoire 25, et ceci se reproduit pour chaque trame d'image. Les différents signaux W, HT, HC et RFO, dont il a été question, proviennent de la base de temps 5. Le dispositif de décodage conforme à l'invention se compose d'un circuit de réception de ligne 161 dont l'entrée est connectée au canal de transmission 40 et dont la sortie est reliée d'une part à l'entrée d'une base de temps de réception 165 et d'autre part à un démultiplexeur 170 qui est com30 mandé par la base de temps de réception 165 et qui permet de fournir d'une part à un registre 175 la valeur a et d'autre part les différents mots de longueurs variables à un décodeur 172 effectuant l'opération inverse du décodeur 22. Un organe de transcodage 180 effectue l'opération inverse de celle effectuée par le circuit 15, c'est-à-dire l'une des caractéris35 tiques inverses Q1, Q21, Q31. La valeur prendre sera prise tiques inverses Q?, Q2I, Q3I. La valeur à prendre sera prise 8 au milieu de chaque palier. Ainsi pour un code NS = 10 correspondra un code NE = 9 pour la caractéristique Qj1, le choix de l'une de ces caractéristiques étant défini par une information de code appliquée à ses entrées 181. Un circuit additionneur 05 i85 effectue la somme du code de sortie du transcodeur 180 avec le code de sortie à la sortie d'un circuit de prédiction de même structure que le circuit 10; on retrouve aussi un circuit de mesure d'activité 192 de même structure que le circuit 30; l'indication de la mesure est combinée avec l'infor10 mation a par le circuit 195 pour fournir l'information de commande de la même manière que l'ensemble 55. Un convertisseur numérique-analogique 200 permet de fournir les informations convenables-pour qu'un dispositif de visualisation 210 puisse fonctionner. La figure 5 indique un exemple possible de la manière de réaliser le circuit de prédiction avec le circuit de mesure d'activité et la manière d'obtenir l'informzation de commande. Ces circuits utilisent la luminance des points sur la ligne précédente et de: points précédents de la même ligne. 20 L'enseuble montré à la figure 5 est bâti autour d'un ensemble d'éléments de retard 200, 201, 202 et 203 montés en cascade; les éléments 200, 202 et 203 apportent un retard d'un élément d'image tandis que l'élément 201 amène un retard équivalent à une ligne d'image-diminuée de deux éléments - d'image. C'est à partir des différents signaux aux sorties de ces éléments que l'on peut d'une part, effectuer la prédiction et d'autre part, mesurer l'activité. En ce qui concerne la prédiction, différents multiplexeurs 210, 211, 212 et 213 effectuent respectivement le 30 produit par les coefficients de prédiction KM, KD, KC et KB des signaux aux sorties des éléments 200, 201, 202 et 203; un additionneur 215 fournit la valeur de prédiction en effectuant la somme des produits. En ce qui concerne l'activité on utilise différents 35 opérateurs 220, 221, 222, 223, 224 et 225 qui donnent la valeur absolue de la différence des signaux appliqués à leur en- - 9 trées. Ces entrées sont branchées à chacune des sorties des éléments 200 à 203. Une première série de comparateurs 250 à 255 détecte si l'un des résultats procurés par l'un des opérateurs 220 à 225 excède la valeur de seuil SPi; une porte OU 05 228 recueille tous les résultats de cette série de comparateurs 250 à 255 pour restituer le premier élément binaire de l'information de commande. Une deuxième série de comparateurs 260 à 265 détecte si l'un des résultats procurés par l'un des opérateurs 220 à 225 excède la valeur de seuil SP2; une porte 10 OU 238 recueille tous les résultats de cette deuxième série de comparateurs 260 à 265 pour constituer le deuxième élément binaire de l'information de commande. Les transcodeurs 180 et 15 sont constitués d'une manière avantageuse par une mémoire morte dont les adresses 15 sont constituées, d'une part pour les poids faibles, par le signal de sortie du circuit de soustraction 15 ou le décodeur 172 et, d'autre part pour les poids forts, par l'information de commande. A la figure 6 on a représenté comment le facteur a 20 agit sur l'entropie S qui définit la limite inférieure du codage en bit par-élément d'image. Ceci donne donc la régulation du débit possible. 2599201- - 10 REVENDICATIONS 1. Dispositif de codage à modulation différentielle par impulsions codées comportant une entrée pour recevoir le signal à coder, un circuit de différence pour fournir un si05 gnal de-différence formé par un certain nombre d'éléments binaires représentant la différence entre le signal à coder et un signal de prédiction, un circuit de prédiction d'émission pour fournir ce signal de prédiction, un circuit de transcodage d'émission pour réduire le nombre d'éléments binaires du circuit de différence en fonction d'une information de comande, un circuit de mesure d'activité pour fournir une information d'activité, un circuit de codage statistique à mots numériques de longueur variable pour coder le signal de sortie du circuit de transcodage, un circuit de mémoire tampon pour em15 magasiner les mots du circuit de codage statistique et pour les fournir vers la sortie dudit dispositif et un circuit de mesure d'occupation pour fournir une information d'occupation du circuit de mémoire tampon, caractérisé en ce qu'il comporte en outre un organe de combinaison pour fournir l'information 20 de commande à partir de l'information d'activité et de l'information d'occupation. 2. Dispositif de codage à modulation différentielle par impulsions codées selon la revendication 1 pour lequel le circuit de transcodage présente plusieurs caractéristiques de 25 transcodage préétablies déterminables par l'information de commande, caractérisé en ce que l'organe de combinaison comporte des moyens de comparaison pour comparer l'information d'activité avec des informations de seuils afin de fournir l'information de commande, et des circuits de combinaison pour 30 fournir les informations de seuil à partir de l'information d'occupation et d'informations de seuil préétablies. 3. Dispositif de codage à modulation différentielle par impulsions codées selon la revendication 2 pour lequel l'information d'occupation se présente sous la forme B(T) cor35 respondant au degré de remplissage du circuit de mémoire tam- pon, caractérisé en ce que l'organe de combinaison comporte un circuit de calcul pour effectuer en des instants iT avec,i = -#",..., T-2, T-1, T: a(T+1) = a(T) - k.{@B(T) + [B(T) - B(T-1)]} o k = ["(T) - a(T-1)]/[B(T) 2B(T-1) + B(T-2)] et en ce que les circuits de combinaison sont des multiplieurs pour effectuer les produits des informations de seuil préétablies avec cette valeur a. 4. Dispositif de décodage à modulation associé à un dispositif de codage selon l'une des revendications 1 à 3 dans lequel il est prévu des moyens pour transmettre une information de décodage dérivée de l'information d'occupation, caractérisé en ce qu'il comporte un circuit d'extraction de l'information de décodage, un décodeur pour décoder les mots numé15 riques de longueur variable, un circuit de transcodage de réception pour rétablir en fonction d'une information de commande de réception le transcodage du circuit de transcodage d'émission, un circuit d'addition pour additionner le signal de sortie du circuit de transcodage de réception avec le si20 gnal fourni par un circuit de prédiction de réception et pour fournir ainsi le signal décodé d'une partà l'utilisateur et d'autre part à l'entrée du circuit de prédiction de réception, un circuit de mesure d'activité de réception et un organe de combinaison pour fournir l'information de commande de récep25 tion à partir de l'information d'activité et de l'information de décodage. 5. Système de transmission comportant un dispositif de codage selon l'une des revendications 1 à 3 et un dispositif de décodage selon la revendication 4. 30