Brevet FR2653953A1 — publié le 19910503

Description La présente invention concerne un dispositif de co- dage comportant un codeur à mots de longueur variable muni d'une commande de qualité pour déterminer des caractéristiques de codage différentes, dispositif comportant une entrée d'in- formations à coder se présentant sous la forme de paquets de blocs d'informations à appliquer au codeurl une mémoire tampon pour recevoir les informations codées issues dudit codeur et pour les restituer à une borne de sortie avec un débit fixe et un circuit de régulation pour définir pour chaque bloc une qualité en fonction d'une part du nombre réel d'éléments bi- naires utilisés pour le codage de chaque bloc et d'autre part d'une grandeur résiduelle définissant le nombre d'éléments bi- naires contenus dans la mémoire tampon après le codage de cha- que paquet. Un tel dispositif trouve d'importantes applica- tions, notamment dans le domaine de la télévision numérique. Ainsi chaque paquet peut représenter une image et chaque bloc une zone de cette image contenant un ensemble de points d'ima- ges. Ceci est décrit dans la demande de brevet européen No O 310 175 Pour profiter pleinement des avantages du codeur à mots de longueur variable, il y a intérêt à utiliser une mé- moire tampon de grande capacité qui peut absorber ainsi des inégalités importantes de longueur des mots codés Cependant, lorsqu'on veut enregistrer sur bande magnétique de telles ima- ges codées, il s'est imposé l'exigence que chaque image soit codée avec un nombre à peu près constant d'éléments binaires afin d'occuper sur la bande magnétique un espace fixe Ainsi la recherche rapide d'une séquence d'images enregistrées s'en trouve facilitée Les dispositifs connus sont donc contraints d'utiliser une mémoire tampon dont la capacité dépend de la tolérance accordée à cet espace Cette capacité est alors né- cessairement faible. La présente invention propose un dispositif du genre mentionné dans le préambule qui satisfait l'exigence précitée tout en utilisant une mémoire tampon de grande capacité. Pour cela un tel dispositif est remarquable en ce que le circuit de régulation comporte un circuit de qualité moyenne pour déterminer une qualité moyenne pour chaque paquet de bloc d'informations, un circuit de calcul pour fournir pour chaque bloc le nombre d'éléments binaires correspondant à la- dite qualité moyenne, un circuit d'accumulation pour accumuler les différences entre le nombre fourni par le circuit de cal- cul et le nombre réel, un circuit de remplissage pour fournir une grandeur de remplissage représentant le rapport entre les différences accumulées et la grandeur résiduelle et un circuit de correction pour fournir une valeur de qualité corrigée en corrigeant la qualité moyenne en fonction de la grandeur de remplissage. L'idée de l'invention repose sur l'hypothèse que pour un bloc donné le produit nombre réel par la valeur de l'inverse de la qualité est constant La suite du présent ex- posé explicitera comment cette idée est mise à profit. L'invention concerne aussi un dispositif de décoda- ge associé au dispositif de codage. 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 la décomposition d'une image en blocs. La figure 3 montre en fonction du temps l'évolution du nombre d'éléments binaires fournis par le codeur, selon les techniques de l'art antérieur. La figure 4 montre en détail un circuit du disposi- tif de la figure 1. La figure 5 montre en détail un autre circuit du dispositif de la figure 1. La figure 6 montre, en fonction du temps, l'évolu- tion du nombre d'éléments fournis par le codeur, selon les me- sures indiquées par l'invention. La figure 7 montre un exemple de réalisation préfé- ré d'un dispositif de codage conforme à l'invention. La figure 8 montre en détail un circuit du disposi- tif de la figure 7. La figure 9 montre en détail un autre circuit du dispositif de la figure 7. La figure 10 montre, en fonction du temps, l'évolu- tion du débit binaire après l'apparition d'un signal d'alarme. La figure 11 montre un dispositif de décodage con- venant pour un dispositif de codage de la figure 1 ou 7. L'exemple de réalisation décrit ci-dessus se rap- porte au traitement des images de télévision en vue de leur enregistrement sur bande magnétique. Le dispositif de codage montré à la figure 1 porte la référence 1 Sa borne d'entrée 3 reçoit les informations sous forme numérique d'une image provenant, par exemple, d'une caméra de télévision 5 Ces informations sont traitées d'abord par un codeur 10 d'un type semblable à celui décrit dans la demande de brevet européen O 310 175 précitée Ce codeur code des blocs d'images BL(i) dont le numéro est représenté par Mi" La répartition de ces blocs est montrée à la figure 2. Chacun de ces blocs est codé avec un nombre réel ni d'élé- ments binaires en fonction d'un paramètre qi appelé qualité appliquée à la commande 11 du codeur 10 Pour un bloc donné, plus le paramètre qi est grand, plus le nombre ni sera élevé Comme à la borne de sortie 12 les éléments sont fournis avec un débit fixe do On a prévu une mémoire tampon 15 qui absorbe les fluctuations des nombres ni Un circuit de régu- lation 17 fournit des valeurs de paramètres qi pour qu'il n'y ait ni débordement, ni vidage de la mémoire 15 Le nombre restant d'éléments binaires peut être au maximum égal à la ca- pacité TBM de la mémoire 15. On a représenté à la figure 2 une répartition en L lignes et K colonnes des blocs BL(i) o i varie donc de 1 à Kx L Pour fixer les idées, chaque bloc comporte 16 x 16 points d'images, K = 50 et L = 40. Pour bien comprendre l'invention, on a représenté à la figure 3, comment fonctionnent les circuits de régulation de l'art antérieur En abscisse, on a porté le temps Ht" et en ordonnée 'Neb' le nombre d'éléments binaires On s'impose de fournir N éléments binaires pour une image de durée Tp (Tp = N/do) La ligne en tirets CM représente l'évolution du nombre d'éléments binaires fournis à la borne 12 et la courbe en trait plein CPA, l'évolution du nombre d'éléments binaires fournis à l'entrée de la mémoire tampon 15. La taille TBM de la mémoire tampon 15 donne la va- riation admissible du nombre d'éléments binaires de part et d'autre de la courbe CM Cette taille représente la valeur ré- siduelle maximale à la fin d'une image. La courbe CPA peut illustrer le fait que l'image analysée comporte au début de l'analyse des zones présentant beaucoup de détails et ensuite des zones sans détails, de sor- te que si les premières zones à détails sont codées avec une qualité satisfaisante, les suivantes le seront avec une quali- té de moins en moins satisfaisante Les zones sans détails qui suivent sont alors codées avec une qualité superflue. Pour éviter ce genre d'inconvénient, le circuit de régulation comporte, conformément à l'invention: un circuit de qualité moyenne 20 qui fournit une valeur Q-1 MOY qui est l'inverse de la qualité QMOY, un circuit de calcul 22 qui fournit pour chaque bloc BL(i) un nombre di qui est le nombre souhaité d'éléments binaires pour coder ce bloc avec la qualité QMOY, un circuit d'accumulation 24 pour accumuler les différences (ni-di), effectuées par un organe de soustraction 25, un circuit de remplissage pour fournir une grandeur de rem- plissage Ei représentant le rapport entre les différences accumulées et la grandeur résiduelle TBV exigée à la fin de l'analyse d'une image, et un circuit de correction 28 pour fournir une valeur de qua- lité corrigée en corrigeant la qualité moyenne en fonction de la grandeur de remplissage. Ainsi qu'il a été dit, l'invention repose sur le fait que la quantité n qnl est une constante Le circuit de qualité moyenne 20 calcule une qualité moyenne pour une image et l'on admet que cette qualité est valable pour la suivante. Ce circuit est représenté en détail à la figure 4 Il se com- pose d'un accumulateur 35 pour accumuler les quantités nq-1 établies par un organe de multiplication 36 (figure 1) et d'un registre 37 pour stocker pendant la durée Tp d'une image la quantité accumulée pendant l'image précédente Un organe de multiplication 39 multiplie par I/N la quantité contenue dans le registre 37 A la sortie de l'organe de multiplication on a donc la quantité moyenne Q-1 MOY B E 1 nq-1 Q =i= 1 J 1 MOY N o B est le nombre de blocs composant une image à N points cette formule ( 1) dérive de l'hypothèse précitée qui permet d'écrire pour chaque bloc BL(i) di.Ql MOY nq ( 2) MY il en sommant pour les B blocs d'une image à N points B B Q 1 M O Y i E 1 di = i 1 iq or pour satisfaire l'exigence précitée de fournir N éléments binaires pendant une durée Tp B d = N d'o la formule ( 1). Le circuit 22 qui fournit la grandeur di profite de la relation ( 2) Mais ici le produit lniq 71 l A fourni à la sortie d'un organe de retard 38 amenant un retard Tp est re- latif à l'image précédente. Comme QMOY est aussi calculée sur l'image précé- dente, di est une bonne valeur sur laquelle ni doit s'ali- gner, en admettant que les images successives se ressemblent. Le circuit de remplissage 26 fournit, au moyen d'un organe de multiplication 39, la grandeur Ei qui s'exprime par: i n d E k= 1 k k 1 TBV Le circuit de régulation astreint Ei au domaine suivant pour satisfaire l'assurance d'une grandeur résiduelle inférieure à TBV: _ 4 33 q-1 = d. :1 De plus, on modulera le paramètre q-1 pour garantir une grandeur résiduelle Ei aussi proche que possible de 0. Si Ei> 0, il y a un excédent d'éléments binaires, alors on diminue q. Si Ei Cette valeur q 141 provient d'un organe de retard 45 qui appor- te le retard convenable pour qu'elle soit disponible pour le traitement du bloc BL(i+ 1). Pour améliorer le fonctionnement d'un circuit de régulation 17, on a prévu un premier circuit de filtrage 50 connecté en sortie de l'organe 36 Ce circuit 50 fournit une quantité filtrée niqi: donnée par l'équation suivante écrite à l'aide de l'opérateur Z de la transformée en Z iqi 1-gi o O Ce premier circuit de filtrage 50 permet d'éviter les perturbations apportées par des changements brusques des caractéristiques locales de l'image. C'est cette grandeur n q 1 qui est appliquée aux circuits 20, 22 et 28. Un deuxième circuit de filtrage 52 est connecté en sortie du circuit 28 Sa fonction de transfert, selon la nota- tion de tansformée en Z s'écrit 1-Q 2 l-g 2 z-l o O Ce deuxième circuit de filtrage 52 garantit une variation len- te du paramètre q-. i La figure 5 montre en détail le circuit 22 Outre les organes 60 et 62 utilisés, le premier pour calculer l'in- verse de la quantité Q-1 MOY et le second pour effectuer le produit (niq l)-Q Moy, ce circuit 22 comporte un circuit i d'arrondi 70 pour fournir la valeur di. Ce circuit comporte un organe de soustraction 72 pour effectuer la soustraction de la quantité di fournie par la quantité d'i élaborée par l'organe 62 Les différences sont accumulées dans un accumulateur 74; le résultat, après un retard égal à TB apporté par un organe de retard 76, est appliqué à un détecteur de signe 78 La quantité d'i élabo- rée par l'organe 62 est traitée par un quantificateur 80 à M niveaux; on a distingué sur la figure 5 deux niveaux consécu- tifs rj et rj+l entre lesquels est située la valeur appli- quée à son entrée Un organe de commutation 82 permet à di de prendre l'un de ces niveaux selon la condition suivante 3 i Si E d' d > 0 on a d =r 1 = O 1 l i j+ 1 sinon d = rj De cette façon, on obtient une réduction de la dé- rive de d'i par rapport à la version quantifiée di. Au premier niveau de quantification correspond un dmin (par-exemple 128 éléments binaires si chaque point du bloc est codé avec 0,5 élément binaire) et au dernier d MAX (par exemple 512 éléments binaires si les points du bloc sont codés chacun avec 2 éléments binaires) Les grandeurs di sont transmises à la borne 12 par l'intermédiaire d'un multi- plexeur 90 qui multiplexe ces grandeurs avec les informations de sortie du codeur 10 avant d'appliquer le total à la mémoire tampon 15. La figure 6, qui montre l'avantage apporté par l'invention est à rapprocher de la figure 3 La courbe en ti- rets est toujours la courbe moyenne CM La courbe CNA est la courbe représentant l'analyse de l'image effectuée selon une qualité QMOY invariable Comme cette qualité a été détermi- née sur l'image précédente, l'analyse de l'image courante peut diverger de part et d'autre de cette courbe CNA La latitude de divergence est donnée par le paramètre TBV On notera que la courbe CNA peut s'écarter d'une façon beaucoup plus impor- tante de la courbe CM que la courbe CPA de la figure 3 La taille TBM' utilisable de la mémoire tampon 15 peut être éva- luée de la manière suivante à la valeur dmin on associe une droite de débit ddmin menée à l'intersection de t = Tp et de la courbe CM, à la valeur d MAX on associe une droite de débit dd MAX menée à l'origine. La distance entre l'intersection des droites dd MAX et ddmin et la courbe CM donne la taille TBM' En intervertis- sant ces deux droites on retrouve évidemment le même résultat. Une autre mesure pour améliorer les performances du dispositif de codage conforme à l'invention consiste en un ba- layage judicieux des blocs d'image Il importe, en effet, que des blocs soient analysés conjointement; leur balayage peut être effectué comme indiqué à la figure 2 suivant la flèche FL. Les blocs sont analysés ligne par ligne de gauche à droite pour les lignes impaires BL( 1) à BL(K),, BL( 2 K+ 1) à BL( 3 K) et de droite à gauche pour les lignes paires BL(K+ 1) à BL( 2 K) etc Evidemment, le sens peut être inversé. A la figure 7, on a montré un exemple de réalisa- tion préféré d'un dispositif de codage conforme à l'inven- tion Les éléments communs à ceux déjà décrits portent les mê- mes références. Ce codeur se différencie de celui montré à la figu- re 1 par la présence d'un circuit d'alarme 100 Ce circuit 100 fournit un signal d'alarme dès que la différence entre l'in- verse de la-qualité appliquée à l'entrée du circuit 47 et la valeur Q-1 MOY excède une valeur *Thu prédéterminée L'appa- rition de ce signal signifie le plus souvent qu'il y a rupture de séquence, donc, que ce qui a été déterminé pour une image n'est plus valable pour l'image qui suit On ne s'asservit plus sur la valeur donnée par le circuit 22 mais sur une va- leur dsi fournie par un circuit de secours 102 Le multiple- xeur 90 transmet aussi, vers le décodeur, le signal d'alarme. Un commutateur 104 dont les positions de commuta- tion sont commandées par le signal de secours permet d'aiguil- ler la valeur di ou la valeur dsi vers le circuit 28. La figure 8 montre en détail le circuit d'alarme. Il se compose d'un organe de soustraction qui mesure les dif- férences des valeurs q-1 avec Q-1 MOY fournies respecti- vement aux sorties des circuits 45 et 20; ces différences sont comparées, en valeur absolue, avec une valeur préétablie Th au moyen d'un comparateur 112; dès qu'une différence excè- de le seuil Th, une bascule 114 rend actif le signal d'alar- me Cette bascule 116 est initialisée par le signal f Tp à chaque image. La figure 9 montre en détail le circuit de secours qui établit le nombre d'éléments binaires dsi à affecter aux blocs suivant l'apparition du signal d'alarme Ce circuit éva- lue au moyen d'un circuit 120 l'inverse de la valeur des blocs restant à traiter Un organe de multiplication 122 établit, en se servant de la grandeur nbi, le nombre d'éléments binaires à affecter à chaque bloc; nbi est la quantité d'éléments binai- res restant dans la mémoire tampon 15 La valeur fournie par l'organe 122 est soustraite, au moyen de l'organe de soustrac- tion 126, de la valeur N/B qui représente le nombre d'éléments binaires moyen à affecter à chaque bloc pour traiter l'image. En se reportant à la figure 10, on montre l'effet des circuits 100 et 102 sur la courbe de débit On a représen- té par de petites croix la courbe réelle CR Soit l'instant t A o survient le signal d'alarme; on s'asservissait avant cet instant sur la courbe CNA, après cet instant on s'asservit sur la droite DS qui mène à l'intersection t = Tp, Neb = N en partant du point t = t A et de la courbe CR qui est dis- tante à cet instant t A de nbi. La figure 11 montre un circuit de décodage 200 as- socié à un circuit de -codage conforme à l'invention. Les données à décoder sont reçues au niveau d'une borne d'entrée 203 connectée à l'entrée d'une mémoire tampon 205 Les informations concernant di et les informations con- cernant les images sont démultiplexées à la sortie de la mé- moire 205 au moyen d'un démultiplexeur 210 Les informations repérées par dri représentent les informations di transmi- ses Les données contenues dans cette mémoire sont prélevées au rythme du décodage effectué par le décodeur 220 qui effec- tue l'opération inverse du décodeur 10 des figures 1 et 7. Les données décodées sont utilisables, alors, par un organe de visualisation 250. 1 1 Tout comme l'organe de codage 10, l'organe de déco- dage est muni d'une commande de qualité 251 qui détermine le pas de quantification selon lequel le codage s'est effectué. Un circuit de régulation de décodage 260 fournit les valeurs qri à appliquer à la commande 251 en fonction du nombre nri d'éléments binaires prélevés dans la mémoire 210 pour décoder un bloc et de la quantité dri déjà explicitée. Ce circuit de régulation 260 se compose: d'un organe de multiplication 262 pour évaluer le produit qr-1 nri, d'un filtre passe-bas numérique 264 pour lisser les fluctua- tions de ce produit, d'un organe de soustraction 266 pour évaluer les écarts en- tre dri et nri, d'un organe d'accumulation 268 pour sommer ces écarts durant toute une image, d'un circuit de remplissage pour fournir une grandeur de remplissage Eri équivalant à la grandeur Ei du circuit 26 (figures 1 et 7), d'un circuit de correction 272 dont la fonction est la même que celle du circuit 28. La valeur fournie par le circuit 272 est filtrée par le filtre 274, retardée par l'organe 276 et inversée par l'organe 278 avant d'être appliquée à la commande 251. La grandeur dri qui apparaît à la sortie du dé- multiplexeur 210 peut etre transmise telle quelle au circuit 260, ou être enregistrée dans un registre 300 lorsque le si- gnal d'alarme est transmis Un commutateur 310 fournit un si- gnal ddri = dri au circuit de régulation 260 lorsqu'il n'y a pas de signal d'alarme ou un signal ddri = drsi lorsque le signal d'alarme apparaît On notera que la valeur dsi reste fixe jusqu'à la fin de l'image et pourra être définie avec beaucoup de précision. Cette conception du dispositif de décodage amène les remarques suivantes: Les informations qi (qualité) déterminent le pas de quantification utilisé au niveau du codeur Ces informations sont nécessaires au niveau du décodeur pour opérer la quanti- fication inverse Ces informations ne sont pas transmises au décodeur: il convient donc de les régénérer Les grandeurs qi sont calculées au codeur à partir de ni (nombre de bits représentant le bloc i) et de di (nombre de bits souhaités pour le bloc) ni est disponible côté décodeur puisqu'il est égal au nombre de bits nri prélevé lors du décodage du bloc i, tandis que di est transmis. La séquence des grandeurs qi est donc recalculée au niveau du dispositif de décodage, comme elle avait été cal- culée au niveau du dispositif de codage Ainsi on évite de transmettre trop d'informations supplémentaires (overhead) Il est possible d'envisager quand même la transmission de qi lorsque les blocs sont de grande taille. Revendications 1 Dispositif de codage comportant un codeur à mots de longueur variable muni d'une commande de qualité pour détermi- ner des caractéristiques de codage différentes, dispositif OS comportant une entrée d'informations à coder se présentant sous la forme de paquets de blocs d'informations à appliquer au codeur, une mémoire tampon pour recevoir les informations codées issues dudit codeur et pour les restituer à une borne de sortie avec un débit fixe et un circuit de régulation pour définir pour chaque bloc une qualité en fonction d'une part du nombre réel d'éléments binaires utilisés pour le codage de chaque bloc et d'autre part d'une grandeur résiduelle définis- sant le nombre d'éléments binaires contenus dans la mémoire tampon après le codage de chaque paquet, caractérisé en ce que le circuit de régulation comporte un circuit de qualité moyen- ne pour déterminer une qualité moyenne pour chaque paquet de bloc d'informations, un circuit de calcul pour fournir pour chaque bloc le nombre d'éléments binaires correspondant à la- dite qualité moyenne, un circuit d'accumulation pour accumuler les différences entre le nombre fourni par le circuit de cal- cul et le nombre réel, un circuit de remplissage pour fournir une grandeur de remplissage représentant le rapport entre les différences accumulées et la grandeur résiduelle et un circuit de correction pour fournir une valeur de qualité corrigée en corrigeant la qualité moyenne en fonction de la grandeur de remplissage. 2 Dispositif de codage selon la revendication 1 pour lequel le codeur code selon ni éléments binaires le bloc BL(i), caractérisé en ce que la valeur de la qualité moyenne QMOY est évaluée sur une image de B bloc B E ni q-1 MOY = N o q-1 est l'inverse de la qualité utilisée pour chaque bloc, J. et N le contenu total d'éléments binaires consacré au codage de l'image, et en ce que cette valeur est affectée à une image suivante. 3 Dispositif de codage selon la revendication 1 ou 2, caractérisé en ce que l'analyse d'un bloc est effectuée après celle d'un de ses voisins. 4 Dispositif de codage selon l'une des revendications 1 à 3, caractérisé en ce que il est proposé un détecteur d'écart entre la valeur de qualité de bloc et la qualité moyenne pour fournir un signal d'alarme et en ce qu'il est prévu un circuit de débit constant sur lequel le circuit de régulation s'asservit dès l'apparition du signal d'alarme. Dispositif de décodage convenant à un dispositif de décodage de l'une des revendications 1 à 4.