FR 3090968 A1 20200626 FR 1874094 A 20181224 Description Titre de l'invention : Procédé et programme de détection d'une image fortement pixélisée Domaine technique [0001] La présente invention porte sur un procédé et un programme de détection d'une image présentant une forte pixellisation. Ce procédé et ce programme peuvent être notamment utiles pour le développement des plates-formes de diffusion d'images ou de vidéo, des systèmes d'encodage/décodage d'images ou de vidéo, et à l'édition d'un contenu vidéo. ARRIERE PLAN TECHNOLOGIQUE DE L'INVENTION [0002] La diffusion de contenus vidéo est de plus en plus communément réalisée en diffusant ce contenu sous la forme d'un flux vidéo transmis par l'intermédiaire d'un réseau informatique. [0003] Le contenu de ce flux vidéo est encodé par un dispositif de diffusion pour compresser le contenu et consommer un minimum de la capacité de transmission du réseau. Le flux vidéo reçu par le client distant est décodé de manière à reconstituer les images du contenu d'origine, et ces images sont affichées sur un écran du client (TV connectée, ordinateur, Smartphone). [0004] Il existe une grande variété de méthodes d'encodage du contenu vidéo. Les plus com- munément utilisées sont désignées par la référence H.264 et H.265 et constituent des normes internationales. [0005] Quelle que soit la méthode d'encodage utilisée, celle-ci s'appuie généralement sur la corrélation qui existe entre des pixels spatialement et temporellement voisins. Le traitement spatial de l'image se réalise en appliquant des transformations (par exemple du type cosinus discret) sur des blocs de l'image, par exemple des blocs de huit sur huit pixels, l'ensemble des blocs recouvrant la surface totale de l'image. 100061 La reconstitution (le décodage) des images constituant le flux vidéo du côté du client peut conduire à la création d'artefacts visuels qu'on désigne parfois sous le terme de « pixellisation ». 11 s'agit d'une reconstitution imparfaite de l'image d'origine, ces imperfections pouvant se situer dans des zones de l'image présentant un fort contraste d'intensité, telles que les contours d'objets qui y sont représentés. Un flux contenant des images fortement pixélisées est généralement perçu comme un flux vidéo de mauvaise qualité. 100071 Lorsque l'on développe une plate-forme de diffusion, un système d'encodage, voire même du contenu vidéo, il est utile de pouvoir identifier les images présentant une forte pixellisation sans nécessairement avoir besoin de visualiser chaque image du 2 contenu vidéo. OBJET DE L'INVENTION 100081 Un but de l'invention est de répondre au moins en partie à ce besoin. BREVE DESCRIPTION DE L'INVENTION [0009] En vue de la réalisation de ce but, l'objet de l'invention propose un procédé de détection d'une image présentant une forte pixellisation, l'image étant formée de pixels dont l'intensité est définie en niveaux de gris, le procédé comprenant les étapes suivantes : - appliquer un filtre différentiel sur l'image pour former une image de contours mettant en évidence des variations spatiales d'intensité ; - établir une image d'évaluation en réalisant l'intersection de l'image de contours et d'une image de grille définissant les contours d'une pluralité de pavés ; - analyser l'image d'évaluation pour déterminer l'existence ou non d'une image présentant une forte pixcllisation. [0010] Selon d'autres caractéristiques avantageuses et non limitatives de l'invention, prises seules ou selon toute combinaison techniquement réalisable : Le procédé de détection comprend une étape préalable de transformation d'une image couleur pour fournir l'image dont l'intensité de pixels est définie en niveaux de gris ; l'image est issue de l'encodage et du décodage d'une image de référence, l'encodage et le décodage mettant en oeuvre des transformations sur des blocs d'encodage et de décodage présentant une taille de pixels déterminée ; la pluralité de pavés (Pij) présente une taille identique à la taille des blocs d'encodage et de décodage ; [0011] L'objet de l'invention propose également un programme d'ordinateur comprenant des instructions adaptées à la mise en oeuvre de chacune des étapes du procédé de détection, lorsque ce programme est exécuté sur un ordinateur. Brève description des dessins 100121 D'autres caractéristiques et avantages de l'invention ressortiront de la description détaillée de l'invention qui va suivre en référence aux figures annexées sur lesquels 100131 Ifig.lal 100141 Ifig.lbl Les figures 1 a et lb représentent respectivement deux images tests d'un même objet A; 100151 100161 Les figures 2a et 2h représentent respectivement une image de contours d'une image 3 non fortement pixélisée et d'une image fortement pixélisée ; [0017] [fig.3a] [0018] [fig.3b] Les figures 3a et 3b représentent respectivement une image d'évaluation d'une image non fortement pixélisée et d'une image fortement pixélisée ; [0019] [fig.4] La figure 4 représente une image de grille définissant une pluralité de pavés ; [0020] [fig.5a] La figure 5a représente deux matrices d'évaluation élaborées à partir d'une image d'évaluation ; [0021] [fig.5b] La figure 5h représente deux matrices d'évaluation élaborée à partir d'une image de test. Description des modes de réalisation [0022] Par souci de précision, on précise que l'on désignera dans la présente demande par le terme « image », une image numérique composée de pixels disposés en matrice selon une largeur et une hauteur, cette hauteur et cette largeur étant donc déterminées en nombre de pixels. Chaque pixel est associé à une valeur de couleur ou de niveaux de gris quantifiés. Ainsi, en notant i, j les indices respectifs de largeur et de hauteur d'un pixel, l'intensité, en niveau de gris N, du pixel est généralement noté l[ij[=N. Le traitement d'une image correspond alors à des opérations numériques opérées sur les valeurs I[i, j] de niveaux de gris associées aux pixels d'une image. [0023] L'invention s'applique préférentiellement sur des images formées de pixels dont l'intensité est exprimée en niveaux de gris. Dans le cas où l'on souhaite traiter une image en couleur à l'aide d'un procédé conforme à l'invention, on pourra donc prévoir une étape préalable de transformation de cette image en une image en niveaux de gris. [0024] L'invention s'applique également préférentiellement sur une image décodée, issue d'un encodage et d'un décodage d'une image intialc, cette image décodée étant donc susceptible d'être fortement pixel iséc, comme cela a été présenté en introduction de cette demande. [0025] Les figures la et lb représentent respectivement deux images tests 1 d'un même objet A. La première image test 1 représentée sur la figure la forme une image de référence, et la seconde image test 1 représentée sur la figure lb forme un exemple (fortement exagéré) d'une image présentant une forte pixellisation. L'image de référence peut correspondre à l'image brute (« raw » selon l'expression anglo-saxonne parfois employée), l'image fortement pixélisée est ici une image obtenue après des étapes d'encodage et de décodage de l'image de référence, par exemple à l'aide du protocole H.264 ou H.265. [0026] Au cours d'une première étape du procédé, on applique à l'image test 1, un filtre numérique différentiel pour former une image de contour 2 mettant en évidence les variations spatiales d'intensité des pixels dans l'image. [0027] Les filtres différentiels ou de détection de contours sont bien connus en soi. Ils mettent en oeuvre le calcul d'un gradient de l'intensité de l'image pour chaque pixel et selon deux directions de longueur et de hauteur différentes. On associe ensuite, à chaque pixel de l'image de contour résultante, le module de ce gradient. [0028] Cette étape d'application du filtre différentiel peut également comprendre, après le calcul du module de gradient, l'application d'un seuillagc d'intensité de chaque pixel de manière à former une image en noir et blanc, c'est-à-dire une image formée de pixels dont l'intensité est soit nulle, soit d'intensité maximale. [0029] On a ainsi représenté respectivement sur les figures 2a et 2b, les images de contour 2 des contours B des objets A obtenues à l'issue de cette première étape de filtrage à partir des images tests 1 des figures la et 1 b. [0030] Une étape suivante vise à former une image d'évaluation 4 qui permet de détecter simplement si l'image test 1 d'origine est fortement pixélisée ou non. Pour établir cette image d'évaluation 4, on procède à l'intersection de l'image de contour 2 avec l'image d'une grille 3 définissant les contours d'une pluralité de pavés Pij. [0031] L'image de grille 3 à la même dimension et résolution que l'image test 1. Les pavés Pij recouvrent la surface de l'image de grille sans se recouvrir entre eux, et forment donc un pavage de cette image. Il s'agit typiquement de blocs de pixels rectangulaires ou carrés. Dans l'image de grille 3 de la figure 4, les pixels formant le contour de chaque pavé Pij, c'est-à-dire les pixels constituant le bord périphérique de chaque pavé Pij, sont associés à une valeur d'intensité maximale, les autres pixels sont associés à une valeur nulle. Les pavés Pij étant définis par une grille, ils peuvent être désignés individuellement par des indices i et j de colonnes et de lignes. [0032] En réalisant l'intersection de l'image de grille 3 avec l'image de contours 2, on définit une opération visant à constituer une image d'évaluation 4 pour laquelle pour chaque pixel d'indice i, j présente une intensité définie de la manière suivante : [0033] ni, j] = Ic[i, j] si Ig[i, j] = Nmax, j] =0 si Ig[i, j] = 0 [0034] Où Ic[I, j] est l'intensité du pixel d'indice i, j dans l'image de contour, Ig[i, j] l'intensité du pixel d'indice i, j dans l'image de grille, et Nmax la quantification maximale d'intensité. [0035] En d'autres termes, on ne préserve dans l'image de contours 2 que les pixels situés sur le contour des pavés Pij définis par la grille 3, les autres pixels prenant alors une valeur d'intensité nulle. [0036] On a ainsi représenté sur les figures 3a et 3b, une image d'évaluation 4 obtenue res- pectivement à partir de l'image de référence de la figure la et de l'image fortement pixélisée de la figure 1h. [0037] Préférentiellement, on choisit la taille des pavés Pij en largeur et hauteur de pixels pour qu'ils correspondent aux dimensions et aux emplacements des blocs d'images sur lesquels l'encodeur et le décodeur qui ont servi à produire l'image test 1 applique leurs transformations. Il peut ainsi s'agir de bloc de 8 par 8 pixels ou de 16 par 16 pixels. [0038] Le procédé conforme à la présente description comporte ensuite unc étape d'analyse de l'image d'évaluation 4 pour déterminer si l'image test 1 présente unc forte pixellisation. Cette étape peut être mise en oeuvre par différentes approches. [0039] La première approche exploite les images de contours 4 obtenues à partir de l'image de référence. Pour chaque pavé Pij, on compare le nombre de pixels dont l'intensité est différente de zéro sur l'image d'évaluation 4 de de test (le premier nombre Pt) avec celui de l'image d'évaluation 4 issue de l'image de référence (le deuxième nombre Pref). [0040] Si, pour chaque pavé Pij, le premier nombre de pixels Pt est inférieur à un facteur K1 près, au deuxième nombre Pref, on considère que l'image n'est pas fortement pixélisée et le procédé peut retourner cette information. En d'autres termes, on procède à la comparaison Pt K1 `Pref) on compare le premier nombre de pixels Pt au nombre de pixels Pp composant le contour du pavé Pij. [0043] Ainsi, si pour un pavé Pij, le premier nombre de pixels Pt est supérieur, à un facteur K2 près, au nombre de pixels Pp composant ce pavé (c'est-à-dire si PT > KrPp) alors on détermine que l'image test 1 est fortement pixélisée et le procédé retourne cette information. À nouveau, le facteur K2 peut être choisi selon la sensibilité de détection désirée, et typiquement ce facteur K2 prend une valeur de l'ordre de 0,3. [0044] S'il n'existe pas de pavé Pij qui satisfait cette équation, on considère que l'image test 1 n'est pas fortement pixélisé et le procédé retourne cette information. [0045] On présente maintenant une approche alternative pour mettre en oeuvre l'étape d'analyse de l'image d'évaluation 4. Cette approche alternative est avantageuse en ce qu'elle ne nécessite pas de disposer de l'image d'évaluation 4 de l'image de référence. Elle peut toutefois conduire à de fausses détections d'images fortement pixélisées. [0046] Selon cette approche, on constitue une matrice M pour laquelle chaque entrée Mij correspond au nombre de pixels, pour chaque pavé Pij de l'image d'évaluation 4, dont la valeur d'intensité Nij dépasse un seuil K3 déterminé. Ce seuil K3 peut être ajusté pour rendre plus ou moins sensible la méthode de détection, mais typiquement il correspond à environ 1/3 du nombre total de pixels Pp formant le contour d'un pavé. 6 [0047] On considère qu'une image est fortement pixel isée si la matrice M présente au moins une entrée Mij non nulle entourée d'entrée nulle. Si c'est effectivement le cas le procédé retourne l'information selon laquelle l'image est fortement pixélisée. [0048] On a ainsi représenté sur la figure Sa une première matrice M' dans laquelle chaque entrée M'ij correspond au nombre de pixels dont l'intensité est non nul dans le pavé Pij correspondant de l'image d'évaluation 4 de la figure 3a. Et on a également représenté sur cette figure Sa, la matrice Mij, après avoir appliqué le scuillage K3 à la matrice M'. On a considéré dans cet exemple que chaque pavé était formé d'un bloc de 8*8 pixels (soit un nombre de pixels de contour Pp de 32) et fixé un seuil K3 à une valeur de 11, correspondant sensiblement au tiers de ce nombre de pixels de contour de pavé Pp. On observe que la matrice M est entièrement nulle, et on détecte que de référence, comme cela était attendu, n'est pas fortement pixel iséc. [0049] On a représenté sur la figure 5h, les matrices M' et M en appliquant la même mé- thodologie à partir de l'image test 1 fortement pixélisée de la figure lb, et plus précisément à partir de l'image d'évaluation 4 de la figure 3h formée à partir de cette image test 1. On observe que la matrice M de la figure 5h comporte une zone Z d'entrées Mij entourée de valeur nulle, et on en déduit que l'image test de la figure la est fortement pixélisée. [0050] Cette étape de détection, à l'aide de l'image d'évaluation, d'une image fortement pixélisée peut être mise en oeuvre par d'autres modes de calcul que celles qui viennent d'être présentées. On peut notamment la mettre en oeuvre par l'intermédiaire d'un réseau de neurones, par exemple un simple réseau de neurones convolutionel, ou par tout autre algorithme ou dispositif de classification pouvant être configuré par apprentissage. [0051] Dans ce cas, et dans une phase de configuration préliminaire, on configure les pa- ramètres du dispositif ou de l'algorithme à partir d'images d'évaluation variées dont on a déterminé à l'avance, par exemple par simple analyse visuelle, s'ils correspondent à des images fortement pixélisées ou non. Une fois l'algorithme ou le dispositif paramétré, on peut lui présenter une nouvelle image d'évaluation, pour déterminer si elle est effectivement fortement pixels ou pas. [0052] Le procédé de détection qui vient d'être présenté à vocation à être mis en oeuvre par un ordinateur, par l'intermédiaire d'un programme d'ordinateur constitué d'instructions adaptées pour mettre en oeuvre chacune des étapes de ce procédé. [0053] Bien entendu l'invention n'est pas limitée aux modes de mise en oeuvre décrits et on peut y apporter des variantes de réalisation sans sortir du cadre de l'invention tel que défini par les revendications. [0054] Ainsi, bien que le procédé de détection ait été présenté pour le traitement d'une simple image, on peut répéter l'application du procédé sur une pluralité d'images, voire 7 même sur l'ensemble des images décodées d'un flux vidéo, de manière à procéder à l'évaluation globale de la qualité de cc flux vidéo, et être capable de détecter très rapidement, si ce flux vidéo contient des images fortement pixel isécs et lesquelles. 8 [Revendication 1] [Revendication 2] [Revendication 3] [Revendication 4] [Revendication 5]