Brevet FR2841423A1 — publié le 20031226

DESCRIPTION Domaine technique de ['invention La presente invention concerne un procede de traitement de donnees correspondent a des pixels d'une sequence dtimages numeriques afin de detecter une grille correspondent a des artefacts de bloc, ledit procede comprenant une etape de filtrage passe-haul d'une portion d'une image numerique, destinee a delivrer au moins une carte de pixels de discontinuite, et une etape de detection d'artefacts de bloc a partir de la au moins une carte de pixels de discontinuite. Wile concerne egalement un recepteur de television comprenant un dispositif de traitement mettant en ccuvre le procede de traitement de donnees selon ['invention. Wile trouve notamment son application dans la detection d'artefacts de bloc a l'interieur diune image numerique precedemment codee puis decodee selon une technique de codage par blocs, la norme MPEG (de l'anglais 'Motion Pictures Expert Group] par exemple, et dans la correction des donnees comprises dans ces blocs afin d'attenuer les artefacts visuels causes par la technique de codage par blocs. Etat de la technique anterieure Les artefacts de bloc constituent un probleme crucial pour les techniques de codage par blocs utilisant une transformation discrete du type transformation en cosinus discrete DCT. Ils apparaissent sous la forme de mosaTques de blocs parfois extremement visibles dans les sequences d'images decodees. Ces artefacts vent dus 3 une forte quantification effectuee a la suite de la transformation discrete, cette forte quantification faisant appara^'tre de fortes discontinuites aux frontieres des blocs de codage. La demande de brevet internationale WO 01/20912 (reference interne: PHF99579) decrit un procede permettant de detecter et de localiser une grille correspondent a des artefacts de bloc a l'interieur d'une image numerique decodee. Ce procede autorise la detection de trots tailles de grilles regulieres de 8 x 8, 10 x 8 et 12 x 8 pixels, ces tailles de grilles resultant des principaux formats d'images utilises pour la diffusion de programmes numeriques televises. La grille 8 x 8 correspond a une sequence d'images codees a un format de 576 lignes de 720 pixels, la grille 10-11-llx8, approximee par une grille de 10 x 8, a un codage selon un format de 576 x 540, appele format de codage 3/4, et la grille 12 x 8 a un codage selon un format de 576 x 480, appele format de codage 2/3. La taille de la grille est obtenue en recherchant les distances les plus frequentes entree les artefacts de bloc. Le decalage de la grille par rapport a l'origine (0,0) de ['image est obtenu en recherchant parmi tous les decalages possibles, celui qui correspond a la presence du plus grand nombre d'artefacts de bloc. Expose de ['invention La presente invention a pour but de proposer un procede de traitement de donnees qui soit plus efficace. En effet, le procede de ltetat anterieur de la technique est base sur la recherche et la detection d'artefacts de bloc regulierement espaces. Ainsi, elle ne recherche qu'une taille et de grille 3 I'interieur d'une image et un decalage de la grille par rapport 3 I'origine de ladite image. Or, la grille peut etre distordue 3 I'interieur de 11mage du fait d'un re echantillonnage de ['image. Cette distorsion peut parfois etre connue 3 I'avance, comme dans le cas du format de codage 3/4, ou la largeur de la grille varie selon le motif 10-11-11. Mais la plupart du temps, cette variation est arbitraire car elle est issue, par exemple, diun transcodage de debit, d'une conversion de format dimage sur un recepteur de television 16/9, d'un format 4/3 vers un format 16/9 par exemple, d'un zoom sur une portion d'image, d'une conversion analogique-numerique, voire diune combinaison de ces differentes conversions. Dans ce cas, le procede de l'etat anterieur de la technique va retenir la grille ayant la taille et la position les plus frequentes, et appliquera une etape de post-traitement basee sur cette grille, ce qui risque de rendre la correction partielle voire ineffficace. C'est pourquoi le procede de traitement de donnees selon ['invention est remarquable en ce qu'il comprend une etape de recherche, 311nterieur de la portion dimage, d'un ensemble de lignes de grille, une ligne de grille presentant une densite d'artefacts de bloc substantiellement superieure 3 celles des lignes qui lui vent voisines. Le procede de traitement selon ['invention est base sur une analyse et une repartition des artefacts de bloc par ligne d'une image, et non sur une recherche diune periodicite des distances entre les artefacts de bloc comme le fait ltetat anterieur de la technique. Le resultat est un ensemble de lignes de grille, la distance entre les lignes de grille pouvant etre variable 3 cause diun re-echantillonnage de ['image, et non une grille possedant u ne mail le de tail le fixe. Ainsi, le procede de traitement selon ['invention permet de traiter des images reechantillonnees, sans avoir la connaissance a priori des re echantillonnages possibles. En outre, le risque de fausses detections est diminue, la selection d'artefacts de bloc se faisant par lignes contrairement au procede de lietat anterieur de la technique ou la selection se fait par segments, ce qui ameliore sensiblement l'efficacite du procede. Breve description des dessins Ces aspects de ['invention ainsi que d'autres aspects plus detailles appara^'tront plus clairement grace a la description suivante de plusieurs modes de realisation de ['invention, donnes 3 titre d'exemples non limitatifs et en regard des dessins annexes parmi lesquels: la Fig. 1 est un diagramme representant schematiquement le procede de traitement de donnees selon ['invention, la Fig. 2 illustre deux profies d'artefact pl et p2 que l'on rencontre principalement da ns les images codees selon une technique de codage par blocs, representes da ns le domaine spatial et dans le domaine frequentiel, la Fig. 3 decrit une methode de correction des artefacts de bloc, et la Fig. 4 decrit le principe de la correction d'un artefact de bloc de type p2. Expose detaille d'au moins un mode de realisation de ['invention La presente invention concerne un procede de traitement d'une sequence d'images numeriques codees et decodees selon une technique de codage par blocs. La technique de codage mise en ceuvre est dans notre exemple la norme MPEG basee sur la transformation en cosinus discrete DCT, mais peut etre egalement toute autre norme equivalente, comme les normes H.263 ou H. 26L par exemple. Il faut noter que ce procede pourrait egalement s'appliquer a une image fixe, codee par exemple selon la norme JPEG. Le procede de traitement concerne dans un premier temps la detection d'artefacts de bloc dus a ces techniques de codage par blocs puis aux applications qui en decoulent, comme les techniques de post-traitement ou des mesures de qualite dtimage par exemple. La Fig. 1 illustre schematiquement le procede de traitement selon ['invention. Un tel procede comprend tout d'abord une etape de filtrage passe-haul HPF (110) d'une portion d'une image numerique. Cette portion est. par exemple, une des deux frames d'une image si ['image est constituee de deux frames entrelacees. Dans le mode de realisation prefere, le filtrage passe-haul est un filtrage gradient utilisant le filtre hpl = [1, -1, -4, 8, -4, -1, 1]. Ce filtre est applique horizontalement et verticalement, ligne LGN par ligne, a des pixels de luminance Y(m,n) de la frame FLD d'une image numerique de la sequence, ou m et n vent des entiers, compris entre 1 et M et entre 1 et N respectivement, qui correspondent a la position du pixel dans la frame selon un axe vertical et horizontal respectivement (M = 288 et N = 720 en format de codage 576 x 720 par exemple). Le resultat de ce filtrage est constitue de preference par deux cartes de pixels de discontinuite, une carte horizontale Eh et une carte verticale Ev. Comme la majorite des re echantillonnages se fait dans la direction horizontale, la carte horizontale Eh qui montre les discontinuites verticales peut suffire en premiere approximation. Cependant, le procede de traitement selon ['invention aura une efficacite optimale a partir du traitement des deux cartes Eh et Ev de pixels de discontinuite. D'autres filtres gradients vent possibles comme, par exemple, le filtre passe-haul de la transformation en ondelettes hp2 = [0.045635882765054703, -0.028771763667464256, 0.2956358790397644, 0.5574351615905762, -0.2956358790397644, 0.028771763667464256, 0.045635882765054703] proposee par Antonini et al. dans ['article a Image Coding Using Wavelet Transform >>, IEEE Trans. Image Processing, vol. 1, n. 2, pp. 205-220, Avril 1992. Le fi ltre passeha ul hp l a cependant la particula rite d'etre particulierement simple a implementer et de donner des resultats proches de ceux du filtre hp2. Le procede comprend une etape de determination de discontinuites correspondent a des artefacts de bloc BAD (120). En effet, les discontinuites peuvent aussi bien correspondre a des artefacts de bloc qu'a des contours naturels. La selection des pixels correspondent a des artefacts de bloc est operee en fonction des valeurs des coeffficients filtres Yf correspondent aux pixels de discontinuite, resultant en deux cartes binaires de la position probable des artefacts elementaires de blocs. La Fig. 2 illustre deux profies d'artefact pl et p2 que l'on rencontre principalement dans les images codees selon une technique de codage par blocs, dans le domaine spatial ainsi que leur representation dans le domaine frequentiel apres filtrage avec le filtre hpl ou hp2. Le premier profil pl correspond a un artefact de bloc standard tandis que le second profil p2 correspond a un artefact de bloc present dans une image ayant subi un re-echantillonnage ou un traitement equivalent. Dans le domaine spatial, le premier profil pl est une marche d'escalier simple tandis que le second profil p2 est une double marche d'escalier. Dans le domaine frequentiel, le premier profil pl se traduit par un pic tandis que le second profil p2 se traduit par un dos d'ane. Dans le mode de realisation prefere, l'etape de determination de discontinuites correspondent a des artefacts de bloc comprend une sousetape de detection des contours naturels et des artefacts non visibles. Pour cela, une valeur d'un coeffficient filtre horizontalement Yfh(m,n) et/ou verticalement Yfv(m,n) doit etre comprise entre deux seuils pour pouvoir correspondre a un artefact de bloc. Le premier seuil S1 correspond a un seuil de visibilite tandis que le second seuil correspond a la limite au dela de laquelle le pixel de position (m,n) correspond a un contour nature!. De preference, la condition est prise sur la valeur absolue des coeffficients filtres de la fason suivante: S1 utilise. Pour le filtre hp2, on prend, par exemple, S'1=0.6 et S'2=400, S1=0.5 et S2=20. Il peut etre particulierement avantageux, dans le cas d'applications MPEG4 ou l'acces aux flux de donnees video done au pas de quantification par frame est possible, de faire varier les seuils S1 3 S2 en fonction audit pas de quantification de maniere a ameliorer encore l'effficacite du procede de traitement. Par exemple, les valeurs de seuil vent une fonction linesire du pas de quantification. L'etape de determination de discontinuites correspondent 3 des artefacts de bloc comprend egalement une sous-etape de detection d'artefacts de bloc. Un artefact vertical correspondent au profil pl est detecte en scannant la carte verticale Ev selon une direction horizontale correspondent a la ligne m si la condition suivante est satisfaite: |Yfv(m, n) > |Yfv(m, n + k) avec k = -2,-1,+1,+2. La frontiere de bloc est localisee entre le pixel de position (m,n) et celui de position (m,n+1) si |Y(m, n) - Y(m, n -1) de position (m,n) dans le cas contraire. Un artefact correspondent au profil p2 est detecte si les conditions cumulatives suivantes vent remplies: fl |Yfv(m, n) f2 |Yfv(m, n + 2) avec fl = 6 et f2 = 2 dans le mode de realisation prefere. La frontiere de bloc est localisee entre le pixel de position (m,n-1) et celui de position (m,n). La detection d'un artefact horizontal correspondent 3 chacun des profies pl et p2 est effectuee de fason similaire en scannant la carte horizontale Eh contenant les coeffficients filtres Yfh(m,n) selon une direction verticale correspondent a la colonne n. Dans un autre mode de realisation simple 3 mettre en oeuvre, I'etape de filtrage passe-haul est basee sur un filtrage gradient utilisant le filtre hp3 = [-1, 1]. Ce type de filtre permet de detecter aisement des artefacts de bloc de type standard correspondent au profil pl. L'etape de determination de discontinuite correspondent a des artefacts de bloc comprend alors une sous-etape de detection de contours naturels telle qu'un contour naturel est detecte si: |Yfh(m, n) Y(m,n) variant de 0 3 255 dans notre exemple. L'etape de determination de discontinuite correspondent 3 des artefacts de bloc comprend alors une sous-etape de detection, effectuee sur les valeurs filtrees Yfh et/ou Yfv des pixels a ltexception des contours naturels, un artefact de bloc etant detecte si: |Yfh[i, j] |Yfh[i, j - 11 + I fh l|Yfh[i, j] > |Yfh[i, j + 1] + IYfhl |Yfh| etant la moyenne de la valeur absolue de Yfh sur une frame. Le procede de traitement comprend egalement une etape de recherche (130), a I'interieur de la frame courante, des lignes de pixels presentant une haute densite de segments d'artefacts elementaires de blocs par comparaison a des lignes voisines. Cette etape de recherche comprend tout d'abord une sous-etape de selection SEL (131) destinee a selectionner sur une ligne horizontale ou verticale de la carte de pixels de discontinuite des segments comprenant un nombre d'artefacts de bloc consecutifs superieur a un seuil predetermine SO. En effet, les discontinuites isolees correspondent generalement a un bruit supplementaire alors que les artefacts de bloc, qui vent dus a une quantification grossiere des coefficients DCT font generalement appara^'tre des defauts lineaires ie long des blocs de codage. La valeur SO du seuil predetermine ne doit pas etre trop basse de maniere a ne pas favoriser les fausses detections. Wile ne doit pas non plus etre trop haute de maniere 3 ne pas trop contraindre la selection en diminuant le nombre de segments d'artefacts de bloc elementaires detectes. En pratique, la valeur SO est fixee a 3 pour une frame de 288 lignes de 720 pixels. L'etape de recherche comprend egalement une sous-etape de calcul CAL (132) d'un niveau Nbj d'artefacts de bloc par ligne L', i etant un entier correspondent au numero de la ligne dans la frame. Dans le mode de realisation prefere, le niveau d'artefacts de bloc est obtenu en comptant le nombre de pixels appartenant aux segments d'artefacts elementaires presents sur une ligne. A titre de variante, le niveau d'artefacts de bloc peut etre obtenu en additionnant les valeurs des coeffficients filtres Yf des pixels de discontinuite correspondent aux artefacts elementaires des segments selectionnes presents sur une ligne. L'etape de recherche comprend enfin une sous-etape de determination GLD (133) de ligne de grilles, une ligne etant detectee comme telle par comparaison a un ensemble de lignes qui lui vent voisines. Dans le cas du premier profil pl, une ligne Lj est determinee comme etant une ligne de grille a partir d'une comparaison des niveaux d'artefacts de bloc d'un ligne courante L', de la ligne qui la precede immediatement Lj et de celle qui la suit immediatement Lj+, soit si: Nbj > a (Nbj + Nbj + Nb'+) et Nb' > T1.N OU a est un coeffficient egal dans notre exemple a 2/3 pour la detection de lignes verticales, et a 3/5 pour la detection de lignes horizontales; T1 est un pourcentage minimum d'artefacts sur une ligne permettant de considerer que cette ligne appartient a la grille, pou rcentage pris egal a 1 0% dans notre exemple et N eta nt le nom bre de pixels par lig ne soit 720 dans notre exemple, le produit T1.N etant done egal a 72. Dans le cas du second profil p2, une ligne L'est determinee comme etant une ligne de grille a partir d'une comparaison des niveaux d'artefacts de bloc d'un ligne courante L', et des lignes qui la precedent immediatement Lj 1 et L'2 et qui la suivent immediatement 4+ et L'+2, soit si: Nb' >,8 (Nb'2 + Nbj, + Nbj + Nbj+ + Nbj+2) et Nb' > T2.N ou est un coefficient egal dans notre exemple a 2/3; T2 est un pourcentage minimum d'artefacts sur une ligne, egal a 5% pour la detection de lignes verticales, et 3 20% pour la detection de lignes horizontales. La condition Nbj > T2.N permet de controler la fiabilite du systeme; en augmentant la valeur de T2, le risque de fausses detections diminue. Les etapes du procede de traitement decrites ci-dessus vent appliquees a ['ensemble des lignes de la frame (150). Puis, le procede de traitement comprend une etape de validation GV (140) destinee a determiner si un nombre de lignes de grille est bien present a I'interieur de la frame. Cette etape a lieu une fois que toute ia frame a ete investiguee. L'etape de validation veille a ne pas delivrer de fausses detections de lignes de grille, notamment pour des sequences d'images qui n'auraient pas ete codees puis decodees selon une technique de codage par blocs ou qui auraient ete codees selon ces techniques a des debits elevees. En effet, une fausse detection peut avoir lieu si le nombre de lignes de grille trouvees dans ladite frame est tres falble. Ainsi, I'etape de validation consiste a comparer le nombre total Ntot de lignes de grille trouvees dans la frame, ce nombre Ntot etant egal a la somme du nombre de lignes de grille horizontal et du nombre de lignes de grille vertical, a un seuil predetermine Stot. Dans notre exemple, le nombre Ntot ne totalise que lignes de grilles correspondent au profil pl; il est cependant possible de prendre egalement en compte les lignes de grille correspondent au profil p2 en modifiant la valeur du seuil Stot. Si le nombre total Ntot est superieur au seuil Stot, alors une grille est presente dans la frame. Le seuil predetermine Stot est fonction des dimensions horizontale H et verticale V de la frame, en prenant comme hypotheses qu'une taille maximum de grille est de 16 x 16 pixels et qu'au moins une fraction, prise egale a un tiers dans notre exemple, des grilles doit etre detectee pour que la detection soit valide, autrement dit: Stot=(H+V)/(3xl6). Une premiere application du procede de traitement de donnees selon ['invention est constituee par le post-traitement des images, qui est destine a corriger les artefacts de bloc presents sur les lignes de grille. La correc+.ion depend du profil de l'artefac+. de bloc detec+e. Si l'artefact de bloc correspond au profil pl, la correction decrite a la Fig. 3 est appliquee. La methode de correction d'artefacts de bloc comprend: - une etape de calcul d'une premiere transformation en cosinus discrete DCT1 (31) d'un premier ensemble de N donnees u, situe a gauche ou au dessus de la frontiere de bloc, - une etape de calcul d'une seconde transformation en cosinus discrete DCT1 (32) d'un second ensemble de N donnees v, situe a droite ou au dessous de la frontiere de bloc et adjacent au premier ensemble, - une etape de calcul d'une transformation en cosinus discrete globale DCT2 (33) d'un ensemble de 2N donnees w correspondent a la concatenation CON (30) des premier et second ensembles et fournissant un ensemble de donnees transformees W. - une etape de determination PRED (34) d'une frequence maximale predite kwpred, a 1 0 pa rtir des don nees tra nsformees U et V issues des premiere (3 1) et seconde (32) transformations DCT1, calculee de la fason suivante: kwpred = 2.max( kumax, kvmax) + 2 avec kumax = max( ke{0,...,N-1} / abs(U(k)) > T) kvmax = max( ke{0,...,N-1} / abs(V(k)) > T) ou T est un seuil different de zero. - correction ZER (35) par mise a zero des donnees transformees impaires W issues de la transformation discrete globale dont la frequence est superieure a la frequence maximale predite, fournissant des donnees corrigees W'. - calcul d'une transformation en cosinus discrete inverse IDCT2 (36) des donnees corrigees, fournissant des donnees filtrees w'qui vent ensuite destinees a etre affichees a ltecran. Si l'artefact de bloc correspond au profil p2, la correction doit etre sensiblement modifiee. En effet, la position de la frontiere de bloc doit etre precisee, du fait de la double marche d'escalier correspondent au profil p2 tel qutillustre a la Fig. 4. C'est pourquoi la methode de correction comprend preliminairement une etape de reajustement de la valeur de luminance du pixel intermediaire p(n) destinee a donner a ladite valeur de luminance la valeur de luminance du pixel qui se trouve immediatement a sa droite p(n+1). Les etapes precedemment decrites vent alors appliquees, la frontiere de bloc se trouvant a la gauche du pixel intermediaire, qui fait alors partie du segment v. A titre de variante, il est egalement possible de choisir de faire correspondre la valeur de luminance du pixel intermediaire a celle du pixel de gauche ou encore a celle du pixel ayant la valeur de luminance la plus proche. Dans les deux cas, le positionnement des segments u et v est adapte en consequence afin d'appliquer ltetape de correction. Une deuxieme application du procede de traitement de donnees selon l1nvention est constituee par un dispositif de mesure de niveau de bloc de la frame afin de determiner la qualite des images. Le resultat de cette mesure, appelee egalement metrique, est calcule, par exemple, par frame en additionnant les niveaux d'artefacts de bloc Nb' des differentes lignes de grille. Il est possible d'implementer le procede de traitement selon ['invention au moyen d' un circuit de recepteur de television, ledit circuit eta nt convenablement prog ram me. Un programme d'ordinateur contenu dans une memoire de programmation peut provoquer le circuit a effectuer les differentes operations decrites precedemment en reference a la Fig. 1. Le programme d'ordinateur peut aussi etre charge dans la memoire de programmation par la lecture d'un support de donnees comme, par exemple, un disque qui contient ledit programme. La lecture peut egalement s'effectuer par l'intermediaire d'un reseau de communication comme, par exemple, le reseau internet. Dans ce cas, un fournisseur de service mettra le programme d'ordinateur 3 la disposition des interesses sous la forme d'un signal telechargeable. Aucun signe de reference entre parentheses dans le present texte ne doit etre interprete de fason limitative. Le verbe "comprendre" et ses conjugaisons doivent egalement etre interpretes de fason large, c'est a dire comme n'excluant pas la presence non seulement d'autres elements ou etapes que ceux listes apres ledit verbe, mais aussi d'une pluralite d'elements ou d'etapes dej3 listes apres ledit verbe et precedes du mot "un" ou "une". REYENDICATIONS 1. Procede de traitement de donnees correspondent a des pixels d'une sequence dimages numeriques afin de detecter une grille correspondent a des artefacts de bloc, ledit procede comprenant une etape de filtrage passe-haul (110) d'une portion d'une image numerique, destinee a delivrer au moins une carte de pixels de discontinuite, et une etape de detection (120) d'artefacts de bloc a partir de la au moins une carte de pixels de discontinuite, le procede etant caracterise en ce qutil comprend une etape de recherche (130), a l'interieur de ladite portion, d'un ensemble de lignes de grille, une ligne de grille presentant une densite d'artefacts de bloc substantiellement superieure a celles des lignes qui lui vent voisines. 2. Procede de traitement de donnees selon la revendication 1, dans lequel l'etape de recherche comprend les sous-etapes de: - selection (131), sur une ligne de la portion dimage, de segments comprenant un nombre d'artefacts de bloc consecutifs superieur a un premier seuil predetermine, - calcul (132) d'un niveau d'artefacts de bloc par ligne a partir de valeurs des pixels des segments selectionnes, - determination (133) d'une ligne de grille a partir d'une comparaison des niveaux d'artefacts de bloc diune ligne courante et diun ensemble de lignes qui lui vent voisines. 3. Procede de traitement de donnees selon la revendication 2, comprenant une etape de mesure de qualite d'image, destinee a additionner les niveaux d'artefacts de bloc des differentes lignes de grille pour la portion diimage. 4. Procede de traitement de donnees selon la revendication 1, comprenant en outre une etape de validation (140), destinee a determiner qu'une grille est presente a l'interieur de la portion dimage numerique si le nombre de lignes de grille trouvees dans ladite portion est superieur a un second seuil predetermine. 5. Procede de traitement de donnees selon la revendication 1, dans lequel l'etape de filtrage passe-haul (110) est destinee a delivrer deux cartes de pixels de discontinuite, une carte horizontale et une carte verticale. 6. Procede de traitement de donnees selon la revendication 1, dans lequel ltetape de detection d'artefacts de bloc est destinee a detecter un premier type (pi) d'artefact de bloc et un second type (p2) d'artefact de bloc a partir de la au moins une carte de pixels de discontinuite. 7. Procede de traitement de donnees selon la revendication 6, comprenant une etape de correction destinee a corriger les artefacts de bloc presents sur les lignes de grille selon leur type (pl,p2). 8. Recepteur de television comprenant un dispositif de traitement mettant en ceuvre le procede de traitement de donnees selon la revendication 7, apte a detecter les lignes de grille a l'interieur d'une sequence d'images numeriques et a corriger les artefacts de bloc presents sur lesdites lignes en vue d'afficher sur un ecran audit recepteur des images numeriques corrigees. 9. Produit programme d'ordinateur comprenant un jeu d'instructions qui, lorsqu'elles vent chargees dans un circuit, amene celui-ci a effectuer le procede de traitement dtimages