Brevet FR2931976A1 — publié le 20091204

PROCEDE D'OPTIMISATION DE L'ANALYSE D'UN FLUX VIDEO PAR PRETRAITEMENT DANS LE DOMAINE COMPRESSE ET SYSTEME METTANT EN OEUVRE LE PROCEDE L'invention concerne un procédé d'optimisation de l'analyse de flux vidéo tels que ceux produits avec les standards H.26x et MPEG-1/2/4/AVC/SVC et s'applique par exemple aux domaines de la transmission, de l'analyse, du décodage et du transcodage de vidéo. Elle est notamment utilisée pour paramétrer des outils d'analyse habituellement utilisés. Dans la description, l'expression � premier plan � est utilisée pour désigner le ou les objet(s) mobile(s) d'une séquence vidéo. L'expression � arrière plan � fera quant à elle référence à l'environnement ainsi qu'aux objets fixes ou quasi-fixes de la séquence. Ceci comprend, par exemple, le sol, les arbres ou d'autres objets immobiles ou non parfaitement immobiles. Par ailleurs, les expressions � séquence vidéo � ou � flux vidéo � désignent un même objet. Le procédé selon l'invention, comme détaillé ci-après, traite un flux vidéo compressé image par image. Selon le type de codage et les résultats souhaités, chacune des images ou bien seulement une partie des images du flux est traitée. L'image traitée à un instant donné par le procédé est appelée dans la description � image courante � ou � image en cours de traitement �, les deux expressions ayant le même sens. Une séquence vidéo comporte de par sa nature même une importante redondance statistique tant dans le domaine temporel que spatial. La volonté d'utiliser toujours plus efficacement la bande passante des média de transmissions sur lesquels transitent ces séquences et les objectifs de réduction du coût de leur stockage ont posé très tôt la question de la compression vidéo. Les techniques classiques de compression vidéo peuvent généralement se diviser en deux étapes. La première vise à réduire la redondance spatiale et pour cela à compresser une image fixe. L'image est tout d'abord divisée en blocs de pixels (de 4x4 ou 8x8 selon les standards MPEG-1/2/4), un passage dans le domaine fréquentiel puis une quantification permet d'approximer ou de supprimer les hautes fréquences auxquelles l'oeil est moins sensible, et enfin les données quantifiées sont codées entropiquement. La seconde a pour but de réduire la redondance temporelle. Cette technique permet de prédire une image à partir d'une ou plusieurs autre(s) image(s) de référence(s) précédemment décodée(s) au sein de la même séquence (prédiction de mouvement). Cette technique consiste à chercher dans ces images références le bloc qui correspond le mieux à celui à prédire, et seul est conservé un vecteur estimation de mouvement correspondant au déplacement du bloc entre les deux images ainsi qu'une erreur résiduelle permettant de raffiner le rendu visuel. Une autre problématique du traitement des séquences vidéo est le besoin de les analyser dans le but, par exemple, d'identifier les objets mobiles et de leur appliquer un traitement spécifique. Jusqu'à récemment, pour effectuer ces analyses, il fallait travailler sur des séquences non compressées. Cela implique une analyse au niveau pixel et les algorithmes d'analyse sont alors très demandeurs en ressources de calcul et/ou mémoire. Afin de réduire cette charge de calcul et/ou l'occupation mémoire, il a été proposé de conduire des analyses de séquence vidéo dans le domaine compressé. Cette méthode a pour intérêt d'utiliser une partie du travail effectué par l'encodeur vidéo et ainsi d'exploiter des informations disponibles dans le domaine compressé telles que, par exemple, les coefficients calculés par application de la transformée en cosinus discrète et les vecteurs de mouvement. Ces informations doivent être ensuite analysées. En effet, les vecteurs de mouvement ne correspondent pas nécessairement à un mouvement réel d'un objet dans la séquence vidéo mais peuvent s'apparenter à du bruit. En utilisant cette méthode il est alors possible, par exemple, d'identifier les zones de l'image comportant des objets mobiles. Différentes étapes sont nécessaires pour utiliser ces informations afin d'identifier les objets mobiles. La reprise des travaux décrits dans la proposition de brevet Optical flow estimation method (US2006/0188013 A1) a permis de délimiter cinq fonctions identifiées dans l'article Statistical motion vector analysis for tracking in compressed video stream de Marc Leny, Françoise Prêteux et Didier Nicholson. Ces modules sont illustrés figure 1 et décrits ci-dessous : le décodage basse résolution (LRD û Low-Res Decoder) permet de reconstruire l'intégralité d'une séquence à la résolution du bloc, supprimant à cette échelle la prédiction de mouvement ; le générateur de vecteurs estimation de mouvement (MEG û Motion Estimation Generator) détermine quant à lui des vecteurs pour l'ensemble des blocs que le codeur a codé en mode "Intra" (au sein d'images Intra ou prédites) ; la segmentation basse résolution d'objets (LROS û Low-Res Object Segmentation) s'appuie pour sa part sur une estimation du fond dans le domaine compressé grâce aux séquences reconstruites par le LRD et donne donc une première estimation des objets mobiles ; - le filtrage d'objets basé sur le mouvement (OMF û Object Motion Filtering) utilise les vecteurs en sortie du MEG pour déterminer les zones mobiles à partir de l'estimation de mouvement ; la segmentation multimodale finale prend en compte les deux résultats ci-dessus et leurs caractéristiques selon le type d'image dans la séquence (CD û Cooperative Decision). Les résultats de l'analyse dans le domaine compressé permettent 20 l'identification de zones contenant des objets mobiles (figure 2), la génération de cartes de mouvement établies à partir des vecteurs estimation de mouvement (figure 3) et de cartes de confiance correspondant aux contours de l'image basse résolution (figure 4). L'intérêt principal de l'analyse dans le domaine compressé porte sur les 25 temps de calcul et les besoins en mémoire qui sont considérablement réduits par rapport aux outils d'analyse classiques. En s'appuyant sur le travail effectué au moment de la compression vidéo, les temps d'analyse sont aujourd'hui de 10 à 20 fois le temps réel (250 à 500 images traitées par seconde) pour des images 720x576 4:2:0. 30 Un des inconvénients de l'analyse dans le domaine compressé telle que décrite dans les documents précités est que le travail est effectué sur l'équivalent d'images basse résolution en manipulant des blocs composés de groupes de pixels. Il en résulte que l'image est analysée avec moins de précision qu'en mettant en oeuvre les algorithmes usuels utilisés dans le 10 15 domaine non compressé. De plus, les objets trop petits par rapport au découpage en blocs peuvent passer inaperçus. L'objet de la présente invention concerne un procédé d'optimisation 5 d'analyse de flux vidéo dans le but notamment de paramétrer les outils d'analyse habituellement utilisés dans ce domaine. Plus précisément l'invention a pour objet un procédé d'optimisation de l'analyse de flux vidéo compressés comportant des images pouvant être 10 décomposées en plusieurs zones logiques, ledit procédé étant caractérisé en ce qu'il comporte des étapes appliquées à au moins une partie des images du flux vidéo compressé à traiter, ces étapes étant : l'extraction des données représentatives de l'image courante ; un prétraitement dans le domaine compressé consistant en une 15 analyse de l'image courante, afin d'identifier les différentes zones logiques en se basant sur les données représentatives des images extraites précédemment ; la décompression au moins partielle de l'image courante en se basant sur les données représentatives extraites précédemment; 20 - une analyse détaillée des pixels de l'image en cours de traitement après décompression, l'analyse étant appliquée au moins aux zones logiques de l'image, telles qu'identifiées à l'étape de prétraitement dans le domaine compressé, et jugées pertinentes selon l'application concernée. 25 Une variante de ce procédé est caractérisée en ce qu'au moins deux zones logiques sont identifiées par le prétraitement dans le domaine compressé pour l'image courante, la première étant composée des blocs de l'image comportant un ou plusieurs objet(s) mobile(s) et la seconde étant composée des blocs de l'image comportant l'arrière plan. 30 Une variante de ce procédé est caractérisée en ce que le prétraitement dans le domaine compressé comporte une fonction permettant de calculer un masque dont le rôle est de permettre de séparer les différentes zones logiques de l'image courante. Une variante de ce procédé est caractérisée en ce que l'étape de 35 prétraitement dans le domaine compressé comporte une fonction déterminant les coordonnées de boîtes englobantes correspondants aux objets mobiles dans l'image courante, les coordonnées desdites boites englobantes étant calculées à partir du masque. Une variante de ce procédé est caractérisée en ce que l'étape de prétraitement dans le domaine compressé comporte une fonction réalisant un pistage dont le résultat consiste en une description des objets mobiles, ladite description étant au moins composée des coordonnées du point d'entrée de l'objet mobile, de sa boîte englobante et de sa trajectoire. Une variante de ce procédé est caractérisée en ce que la décompression de l'image courante est limitée à une ou plusieurs zones de l'image telles qu'identifiées par l'étape de prétraitement dans le domaine compressé. Une variante de ce procédé est caractérisée en ce qu'au moins une image du flux vidéo précédent l'image courante dans le flux vidéo est mémorisée après sa décompression totale ou partielle. Une variante de ce procédé est caractérisée en ce que l'analyse détaillée comporte une fonction déterminant les différences entre les pixels de l'image courante après décompression et les pixels de la ou des images précédentes mémorisées. L'invention a aussi pour objet un système vidéo comportant le procédé 20 d'optimisation de l'analyse d'un flux vidéo par prétraitement dans le domaine compressé, caractérisé en ce qu'il comporte au moins : un processeur implémentant le procédé selon l'invention ; une zone de mémoire permettant notamment de stocker les données extraites représentatives des images du flux vidéo ainsi 25 que les images décompressées partiellement ou totalement ; L'invention présente comme avantage une réduction de la complexité de l'analyse de séquences vidéo de par l'approche utilisant le domaine compressé tout en atteignant la qualité d'analyse que garantissent les 30 méthodes classiques traitant des séquences vidéo dans le domaine non compressé. L'invention sera mieux comprise et d'autres avantages apparaîtront à la lecture de la description qui va suivre donnée à titre non limitatif et grâce 35 aux figures annexées parmi lesquelles : la figure 1 présente les modules utilisés pour l'analyse dans le domaine compressé tels que décrits précédemment ; la figure 2 illustre un résultat possible de l'analyse dans le domaine compressé, à savoir l'identification de zones contenant des objets mobiles ; - la figure 3 montre un autre exemple de résultat de l'analyse dans le domaine compressé, à savoir une carte de mouvement établie à partir des vecteurs estimation de mouvement ; la figure 4 montre un autre exemple de résultat de l'analyse dans le domaine compressé, à savoir une carte de confiance basse résolution correspondant aux contours de l'image ; - la figure 5 illustre une variante du procédé selon l'invention ; la figure 6 illustre une variante d'un système vidéo utilisant le procédé d'optimisation de l'analyse d'un flux vidéo par prétraitement dans le domaine compressé. Le procédé selon l'invention a l'avantage de pouvoir être utilisé dans le 20 cadre de plusieurs applications de traitement d'images, comme par exemple, la segmentation d'objets mobiles. Le but de cette application est notamment de séparer les objets mobiles (premier plan) du reste des éléments (arrière plan) des images de la séquence vidéo à analyser pour ensuite être capable de leur appliquer un traitement particulier. 25 Une variante du procédé selon l'invention est illustrée par la figure 5. Cette variante sera décrite brièvement dans un premier temps. Dans un deuxième temps, chacune des étapes du procédé selon l'invention seront détaillées. 30 La séquence vidéo compressée à analyser 1 est traitée image par image. Il est possible en fonction du type de codage des images de la séquence de ne traiter seulement qu'une partie des images du flux. En prenant l'exemple de la norme MPEG-4, dans un premier temps les images bidirectionnelles (images B) pourront être ignorées. De la même manière, les 35 images prédites (images P) pourront être ignorées afin d'accélérer 10 15 7 davantage les temps d'exécution du procédé. Les images intra (images I) devront, quant à elles, être traitées dans tous les cas. Une étape d'extraction 2 permet d'extraire les données 3 représentatives de ladite séquence (cette étape est plus connue sous la dénomination anglo-saxonne � parsing �). Une étape de prétraitement réalise l'analyse dans le domaine compressé 4 de la séquence et mène à un résultat 5 permettant d'effectuer une analyse détaillée 8 de l'image en cours de traitement en se focalisant sur des zones choisies. II est à noter que l'étape d'analyse détaillée 8 s'effectue sur l'image courante 7 au moins partiellement décompressée grâce à une étape de décompression 6. L'étape d'analyse détaillée 8 peut avoir besoin pour certaines applications telles que la segmentation d'objets mobiles de comparer l'image courante 7 avec une ou plusieurs image(s) précédente(s) mémorisée(s) après avoir été au moins partiellement décompressée(s). Le résultat de l'analyse détaillée 10 est ensuite disponible pour effectuer, par exemple, des traitements spécifiques au premier plan ou à l'arrière plan. Comme introduit précédemment, le procédé comprend une étape d'extraction afin d'acquérir les données représentatives de l'image courante du flux vidéo compressé à analyser. Ces données représentatives de l'image en cours de traitement 3 peuvent être, par exemple : les coefficients issus de la transformée en cosinus discrète 25 (plus connu sous la dénomination anglo-saxonne � Discrete Cosine Transform � - DCT) ; les vecteurs d'estimation de mouvement associés aux blocs de l'image en cours de traitement ; etc. 30 Ces données représentatives du flux vidéo compressé 3 sont utilisées par l'étape réalisant l'analyse dans le domaine compressé 4. Cette analyse aboutit, par exemple, pour l'image en cours de traitement à un masque. Le but de ce masque permet de séparer différentes zones logiques de l'image 35 en cours de traitement. Un exemple est de définir deux types de zones logiques : l'une contenant les objets mobiles et l'autre contenant l'arrière plan. Cet exemple sera utilisé dans la suite de la description. La sortie 5 de la fonction d'analyse dans le domaine compressé 4 pourra être : soit directement le masque ; soit les coordonnées de boîtes englobantes correspondant aux objets mobiles et calculées à l'aide du masque. Ces boîtes peuvent être, par exemple, définies grâce à deux points extrêmes, ou bien par un point central associé à la dimension de ladite boîte ; soit la description de la zone par son point d'entrée, sa boîte englobante et sa trajectoire. Dans ce cas, le masque est utilisé pour réaliser un suivi (plus connu sous la dénomination anglo-saxonne � tracking �) dans le domaine compressé à partir des masques. Une des manières de réaliser ce pistage est d'utiliser la méthode d'appariement de blocs par algorithme de Munkres puis filtre de Kalman, algorithmes bien connus de l'homme du métier. Les données représentatives du flux vidéo 3 sont par ailleurs 20 utilisées par une fonction réalisant la décompression 6. Ladite décompression peut être totale ou bien partielle. Dans le cas d'une décompression totale de l'image, l'ensemble de l'image en cours de traitement est décompressé en mettant en oeuvre des algorithmes classiques. L'analyse dans le domaine compressé 4 et la 25 décompression 6 peuvent être réalisées indépendamment. Dans le cas d'une décompression partielle de l'image, seules les portions de l'image contenant le ou les objets mobiles sont décompressées. Ces portions de l'image en cours de traitement peuvent être par exemple les tranches (plus connu sous la dénomination anglo-saxonne � slices �) 30 contenant ces objets. Le résultat 5 du prétraitement dans le domaine compressé 4 est utilisé afin de déterminer quelles sont les zones de l'image courante devant être décompressées. A la différence du cas où l'image est décompressée entièrement, la décompression partielle requiert que les résultats du prétraitement dans le domaine compressé 4 soient disponibles 10 15 pour réaliser la décompression 5. Dans ce cas, l'analyse dans le domaine compressé 4 et la décompression 5 doivent être exécutées séquentiellement. En outre, il est intéressant de noter que les données représentatives du flux vidéo 3 sont utilisées à la fois pour l'analyse dans le domaine compressé 4 et pour la décompression de l'image courante 6. En conséquence, ces données ne doivent être extraites qu'une seule fois pour ces deux traitements. L'image courante totalement ou partiellement décompressée 7 est ensuite transmise en entrée de la fonction réalisant l'analyse détaillée de l'image 8. L'analyse dans le domaine compressé 4 est utilisée comme une étape préalable, et ce dans le but de réduire le champ d'investigation de l'analyse détaillée 8 et ainsi d'accélérer les temps de traitement nécessaire sur l'image totalement ou partiellement décompressée. Cette analyse détaillée 8 peut consister, par exemple, à identifier finement les objets mobiles présents au sein des zones sélectionnées lors de l'analyse dans le domaine compressé 4 ou à appliquer un traitement spécifique (soustraction de fond, modélisation par mélange de gaussiennes, etc.). Dans l'exemple d'application donné, la fonction réalisant l'analyse détaillée 8 consiste à déterminer les différences entre images successives. Elle utilise en entrée: l'image courante, l'image précédente gardée en mémoire après décompression, et la sortie de l'étape de prétraitement dans le domaine compressé. Cette sortie peut être, comme souligné précédemment, un masque. Un exemple de convention pouvant être utilisée pour ce masque est donné ci-dessous (on parlera alors de masque binaire) : - un '0' correspond à un bloc de l'image appartenant à l'arrière plan ; un 1' correspond à un bloc de l'image appartenant au premier plan. Le prétraitement dans le domaine compressé s'effectue au niveau bloc, voire macrobloc (ensemble de blocs). A un point du masque correspondent, par exemple, 8x8 pixels dans l'image décompressée. II sera donc plus rapide de parcourir le masque généré que les pixels de l'image décompressée. La fonction réalisant l'analyse détaillée 8 parcourt par conséquent 35 le masque. Lorsque le bloc en cours est à elle passe directement au suivant, lorsqu'il est à '1', elle lance l'analyse fine dans ce bloc. Les coordonnées du premier pixel à prendre en compte sont 8 fois celles du bloc courant, et on traitera 8 pixels (défilement horizontal) à partir de cette position sur 8 lignes consécutives (défilement vertical). La différence de pixels est effectuée entre l'image en cours de traitement et l'image précédente 9. On obtient le flot optique 10 à l'intérieur du bloc présélectionné, c'est-à-dire son champ de déplacement visuel (celui-ci permet d'expliquer les variations dans une image animée en termes de déplacements de points). Cette procédure est répétée sur l'ensemble des blocs de l'image, et sur l'ensemble des images du flux vidéo. Le résultat est équivalent à celui obtenu directement par détermination du flot optique 10. L'avantage de la méthode proposée est que l'analyse détaillée 8, aux temps de calcul importants, n'a été menée que dans les zones identifiées par l'analyse dans le domaine compressé, aux temps de calcul réduits. Le procédé d'optimisation de l'analyse d'un flux vidéo par prétraitement dans le domaine compressé dont plusieurs variantes ont été décrites avec le support des figures 5, peut être utilisé au sein d'un système vidéo. Ce système vidéo est illustré figure 6 et est composé d'au moins un processeur 21 implémentant le procédé selon l'invention ainsi que d'une zone de mémoire 22 permettant notamment de stocker les données extraites représentatives du flux vidéo ainsi que les images décompressées partiellement ou totalement et d'un module de communication 23 permettant au système de transmettre au sein d'un réseau de télécommunications non seulement le flux vidéo compressé, mais des informations complémentaires résultant de l'exécution du procédé. REVENDICATIONS1- Procédé d'optimisation de l'analyse de flux vidéo compressés comportant des images pouvant être décomposées en plusieurs zones logiques, ledit procédé étant caractérisé en ce qu'il comporte des étapes appliquées à au moins une partie des images du flux vidéo compressé (1) à traiter, ces étapes étant : - l'extraction (2) des données (3) représentatives de l'image courante ; un prétraitement dans le domaine compressé (4) consistant en une analyse de l'image courante afin d'identifier les différentes zones logiques de l'image en se basant sur les données représentatives de l'image (3) extraites précédemment ; - la décompression (6) au moins partielle de l'image courante en se basant sur les données représentatives (3) extraites précédemment ; - une analyse détaillée (8) des pixels de l'image en cours de traitement après décompression (6), l'analyse étant appliquée au moins aux zones logiques de l'image pertinentes selon l'application concernée telles qu'identifiées à l'étape de prétraitement dans le domaine compressé (4). 2- Procédé selon la revendication 1 caractérisé en ce qu'au moins deux zones logiques sont identifiées par le prétraitement dans le domaine compressé pour l'image courante, la première étant composée des blocs de l'image comportant un ou plusieurs objet(s) mobile(s) et la seconde étant composée des blocs de l'image comportant l'arrière plan. 3- Procédé selon l'une des revendications précédentes caractérisée en ce que le prétraitement dans le domaine compressé (4) comporte une fonction permettant de calculer un masque dont le rôle est de permettre de séparer les différentes zones logiques de l'image courante. 4- Procédé selon la revendication 3 caractérisé en ce que l'étape de prétraitement dans le domaine compressé (4) comporte une fonction déterminant les coordonnées de boîtes englobantes correspondants aux objets mobiles dans l'image courante, les coordonnées desdites boites englobantes étant calculées à partir du masque. 5- Procédé selon la revendication 3 caractérisé en ce que l'étape de prétraitement dans le domaine compressé (4) comporte une fonction réalisant un pistage dont le résultat consiste en une description des objets mobiles, ladite description étant au moins composée des coordonnées du point d'entrée de l'objet mobile, de sa boite englobante et de sa trajectoire. 6- Procédé selon l'une des revendications précédentes caractérisé en ce que la décompression de l'image courante (6) est limitée à une ou plusieurs zones de l'image telles qu'identifiées par l'étape de prétraitement dans le domaine compressé (4). 7- Procédé selon l'une des revendications précédentes caractérisé en ce qu'au moins une image du flux vidéo précédent l'image courante dans le flux vidéo est mémorisée (9) après sa décompression totale ou partielle. 8- Procédé selon la revendication 7 caractérisé en ce que l'analyse détaillée (8) comporte une fonction déterminant les différences entre les pixels de l'image courante après décompression (7) et les pixels de la ou des images précédentes mémorisées (9). 9- Système vidéo (20) comportant le procédé d'optimisation de l'analyse d'un flux vidéo par prétraitement dans le domaine compressé selon l'une des revendications précédentes, caractérisé en ce qu'il comporte au moins :un processeur (21) implémentant le procédé selon l'invention ; une zone de mémoire (22) permettant notamment de stocker les données extraites représentatives des images du flux vidéo ainsi que les images décompressées partiellement ou totalement ; un module de communication (23) permettant au système de transmettre dans un réseau de télécommunications au moins le flux vidéo compressé et des informations complémentaires résultant de l'exécution du procédé.