Brevet FR2929736A1 — publié le 20091009

Domaine de l'invention La présente invention concerne un procédé de détection de changement de contenu vidéo dans une séquence vidéo. Elle se rapporte au domaine du traitement d'image ou de vidéo exploitant la corrélation temporelle et vise plus particulièrement la détection de changement de scène. Etat de la technique Il est connu de l'art antérieur des procédés de détection de rupture 1 o de plan, � cut � en langue anglaise, qui exploitent l'intégralité des pixels des images de la séquence vidéo. La détection de rupture de plan se fait en général à partir de l'analyse d'un signal de luminance. Une solution simple d'implémentation consiste à comparer deux histogrammes successifs de la séquence vidéo et à déclarer un 15 � cut � lorsque ces deux histogrammes ne sont pas suffisamment corrélés. Cette information de � cut � est utilisée dans les traitements vidéo exploitant la récurrence temporelle, tels que réinitialisation de paramètres d'encodeur vidéo, mise à jour de paramètres du traitement vidéo, annulation du traitement à appliquer à la vidéo... 20 Lorsque seule une partie de l'image vidéo varie brutalement, par exemple lors de l'apparition d'un texte ou d'un logo, d'une image dans l'image ou PiP, acronyme de l'expression anglaise picture in picture, d'un flash local..., il peut être difficile de détecter un tel changement, en particulier lorsque le nombre de pixels modifiés est faible par rapport au nombre total de pixels de l'image, la 25 corrélation entre images successives restant alors forte. En effet, une rupture de plan est détectée si le contenu de 2 images successives est très différent, la détection se basant sur des critères de comparaison d'images. Considérons le cas particulier de l'apparition d'un logo sur une vidéo. Si ce logo est petit ou diffère peu de la vidéo, il est possible que globalement, la rupture ne soit pas détectée : Ceci 30 n'est pas très important dans la majorité des traitements que l'on peut appliquer à la vidéo. Cependant, si le traitement vidéo requiert l'exploitation de la corrélation temporelle, une dégradation de l'image peut se produire notamment, dans notre exemple, à l'emplacement du logo. Une solution consiste à découper l'image en zones, par exemple des rectangles, et de détecter les variations dans chaque zone. Ceci permet d'affiner le résultat qui reste cependant très aléatoire du fait que la découpe est arbitraire. Exposé de l'invention Un des buts de l'invention est de pallier les inconvénients précités. A cet effet, l'invention a pour objet un procédé de détection de changement de scène dans une séquence d'images vidéo, caractérisé en ce qu'il comporte les étapes suivantes : - détection de zones statiques dans l'image courante, - calcul d'un histogramme pour les zones non statiques de l'image courante - calcul de différence entre l'histogramme de l'image courante et l'histogramme d'au moins une image précédente, 15 - déclaration de changement de scène si la différence est supérieure à un seuil prédéterminé. Selon une mise en oeuvre particulière, le seuil est adaptatif et est prédéterminé, pour une image, en fonction du pourcentage de pixels statiques constituant les zones statiques de l'image. 20 Selon une mise en oeuvre particulière, la détection de zones statiques comprend les étapes suivantes : - découpage des images en blocs de pixels, - calcul de la somme SADbloc des valeurs absolues des différences des pixels correspondants d'un bloc de pixels courant d'une image courante à un 25 bloc colocalisé d'une image précédente, - comparaison de la somme SADbloc à un seuil prédéterminé et attribution de l'étiquette statique aux pixels du bloc si elle est inférieur au seuil prédéterminé. Selon une mise en oeuvre particulière, l'étape de différence 30 d'histogrammes comprend les étapes suivantes : - découpe de la zone de variation de luminance en plages de luminance, 10 - calcul d'un histogramme des occurrences de l'image courante en fonction des plages de luminance, - calcul de la somme SADhisto, sur l'ensemble des plages, des valeurs absolues des différences des occurrences d'une plage de l'image courante et de la plage correspondante d'une image précédente. Selon une mise en oeuvre particulière, l'étape de différence d'histogrammes comprend les étapes suivantes : - découpe de la zone de variation de luminance en plages de luminance, - calcul d'un histogramme des occurrences de l'image courante en fonction des plages de luminance, - calcul de différence, pour chacune des plages de luminance de l'image courante, des occurrences avec la plage correspondante d'une image précédente, la plage précédente et la plage suivante, et sélection de la différence correspondant à la valeur minimale, - calcul de la somme SADhisto, sur l'ensemble des plages des valeurs de différences sélectionnées. L'invention propose de détecter des changements rapides du contenu vidéo et ce, le plus indépendamment possible de la taille et de la forme de la zone ayant varié. Pour ce faire, les zones dites statiques c'est-à-dire les zones ayant les mêmes niveaux vidéo ou des niveaux voisins sur une série d'images consécutives, les zones fortement corrélées, sont éliminées du test de comparaison, Les histogrammes, comparés pour détecter une coupure de scène, sont ainsi � concentrés � sur les zones de l'image non statiques. Le seuil de détection du changement de plan peut également être indexé sur le nombre de pixels restant après élimination des zones statiques. La précision de détection en est ainsi améliorée. Aucune découpe préliminaire de l'image n'est nécessaire. Grâce à l'invention, une rupture de plan dans une séquence vidéo peut être définie aussi sûrement sur 25% de l'image, les 75 autres pourcents étant statiques, que si la même image avait été zoomée sur toute l'image. Brève description des dessins D'autres particularités et avantages de l'invention apparaitront clairement dans la description suivante donnée à titre d'exemple non limitatif, et faite en regard des figures annexées qui représentent : - la figure 1, un organigramme représentant les différentes étapes du procédé de détection, - la figure 2, des blocs d'images pour le calcul des zones statiques, - la figure 3, des opérations morphologiques sur l'image - la figure 4, des histogrammes de luminance. Description détaillée des modes de réalisation de l'invention La figure 1 représente les différentes étapes du procédé de détection de changement de plan. Une image courante à l'instant T de la séquence d'images vidéo est reçue à l'étape 1. Cette image T est transmise à l'étape 2, pour une mémorisation, ainsi qu'à l'étape 3 pour un calcul des zones statiques de l'image. Cette étape 3 reçoit également l'image précédemment mémorisée T-1 provenant de l'étape 2. Elle réalise un calcul de zones statiques dans l'image T, zones définies par une image ou carte binaire. L'image courante T est transmise avec sa carte binaire à l'étape suivante pour un calcul, lors de cette étape 4, d'un histogramme H(T) des valeurs de luminance pour les seules zones statiques de l'image courante T. Cet histogramme est mémorisé à l'étape 5 en même temps qu'il est transmis à l'étape 6. L'étape 6 reçoit donc simultanément l'histogramme H(T) de l'image T et l'histogramme H(T-1) de l'image précédente T-1, mémorisé à l'étape 5. Un calcul de différence d'histogrammes est effectué lors de cette étape pour fournir une valeur de différence SADhisto. Cette valeur est transmise à une étape de comparaison 7. Si la valeur de différence SADhisto est supérieure à un seuil prédéfini S, l'étape suivante est l'étape 8 qui déclare une détection de rupture de plan. Dans le cas contraire, l'étape suivante est l'étape 9 qui incrémente la valeur T pour la transmettre à l'étape 1 qui va alors chercher l'image T+1 qui devient l'image courante pour une nouvelle itération de l'image courante. L'étape 8 reboucle sur l'étape 1, pour le traitement d'une nouvelle image de la séquence, par l'intermédiaire de l'étape 9 d'incrémentation de T. La détection de zones statiques, objet de l'étape 3, permet de classer chaque pixel de chaque image dans la catégorie � statique � ou � non statique �. Ce label est obtenu après un calcul de différence entre l'image courante et l'image précédente et ce pour chaque pixel ou groupe de pixels. La figure 2 illustre un exemple de détection de zones statiques. Le principe est basé sur le calcul d'une différence image par bloc. Un bloc courant de 2x2 pixels, référencé 12, d'une image courante à l'instant T, référencée 11, 1 o est comparé à son bloc colocalisé, référencé 14, dans l'image précédente à l'instant T-1, référencée 13. Un calcul de différence de luminance est effectué pour le bloc courant, par exemple une somme, sur les 4 pixels, des valeurs absolues des différences. Ainsi pour un pixel k et pour une luminance Lk,T de ce pixel de l'image T, l'expression SADb,oc est calculée, qui représente la différence 15 de luminance pour un bloc : 3 SADbloe =L k=0Lk,T ù Lk,Tù1 FdPixel Si la différence est inférieure ou égale à un seuil prédéterminé, le bloc est déclaré statique. Dans le cas contraire, il est déclaré non statique. Le 20 seuil peut être fonction d'une estimation de bruit vidéo. Il peut également être prédéfini, par exemple égal à 25. Ce calcul est effectué pour l'ensemble des blocs de l'image courante, fournissant une carte binaire de blocs de pixels statiques et non statiques. Des opérations morphologiques classiques sont ensuite mises en 25 oeuvre pour débruiter ou filtrer la carte binaire, par exemple éliminer les blocs statiques ou non statiques isolés, éroder les bords des zones statiques ou non statiques... ceci afin d'améliorer la segmentation en zones. La figure 3 représente une carte binaire 15 d'une image vidéo 30 obtenue après le calcul de détection des zones statiques et avant les opérations morphologiques. Les blocs statiques, par exemple définis par la valeur unité, sont en grisé sur la figure. Une fenêtre glissante de traitement 16, de dimensions 3x3 pixels, est utilisée pour ces opérations de filtrage. Ainsi, une érosion est réalisée à partir de cette fenêtre de 3x3 blocs centrée sur un bloc courant de la carte binaire. Si le nombre de blocs statiques dans la fenêtre est inférieur à un seuil, par exemple 4, le bloc courant est forcé à zéro, c'est-à-dire déclaré non statique. La fenêtre est déplacée dans l'image, par incrémentation d'un bloc, sur une ligne de blocs complète, puis sur la ligne de blocs suivante après déplacement vertical d'un bloc. Une dilatation est ensuite réalisée en utilisant également une fenêtre de 3x3 blocs centrée sur un bloc courant. Si le nombre de blocs non statiques, dans la fenêtre, est inférieur à un seuil, par exemple 4, alors le bloc courant est forcé à un, c'est à dire déclaré statique. La fenêtre est déplacée sur toute l'image de la même manière que précédemment. La deuxième image référencée 17 représente un exemple de la carte binaire après ces opérations d'érosion et de dilatation. La récurrence temporelle de ces étiquettes � statique �, � non statique �, est ensuite analysée afin de rendre plus robuste l'analyse, toujours lors de l'étape 3 de calcul des zones statiques. Ainsi, un filtrage temporel est mis en oeuvre. Par exemple, un bloc est validé statique s'il est effectivement déclaré statique sur au moins trois images successives. Pour ce faire, les cartes binaires des images précédentes exploitées doivent bien sûr être mémorisées. L'image obtenue en fin d'étape 3 est une image binaire de blocs ou pixels statiques/non statiques, les 4 pixels d'un bloc statique étant déclarés statiques. La deuxième phase de traitement concerne les histogrammes des images relatifs aux seuls blocs ou pixels non statiques de l'image. La figure 4 représente un histogramme de l'image T et un histogramme de l'image T-1. L'ensemble des niveaux de gris, par exemple codés sur 8 bits, est découpé en n plages de même largeur, ici 8 plages de 32 niveaux de luminance par plage. Le nombre de pixels non statiques de l'image T ayant une valeur de luminance comprise dans la plage i en abscisse, NT(i), est porté en ordonnées. Un histogramme est obtenu donnant les occurrences NT(i) pour chacune des plages i de luminance. Cet histogramme est comparé a celui mémorisé de l'image T-1, défini par les occurrences NT_i(i) pour chacune des n plages i. La somme des différences des valeurs absolues SADhisto donne un critère de différence des histogrammes : n SADh,to = NT (i) ù NT_1(i ) i=l NT(i) est le nombre d'occurrences relatives aux pixels non statiques, pour une plage de luminance i de l'image T, n est le nombre de plages sur lesquelles s'étale la luminance. Cette valeur calculée à l'étape 6 est comparée à un seuil S à l'étape 7. Si elle est supérieure à ce seuil, l'étape suivante est l'étape 8 qui déclare une rupture de plan dans la séquence. Dans le cas contraire, l'étape suivante est l'étape 9 qui incrémente T pour le traitement de l'image suivante à l'étape 1. Selon une variante, le nombre d'occurrences d'une image T relatif à une plage i est comparé au nombre d'occurrences de l'image précédente T-1 relatif à la même plage i, au nombre relatif à la plage précédente i-1 et au nombre relatif à la plage suivante i+1. La valeur minimale trouvée est celle prise en compte pour le calcul des différences d'occurrences de l'étape 6. Ainsi, une variation homogène de luminance d'une image à l'autre, du fait d'un changement d'éclairage de la scène ou d'objets, peut être atténuée lors du calcul des différences de luminance. Elle ne correspond pas, en effet, à un changement de scène. Une autre variante consiste à indexer le seuil de détermination de rupture de plan sur le nombre total de pixels ayant été déclarés statiques. Un histogramme est calculé pour les pixels non statiques d'une image T de L lignes de C pixels soit une image de LxC pixels. Le seuil de détection classique de changement de scène, c'est-à-dire en considérant l'image dans sa totalité, est appelé S. Le nombre de pixels non statiques de l'image binaire étant PNS, le seuil indexé S', pour la détection de changement de scène, est pris égal à : s'=si-L.0 Bien sûr, il est judicieux de fixer un nombre minimum de pixels non statiques en dessous duquel la détection de rupture de plan n'est pas validée, le nombre maximum, tous les pixels de l'image, correspondant quant à lui à une détection de rupture de plan classique. Par exemple, si ce nombre minimum est une valeur S", lorsque la valeur PNS est inférieure à ce seuil S", aucun changement de scène n'est déclaré, quelque soit la valeur des histogrammes. S" est par exemple de l'ordre du 1/10000 ième de la valeur LxC. 1 o Le type de traitement vidéo de la séquence d'images pouvant exploiter l'invention est celui utilisant le mouvement d'une image à l'autre. Il s'agit par exemple du désentrelacement des images compensé en mouvement, de conversion haute de rythme vidéo aussi appelée up-conversion en anglais, de réduction de bruit compensé en mouvement...Tous ces traitements exploitent les 15 vecteurs mouvement du champ de vecteurs mouvement et il est nécessaire d'avoir un certain degré de confiance dans ce champ de vecteurs, confiance donnée par l'information de non détection de changement de scène. Lors de l'apparition brutale et locale d'un évènement perturbateur, par exemple l'apparition d'un logo ou d'un texte en bas de l'image, la décision de 20 rupture de plan permet de basculer le traitement dans un mode de repli moins critique. Par exemple, l'apparition brutale du logo a pour conséquence de perturber la récurrence temporelle du traitement vidéo, entre autre au niveau de l'estimateur de mouvement. Cela engendre, dans ce cas, des vecteurs de mouvement faux dans la zone du logo et peut se traduire, sur la vidéo traitée, par 25 une forte déformation de ce dernier. Il convient donc dans ce cas de basculer le traitement dans un mode de repli moins critique. Au lieu de réaliser une interpolation à partir du vecteur mouvement du champ, un calcul est effectué par exemple en faisant une moyenne de luminance du pixel courant et du pixel colocalisé de l'image précédente pour réaliser un fondu. En fait, dans ce cas, 30 cela revient à forcer le vecteur mouvement à zéro. Une autre solution consiste à réaliser une extrapolation du vecteur mouvement relatif à l'image précédente au lieu de prendre en compte le vecteur mouvement relatif à l'image courante. 8 Les différentes étapes du procédé ont été décrites pour des images avec balayage de type progressif. Pour des images entrelacées, les histogrammes sont comparés pour des trames de même parité. De même les histogrammes décrits sont relatifs aux valeurs de luminance. Ils peuvent également se référer à des valeurs de chrominance des pixels de l'image. Le procédé de détection de zones statiques exploite un bloc d'image de taille 2x2 pixels. Il est également possible d'utiliser un bloc d'image de taille 3x3 pixels et de considérer le pixel courant au centre du bloc. Ce pixel est déclaré statique si la somme des valeurs absolues des différences des 8 pixels autour du pixel courant, ou bien des 9 pixels du bloc, est inférieure à un seuil. REVENDICATIONS1. Procédé de détection de changement de scène dans une séquence d'images vidéo, caractérisé en ce qu'il comporte les étapes suivantes : - détection de zones statiques (3) dans l'image courante, - calcul d'un histogramme (4) pour les zones non statiques de l'image courante - calcul de différence (6) entre l'histogramme de l'image courante et l'histogramme d'au moins une image précédente, - déclaration de changement de scène (7) si la différence est supérieure à un seuil prédéterminé. 2. Procédé selon la revendication 1, caractérisé en ce que le seuil est adaptatif et est prédéterminé, pour une image, en fonction du pourcentage de pixels statiques constituant les zones statiques de l'image. 3. Procédé selon la revendication 1, caractérisé en ce que la détection de zones statiques comprend les étapes suivantes : - découpage des images en blocs de pixels, - calcul de la somme SADb,oc (3) des valeurs absolues des différences des pixels correspondants d'un bloc de pixels courant (12) d'une image courante (11) à un bloc colocalisé (14) d'une image précédente (13), - comparaison de la somme SADb,oc à un seuil prédéterminé et attribution de l'étiquette statique aux pixels du bloc si elle est inférieur au seuil prédéterminé. 4. Procédé selon la revendication 1, caractérisé en ce que l'étape de différence d'histogrammes comprend les étapes suivantes : -découpe de la zone de variation de luminance en plages de luminance, - calcul d'un histogramme des occurrences de l'image courante en fonction des plages de luminance,- calcul de la somme SADhisto, (6) sur l'ensemble des plages, des valeurs absolues des différences des occurrences d'une plage de l'image courante et de la plage correspondante d'une image précédente. 5. Procédé selon la revendication 1, caractérisé en ce que l'étape de différence d'histogrammes comprend les étapes suivantes : - découpe de la zone de variation de luminance en plages de luminance, - calcul d'un histogramme des occurrences de l'image courante en fonction des plages de luminance, - calcul de différence, pour chacune des plages de luminance de l'image courante, des occurrences avec la plage correspondante d'une image précédente, la plage précédente et la plage suivante, et sélection de la différence correspondant à la valeur minimale, - calcul de la somme SADhisto, (6) sur l'ensemble des plages des valeurs de différences sélectionnées.