Brevet FR2795589A1 — publié le 20001229

DECODEUR VIDEO OPTIMAL BASE SUR LES STANDARDS DE TYPE MPEG L'invention concerne le domaine de l'affichage d'images animées et en particulier la décompression de données numériques comportant de telles images par des méthodes optimisées. Avec l'apparition des dernières technologies numériques d'une part, et le besoin sans cesse croissant de vitesse et d'espace de stockage d'autre part, la compression est devenue incontournable pour les applications grand public. Citons à titre d'exemples les appareils-photos numériques, qui codent les images en JPEG, les caméscopes numériques, qui compressent les séquences au format DV, un dérivé de M-JPEG, ou encore la télévision numérique et le DVD, qui ont adopté le format de compression MPEG-2, sans oublier bien sûr le réseau Internet, o images et séquences transitent compressées. Dans certains cas, l'utilisateur exige une qualité irréprochable (photos, caméscopes), ce qui implique des taux de compression très bas. Dans d'autres cas, les temps de transfert excessifs interdisent une qualité convenable. C'est pourquoi il est nécessaire d'améliorer le décodage des séquences pour permettre, soit une meilleure qualité à débit équivalent, soit un débit plus faible, à qualité égale ou supérieure. Différentes normes de compression des images animées ont été proposées, mais seule la norme MPEG s'est véritablement imposée. Cette norme de compression et de décompression des séquences animées entraîne l'apparition d'effets de bloc. Par exemple le brevet européen EP539833 concerne un procédé destiné à produire une représentation de données vidéo compressées qui peuvent être affichées après décompression sur un écran vidéo suivant une multiplicité d'échelles hiérarchiques de résolutions d'images et/ou de qualité, comprenant les étapes consistant a: - fournir des signaux de données d'éléments d'image vidéo indicatifs d'unités de blocs dans l'espace ou macro-blocs, lesdits macro-blocs se voyant associer des informations concernant les données d'images compressées et un ensemble d'attributs de codage, comprenant des décisions de codage, des vecteurs de compensation de mouvement, et des paramètres de quantification, et - produire pour chacun desdits macro-blocs, un macro-bloc mis à l'échelle correspondant pour chaque échelle de ladite multiplicité de sorte que les mêmes attributs de codage soient partagés par lesdits macro-blocs mis à l'échelle. Des méthodes permettant de corriger les erreurs de décompression ont été proposées dans l'art antérieur. Ces méthodes concernent essentiellement des techniques utilisées après la décompression des images proprement dite et ralentissant ladite décompression. Ces méthodes ne prennent pas en compte le quantificateur et ne permettent pas de conserver la trame binaire après recompression, ce qui a pour effet de dégrader la qualité de l'image à chaque compression. Un objectif de l'invention est de proposer un procédé améliorant la qualité de l'image pendant la décompression. L'invention concerne un procédé de décompression d'images animées compressées par une méthode comportant un traitement des images par blocs et comprenant une étape de recomposition des données numérisées définissant des formes prédéfinies, une étape de modélisation du mouvement desdites formes utilisant un processus de prédiction, d'interpolation et de compensation temporelle, une étape de composition de l'image à partir des éléments reconstruits, du type Motion-JPEG, ou MPEG. L'étape de recomposition des formes comporte un processus de séparation des formes fixes des formes mobiles, un processus d'enregistrement des données numériques correspondant aux formes fixes traitées par un filtre indissociable des processus mis en ouvre dans l'étape de recomposition dans une première mémoire spécifique et des données numériques correspondant aux formes mobiles dans une deuxième mémoire spécifique. Avantageusement, le filtre numérique est irréductible et ne comporte pas de filtres dissociables. Le filtre élimine dans une variante les effets de bloc sur l'image de fond. Il peut effectuer une régularisation de l'image de fond. De manière avantageuse, on mémorise l'intervalle de quantification utilisé lors de la compression de l'image de fond et on effectue une projection sur l'intervalle de quantification. Dans une variante, la reconstruction des éléments utilise des paramètres de quantification définis préalablement par le codeur, lors de la compression des images. Ces paramètres sont liés aux moyens de prises de vue des images et permettent d'adapter la décompression en fonction de ces moyens. Ceci permet de tenir compte des caractéristiques de compression et d'améliorer la décompression des images. Dans une variante, les paramètres de quantification sont définis par la fonction de transfert des moyens d'acquisition et de mémorisation des images animées. Avantageusement, un second filtre numérique sépare et identifie les éléments mobiles en objets mobiles se déplaçant dans une séquence, selon l'évolution de critères numériques prédéterminés, tels que la géométrie des objets mobiles, le mouvement des objets mobiles, ou la segmentation spatiale des objets mobiles. On peut également effectuer un moyennage temporel avec compensation du mouvement sur chaque objet identifié. Le filtre élimine dans une variante les effets de bloc sur les objets. Suivant ce procédé on peut également effectuer une régularisation sur les objets identifiés. Avantageusement, on mémorise l'intervalle de quantification ayant servi à compresser la séquence animée et on effectue une projection sur l'intervalle de quantification. Lors de l'affichage, on superpose les objets mobiles et la représentation moyenne dans le temps des images fixes. De manière préférentielle, on mémorise séparément les paramètres spécifiques à chaque objet identifié afin d'effectuer un traitement différent sur chaque objet. L'invention concerne également un dispositif de décompression d'images animées compressées par une méthode comportant un traitement des images par blocs et comprenant une étape de recomposition des données numérisées définissant des formes prédéfinies, une étape de modélisation du mouvement desdites formes utilisant des moyens de prédiction, d'interpolation et de compensation temporelle, une étape de composition de l'image à partir des éléments reconstruits, du type Motion-JPEG, ou MPEG. Il comporte des moyens de séparation des formes fixes des formes mobiles, et des moyens d'enregistrement des données numériques correspondant aux formes fixes traitées par un filtre indissociable des moyens mis en oeuvre dans l'étape de recomposition dans une première mémoire spécifique et des données numériques correspondant aux formes mobiles dans une deuxième mémoire spécifique. Ce dispositif comporte avantageusement des moyens de filtrage numérique irréductibles, qui ne peuvent être décomposés en une séquence de filtres indépendants les uns des autres. De manière préférentielle, il comporte des moyens de mémorisation du type d'images compressées. Dans une variante, ce dispositif comprend un support amovible et peut être constitué par une puce indépendante ou une carte graphique insérable dans un ordinateur. Ce dispositif peut également être inséré de manière indissociable dans un ordinateur ou dans tout type d'appareil électronique permettant d'afficher des images. Ce dispositif peut également être constitué par un module logiciel indépendant des logiciels présents dans la mémoire d'un calculateur. L'invention consiste en un procédé de décodage pour réduire à la fois les effets de bloc et les défauts liés à une dégradation du support de la séquence. Cette méthode traite le problème spatialement et temporellement, pour obtenir une amélioration significative de qualité de la séquence, et repose sur deux idées: - traiter simultanément les problèmes de suppression de blocs et de segmentation du mouvement, - intégrer la notion d'objet, afin de permettre une approche différente pour le traitement du fond et de chaque objet. De plus, cette méthode présente la particularité de traiter efficacement le problème des "drop-out", quel que soit le format de la séquence originale: les blocs d'image perdus à l'acquisition par la caméra, ou lors de la transmission sont parfaitement restitués; les défauts tels que rayures, fils, sur films numérisées sont supprimés. D'autre part, il est possible d'intégrer au processus de décodage la prise en compte de la fonction de transfert de l'objectif de la caméra, ou du projecteur, pour obtenir une restitution plus fidèle. Enfin, le schéma proposé reste valide dans le cadre du décodage MPEG-4. La méthode proposée utilise une approche objet, par l'intermédiaire de deux étapes distinctes. Tout d'abord, le fond de la séquence est isolé et les effets de bloc y sont supprimés. Les objets sont peu à peu isolés du fond en bénéficiant de sa représentation plus précise à chaque étape. Ensuite, chaque objet est traité indépendamment, selon ses propres caractéristiques, puis finalement projeté sur l'image de fond estimée, pour reconstruire la séquence. La figure 1 représente les étapes de ce procédé. Une première étape (1) consiste à effectuer une estimation et un traitement du fond de l'image, ainsi qu'à identifier les éléments en mouvement. Une carte de ces éléments en mouvement est transmise aux moyens de traitement de ces éléments. L'étape (2) consiste à effectuer un pré- traitement de cette carte en étiquetant et en complétant chaque élément. L'étape (3) consiste à effectuer une segmentation spatiale des différents éléments permettant d'identifier les différents objets en mouvement. Cette étape permet également d'estimer ce mouvement, et de réaliser le suivi des objets au cours de la séquence. L'étape (4) traite spécifiquement chaque objet identifié suivant les méthodes explicitées ci-dessous. L'étape (5) consiste en la reconstruction de la séquence qui permet d'obtenir la séquence décodée. L'estimation du fond est considérée comme un problème inverse. Soit Pk N images de la séquence MPEG ou M-JPEG contenant les effets de bloc. On trouve simultanément le fond estimé, et la séquence des objets en mouvement, appelée ck. On souhaite ck=0 si le point appartient à un objet en mouvement, sinon Ck=l. On cherche f = argmin(Jx) avec comme critère JÀ(f,,...,c,)= J, (f,c,,, J)+2 J2 (/)+y J(c) avec (f,cI,*...,C%)= fcI ('-Pk k=l j k=l 0 qui réalise une segmentation spatio-temporelle en utilisant N images consécutives de la séquence, et J ()= f PI qlVll), (1) J3 (Ck)= (P2 les termes de régularisation contenant les a- priori sur la solution. potentiel qui préservent les discontinuités dans l'image. Le paramètre a,. détermine l'importance que l'on accorde au fond: plus a, est petit, plus il y a d'objets en mouvement détectés. Concernant J, (f), si Pk est éloigné de l'estimée courante f. c, devra être petit: on se trouve sur un objet qui se déplace. Ceci constitue un type d'approche classique pour la segmentation spatio-temporelle des séquences. Cependant, cette méthode n'agit pas sur les effets de bloc issus de la DCT, et ne considère pas les caractéristiques du codeur. Le traitement spécifique à l'invention permet de répondre à ce problème. Pour prendre en compte le quantificateur et supprimer simultanément les effets de bloc lors de l'extraction du fond f, on minimise le nouveau critère: J(f,cI,...,cN)= J1 (f,cI,...,cN)+ I J2(f)+y J3 (f)+11 J4 (f)+P2 J5 (f) (3) avec J()rIRfl (4) o R est la transformée en ondelettes, v une fonction potentiel, et 8 un seuil dépendant de l'amplitude des effets de bloc. La valeur de 17, précise quels sont les coefficients d'ondelettes à seuiller. Un seuillage doux dans le domaine spatio-fréquentiel des ondelettes est réalisé. La connaissance précise de la matrice de quantification utilisée lors du codage permet de restreindre chaque pixel de la séquence reconstruite dans un intervalle qui correspond à l'intervalle de quantification La quantification est une opération de discrétisation qui transforme un ensemble continu de valeurs d'échantillons en un ensemble discret. Elle peut être effectuée sur un seul échantillon à la fois (quantification scalaire) ou sur plusieurs échantillons regroupés en blocs (quantification vectorielle). La contrainte correspondant à cette projection est: If q Df +pk -q2 iJ- D J5 (f)=4 ([Df-Pk± Pl. +'f(jDf-p,- 21-Df-p,-q) avec D l'opérateur DCT, Pk le coefficient DCT quantifié, q le pas de quantification au pixel consideré. La solution f optimale à ce problème de minimisation est trouvée pour a& =0, équivalent à: ck 2-'p*-adVJI T 'I'Rf- 7È 2 "' Ck(f Pk)- R'div ( lVf +i,'R' Il RfR+p 2DTK(fr 0 (5) Df-pk ± si Df 2 2 avec K(f)= Df-p,-q si Df > pk +2 2 2 0 q O si Dfe[ pk -;p, +q] Les cartes d'objets Ck optimales sont obtenues pour =0, ce qui donne l'équation: aeCk C, (f P-) + a_. (cY -I) _y2di A) (6) La solution du problème est donnée par la réalisation de deux optimisations successives: La minimisation de (5) en f, pour cA donné -/ La minimisation de (6) en cA, pour f donné -4Có On itère alors ces deux optimisations en recherchant un nouveau fond f., puis de nouveaux Ck, jusqu'à convergence de la solution. La résolution du critère est effectuée par un algorithme de résolution semi-quadratique décrit dans l'article "Deterministic Edge-Preserving Regularization in Computed Imaging", IEEE Transaction on Image Processing, vol. 5, No. 12, Fevrier 1997., basé sur des minimisations alternées. D'autres méthodes peuvent être utilisées. Ce nouveau critère supprime donc les effets de bloc sur le fond, et réalise simultanément la segmentation des objets en mouvement. Ce critère fournit une séquence de cartes d'éléments en mouvement. Afin de pouvoir traiter chaque élément séparément, il va falloir les isoler spatialement les uns des autres. Cependant, plus les effets de bloc sont nombreux dans la séquence originale, plus les cartes de Ck présentent des informations fausses ou de mauvaise qualité. Par exemple, un bloc DCT dont l'intensité change d'une image sur l'autre pourra être considéré comme un objet en mouvement. Quelques prétraitements sont donc nécessaires avant d'isoler chaque élément: Seuillage de la carte des c. Les valeurs dont l'intensité est inférieure à un seuil donné sont ramenés à 0, les autres à 1. - Fermeture mathématique et remplissage de chaque objet. On réalise une fermeture mathématique, c'est à dire une dilatation suivie d'une érosion, par un élément structurant de taille nxn, de manière préférentielle avec n=3. Le remplissage de l'élément se fait par une méthode classique de parcours d'image. D'autres méthodes peuvent être utilisées, comme les contours géodésiques actifs. - Ouverture mathématique et suppression de certains objets. L'ouverture consiste à faire une érosion suivie d'une dilatation, pour supprimer les faux éléments provenant des blocs de la DCT. D'autres méthodes peuvent également être mises en oeuvre. A partir de ces c,, il est possible d'étiqueter chaque élément, de les isoler les uns des autres et de les considérer comme des objets. Dorénavant, chaque traitement décrit sera réalisé indépendamment sur chaque objet. Pour chaque objet de la séquence, on va déterminer certaines caractéristiques, qui vont permettre un traitement détaillé et adapté: Evolution de la taille, hauteur et largeur moyenne, position, barycentre, dans la séquence. - Informations de segmentation spatiale de l'objet. Il s'agit, pour un objet donné, de le segmenter spatialement, pour déterminer les différentes zones qu'il contient (discontinuités, zones homogènes...). Des méthodes classiques de segmentation spatiale d'images fixes peuvent être utilisées. - Estimation de mouvement de l'objet, par des méthodes classiques de type "bloc-matching", ou flot optique. Cette estimation de mouvement fournit pour chaque objet, et pour chaque image i de la séquence, un vecteur mouvement d=(dx,,dyi). Maintenant que chaque objet est isolé, et que son mouvement est connu, on peut le traiter de manière adaptée, pour supprimer les effets de bloc qu'il contient. Cette phase peut être réalisée en parallèle sur chaque objet, pour optimiser la vitesse d'exécution. Pour chaque objet, on cherche O = argmin(Ja) avec J>, (o)= J(o)+ 2J2 (ok)+ 1,2J3 (O)+ p2 J4(O) (7) o: OU * Jl(O)= f(ck - 1)2 (OA. -p.+ i(x+dxXk+,y+dy.+i))2 réalise un moyennage i=-II f temporel sur l'objet, avec compensation de mouvement. La valeur de n dépend des caractéristiques de l'objet, notamment de sa non-stationnarité. Plus l'objet évolue rapidement au cours du temps, plus n sera choisi petit. * J2(Ok)=f(ck-1)2p3(VOkJl) régularise l'objet. R2 est adaptatif: Q il dépend de la segmentation spatiale choisie pour déterminer les différentes zones de l'objet, et permet de traiter l'objet de manière adaptée. * J3(Ok)=(ck -1)2y 1f ij, supprime les effets de bloc sur l'objet. J4(k)-4|(ck1)(|D kPA+2Dk+Pk 2)+(ck 1)2 +Do - 2) permet de restreindre chaque pixel de chaque objet à l'intervalle de quantification, pour réduire le bruit de quantification sur l'objet. La solution O0 optimale est obtenue pour ao =0, équivalent à: aO1 (ck -1) (O -pk+i,)- 2dil |V- Vok +n2 R IR +k2D/(k) =0 k Pki] Rvok PlD (8) DOk -pk + si DOk 2 2 avec k(Ok,)= DOk-p -q si DOk > p, + q 2 2 0 si DOk e[ P-f;P,± La méthode de résolution utilisée pour résoudre l'équation (8) est identique à celle utilisée précédemment. La méthode présentée peut être simplifiée, afin de réduire sa complexité, et donc le temps de calcul. Simplification lors de l'estimation du fond et des Ck Une première simplification consiste à poser i=O dans l'équation (3). Le seuillage des coefficients d'ondelette peut dans ce cas être réalisé comme un pré- traitement sur chaque image en entrée de la séquence. On pose également pj=O dans (3), la contrainte d'intervalle pouvant être mise en oeuvre par une projection sur les intervalles de quantification. La conséquence de cette simplification est une diminution importante du temps de calcul, au prix d'une légère diminution de qualité. La deuxième simplification consiste à supprimer la régularisation sur les Ck, c'est à dire poser y=O dans (3). Pour obtenir la séquence des c,, on résout J. =0 aC c, = (cf. équation (6)). On obtient alors une formule explicite @a,+@^ -Pi qui permet de calculer la séquence des objets en mouvement. L'équation (7) peut être simplifiée: - en posant 2=0 dans (7), on supprime la régularisation sur l'objet. Dans ce cas, on effectue uniquement un moyennage temporel sur l'objet, avec compensation de mouvement. - en posant 72=0 dans l'équation (7), et en réalisant le seuillage comme un pré-traitement sur chaque objet. - en posant P2 =0 dans (7), et en réalisant la projection sur les intervalles de quantification sur chaque objet. En cumulant certaines de ces simplifications, l'algorithme devient très rapide, et peut s'adapter aux applications temps réel. La séquence décodée p est reconstruite en utilisant une image de fond sur une durée de N images, et en y projetant les M objets Pk = C;.f + (C - 1)0 Y (9) Si pour un pixel donné on se trouve sur un objet, c;=O, alors on projette le pixel de 0k, sinon, C =1 et l'on projette le pixel du fond f'. Revendications 1 - Procédé de décompression d'images animées compressées par une méthode comportant un traitement des images par blocs et comprenant une étape de recomposition des données numérisées définissant des formes prédéfinies, une étape de modélisation du mouvement desdites formes utilisant un processus de prédiction, d'interpolation et de compensation temporelle, une étape de composition de l'image à partir des éléments reconstruits, du type Motion-JPEG, ou MPEG, caractérisé en ce que l'étape de recomposition des formes comporte un processus de séparation des formes fixes des formes mobiles, un processus d'enregistrement des données numériques correspondant aux formes fixes traitées par un filtre indissociable des processus mis en oeuvre dans l'étape de recomposition dans une première mémoire spécifique et des données numériques correspondant aux formes mobiles dans une deuxième mémoire spécifique. 2 - Procédé de décompression d'images animées selon la revendication 1 caractérisé en ce que la recomposition comporte un filtre numérique irréductible. 3 - Procédé de décompression d'images animées selon la revendication 1 ou 2 caractérisé en ce que le filtre effectue une régularisation de l'image de fond. 4 - Procédé de décompression d'images animées selon l'une quelconque des revendications 1 à 3 caractérisé en ce que l'on mémorise l'intervalle de quantification utilisé lors de la compression de l'image de fond et en ce que l'on effectue une projection sur l'intervalle de quantification 5 - Procédé de décompression d'images animées selon l'une quelconque des revendications précédentes caractérisé en ce que la reconstruction des éléments utilise des paramètres de quantification définis préalablement à la compression des images par le codeur. 6 - Procédé de décompression d'images animées selon la revendication 5 caractérisé en ce que les paramètres de quantification sont définis par la fonction de transfert des moyens d'acquisition et de mémorisation des images animées. 7 - Procédé de décompression d'images animées selon l'une quelconque des revendications précédentes caractérisé en ce qu'un second filtre numérique sépare et identifie les éléments mobiles en objets mobiles se déplaçant dans une séquence. 8 - Procédé de décompression d'images animées selon la revendication 7 caractérisé en ce que l'identification des objets mobiles est effectuée selon l'évolution de critères numériques prédéterminés. 9 - Procédé de décompression d'images animées selon la revendication 8 caractérisé en ce que les critères numériques définissent la géométrie des objets mobiles. - Procédé de décompression d'images animées selon la revendication 8 ou 9 caractérisé en ce que les critères numériques définissent le mouvement des objets mobiles. 11 - Procédé de décompression d'images animées selon l'une quelconque des revendications 8 à 10 caractérisé en ce les critères numériques définissent la segmentation spatiale des objets mobiles 12 - Procédé de décompression d'images animées selon l'une quelconque des revendications 7 à 11 caractérisé en ce que l'on effectue un moyennage temporel avec compensation du mouvement sur chaque objet identifié. 13 - Procédé de décompression d'images animées selon l'une quelconque des revendications 7 à 11 caractérisé en ce que l'on effectue une régularisation sur les objets identifiés. 14 Procédé de décompression d'images animées selon l'une quelconque des revendications 7 à 12 caractérisé en ce que l'on mémorise l'intervalle de quantification ayant servi à compresser la séquence animée et en ce que l'on effectue une projection sur l'intervalle de quantification. - Procédé de décompression d'images animées selon l'une quelconque des revendications 7 à 13 caractérisé en ce que l'on mémorise séparément les paramètres spécifiques à chaque objet identifié afin d'effectuer un traitement différent sur chaque objet. 16 - Procédé de décompression d'images animées selon l'une quelconque des revendications précédentes caractérisé en ce que l'on superpose les objets mobiles et la représentation moyenne dans le temps des images fixes pour l'affichage de la séquence animée. 17 - Dispositif de décompression d'images animées compressées par une méthode comportant un traitement des images par blocs et comprenant une étape de recomposition des données numérisées définissant des formes prédéfinies, une étape de modélisation du mouvement desdites formes utilisant des moyens de prédiction, d'interpolation et de compensation temporelle, une étape de composition de l'image à partir des éléments reconstruits, du type Motion- JPEG, ou MPEG, caractérisé en ce qu'il comporte des moyens de séparation des formes fixes des formes mobiles, des moyens d'enregistrement des données numériques correspondant aux formes fixes traitées par un filtre indissociable des moyens mis en oeuvre dans l'étape de recomposition dans une première mémoire spécifique et des données numériques correspondant aux formes mobiles dans une deuxième mémoire spécifique, 18 - Dispositif de décompression d'images animées selon la revendication 16 caractérisé en ce que la recomposition comporte des moyens de filtrage numérique irréductibles. 19 - Dispositif de décompression d'images animées selon la revendication 16 ou 17 caractérisé en ce qu'il comporte des moyens de mémorisation du type d'images compressées. - Dispositif de décompression d'images animées compressées selon l'une quelconque des revendication 16 à 18 caractérisé en ce qu'il comporte un support amovible. 21 - Dispositif de décompression d'images animées compressées selon la revendication 19 caractérisé en ce qu'il est constitué par une puce indépendante. 22 - Dispositif de décompression d'images animées compressées selon la revendication 19 caractérisé en ce qu'il est constitué par une carte graphique insérable dans un ordinateur. 23 - Dispositif de décompression d'images animées compressées selon l'une quelconque des revendications 16 à 19 caractérisé en ce qu'il est constitué par un module logiciel indépendant des logiciels présents dans la mémoire d'un calculateur. 24 - Ordinateur comportant un dispositif selon l'une quelconque des revendications 16 à 22.