Brevet FR2737931A1 — publié le 19970221

PROCEDE DESTINE AU TRAITEMENT DE BLOCS D'IMAGES DECODES D'UN PROCEDE DE CODAGE D'IMAGES A BASE DE BLOCS Lorsque l'on compresse des données d'un flux de données vidéo par des procédés de codage qui sont basés sur des codages de transformation tels que la transformation à cosinus discret par exemple, des défauts apparaissent nécessairement dans certaines zones d'image dans le cas d'images mobiles qui sont transmises à un10 taux extrêmement faible de l'ordre de 8 à 112 kbit/s, tel que celui qui est prévu pour des applications de radios mobiles et pour des applications en matière de visiophonie. Ces défauts se manifestent par des bords artificiels aux bords de blocs, des structures instables ou des manques de netteté. Ces défauts de codage ont un effet gênant pour le spectateur et faussent l'aspect de l'image. Des bords artificiels aux bords de blocs sont avant tout un problème qui apparaît avec tous les procédés de codage à base de blocs. Ces bords artificiels réduisent considérablement l'aspect de qualité de l'image pour un spectateur. D'autres artefacts apparaissent dans des zones d'image mobiles d'une série d'images, donc d'un flux de données vidéo. Un procédé est connu par le brevet américain US 5 367 629, selon lequel des blocs d'images décodées sont mémorisés, et selon lequel dans chaque bloc d'image des 2 2737931 pixels d'un bord du bloc d'image sont filtrés par un filtre de lissage de bords. Un inconvénient de ce procédé réside dans le fait que le même filtre de lissage des bords est utilisé pour chaque bloc d'image, de sorte qu'un filtrage des bords de blocs adapté aux caractéristiques de chaque bloc d'image n'est pas possible. Comparé au procédé selon l'invention, cela conduit à une qualité réduite de l'image reconstituée. Un procédé destiné à des procédés de codage d'images à base de blocs est connu par le brevet américain US 4 754 492. L'objectif de l'invention consiste à lisser les bords artificiels des bords de blocs d'images d'un procédé de codage à base de blocs, une qualité de15 filtrage adaptée aux blocs, qui est plus élevée que celle qui est possible avec les procédés connus, devant être obtenue. Le problème est résolu par un procédé destiné au traitement de blocs d'images décodées d'un procédé de codage d'images à base de blocs, caractérisé par le fait que - on mémorise les blocs d'images décodés, - on filtre pour chaque bloc d'image, des pixels de bord d'au moins un bord du bloc d'image par un filtre de lissage de bord, et - lorsque les blocs d'images sont différents, on utilise différents filtres de lissage de bords pour le filtrage du au moins un bord des différents blocs d'images.30 Un avantage du procédé selon l'invention réside essentiellement dans le fait que, grâce au lissage des bords artificiels au niveau des bords de tous les blocs d'une image qui a été codée par un procédé de codage d'images à base de blocs, l'aspect d'ensemble d'une image35 pour un spectateur est considérablement amélioré. Pour chaque bloc d'image, on utilise un autre filtre de lissage de bord qui est adapté aux caractéristiques spécifiques du bloc respectif d'images. Le perfectionnement du procédé qui consiste à choisir le filtre de lissage de bord utilisé en fonction du vecteur de mouvement d'un bloc d'image, le pouvoir de filtrage du filtre de lissage de bord utilisé augmentant avec le module du vecteur de mouvement, offre l'avantage que, non seulement les bords au niveau des bords de10 chaque bloc d'image, mais également les artefacts dans les zones mobiles d'une série d'images sont lissés. Dans un perfectionnement du procédé suivant l'invention, le filtre de lissage de bord utilisé est choisi en fonction de la qualité d'image d'un bloc15 d'image, le pouvoir de filtrage du filtre de lissage des bords utilisé augmentant avec la diminution de la qualité d'image du bloc d'image. Dans un perfectionnement de l'invention, on utilise un masque filtrant unidimensionnel du filtre de lissage de bord, qui est guidé au-dessus de chaque au moins un bord de telle sorte qu'il soit positionné verticalement au-dessus de chaque au moins un bord. Dans un perfectionnement de l'invention, on utilise un masque filtrant bidimensionnel du filtre de lissage de bord. Dans un perfectionnement de l'invention, on filtre des bords supplémentaires au sein du bloc d'image, qui sont adjacents à l'au moins un bord. Dans un perfectionnement de l'invention, on utilise d'autres filtres de lissage de bord pour le filtrage de pixels de bord à l'intérieur que pour le filtrage du au moins un bord du bloc d'image. Dans un perfectionnement de l'invention, pour deux bords directement adjacents de deux blocs d'images voisins, on utilise, pour les deux bords des filtres de lissage de bord, parmi les filtres de lissage de bords choisis pour les deux bords de chaque bloc d'image, le filtre de lissage de bords qui a la propriété de filtrage maximale. Lors du choix de différents filtres de lissage de bord pour différents blocs d'images, il est en outre avantageux d'utiliser comme critère l'information relative à la qualité de l'image, qui peut être différente. Une mesure de la qualité de l'image est par10 exemple indiquée dans le paramètre de quantification. Ce moyen présente un avantage particulier lors de la transmission de séquences de visiophone à différents taux de transmission, qui est obtenue par l'utilisation de différentes qualités d'image. Par ce perfectionnement, le15 choix du filtre de lissage de bord peut être avantageusement adapté. Il est également avantageux que le choix du filtre de lissage de bord soit effectué, à la fois en fonction de la qualité d'image utilisée et de l'importance du20 vecteur de mouvement. Lors du choix des filtres de lissage de bord de deux blocs d'images adjacents, il est d'autre part avantageux d'utiliser un filtre de lissage de bord commun pour les deux bords directement adjacents, qui est obtenu à partir25 du filtre de lissage de bord à propriété de filtrage maximale qui serait utilisé dans le cas du choix indépendant des deux blocs. Un exemple de réalisation préféré de l'invention est représenté au dessin et est expliqué plus en détail ci- apres. La figure 1 est un croquis représentant un bloc d'image dont les pixels situés sur le bord du bloc sont filtrés par un filtre de lissage des bords; la figure 2 est un croquis qui décrit comment, en plus des pixels des bords directs des blocs, des pixels d'un bloc d'image situés plus à l'intérieur sont également lissés par un autre filtre de lissage de bord; la figure 3 est un organigramme représentant les différentes phases du procédé selon l'invention; la figure 4 est un organigramme décrivant le perfectionnement du procédé par le choix d'un filtre de lissage de bords pour chaque bloc individuel d'images, et ce en fonction du vecteur de mouvement qui est associé à chaque bloc d'image; la figure 5 est un organigramme représentant le procédé lors du filtrage supplémentaire de pixels situés à l'intérieur d'un bloc avec au moins un autre filtre de lissage des bords; les figures 6a et 6b sont deux croquis représentant des coefficients pos- sibles de deux filtres appropriés de lissage des bords; et la figure 7 est une représentation de la fonction de transfert des filtres de lissage des bords illustrés aux figures 6a et 6b. Le procédé selon l'invention est explicité plus en détail à l'aide des figures 1 à 7. Le procédé n'est nullement limité à un procédé déterminé de codage d'images à base de blocs, et en aucune façon à des procédés à base de blocs qui utilisent exclusivement la transformation en cosinus discret comme codage de transformation. Ce procédé est également indépendant de la taille des blocs que le procédé à base de blocs utilise pour le codage de l'image. Seul importe que le procédé de codage d'images soit basé sur l'utilisation de blocs d'image. La figure 1 représente un bloc d'image BB. Le bloc d'image BB est une petite partie d'une image qui a été codée par un procédé de codage d'images à base de blocs. Le bloc d'image BB est mémorisé 1 avant un filtrage du bloc d'image BB, qui est décrit par la suite. Des procédés de codage d'images à base de blocs sont par exemple MPEG, JPEG, H.261, ou H.263 (Ming Liou, Overview of the px64 kbit/s Video Coding Standard, Comunications of the ACM, vol. 34, n 4, pages 60 à 63, avril 1991, 1991; G. Wallace, The JPEG Still Picture Compression Standard, Communications of the ACM, vol. 34, n 4, pages 31 à 44, Avril 1991, 1991; S. Okubo et al.,20 International Standardization on Picture Coding, IEEE Transactions, vol. E 74, n 3, pages 533 à 538, mars 1991, 1991; D. Le Gall, The A Video Compression Standard for Multimedia Applications, Comunications of the ACM, vol. 34, n 4, pages 47 à 58, avril 1991, 1991).25 Le procédé n'est cependant pas limité aux procédés précités de codage d'images à base de blocs, comme le procédé selon l'invention peut être appliqué à n'importe quel procédé de codage d'images à base de blocs. Chaque bloc d'image BB comporte n x n pixels (points d'image, "picture éléments") le nombre n de pixels du bloc d'image BB étant n'importe quel entier naturel. Lors de l'utilisation par exemple, du procédé MPEG, la taille du bloc, donc le nombre n de points d'image du bloc d'image BB est de 8. Comme décrit ci-dessus, des bords artificiels apparaissent avant tout aux bords du bloc d'image BB. Les bords du bloc d'image BB sont formés par des pixels de bord KP. Ces pixels KP d'un bord K sont filtrés par un filtre de lissage des bords KGF afin de lisser 2 les bords K. En ce qui concerne sa structure, le filtre de lissage de bords KGF n'est soumis à aucune restriction, il peut donc avoir n'importe quelle structure. Seul importe que le filtre de lissage de bords KGF ait la propriété de lisser des bords K. Des possibilités de structures de filtres TP1 et TP2, qui peuvent être utilisées comme filtres de lissage de bords KGF, sont représentées aux figures 6a, 6b et 7 sous la forme d'une fonction de transfert H(f) en fonction d'une fréquence f. Les filtres passe-bas représentés ne limitent cependant nullement l'application générale, ils sont uniquement destinés à illustrer un exemple de type de filtres pouvant être utilisés comme filtre de lissage de20 bords KGF. Comme décrit ci-dessus, n'importe quel type de filtre peut être utilisé comme filtre de lissage de bords KGF dès lors que le filtre utilisé présente la propriété de lissage d'un bord K.25 Les coefficients du filtre TP1 représenté à la figure 6a sont les suivants: Cl = 0,237 C2 = 0,526 C3 = 0,237. Les coefficients du filtre TP2 représenté à la figure 6b sont les suivants: C1 = 0,073 C2 = 0,252 C3 = 0,351 C4 = 0,252 C5 = 0,073. La structure du filtre n'est non plus pas d'une importance fondamentale pour le procédé selon l'invention. Dès lors que le filtre utilisé lisse un bord K, il est possible d'utiliser des filtres aussi bien linéaires que non linéaires comme filtres de lissage des bords KGF. Si on utilise un masque filtrant linéaire unidimensionnel comme représenté sur la figure 6a, il est avantageux de guider le masque filtrant FM au-dessus des pixels de bord KP à filtrer de telle sorte que le masque filtrant FM soit guidé perpendiculairement par rapport au bord K à filtrer. Si on utilise un masque filtrant bidimensionnel comme filtre de lissage de bords KGF, il y a lieu de veiller au fait que, lors du dimensionnement du filtre de lissage de bords KGF, la propriété de lissage du bord K reste conservée. Le dimensionnement des filtres représentés aux figures 6a, 6b et 7, qui peuvent être utilisés comme filtres de lissage de bords KGF, s'est avéré comme avantageux au cours d'expériences. Un autre dimensionnement des filtres de lissage des bords KGF peut cependant être effectué sans problème par n'importe quel spécialiste, et est adapté expérimentalement par des essais, qui donnent l'impression subjective qu'une image filtrée exerce sur le spectateur. Comme représenté à la figure 2, il est également possible de filtrer, non seulement les pixels de bord KP situés directement sur le bord K, mais aussi des pixels situés à l'intérieur des bords KIP, plus à l'intérieur du bloc d'image BB, par un deuxième filtre de lissage de bords KGF 2. Le deuxième filtre de lissage de bords KGF 235 peut être le même filtre de lissage KGF que celui utilisé pour le filtrage des pixels de bord KP, il n'a cependant pas à l'être nécessairement. Lors du choix du deuxième filtre de lissage des bords KGF 2, il y a lieu de veiller au fait que le filtrage des pixels KIP situés plus à l'intérieur des bords ne devienne pas trop fort, car cela pourrait "brouiller" l'information détaillée de l'image qui se "situe" essentiellement dans les pixels intérieurs du bloc d'image BB. Le mode opératoire décrit ci-dessus, qui consiste à filtrer des pixels de bord KP ou en plus également des pixels à l'intérieur des bords KIP est effectué pour chaque bloc BB une image. Afin d'améliorer pour un spectateur l'aspect d'image altéré dû à des artefacts supplémentaires, qui sont engendrés par le mouvement d'une zone d'image, l'information de mouvement qui, dans le cas de procédés à base de blocs, est disponible pour chaque bloc d'image BB sous la forme d'un vecteur de mouvement BV, ce dernier20 étant mémorisé 3 tout comme le bloc d'image BB, peut être avantageusement utilisée pour le procédé. Comme règle de base, il y a lieu de noter que plus le mouvement d'une zone d'image au sein d'une suite d'images est intense, donc plus le vecteur de mouvement25 BV est important pour chaque bloc d'image BB, plus le bord K du bloc d'image BB est prononcé. Comme décrit ci- dessus, ce bord K a une influence gênante sur l'aspect d'ensemble pour le spectateur d'une image. On peut agir à l'encontre de cette amplification du bord K, due au mouvement de zones d'images, par le fait que, pour chaque bloc d'image BB, un nouveau filtre de lissage des bords KGF est choisi en fonction du module du vecteur de mouvement BV 4. Le choix du filtre de lissage des bords KGF suit la "règle empirique": La propriété de filtrage du filtre de lissage des bords KGF à utiliser pour chaque bloc d'image BB est d'autant plus forte que le vecteur de mouvement BV a un module grand. Le tableau ci-après représente une association possible entre le module du vecteur de mouvement BV d'un bloc d'image BB et le filtre de lissage des bords KGF à utiliser pour le bloc d'image BB. Vecteur de mouvement Filtre 0 Pas de filtrage > 0 et > = 5 TP2 Les filtres TP1 et TP2 correspondants sont représentés sur la figure 7 par leurs fonctions de transfert caractéristiques H(f). Les valeurs représentées pour le vecteur de mouvement BV ne limitent cependant pas la validité générale de l'utilisation de la règle empirique décrite ci-dessus, elles ne décrivent qu'une possibilité de solution, parmi beaucoup d'autres qui ont été trouvées par des expérimentations.20 Toute autre association est cependant connue du spécialiste et peut être utilisée sans problème. Le seul fait important pour le perfectionnement du procédé par le choix d'un filtre de lissage des bords KGF pour chaque bloc d'image BB, est que le choix du filtre à25 utiliser puisse être effectué en fonction du module du vecteur de mouvement BV, ce qui agit à l'encontre de l'amplification des bords K par le mouvement dans des zones d'images se succédant dans le temps. Le fait de choisir différents filtres en fonction du vecteur de mouvement BV en tant que filtre de lissage des bords KGF pour chaque bloc d'image BB 5, peut bien il entendu être également utilisé lors du choix du deuxième filtre de lissage des bords KGF 2 pour le perfectionnement du procédé qui est représenté sur la figure 2. Le choix de différents filtres de lissage des bords KGF n'est cependant pas nécessaire à chaque bloc d'image, il peut par exemple également être effectué pour un macrobloc MB comportant plusieurs blocs d'image BB, ou aussi individuellement pour chaque bord K du bloc d'image BB 6. Selon un perfectionnement du procédé, il s'avère avantageux de commander le choix de filtres différents en tant que filtres de lissage des bords KGF par l'intermédiaire de la qualité d'image utilisée lors de la transmission. Grâce à ce mode opératoire, le choix des bords de lissage des bords KGF peut être adapté automatiquement à une qualité d'image se modifiant éventuellement par la variation des taux de transmission. Dans le cas de procédés à base de blocs, l'information relative à la qualité d'image utilisée d'une image à décoder est habituellement indiquée dans un paramètre de quantification Q. Le paramètre de quantification Q indique la résolution d'échelle des gris à laquelle sont transmises les valeurs du bloc d'image BB respectif après l'exécution d'une transformation de codage. En ce qui concerne le standard pour visiophones H.263, une valeur du paramètre de quantification Q = 1 se traduit par la résolution maximale possible des teintes30 de gris, et une valeur du paramètre de quantification Q = 31 la résolution minimale possible des teintes de gris. De ce fait, le paramètre de quantification Q fournit une information directe sur la qualité d'un bloc d'image BB représenté sur le récepteur. Le choix du filtre de35 lissage des bords KGF pour chaque bloc d'image BB est donc commandé en fonction du paramètre de quantification Q. Le pouvoir de filtrage passe-bas du filtre passe-bas TP utilisé est en l'occurrence augmenté avec la diminution de la résolution des teintes de gris de l'image, donc dans le cas du standard pour visiophones H.263 avec l'augmentation du paramètre de quantification Q. La courbe de commande ci-après s'est par exemple avérée avantageuse pour le choix du filtre de lissage des bords KGF à utiliser, laquelle ne limite cependant nullement la validité générale du principe décrit ci- dessus: On n'effectue pas de filtrage lorsque la valeur du paramètre de quantification Q se situe entre 1 et 7. Si la valeur du paramètre de quantification Q se situe entre15 7 et 14, on utilise un filtre passe- bas de pouvoir de filtrage passe-bas faible avec les coefficients suivants, par exemple, le filtre passe-bas faible présentant la structure du filtre illustré sur la figure 6 a: Cl = 0,25 C2 = 0,5 C3 = 0,25 Si la valeur du paramètre de quantification Q se situe entre 14 et 23, on utilise un filtre passe-bas de pouvoir de filtrage passe-bas moyen dont la structure est25 identique au premier filtre passe-bas TP1 représenté sur la figure 6 a. Les trois coefficients du filtre passe- bas de pouvoir de filtrage passe-bas moyen sont avantageusement: Cl = 0,3333 C2 = 0,3333 C3 = 0,3333 Si la valeur du paramètre de quantification Q se situe entre 23 et la valeur maximale 31, on utilise un filtre passe-bas de fort pouvoir de filtrage passe-bas à35 9 coefficients. La structure du filtre passe-bas de forte puissance utilisé correspond à celle du filtre passe-bas représenté sur la figure 6 b, mais est complété par un coefficient de chaque côté. Les coefficients sont par exemple: 5 Ci = 0,015 C2 = 0,063 C3 = 0,129 C4 = 0,188 C5 = 0,211 C6 = 0,188 C7 = 0,129 C8 = 0,063 C9 = 0,015 Il s'avère par ailleurs avantageux d'utiliser une combinaison de la qualité de l'image et du module du vecteur de mouvement BV comme critère de sélection pour le filtre de lissage des bords KGF à utiliser. Dans le cas de ce perfectionnement du procédé, il s'avère avantageux, lorsque la valeur du vecteur de mouvement BV est égale à 0, que le type de filtre à utiliser résultant du choix décrit ci-dessus en fonction de la qualité de l'image soit réduit du pouvoir d'un type de filtre. Cela signifie, par exemple lors du choix d'un filtre passe- bas de pouvoir de filtrage passe-bas moyen25 qui est exclusivement fonction de la qualité de l'image, donc du paramètre de quantification Q. qu'il sera utilisé un filtre passe-bas de faible pouvoir de filtrage passe- bas au lieu d'un filtre passe-bas de pouvoir de filtrage passe-bas moyen lorsque le vecteur de mouvement BV a la30 valeur 0. Si la valeur du vecteur de mouvement BV se situe entre 0 et 10, le choix du filtre de lissage des bords KGF sera effectué exclusivement en fonction du paramètre de quantification Q. Si la valeur du vecteur de mouvement BV est supérieure à 9, le pouvoir de filtrage passe-bas du type du filtre, qui résulte uniquement du paramètre de quantification Q, est augmenté de 1. En utilisant un5 filtre passe-bas de pouvoir de filtrage passe-bas faible en fonction du paramètre de quantification Q, cela signifie qu'il serait utilisé un filtre passe-bas de pouvoir de filtrage passe-bas moyen si le vecteur de mouvement BV est supérieur à 9.10 Pour des bords de deux blocs d'images directement adjacents, il est en outre avantageux d'utiliser pour le filtrage de ces deux bords directement adjacents, le filtre de lissage des bords KGF ayant la propriété de filtrage la plus forte parmi les filtres de lissage des15 bords KGF qui ont été choisis pour les deux bords directement adjacents lorsque les deux bords ont été considérés indépendamment l'un de l'autre. 2737931 REVENDICATIONS 1. Procédé destiné au traitement de blocs d'images (BB) décodés d'un procédé de codage d'images à base de blocs, caractérisé par le fait que on mémorise (1) les blocs d'images (BB) décodés, - on filtre (2) pour chaque bloc d'image (BB), des pixels de bord d'au moins un bord (K) du bloc d'image (BB) par un filtre de lissage de bord (KGF), et - lorsque les blocs d'images (BB) sont différents, on utilise différents filtres de lissage de bords (KGF) pour le filtrage du au moins un bord des différents blocs d'images (BB).15 2. Procédé suivant la revendication 1, caractérisé par le fait que l'on choisit le filtre de lissage de bord (KGF) utilisé en fonction du vecteur de mouvement (BV) d'un bloc d'image (BB), le pouvoir de filtrage du filtre de lissage de bord (KGF) utilisé augmentant avec le20 module du vecteur de mouvement (BV). 3. Procédé suivant la revendication 1, caractérisé par le fait que le filtre de lissage de bord (KGF) utilisé est choisi en fonction de la qualité d'image d'un bloc d'image (BB), le pouvoir de filtrage du filtre de25 lissage des bords (KGF) utilisé augmentant avec la diminution de la qualité d'image du bloc d'image (BB). 4. Procédé suivant l'une des revendications 1 à 3, caractérisé par le fait que l'on utilise un masque filtrant unidimensionnel du filtre de lissage de bord 16 2737931 (KGF), qui est guidé au-dessus de chaque au moins un bord de telle sorte qu'il soit positionné verticalement au- dessus de chaque au moins un bord (K). 5. Procédé suivant l'une des revendications 1 à 4, caractérisé par le fait qu'on utilise un masque filtrant bidimensionnel du filtre de lissage de bord (KGF). 6. Procédé suivant l'une des revendications 1 à 5, caractérisé par le fait que l'on filtre des bords supplémentaires au sein du bloc d'image (BB), qui sont10 adjacents à l'au moins un bord (K). 7. Procédé suivant la revendication 6, caractérisé par le fait que l'on utilise d'autres filtres de lissage de bord (KGF) pour le filtrage de pixels de bord (KIP) à l'intérieur que pour le filtrage du au moins un bord (K)15 du bloc d'image (BB). 8. Procédé suivant l'une des revendications 1 à 7, caractérisé par le fait que, pour deux bords directement adjacents de deux blocs d'images (BB) voisins, on utilise, pour les deux bords des filtres (KGF) de lissage20 de bord, parmi les filtres de lissage de bords (KGF) choisis pour les deux bords de chaque bloc d'image (BB), le filtre de lissage de bords (KGF) qui a la propriété de filtrage maximale.