Brevet FR2644962A1 — publié le 19900928

A Un dispositif tel que mentionné dans le préambule ci-dessus est décrit dans la demande de brevet WO 88104508. Dans ce dispositif, il est prévu d'assurer la normalisation en associant à chaque bloc d'image un facteur de classification de ce bloc dans une classe particulière caractérisée par un critère déterminé. Ce critère déterminé est unique et repose sur une classification des blocs selon le plus ou moins grand nombre de détails dont ils sont porteurs suivant l'une ou l'autre des dimensions spatiales de l'image. Le codage est en- suite ajusté en fonction de la classification ainsi opérée. Le but de l'invention est de proposer un disposi- tif de codage d'images dans lequel est prévue une classifica- tion des blocs d'image opérant selon plusieurs critères quan- titatifs, c'est-à-dire prenant en compte plusieurs paramètres liés aux signaux représentatifs des images. Une telle classification est nettement plus pré- cise que celle mentionnée ci-dessus. En effet, les défauts d'image dûs au codage les plus couramment rencontrés, tels que effet de-grillage, apparition de fonctions de base parasites, déformation de contours, sont liés à la nature des blocs d'image. En opérant une discrimination parmi ces blocs, il devient possible de traiter séparément les défauts en modi- fiant de façon spécifique les paramètres de codage dans chaque classe spécifique de l'un de ces défauts. A cet effet, l'invention concerne un dispositif caractérisé en ce qu'il comprend également, entre lesdits cir- cuits de réduction de corrélation et de codage: (a) un circuit de classification, destiné & dé- terminer, à partir des signaux de sortie dudit circuit de réduction de corrélation, des paramètres liés à ces signaux et à classer lesdits signaux selon les valeurs de ces para- mètres; (b) un circuit de normalisation, destiné, à partir d'une part desdits signaux de sortie du circuit de réduction de corrélation, d'autre part desdits paramètres liés à ces signaux, et enfin du signal de régulation de débit q-1 délivré par ledit circuit de régulation de débit, a délivrer vers le- dit circuit de codage, des signaux normalisés qui, une fois codés, sont pris en compte par le circuit de régulation de débit. Avec la structure ainsi proposée, il est effecti- vement possible de traiter un grand nombre de défauts d'image en déterminant pour chaque bloc d'image des paramètres liés respectivement ou principalement à ces défauts. Les particularités de l'invention apparaîtront maintenant de façon plus détaillée dans la description qui suit et dans les dessins annexés, donnés à titre d'exemples non limitatifs et dans lesquels: - la figure 1 montre un exemple de réalisation du i5 dispositif de codage selon l'invention; - la figure 2a montre une image divisée en N x M blocs, la figure 2b représente la matrice bidimensionnelle des coefficients de transformation d'un de ces blocs d'image, la figure 2c met en évidence un type de parcours monodimensionnel pour la lecture et le traitement de ces coefficients, la fi- gure 2d montre un autre type de parcours pour un bloc de 32 points d'image, et la figure 2e montre par rapport à la figure 2c une variante de parcours dans laquelle les coefficients sont successivement lus dans différents blocs; - les figures 3a et 3b sont un schéma et un orga- nigramme qui aident à comprendre le fonctionnement du circuit de la figure 3c, celle-ci montrant elle-méme un exemple de réalisation du circuit de classification du dispositif de codage de la figure 1.; - la figure 4a est un exemple de réalisation du circuit de normalisation du dispositif de codage de la figure 1, et les figures 4b & 4d sont des courbes qui aident à com- prendre le fonctionnement des trois circuits de traitement non linéaire de ce circuit de normalisation. Dans l'exemple de réalisation représenté sur la figure 1, le dispositif de codage selon l'invention comprend d'abord un circuit de réduction de corrélation 10 par trans- formation orthogonale, par exemple un circuit de transforma- tion en cosinus discret. Ce circuit 10 reçoit une suite de si- gnaux numériques représentant, sous la forme d'une matrice de valeurs, la luminance ou la chrominance d'un certain nombre de points ou éléments d'une image divisée en blocs. Le circuit 10 délivre pour chaque bloc une suite bidimensionnelle de coeffi- cients X(k), k étant le rang desdits coefficients lors de leur lecture. La figure 2a montre une telle image, divisée en M x N blocs. De tels circuits de transformation sont bien connus, notamment du brevet US-4394774, et l'expression des coeffi- cients de transformation obtenus successivement pour chaque bloc ne sera donc pas donnée ici. On rappellera simplement que de nombreuses mesures statistiques ont permis de montrer la très forte corrélation entre points voisins d'une trame ou d'une image, et que l'objet de la transformation orthogonale est d'obtenir un ensemble de coefficients plus indépendants que les valeurs disponibles avant transformation. Les valeurs X(k) sont alors fournies d'une part à un circuit de classification 20 par l'intermédiaire d'une con- nexion 12 et d'autre part à un circuit de normalisation 30 par l'intermédiaire d'une connexion 13. Ces circuits 20 et 30 sont représentés sur les figures 3c et 4a respectivement et seront décrits en détail un peu plus loin. Le circuit de normalisa- tion 30 est suivi d'un circuit de conversion de balayage 40 destiné à convertir la suite des coefficients X(k) normalisés en une suite monodimensionnelle. Pour un bloc tel que celui de la figure 2b, correspondant lui-même à celui indiqué avec des hachures sur la figure 2a, cette suite monodimensionnelle peut étre par exemple une suite en zig- zag comme celle indiquée sur la figure 2c qui montre, dans une représentation de la matrice bidimensionnelle des coefficients de transformation du bloc d'image, un type de parcours définissant l'ordre de lecture (cI, c2, c3,...etc....) et de traitement de ces coefficients. I le Ce type de parcours présente l'avantage suivant, à savoir qu'il permet, après l'opération de quantification prévue plus loin, de disposer, avant codage, de longues plages de valeurs nulles, ce qui contribue à réduire la quantité d'informations à transmettre. Cette suite monodimensionnelle pourrait cepen- dant être constituée sur la base d'un autre critère, par exemple selon le type de parcours représenté sur la figure 2d pour un bloc de u x v = 32 éléments d'images, ou être d'un autre type que ceux représentés, par exemple être déterminée de façon adaptative en fonction de caractéristiques mesurées sur le signal lui-même. il est également possible d'opérer une lecture des coefficients dans différents blocs, par exemple une lecture successive dans chacun des quatre blocs spatia- lement voisins de la figure 2e, en lisant les coefficients c1, c2, c3, c4 puis les coefficients c5, c6, etc... et ainsi de suite sur le type de parcours adopté. Le circuit de conversion de balayage 40 est suivi d'un circuit de quantification 50. L'opération de quantifica- tion est destinée, on le sait, à convertir la valeur norma- lisée de chaque coefficient, exprimée avec une virgule flot- tante, en une valeur entière, soit par un simple arrondi, soit de préference par troncature, en prenant la partie entière de la valeur avant quantification. Il est clair que, soumises à une telle quantification, un certain nombre de valeurs com- prises entre O et 1 sont remplacées par la valeur O, ce qui diminue le nombre de coefficients significatifs à transmettre et va donc dans le sens de la compression de données recher- chée. Un tel circuit de quantification est connu et ne sera donc pas décrit davantage. On rappellera simplement, comme on l'a vu plus haut, que la quantification peut être linéaire ou au contraire à pas variable. Dans le cas d'une quantification à pas va- riable, le circuit 50 réalise exactement l'opération décrite ci-dessus. Si au contraire la quantification est linéaire, la présence d'un circuit de compression dans le circuit 50 permet de reconstituer globalement une transformation à pas varia- ble. Cette compression est justifiée par le fait que les in- formations visuelles essentielles d'une image correspondent aux fréquences spatiales les plus basses, correspondant elles- mêmes aux premiers coefficients de la matrice bidimensionnelle des coefficients de transformation. Sans que la quantification soit nécessairement adaptative, il importe en outre de noter, comme on le précise plus loin, qu'un tel caractère adaptatif est avantageux. Il permet en effet de modifier le pas de quantification selon la nature plus ou moins uniforme de l'image, ou des blocs de l'image, et influe également sur le codage, une quantification plus rudimentaire entraînant l'utilisation de mots de code plus courts et donc une réduction du débit. La sortie du circuit de quantification 50 est alors envoyée vers un circuit de codage 60, comprenant ici des tables de valeurs codées selon un code de Huffman, pour le codage soit de valeurs de coefficients (codage à longueur variable) soit de longueurs de plages (codage par plages). La sortie du circuit de codage 60 est enfin reliée à l'entrée d'un circuit de régulation de débit 70, qui reçoit selon un débit variable les valeurs ainsi codées et les restitue sur une première sortie 71 avec un débit constant. Cette sortie principale 71 constitue la sortie du dispositif de codage selon l'invention. Un signal de régulation de débit q-1, ou facteur de qualité, est présent sur une deuxième sortie 72 du circuit 70. Cette deuxième sortie 72 relie le circuit de régu- lation de débit 70 au circuit de normalisation 30, afin de constituer la boucle de rétroaction qui permet effectivement la régulation de débit. Les circuits 20 et 30 vont maintenant être décrits plus en détail. On précisera tout d'abord que le circuit de classification 20 opère selon le schéma de principe représenté sur la figure 3a, complété par l'organigramme de la figure 3b, et qu'il est réalisé par exemple comme indiqué sur la figure 3c. Les paramètres de classification qui sont ici pris en compte par bloc sont les suivants: (a) Nc, le nombre de coefficients non nuls dans chaque bloc, en sortie du circuit de transformation ortho- gonale 10; (b) en, l'énergie moyenne hors composante con- tinue, cette énergie étant définie par la relation em = (1/Nc).E{X(k))2 avec k différent de O et X(k) représentant la suite des coefficients après ladite transformation orthogo- nale; (c) ebf, le pourcentage d'énergie basse fré- quence, égal par exemple, si l'on ne retient que 14 coeffi- cients pour un bloc de 8 x 8 points d'image, à ebf = E(X(i))2(i = 1 à 14) /E(X(i))2(=1 à 63), le premier coefficient étant systématiquement exclu d'un tel calcul puisqu'il repré- sente la composante continue. Comme l'indique la figure 3a, les paramètres ainsi définis sont alors comparés à des seuils dans des comparateurs COMP, et une classification, réalisée dans l'élément CLASSIF, est opérée selon les résultats des comparaisons effectuées. L'organigramme des comparaisons, représenté sur la figure 3b, peut étre détaillé comme suit, les lettres Y et N indiquant respectivement (sur la figure 3b) les réponses OUI et NON au test mentionné: (A) l'énergie moyenne em est comparée à un pre- mier seuil Sl(em): (ai) si em est supérieure à Sl{em), on pro- cède à une deuxième comparaison, celle du pourcentage ebf à un deuxième seuil S2(ebf): (all) si ebf est supérieur à 52(ebf), le bloc d'image est classé dans une première classe Ci; (ai2) si est est inférieur ou égal à S2(ebf), le bloc d'image est classé dans une deuxième classe C2 le bloc d'image est classé dans une sixième classe C6. Par l'intermédiaire des tests qui viennent d'étre décrits, on obtient une discrimination des blocs d'image selon leur appartenance à l'une ou à l'autre des classes Ci à C4 et donc à des zones d'image distinctes correspondantes, en vue d'adapter le codage à cette classification. Les grandeurs Nc, em, ebf ont été choisies pour leur pouvoir discri- minant. Les seuils Si(em), S2(ebf), S3(Nc), S4(Nc) ont été choisis de façon à déterminer sur un grand nombre de séquences le type du bloc: classe Ci des blocs o les contours sont majoritaires, classe C3 des blocs quasi-uni- formes, classe Csdes blocs à texture fine, classe Cs des blocs à texture grossière, les classes C2 et C4 regroupant ici en une seule classe effective tous les blocs n'appartenant pas aux quatre autres. Dans l'exemple de réalisation ici décrit, on a retenu le jeu de valeurs de seuils suivant: Sl(em) = , S2(ebf) = 0,7, S3(Nc) = 30, et 54(Nc) = 50. Pour la mise en oeuvre de telles opérations, le circuit de classification 20 comprend, comme indiqué dans l'exemple de réalisation de la figure 3c, d'une part un cir- cuit de calcul 21, qui reçoit les coefficients X(k) de sortie du circuit de transformation orthogonale 10 et délivre les trois paramètres Nc, e, e ebf, et d'autre part un circuit de comparaison et de décision 22 qui reçoit ces trois para- mètres et délivre l'information relative à la classe C1 à Cs à laquelle correspond le bloc courant, conformément à l'organi- gramme présenté sur la figure 3b. Le circuit de normalisation 30 comprend, dans l'exemple de réalisation de la figure 4a, un premier circuit 31 de traitement non linéaire des coefficients X(k). Ce cir- cuit 31 reçoit d'une part les coefficients X(k) présents en sortie du circuit de transformation orthogonale 10 et d'autre part une valeur de seuil Ss fournie par une mémoire 32. Cette mémoire 32 contient différentes valeurs de seuil à sélection- ner selon le rang k du coefficient X(k) considéré et selon la classe du bloc d'image, le rang k étant également délivré (connexion 14) par le circuit 10 et la classe du bloc étant présente sur la connexion de sortie du circuit de comparaison et de décision 22 du circuit de classification 20, et donc égale à l'une des classes C1 à C6. La sortie du circuit 31 est soit le coefficient X(k) si celui-ci est supérieur ou égal au seuil, soit la valeur 0 si le coefficient est inférieur au seuil, comme indiqué sur la courbe de la figure 4b. Le rang k et la classe ci du bloc d'image (i = 1 à 6) sont également, l'un et l'autre, fournis à une deuxième mémoire 33 située en parallèle sur la mémoire 32. Seul le rang k est fourni à une troisième mémoire 34, et seule la classe Ci est fournie à une quatrième mémoire 35. Cette mémoire 35 délivre en fonction de la classe Ci du bloc un indice de qualité iq qui est multiplié dans un multiplieur 36 par le signal de régulation de débit q-1 présent sur la connexion 72 de sortie du circuit de régulation de débit 70, et le produit iq x q-1 ainsi formé est fourni en parallèle à des deuxième et troisième circuits 37a et 37b de traitement non linéaire. Le deuxième circuit de traitement non linéaire 37a reçoit d'une part ladite valeur iq x q' et d'autre part une valeur de seuil S6 qui est fournie par la mémoire 34, et dé- livre un signal de sortie qui est soit une valeur proportion- nelle à celle du produit iq x q-1 si cette valeur est supé- rieure ou égale au seuil Ss, soit la valeur I dans le cas con- traire. Comme indiqué sur la figure 4c correspondante, cela signifie que la sortie du circuit 37a, c'est-à-dire la norme proposée par ce circuit, appelée Np, est forcée à la valeur 1 jusqu'à des valeurs de qualité relativement faibles, ou, ce qui est équivalent, jusqu'à des valeurs de q1 relativement élevées. Le troisième circuit de traitement non linéaire 37b reçoit d'une part également ladite valeur iq x q' et d'autre part une valeur de seuil S; qui est fournie par la mé- moire 33, et délivre un signal de sortie qui, selon le méme principe que précédemment, est soit la valeur du produit iq x q-1 si cette valeur est supérieure au seuil S, soit, dans le cas contraire, cette valeur augmentée d'un paramètre variable croissant au fur et à mesure que la qualité augmente, c'est-à-dire que q-1 est plus petit (voir la figure 4d corres- pondante, sur laquelle on peut en effet constater que l'effet de la'norme proposée Np en sortie du circuit 37b est diffé- rent de part et d'autre du seuil S7, la variation du pas de quantification étant plus rapide au-dessus du seuil). Les différents paramètres associés aux caractéris- tiques non linéaires des figures 4b à 4d ont été déterminés statistiquement. par exemple, Ss(k,Ci) a été calculé en ana- lysant l'histogramme des valeurs prises par les coefficients de rang k des blocs de la classe Ci. Le seuil S7(k, Ci) est, lui, égal à-la moyenne des coefficients de rang k appar- tenant à la classe Ci, et le seuil Ss(k) a été choisi de façon empirique. Les sorties des deuxième et troisième circuits de traitement non linéaire 37a et 37b constituent les deux si- gnaux d'entrée d'un commutateur 38 qui sélectionne l'un ou l'autre comme norme, selon la classe Ci qui correspond au bloc considéré et qui est fournie par le circuit de classifi- cation 20. La norme, présente en sortie du commutateur 38, est s15 envoyée vers la deuxième entrée d'un diviseur 39 dont la pre- mière reçoit les coefficients X(k) de sortie du circuit de transformation orthogonale 10. Le diviseur 39 délivre alors les valeurs de coefficient normalisées qui sont fournies, en une suite monodimensionnelle, au circuit de conversion de balayage 40. A- Revendications 1. Dispositif de codage de signaux vidéo numériques comprenant notamment un circuit de réduction de corrélation, qui reçoit lesdits signaux numériques représentatifs de la luminance ou de la chrominance d'un certain nombre de points d'une image divisée en blocs, un circuit de codage, et un cir- cuit de régulation de débit, qui reçoit selon un débit va- riable lesdites valeurs codées de sortie du circuit de codage et délivre d'une part un signal q'1 de régulation de débit, lié au débit, et d'autre part, sur la sortie du dispositif de codage, des valeurs codées avec un débit constant, caractérisé en ce qu'il comprend également, entre lesdits circuits de ré- duction de corrélation et de codage: (a) un circuit de classification, destiné à déter- miner, à partir des signaux de sortie dudit circuit de réduc- tion de corrélation, des paramètres liés à ces signaux et à classer lesdits signaux selon les valeurs de ces paramètres; (b) un circuit de normalisation, destiné, à partir d'une part desdits signaux de sortie du circuit de réduction de corrélation, d'autre part desdits paramètres liés à ces si- gnaux, et enfin du signal de régulation de débit q'1 délivré par ledit circuit de régulation de débit, à délivrer vers ledit circuit de codage des signaux normalisés qui, une fois codés, sont pris en compte par le circuit de régulation de débit. 2. Dispositif selon la revendication 1, caractérisé en ce que ledit circuit de classification comprend d'une part un circuit de calcul des paramètres suivants: (a) le nombre Nc des signaux non nuls en sortie dudit circuit de réduction de corrélation; (b) l'énergie moyenne hors composante continue em associée à ces signaux; (c) le pourcentage d'énergie basse fréquence ebf, hors composante continue, associé à ces signaux; et d'autre part un circuit de compraraison et de décision destiné à comparer à des seuils les valeurs prises par lesdits paramètres pour chaque bloc d'image et à décider du classement des blocs d'image dans différentes classes selon lesdites va- leurs de paramètres. 3. Dispositif selon la revendication 2, caractérisé en ce que les comparaisons et décisions opérées par ledit cir- cuit de comparaison et de décision sont réalisées selon le processus suivant: (A) l'énergie moyenne em est comparée à un pre- mier seuil S1(em): (ai) si em est supérieure à Sîiem), on pro- cède à une deuxième comparaison, celle du pourcentage ebf un deuxième seuil S2(ebf): (ail) si ebf est supérieur à S2(ebf), le bloc d'image est classé dans une première classe C; (auz) si ebf est inférieur ou égal à S2(eb, f) le bloc d'image est classé dans une deuxième classe C2; (a2) si em est inférieure ou égale à SI(em) on procède à une troisième comparaison, celle du nombre de coefficients non nuls à un troisième seuil S3(Nc), cette comparaison étant dénommée (B); le bloc d'image est classé dans une sixième classe C6. 4. Dispositif selon l'une des revendications 2 et 3, caractérisé en ce qu'il comprend un premier circuit de trai- tement non linéaire des signaux de sortie du circuit de réduc- tion de corrélation, destiné à éliminer ceux de ces signaux qui sont inférieurs à un seuil S5 déterminé, lié au rang et à la classe du bloc d'image concerné, un multiplieur destiné à délivrer le produit du signal de régulation de débit q- par un indice de qualité iq lié à la classe du bloc d'image, un deuxième circuit de traitement non linéaire dudit produit, destiné à remplacer par une valeur fixe déterminée celles des valeurs dudit produit qui sont inférieures à un seuil S& dé- terminé lié au rang du bloc d'image, un troisième circuit de traitement non linéaire dudit produit, destiné à ajouter audit produit, lorsque sa valeur est inférieure à un seuil S; déter- miné lié au rang et à la classe du bloc d'image, une valeur de paramètre variable croissant au fur et à mesure que ladite va- leur du produit est plus faible, un commutateur de sélection de la sortie de l'un ou l'autre desdits deuxième et troisième circuits de traitement non linéaire selon la classe du bloc d'image, et un diviseur de la sortie du premier circuit de traitement non linéaire par la sortie de ce commutateur, ledit diviseur étant destiné à délivrer lesdits signaux normalisés. 5. Dispositif selon la revendication 4, caractérisé en ce que lesdits premier, deuxième et troisième circuits de traitement non linéaire et le multiplieur sont commandés par des mémoires recevant elles-mêmes le rang et/ou la classe du bloc d'image concerné.