Brevet FR2929737A1 — publié le 20091009

Domaine de l'invention La présente invention se rapporte au domaine du codage des images vidéo et concerne un procédé de détection de changement de scène dans une séquence d'images vidéo, plus connu sous l'appellation anglaise de � cut �. Etat de la technique Il est connu de l'art antérieur des procédés de détection de changement de scène ou changement de plan exploitant la corrélation temporelle. La corrélation est basée par exemple sur la somme des différences de luminances 1 o des pixels de mêmes coordonnées, entre deux images successives de la séquence d'images. Cependant, un mouvement dans la séquence risque d'être interprété comme un changement de plan. Une solution à ce problème consiste en l'établissement d'un histogramme sur l'image. Cet histogramme consiste en la mesure du nombre de pixels ou nombre d'occurrences dans l'image pour chaque 15 valeur de luminance. Le repère est défini par les valeurs de luminance, par exemple 0 à 255, sur l'axe des abscisses et par le nombre d'occurrences sur l'axe des ordonnées. La courbe obtenue est comparée à celle de l'image suivante et leur similarité permet de déclarer ou pas un changement de plan. Cette solution n'est cependant pas idéale, en particulier lors de mouvements désordonnés, de 20 disparition ou apparition d'objets dans la scène entrainant l'apparition ou l'occlusion de pixels derrière les objets. L'exploitation de champs de vecteurs mouvement, par exemple la non continuité de mouvement d'une image à l'autre, ne permet pas de détection fiable du fait que les vecteurs mouvement ne sont pas toujours représentatifs du 25 mouvement physique, en particulier lors d'estimation de mouvement par appariement de blocs, � block matching � en anglais, basée sur le taux de corrélation d'un bloc d'une image courante aux blocs d'une fenêtre de recherche d'une image précédente. 30 Exposé de l'invention Un des buts de l'invention est de pallier les inconvénients précités. Elle 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 des pixels non statiques dans une image, par rapport à une image précédente, - calcul du nombre de pixels non statiques dans l'image, - calcul de la variation, en valeur absolue, du nombre de pixels non statiques pour l'image, correspondant à la différence entre le nombre de pixels non statiques de l'image et celui de l'image précédente, - détection d'un pic de la variation, l'image relative à la variation ayant entraîné le pic étant alors la première image de la nouvelle scène. Selon une mise en oeuvre particulière, l'étape de détection de pic 1 o comporte une étape de calcul de la différence de la variation pour une image par rapport à au moins une image précédente et par rapport à au moins une image suivante, la détection étant obtenue si les différences sont supérieures à un seuil prédéterminé. Selon une mise en oeuvre particulière, les calculs de différence sont 15 effectués pour des images notées T-(n-1) à T se trouvant à l'intérieur d'une fenêtre glissante temporelle englobant un nombre prédéfini de n d'images, un pic étant déclaré lorsque la différence, pour une image à une position prédéfinie dans la fenêtre et pour l'image suivante est supérieure à un seuil, pour l'ensemble des images dans la fenêtre autres que ces deux images. 20 Selon une mise en oeuvre particulière, le nombre n est égal à 8, les images de la fenêtre étant les images notées T-7 à T, les deux images étant les images notées T-3 et T-2. Selon une mise en oeuvre particulière, l'image à une position prédéfinie est l'image à la position T-(n/2-1), une luminance moyenne d'image est 25 calculée pour les n/2 premières images de la fenêtre et pour les n/2 dernières images de la fenêtre, ces luminances moyennes sont comparées et le seuil est fonction de ce résultat de comparaison. Selon une mise en oeuvre particulière, l'étape de détection de zones statiques comporte une comparaison d'un bloc de pixels d'une image courante à 3o un bloc colocalisé d'une image précédente, le pixel central du bloc de l'image courante étant déclaré statique si la somme des valeurs absolues des différences de luminances de pixels concernant les voisins du pixel central est inférieure à un seuil prédéterminé. Selon une mise en oeuvre particulière, le bloc de pixels est un bloc de 3x3 pixels et le pixel au centre est déclaré statique si la somme des valeurs absolues des différences effectuée pour les pixels autour du pixel au centre est inférieure à un seuil prédéterminé. Selon une mise en oeuvre particulière, la séquence d'images vidéo est une séquence d'images entrelacées et la détection de zones statiques est effectuée sur des trames de même parité. Le procédé réalise une détection de zones fixes dans l'image, zones fixes par rapport à une image précédente. Un calcul du nombre de pixels n'appartenant pas à une zone fixe est effectué pour chaque image puis de la variation de ce nombre d'une image à l'autre. Une détection d'un pic de cette variation en fonction du temps, c'est-à-dire de l'augmentation ou diminution, au delà d'un certain seuil, du nombre de pixels des zones non fixes, étudiée sur plusieurs images de la séquence, permet de déterminer un changement de plan. Un avantage de cette solution est de s'affranchir du mouvement dans la scène et donc de donner des résultats plus fiables. Ce procédé est basé sur le fait que, lors d'un changement de scène, on ne retrouve généralement pas le même nombre de pixels de zones fixes ou 2 0 non fixes. 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 25 faite en regard des figures annexées qui représentent : - la figure 1, un circuit de détection selon l'invention, - la figure 2, des fenêtres de corrélation d'une image T et T-1, - la figure 3, la variation dans le temps du nombre de pixels non statiques. 30 Description détaillée des modes de réalisation de l'invention La figure 1 représente, de manière schématique, les différents éléments d'un circuit mettant en oeuvre le procédé. La séquence d'images vidéo considérée est, dans l'exemple, une succession d'images progressives. L'entrée vidéo du circuit, qui reçoit ces images vidéo, est reliée à un circuit de retard image référencé 1 qui mémorise une image de la séquence pour la transmettre avec un retard image sur une deuxième entrée d'un circuit de détection de pixels non statiques 2. L'entrée vidéo est également reliée directement à la deuxième entrée du circuit de détection de pixels non statiques 2. Ce circuit réalise une détection des pixels dits non statiques dans l'image courante, détection qui se fait entre l'image vidéo courante à l'instant T et l'image précédente de la séquence à l'instant T-1. La figure 2 symbolise en pointillés une image courante référencée 21 à l'instant T et une image précédente référencée 22 à l'instant T-1. Le traitement de ces images est effectué en exploitant des fenêtres de dimensions 3x3 pixels, le pixel au centre de la fenêtre étant le pixel courant P. Pour une fenêtre 23 de l'image 21, une fenêtre colocalisée 24 de l'image 22, c'est-à-dire de même emplacement ou coordonnées, est considérée. La somme des valeurs absolues des différences de luminances entre ces deux fenêtres, pixel à pixel, est effectuée pour les 8 pixels autour du pixel central. Cette somme ou SAD, acronyme de l'appellation anglaise Sum of Absolute Differences, est divisée par 8 pour fournir une valeur moyenne pour la fenêtre courante de l'image courante T. Si cette valeur est inférieure à un seuil prédéterminé S1, valeur transmise sur une troisième entrée du circuit de détection de pixels non statiques 2, le point courant P est étiqueté comme appartenant à une zone fixe, comme pixel statique. Dans le cas contraire, il est considéré appartenir à une zone non fixe, comme pixel non statique. Cette opération est réalisée sur chacun des pixels de l'image courante. Une étiquette � statique � ou � non statique � est ainsi attribuée à chacun de ces pixels de l'image. L'information pixel non statique ou PNS correspond par exemple à la valeur binaire unité et l'information pixel statique à la valeur binaire zéro. La sortie du circuit de détection de pixels non statiques 2 est reliée à l'entrée d'un accumulateur 3 pour lui transmettre cette information binaire. Ce dernier reçoit, sur une seconde entrée, un signal de synchronisation image ou remise à zéro image, permettant de remettre à zéro le contenu de l'accumulateur lors du traitement d'une nouvelle image. Ainsi, au fur et à mesure du traitement des pixels de l'image courante, une accumulation du nombre de pixels déclarés non statiques est effectuée par cet accumulateur pour donner, en fin de traitement de l'image, un nombre de pixels non statiques NPNS pour l'image complète. L'information relative au nombre de pixels non statiques dans l'image courante T sortant de l'accumulateur 3, NPNS_T, est transmise sur une première entrée d'un registre 4 et sur une première entrée d'un soustracteur 5. La deuxième entrée du registre 4 reçoit un signal de synchronisation image qui mémorise dans le registre, à chaque nouvelle image, l'information NPNS_T. L'information mémorisée de l'image précédente est, lors de cet enregistrement, 1 o extraite de ce registre pour être transmise sur la deuxième entrée du soustracteur 5. Ainsi, en fin de traitement de l'image T, le soustracteur reçoit sur sa première entrée l'information NPNS_T provenant de l'accumulateur et sur sa deuxième entrée l'information NPNS_T-1 relative à l'image précédente provenant du registre. Le signal en sortie du soustracteur correspond à la variation du 15 nombre de pixels non statiques, de l'image T-1 à l'image T, attribuée à l'image T et appelé VAR_NPNS_T ou plus simplement V(T). Ce signal est transmis à un premier registre d'une succession de 8 registres élémentaires ou mémoires reliés en série pour former un registre à décalage 8 cellules référencé 6, déclenché par l'horloge image. En sortie de 20 chaque registre élémentaire est ainsi disponible l'information VAR_NPNS pour les images T-7 à T. Ces informations de variation du nombre de pixels non statiques sur les 8 images sont transmises à un circuit de comparaison et de décision référencé 7. La figure 3 représente un ensemble de chronogrammes relatifs à 25 une succession d'images de la séquence d'images vidéo. Sur la première ligne est représentée une séquence d'images de l'image T-9 jusqu'à l'image courante T. La deuxième ligne représente le nombre NPNS de pixels non statiques pour chaque image, depuis l'image T-9 jusqu'à l'image T, la troisième ligne la variation non signée de ce nombre, VAR_NPNS, d'une image à l'autre, pour ces images, 30 qui est en fait la valeur absolue du gradient de NPNS d'une image à l'autre. La dernière ligne définit un premier plan ou séquence A jusqu'à l'image T-4 et un deuxième plan ou séquence B à partir de l'image T-3. V(T) = VAR_NPNS_T = Igrad (NPNS)I Dans l'exemple représenté sur cette figure 3, le nombre de pixels non statiques évolue faiblement de l'image T-9 à l'image T-4 qui correspondent à une même séquence A puis de l'image T-2 à T qui correspondent à une même séquence B, l'image T-2 prenant en compte, pour le calcul de ce nombre, l'image T-3 appartenant à la même séquence B. Ce nombre NPNS évolue fortement pour l'image T-3, traduisant un changement de plan entre l'image T-4 et l'image T-3, images prises en compte pour le calcul de ce nombre NPNS de l'image T-3. On notera que si par exemple la séquence A donne un petit nombre de pixels statiques et si par hasard la séquence B donne, dans la séquence, ce même 1 o nombre, les chances pour que les pixels statiques de la deuxième séquence correspondent, quant à leur position dans l'image, à ceux de la première séquence sont très faibles et ces pixels statiques seront donc considérés comme non statiques pour la première image T-3 de la séquence B. L'évolution de la variation du nombre de pixels non statiques dans la 15 séquence se traduit donc par une forte valeur du signal V(T-3), qui représente la variation du nombre de pixels non statiques entre l'image T-4 et l'image T-3, attribuée à T-3, et une forte valeur du signal V(T-2), qui représente la variation du nombre de pixels non statiques, entre l'image T-3 et l'image T-2, attribuée à T-2. Le signal attribué à l'image T-1, V(T-1), retombe à une faible valeur, NPNS(T-2) 20 étant peu différent de NPNS(T-1). On constate donc, lors d'un changement de scène, un pic du signal VAR_NPNS, ce signal étant voisin de zéro avant le changement de scène et revenant à une valeur voisine de zéro après le changement de scène. Ceci du fait qu'il s'agit d'une variation de signal. Le circuit de comparaison et décision 7 qui reçoit les signaux V(T) à 25 V(T-7) effectue une comparaison du signal V(T-3) avec V(T-7), V(T-6), V(T-5) et V(T-4) puis avec V(T-1), V(T). Il effectue également une comparaison du signal V(T-2) avec ces mêmes valeurs. Si les différences correspondant à ces 12 comparaisons sont toutes supérieures à un seuil prédéterminé S2, cela signifie qu'un pic sur la variation du nombre de pixels non statiques a été détecté, réparti 30 sur les images T-3 et T-2, et qu'il y a donc un changement de scène entre ces images T-4 et T-3. La 3ème ligne de la figure 3 montre bien que si les 12 différences sont supérieures à un seuil, cela se traduit par une valeur de V(T-3) et de V(T-2) supérieure d'au moins ce seuil à chacune des valeurs V(T) des autres images, ce qui correspond à une différence du nombre de pixels non statiques, pour l'image T-3, par rapport aux autres images. Dans l'exemple, la fenêtre de traitement considérée est de 8 images, s'étalant de T-7 à T, la probabilité de changement de plan étant calculée au niveau de l'image T-4 et T-3, permettant de prendre en compte le scénario antérieur et postérieur à cet hypothétique changement de plan. Il est bien sûr tout aussi envisageable, sans sortir du domaine de l'invention, de considérer des fenêtres de taille différente avec des positions de changement de scène dans la fenêtre, pour le calcul des différences, en des points différents. L'exploitation de l'information de variation plutôt que celle du nombre de pixels non statiques permet de s'affranchir de la valeur du nombre de pixels non statiques, c'est-à-dire, dans une certaine mesure, du mouvement. Un mouvement homogène dans une séquence, quelle que soit la valeur trouvée du nombre de pixels non statiques, donnera une information de variation de faible valeur. Une amélioration de ce procédé est proposée ci-dessous et concerne les circuits référencés 8 à 13 de la figure 1. La détection de pixels non statiques est plus délicate pour des séquences avec peu de luminosité. En effet, les plages de variation des valeurs de luminance étant faibles, il est plus délicat de distinguer les zones statiques des zones non statiques par corrélation de luminance des fenêtres. Pour conforter la décision de changement de scène, pour la rendre plus fiable, le procédé effectue une analyse de la luminance sur les images de la fenêtre de traitement. La source vidéo à l'entrée du dispositif est transmise à un circuit d'extraction des valeurs de luminance de l'image référencé 8 puis à un accumulateur 9 qui effectue la somme de ces valeurs de luminance sur l'image, une entrée de mise à zéro image permettant de vider l'accumulateur pour le traitement de l'image suivante. Cette entrée est alimentée par le signal de synchronisation image. L'information en sortie de l'accumulateur 9 est transmise à une succession de 8 registres élémentaires en série formant un registre à décalage 8 cellules 10. Les signaux de synchronisation image permettent de transférer ces informations d'un registre à l'autre. Les sorties des 4 premiers registres élémentaires contenant les informations de luminance pour les images T-3 à T sont transmises à un circuit de moyennage 11 qui fournit la moyenne des valeurs de luminances sur ces 4 images. Les sorties des 4 derniers registres élémentaires contenant les informations de luminance pour les images T-4 à T-7 sont transmises à un circuit de moyennage 12 qui fournit la moyenne des valeurs de luminance sur ces 4 images. Se référant à la figure 3, il s'agit donc, pour ces signaux en sortie des circuits 11 et 12, d'une information de luminance qui est la moyenne relative 1 o aux 4 images de la séquence A, avant le changement de scène qui a lieu, dans l'hypothèse de calcul, à partir de l'image T-3, et d'une information de luminance qui est la moyenne relative aux 4 images de la séquence B, après le changement de scène. Les sorties des deux circuits de moyennage 11 et 12 sont 15 transmises à un soustracteur 13 qui soustrait une valeur à l'autre pour transmettre le résultat à une entrée du circuit de comparaison et décision 7. Cette information de différence de luminance moyenne est exploitée par le circuit de comparaison et décision pour définir les seuils. Si les valeurs de luminance moyennes sont bien différentes, cela conforte la décision de changement de 20 scène. Si les valeurs de luminance moyennes sont voisines, le seuil est modifié. Il s'agit du seuil S2 relatif aux 12 comparaisons permettant de détecter un pic, valeur transmise sur une entrée du circuit de comparaison et décision 7 et donc modifiée par ce circuit en fonction de cette différence de luminance moyenne. Il est bien sûr tout à fait envisageable de réaliser cette moyenne sur 25 un nombre différent d'images. Les images prises en compte, pour une moyenne, doivent être exclusivement, soit antérieures, soit postérieures à la frontière testée, celle séparant l'image T-4 et T-3 dans l'exemple de la figure 3. Dans le cas ou la séquence vidéo est constituée d'une succession 3o de trames entrelacées (field en anglais), les retards images sont remplacés par des retards deux trames afin d'effectuer une corrélation entre deux trames de même parité. La détection de pixels non statiques se fait alors entre trames de même parité et non entre images successives (frames en anglais) dans le cas d'une séquence progressive. Les modifications apportées au schéma de la figure 1 sont à la portée de l'homme du métier et ne sont donc pas précisées ici. Les applications concernent le codage vidéo, par exemple les 5 commutations de flux vidéo. 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 des pixels non statiques (2) dans une image, par rapport à une image précédente, - calcul du nombre de pixels non statiques (3) dans l'image, - calcul de la variation (5), en valeur absolue, du nombre de pixels non 1 o statiques pour l'image, correspondant à la différence entre le nombre de pixels non statiques de l'image et celui de l'image précédente, - détection d'un pic de la variation (7), l'image relative à la variation ayant entraîné le pic étant alors la première image de la nouvelle scène. 15 2. Procédé selon la revendication 1, caractérisé en ce que l'étape de détection de pic (7) comporte une étape de calcul de la différence de la variation pour une image par rapport à au moins une image précédente et par rapport à au moins une image suivante, la détection étant obtenue si les différences sont supérieures à un seuil prédéterminé. 20 3. Procédé selon la revendication 2, caractérisé en ce que les calculs de différence (7) sont effectués pour des images notées T-(n-1) à T se trouvant à l'intérieur d'une fenêtre glissante temporelle englobant un nombre prédéfini de n d'images, un pic étant déclaré lorsque la différence, pour une image à une position 25 prédéfinie dans la fenêtre et pour l'image suivante est supérieure à un seuil, pour l'ensemble des images dans la fenêtre autres que ces deux images. 4. Procédé selon la revendication 3, caractérisé en ce que le nombre n est égal à 8, les images de la fenêtre étant les images notées T-7 à T, les deux 30 images étant les images notées T-3 et T-2. 5. Procédé selon la revendication 3, caractérisé en ce que l'image à une position prédéfinie est l'image à la position T-(n/2-1), en ce qu'une luminancemoyenne d'image est calculée (8, 9, 10) pour les n/2 premières images de la fenêtre et pour les n/2 dernières images de la fenêtre, en ce que ces luminances moyennes sont comparées (13) et en ce que le seuil est fonction de ce résultat de comparaison. 6. Procédé selon la revendication 1, caractérisé en ce que l'étape de détection de zones statiques comporte une comparaison (2) d'un bloc de pixels d'une image courante à un bloc colocalisé d'une image précédente et en ce que le pixel central du bloc de l'image courante est déclaré statique si la somme des 1 o valeurs absolues des différences de luminances de pixels concernant les voisins du pixel central est inférieure à un seuil prédéterminé. 7. Procédé selon la revendication 6, caractérisé en ce que le bloc de pixels est un bloc de 3x3 pixels et en ce que le pixel au centre est déclaré statique si la 15 somme des valeurs absolues des différences effectuée pour les pixels autour du pixel au centre est inférieure à un seuil prédéterminé. 8. Procédé selon la revendication 1, caractérisé en ce que la séquence d'images vidéo est une séquence d'images entrelacées et en ce que la détection 20 de zones statiques est effectuée sur des trames de même parité.