FR2923125A1 - Procede et systeme d'estimation de mouvement futur d'elements d'image a partir du mouvement passe dans un codeur video - Google Patents

Procede et systeme d'estimation de mouvement futur d'elements d'image a partir du mouvement passe dans un codeur video Download PDF

Info

Publication number
FR2923125A1
FR2923125A1 FR0707586A FR0707586A FR2923125A1 FR 2923125 A1 FR2923125 A1 FR 2923125A1 FR 0707586 A FR0707586 A FR 0707586A FR 0707586 A FR0707586 A FR 0707586A FR 2923125 A1 FR2923125 A1 FR 2923125A1
Authority
FR
France
Prior art keywords
motion estimation
image
block
vector
reference image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR0707586A
Other languages
English (en)
Other versions
FR2923125B1 (fr
Inventor
Pierre Larbier
Marc Baillavoine
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ASSISTANCE TECH ET ETUDE DE MA
Original Assignee
ASSISTANCE TECH ET ETUDE DE MA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ASSISTANCE TECH ET ETUDE DE MA filed Critical ASSISTANCE TECH ET ETUDE DE MA
Priority to FR0707586A priority Critical patent/FR2923125B1/fr
Priority to PCT/FR2008/051932 priority patent/WO2009056752A1/fr
Publication of FR2923125A1 publication Critical patent/FR2923125A1/fr
Application granted granted Critical
Publication of FR2923125B1 publication Critical patent/FR2923125B1/fr
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/56Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

Un procédé d'estimation de mouvement d'un élément d'image contenu dans l'image courante (Pc) d'une séquence vidéo précédée d'une image de référence passée (Pp) et suivie d'une image de référence future (Pf). Suite au calcul (A) d'au moins un vecteur d'estimation de mouvement passé (mvLo) d'un bloc de pixels (Bc) de l'image courante référencé dans l'image de référence passée (Pp), on exécute une étape de prédiction (B) du mouvement du bloc de pixels (Bc) vers l'image de référence future (Pf) par combinaison linéaire du vecteur d'estimation de mouvement passé (mvLo) et d'au moins un vecteur d'estimation de mouvement passé (mvLoP) d'un bloc de pixels (Bcf) de l'image de référence future (Pf) déduit du bloc de pixels (Bc) par la combinaison linéaire, pour engendrer un vecteur d'estimation de mouvement prédit (mvL1B).Application aux codeurs vidéo.

Description

Procédé et système d'estimation de mouvement futur d'éléments d'image à partir du mouvement passé dans un codeur vidéo
L'invention est relative à un procédé et à un système d'estimation de 5 mouvement futur d'éléments d'image à partir du mouvement passé dans un codeur vidéo. Les codeurs vidéo actuels permettent d'engendrer des séquences vidéo, composées d'images Intra-trame, dites images I, codées sans référence aux images précédentes et donc au passé, d'images prédites par rapport aux images passées, ces 10 images prédites étant désignées images P, et d'images prédites hybrides, désignées images B, qui sont prédites à la fois par rapport aux images précédentes, images du passé, et par rapport aux images suivantes, images du futur. Afin de prédire les images successives les unes par rapport aux autres, une image considérée de rang n est découpée en blocs, typiquement de 16x16 pixels. Pour 15 chaque bloc Bä (x,y) d'image de rang n, x et y désignant les coordonnées du bloc dans cette image, on recherche dans la ou les images précédentes et/ou suivantes de rang m, m E [n-p ; n+q] le bloc Bm (x',y') qui présente le plus de similarité avec le bloc d'image considéré Bä (x,y). On rappelle que la notion de similarité est établie par comparaison de valeurs de chrominance et/ou luminance des pixels constitutifs des blocs Bä (x,y) et Bm 20 (x',y'). En l'absence de mouvement du bloc Bä (x,y) et de l'élément d'image contenant ce dernier, ce bloc conserve, dans l'image de rang m, la même position que dans l'image de rang n, x =x' et y = y'. En présence de mouvement, des algorithmes d'estimation de mouvement 25 permettent de déterminer le vecteur de déplacement, désigné vecteur mouvement, de Bä (x,y) à Bm (x',y'). De très nombreux algorithmes d'estimation de mouvement sont connus de l'état de la technique. L'utilisation de ces derniers dépend de contraintes matérielles ou techniques d'équipements, telles que bande passante, taille mémoire disponible, etc. Pour une description plus détaillée du processus d'estimation de 30 mouvement, on pourra utilement se reporter à l'article publié par Hye-Yeon Cheong, Alexis Michael Tourapis Fast motion estimation within H.264 codec , IEEE International Conference on Multimedial Expo 2003. Dans le but d'accélérer les algorithmes d'estimation de mouvement, une technique connue consiste à initialiser la recherche d'estimation à partir d'un point x', y' (coordonnées d'un bloc de pixels) de l'image de rang m définissant avec le point correspondant (x, y) de l'image de rang n un vecteur mouvement candidat, désigné ci-après candidat, dont on estime qu'il est une approximation raisonnable du mouvement. Les positions testées du candidat sont limitées à un voisinage de ce candidat, définissant par exemple une zone de 4x4 pixels.
Si l'approximation est correcte, on détermine aussi le déplacement d'un bloc en testant au maximum 16 positions. Dans le cas des images P, un candidat peut, par exemple, être soit le médian (ou le vecteur mouvement candidat moyen) des vecteurs mouvement des blocs qui l'entourent, soit le vecteur mouvement du bloc situé au même endroit dans l'image précédente, ou encore le vecteur nul. D'autres définitions du vecteur mouvement candidat peuvent être retenues. Plusieurs candidats peuvent être retenus pour la recherche. Les critères de choix de l'élimination des candidats non retenus sont le plus souvent établis en raison de contraintes relatives à la présence de calcul nécessaire.
Ainsi, dans le codeur de référence de la norme H264, intitulée ITU-T Rec H.264 ISO/IEC 14496-10 Advanced Video Coding, plusieurs candidats sont successivement testés puis éliminés ou conservés pour le calcul d'un vecteur mouvement final. Actuellement, toutes les normes de codage vidéo récentes mises en oeuvre disposent, pour effectuer le codage effectif du vecteur mouvement, d'un prédicteur de mouvement. Celui-ci est sensé constituer une approximation du mouvement et le vecteur mouvement effectivement codé dan le flux de séquences d'images vidéo est la différence entre le vecteur mouvement final, dernier candidat trouvé par l'estimation de mouvement et le vecteur mouvement prédit, issu de ce prédicteur.
Toutefois, le vecteur mouvement prédit est très souvent utilisé comme candidat dans un but d'économie de coût de calcul. Pour une description plus détaillée de la mise en oeuvre des vecteurs mouvement candidat et prédit, on pourra utilement se reporter à la recommandation ITU-T Rec H.264 ISO/IEC 14496-10 Advanced Video Coding, paragraphe 8.4.1. A titre d'exemple illustratif, différents candidats usuellement utilisés dans la recherche de vecteurs mouvement futurs, tel que recommandés par la recommandation H. 264 précitée, sont décrits ci-après en liaison avec la figure 1 : -le vecteur direct : c'est en fait le vecteur prédicteur utilisé pour les images bidirectionnelles. Pour le calculer, on prend en compte le vecteur mouvement Bä (x,y) de l'image courante d'un bloc co-localisé Bm (x,y) de même position x, y dans l'image de référence future, vecteur désigné mvCol sur la figure 1, référencé dans l'image de référence passée. A partir du vecteur mouvement du bloc co-localisé mvCol, on déduit un vecteur candidat pour le vecteur mouvement du bloc de l'image courante Bä (x,y) référencé dans l'image de référence future, par pondération des distances temporelles respectives des images de référence passée et future selon la relation : mvL la= ûmvCol xtf (tp+tf) où tp représente la distance temporelle séparant l'image courante de l'image de référence passée ; tf représente la distance temporelle séparant l'image de référence future de l'image courante. Pour une description plus détaillée du vecteur direct, on pourra utilement se reporter à la recommandation H.264 précédemment citée, paragraphe 8.4.1.2.2. On indique également que dans la recommandation H.264 précitée, le vecteur direct est, en outre, un vecteur mouvement prédit. -un vecteur candidat mvL 1 b issu de l'estimation de mouvement passé entre un bloc de l'image Br, (x,y) courante référencé par rapport à l'image de référence passée, par le vecteur mvLo représenté sur la figure 1 par exemple, correspondant au bloc Bp (x',y') sur l'image de référence passée, pondéré par les distances temporelles respectives des images de référence passée et future respectivement, selon la relation mvL,b= ûmvLoxtf Dans cette relation, tf et tp désignent les distances temporelles séparant l'image courante de l'image de référence future respectivement de l'image de référence passée. -le vecteur nul mvo , colinéaire à l'axe temporel sur la figure 1. La présente invention a, en particulier, pour objet la mise en oeuvre d'un procédé permettant de prédire le mouvement futur d'éléments d'images ou de blocs de pixels d'images à partir des vecteurs de mouvement passé dont on dispose, au niveau d'un codeur vidéo, au moment où ce dernier recherche les vecteurs mouvement futur. En particulier, grâce à la mise en oeuvre du procédé, objet de la présente invention, l'invention a également pour objet un codeur vidéo dans lequel la mise en oeuvre d'un module prédicteur de mouvement rend superflue l'intégration d'un module estimateur de mouvement futur, dont le coût d'intégration et d'exploitation s'avère élevé. En conséquence, un objet de la présente invention est également la mise en oeuvre de codeurs vidéo destinés aux équipements grand public à bande passante limitée, présentant un gain manifeste en complexité d'équipement et en coût de fabrication, bien que permettant de fournir une fonction de prédiction de mouvement futur, en l'absence toutefois d'implantation de module d'estimation de mouvement futur. Le procédé d'estimation de mouvement d'un élément d'image contenu dans l'image courante d'une séquence vidéo, cette image courante étant précédée, dans l'ordre de codage, par au moins une image de référence future, dans lequel on dispose, pour cette image courante et pour l'image de référence future, d'un champ de vecteurs d'estimation de mouvement passé de chaque bloc de pixels constitutifs de ces images vis-à-vis de cette image de référence passée, conforme à l'objet de la présente invention, est remarquable en ce que suite au calcul d'au moins vecteur de mouvement passé tp (mvLo) d'au moins un bloc de pixels (Bc) de l'image courante référencé dans cette image de référence passée, il inclut au moins une étape de prédiction de mouvement de ce bloc de pixels de l'image courante vers cette image de référence future, par combinaison linéaire de ce vecteur d'estimation de mouvement passé (mvLo) et d'au moins un vecteur d'estimation de mouvement passé d'un bloc de pixels de l'image courante (Bc) par l'intermédiaire de cette combinaison linéaire, pour engendrer un vecteur d'estimation de mouvement prédit (mvL, B) de ce bloc de pixels de l'image courante référencé dans l'image de référence future. Le codeur vidéo objet de la présente invention comporte au moins une mémoire d'entrée de mémorisation d'un flux vidéo, un module de lecture de la mémoire d'entrée et un module de codage délivrant, par l'intermédiaire d'un port d'entrée-sortie, un flux vidéo codé comportant des vecteurs d'estimation de mouvement des images successives constituant ce flux vidéo. Le module de codage précité inclut un module d'estimation de mouvement passé délivrant, pour chaque image courante, un ensemble de vecteurs d'estimation de mouvement passé associés à un bloc de pixels de chaque image successive, à l'exclusion de tout module d'estimation de mouvement futur vers une image de référence future. Le codeur vidéo selon l'invention est remarquable en ce que le module de codage inclut au moins, connectés au module d'estimation de mouvement passé, une mémoire de stockage des vecteurs d'estimation du mouvement passé, un module prédicteur de mouvement d'au moins un bloc de pixels de cette image courante vers cette image de référence future, par combinaison linéaire d'un vecteur d'estimation de mouvement passé (mvLo) d'un bloc de pixels de l'image courante référencé dans cette image de référence passée et d'au moins un vecteur d'estimation de mouvement passé d'un bloc de pixels de l'image de référence future déduit du bloc de pixels de l'image courante par l'intermédiaire de cette combinaison linéaire, pour engendrer un vecteur d'estimation de mouvement prédit (mvL,B) de ce bloc de pixels de l'image courante, référencé dans l'image de référence future.
Une mémoire de stockage de chacun des vecteurs d'estimation de mouvement prédit ( mvL1B ) est prévue, laquelle est reliée au port d'entrée-sortie. Le procédé d'estimation de mouvement d'un élément d'image et le codeur vidéo correspondant sont susceptibles d'âtre mis en oeuvre dans le domaine industriel des codeurs et du codage vidéo, les caméras numériques ou autres. Ils seront mieux compris à la lecture de la description et à l'observation des dessins ci-après dans lesquels : - la figure la représente, à titre purement illustratif, un organigramme des étapes essentielles de mise en oeuvre du procédé objet de la présente invention ; - la figure lb représente, à titre purement illustratif, un diagramme temporel illustrant le mode opératoire permettant la mise en oeuvre des étapes du procédé objet de la présente invention, tel qu'illustré en figure la ; - la figure 1c représente à titre purement illustratif un détail de mise en oeuvre de l'étape de prédiction ; - la figure 2a représente à titre purement illustratif, un organigramme complet des étapes permettant la mise en oeuvre du procédé objet de la présente invention dans un mode de mise en oeuvre préférentiel non limitatif ; - la figure 2b représente, de manière purement illustrative, un détail de mise en oeuvre de l'étape de calcul du vecteur d'estimation de mouvement passé (mvLoP) d'un bloc de pixels de l'image de référence future, déduit de l'image courante par l'intermédiaire d'une combinaison linéaire ; - la figure 3 représente, à titre illustratif, un diagramme temporel d'un processus de traitement de l'apparition dans une image antérieure à l'image courante d'un élément d'image fortuit, lié à cet élément d'image, lors, par exemple, du déplacement de cet élément d'image révélant cet élément d'image fortuit tel que le fond de scène ; - la figure 4a et la figure 4b représentent, sous forme de blocs fonctionnels, l'architecture générale d'un codeur vidéo, conforme à l'objet de la présente invention ; - la figure 5 représente un diagramme comparatif du rapport signal à bruit SPNR exprimé en base logarithmique, mesuré en dB, pour différentes valeurs de débit du flux vidéo exprimé en kb/s, pour un codage vidéo classique incorporant une estimation de mouvement futur, respectivement pour un codage vidéo selon le procédé objet de la présente invention, en l'absence d'estimation de mouvement futur, mais remplacée par une prédiction de mouvement futur. Une description plus détaillée du procédé d'estimation de mouvement d'un élément d'image contenu dans l'image courante d'une séquence vidéo, objet de la présente invention, sera maintenant donnée en liaison avec les figures 1 a, lb et les figures suivantes. En référence aux figures précitées, on considère une image courante, notée Pc, précédée par au moins une image de référence passée, notée Pp et suivie par au moins une image de référence future, notée Pf. Le procédé objet de l'invention est mis en oeuvre dans un codeur vidéo dans lequel on dispose pour l'image courante Pc et pour l'image de référence future Pf d'un champ de vecteurs d'estimation de mouvement passé de chaque bloc de pixels, tels que le bloc courant Bc représenté en figure lb, vis-à-vis de l'image de référence passée Pp. Sur la figure la, le champ de vecteurs de mouvement passé de chaque bloc de pixels est noté { mvLo } et sur la figure 1 b l'axe des temps croissant t est représenté de gauche à droite et les axes y et x contenus dans un plan de chaque image sont représentés verticalement dans le respectivement orthogonalement au plan de la feuille. En référence aux figures précitées, on dispose à l'étape A, pour chaque bloc courant de pixels de l'image courante Bc d'un vecteur d'estimation de mouvement passé, noté mvLo. Conformément à la technique classique de traitement d'images, le vecteur d'estimation de mouvement précité permet de référencer le bloc courant Bc de l'image courante dans l'image de référence passée Pp. On comprend en particulier que le bloc de pixels Bc l'image courante correspond, par projection de mouvement, au bloc de pixels Bcfp dans l'image de référence passée Pp. Il en est de même pour tout bloc de pixels de l'image de référence future Pf vis-à-vis de l'image de référence passée Pp.
En référence à la figure la, l'étape A est suivie d'une étape de prédiction du mouvement de chaque bloc de pixels de l'image courante vers l'image de référence future Pf. L'étape de prédiction précitée, selon un aspect remarquable du procédé objet de l'invention, est avantageusement exécutée par combinaison linéaire du vecteur d'estimation de mouvement passé mvLo et d'au moins un vecteur d'estimation de mouvement passé du bloc de pixels, noté Bcf, de l'image de référence future Pf, le bloc de pixels Bcf précité de l'image de référence future étant déduit du bloc de pixels de l'image courante Bc par l'intermédiaire de la combinaison linéaire précitée, pour engendrer un vecteur d'estimation de mouvement prédit, le vecteur mvL,b, relatif à chacun des blocs de pixels de l'image courante référencé dans l'image de référence future Pf. En référence à la figure la, on indique que la combinaison linéaire précitée inclut au moins l'inversion pondérée du vecteur d'estimation de mouvement passé, mvLo , du bloc de pixels de l'image courante référencé vis-à-vis de l'image de référence passée, bloc désigné Bc les sur la figure 1 b, pour engendrer le vecteur d'estimation de mouvement prédit mvL,B représenté en figure lb. Ainsi, en référence aux figures la et 1 b, on comprend que la combinaison linéaire précitée comprend au moins un terme donné par la relation (1): mvL, B = k mvLo k = -tfc/tcp Dans la relation précédente, on comprend que le que le coefficient k du terme précité exécute la pondération de l'amplitude du vecteur mvLO au prorata des intervalles temporels tfc et tcp séparant l'image de référence future de l'image courante respectivement l'image courante de l'image de référence passée et le signe moins exécute la rotation à 180° du vecteur d'estimation de mouvement passé mvLo en vue d'effectuer la prédiction du mouvement du bloc courant Bc vers le bloc Bcf référencé dans l'image de référence future Pf. Ainsi qu'on l'a en outre représenté en figure lb, un traitement spécifique peut ensuite être exécuté sur le bloc Bcf dans l'image de référence future Pf, à partir du vecteur d'estimation de mouvement passé du bloc précité référencé dans l'image de référence passée Pf, par l'intermédiaire du vecteur d'estimation de mouvement passé, noté mvLoP sur la figure la et la figure lb.
On comprend, dans ces conditions, que le vecteur d'estimation de mouvement prédit mvL,B peut alors résulter de la mise en oeuvre d'un processus de traitement par combinaison linéaire, ce processus de traitement intervenant entre les vecteurs d'estimation de mouvement passé mvLo et mvLoP tel que représenté en figure 1 b. La combinaison linéaire représentative de ce processus de traitement est représentée sur la figure la par la relation (2): mvLI B = f ( mvLoP ,mvLo ) Une description plus détaillée d'un mode de mise en oeuvre spécifique non limitatif du procédé, objet de l'invention, sera maintenant donnée en liaison avec la figure 2a et les figures 2b et 2c.
Le mode de mise en oeuvre de la figure 2a correspond en fait à une mise en oeuvre spécifique de l'étape B de la figure la. À l'observation de la figure 2a, on comprend qu'on retrouve la mise en oeuvre de l'étape A de la figure la, cette dernière étant alors suivie de l'étape B comportant une sous étape B1 consistant à exécuter la relation (2) précédemment citée pour exécuter l'inversion pondérée du vecteur d'estimation de mouvement passé mvLo et d'une sous étape B2 correspondant au calcul du vecteur d'estimation de mouvement passé mvLoP du bloc de pixels Bcf dans l'image de référence future Pf. On rappelle que lors de la mise en oeuvre du procédé objet de l'invention dans un codeur vidéo, la sous-étape de calcul B2 peut être réduite à un simple appel du vecteur d'estimation de mouvement correspondant mémorisé et disponible dans le codeur vidéo précité. Selon un aspect remarquable du procédé objet de l'invention, la combinaison linéaire précédemment mentionnée inclut, à la sous-étape B3, le calcul de la différence de position entre la position dans l'image de référence passée Pp de l'extrémité Pl du vecteur d'estimation de mouvement passé mvLoP du bloc de pixels de l'image courante Bcf référencé dans l'image de référence future Pf vis-à-vis de l'image de référence passée Pf, pour engendrer le bloc de pixels correspondant Bcfp, et la position, dans la même image de référence passée Pp, de l'extrémité P2 du vecteur d'estimation de mouvement passé mvLO du bloc de pixels Bcp de l'image courante référencé dans l'image de référence passée Pp . Le calcul réalisé à la sous étape B3 permet ainsi d'engendrer un vecteur P, P2 différence d'estimation de mouvement passé, selon la relation (3): P, P2 = mvLoP - ( mvLo - mvL, B ) La sous étape B3 précitée est alors suivie d'une étape de validation du vecteur d'estimation de mouvement prédit mvL,B sur critère d'infériorité de l'amplitude du vecteur différence d'estimation de mouvement passé, vecteur P,P2 à une valeur de seuil S. L'étape de validation du vecteur d'estimation de mouvement prédit à la sous 15 étape B4 est représentée par la relation (4): rPlP2 S Sur réponse positive au test de la sous étape B4, le vecteur d'estimation de mouvement prédit finalement retenu, noté mvL, , est le vecteur mvL, B sans autre correction. 20 Au contraire, sur réponse négative au test de la sous étape B4 une réactualisation du vecteur d'estimation de mouvement passé mvLo est alors appelée pour correction du vecteur d'estimation de mouvement prédit mvL,B, ainsi qu'il sera décrit de manière plus détaillée ultérieurement dans la description. Un mode de mise en œuvre préférentiel non limitatif du procédé objet de 25 l'invention sera maintenant décrit en liaison avec la figure 2b et la figure 2c. Sur la figure 2b, les mêmes éléments que ceux précédemment décrits en liaison avec les figures précédentes portent les mêmes références.
Ainsi, à l'observation de la figure 2b on retrouve bien entendu l'étape A, l'étape B constituée par ses sous étapes B1, B2, B3, B4 et B5 de la figure 2a. En outre, ainsi qu'on l'a représenté sur la figure 2b précitée, et préalablement à l'opération d'inversion pondérée exécutée à la sous étape B1, le procédé objet de l'invention inclut au moins, après calcul du vecteur d'estimation de mouvement passé mvLo du bloc de pixels Bc de l'image courante référencé dans l'image de référence passée Pp, une première étape de test, notée BO1, de la validité du vecteur d'estimation de mouvement passé mvLo. L'étape de test précitée est représentée par la relation (5) : Validité mvLo ? L'étape de test précitée peut avantageusement consister en l'application d'un critère d'une efficacité de codage intertrame supérieure à l'efficacité de codage intratrame. L'application du test précité permet de vérifier si le vecteur d'estimation de mouvement passé à un sens au sens de l'image de référence et de l'évolution du contexte, compte tenu du mouvement estimé. Il peut être mis en oeuvre à partir de métriques de la somme des valeurs absolues des différentes images courantes et précédentes, métriques appliquées à la variance et à la luminosité des pixels des blocs de pixels Bc et Bcfp précédemment décrits dans la description. Une technique connue pour effecteur le test B01 précité peut consister à comparer la variance du bloc à la somme des valeurs absolues des différences (SAD) entre le bloc courant Bc et le bloc correspondant référencé par le vecteur d'estimation de mouvement dans l'image de référence passée Pp. Pour une description plus détaillée de ce mode opératoire, on pourra se reporter à l'article Optimizing INTRAIINTER Coding Mode Decisions de Yen-Kuang Chen, Anthony Vetro, Huifang Sun and S.Y. Kung Princeton University and Mitsubishi Electric ITA, 23 octobre 1997. Ainsi, on indique que si la métrique présente une valeur inférieure à une valeur de variance donnée l'on procède à un codage intertrame. Sinon, on retient le codage intratrame. En référence à la figure 2b précitée, sur réponse positive à la première étape de test BO1 une deuxième étape de test B02 est appelée visant à vérifier le caractère significatif du mouvement représenté par le vecteur d'estimation de mouvement passé mvLo . Le caractère significatif du mouvement précité est fonction de la variance en termes de contraste du bloc de pixels de l'image Bc. On estime, en effet, que si la variance du bloc est faible, le vecteur d'estimation de mouvement trouvé pour ce bloc ne représente pas le mouvement du bloc, car les processus d'estimation de mouvement ne peuvent valablement opérer à partir d'un bloc ou d'une zone de bloc à faible variance. L'étape de test B02 est représentée par la relation (6) : mvLo significatif ? Sur réponse positive à la deuxième étape de test B02, la sous étape d'inversion pondérée BI est alors appelée, suivie de la sous étape B2. En référence à la figure 2b et à la figure 2a, la sous-étape B2 est alors suivie des sous étape B3 et B4 incluant la sous étape B3 de calcul du vecteur différence d'estimation de mouvement P1P2 précédemment décrite dans la description et le test B4 en liaison avec la figure 2a. Sur réponse positive au test B4, la sous étape B5 de correction du vecteur de mouvement prédit mvL1 B est alors appelée. En outre, ainsi qu'il apparaît de même sur la figure 2b, sur réponse négative à la première de l'étape de test de validité BO1, le procédé, dans le mode de réalisation décrit, inclut également une troisième étape de test B011 de vérification de la similarité du bloc de pixels de l'image courante Bc vis-à-vis des blocs voisins. De manière plus spécifique, on indique que le test de similarité exécuté à l'étape de test BO11 consiste à comparer les caractéristiques lumineuses des blocs précités, afin de discriminer l'existence d'au moins un bloc voisin similaire. Sur la figure 2B, l'étape de test B011 est notée par la relation (7): Similarité avec blocs voisins ? Sur réponse positive au test réalisé à l'étape BO11 le vecteur d'estimation de mouvement prédit du bloc voisin similaire est alloué au bloc de pixels de l'image courante Bc. Sinon, en l'absence de bloc voisin similaire un vecteur d'estimation de mouvement nul est alloué au bloc de pixels de l'image courante Bc. À l'étape B04, l'opération d'allocation du vecteur d'estimation de mouvement prédit du bloc voisin similaire au bloc courant Bc est notée selon la relation (8): mvL1 = mv Voisinage À l'étape B03 l'opération d'allocation du vecteur de mouvement nul est notée selon la relation (9): mvL1 = m Vo De même, ainsi que représenté sur la figure 2b, sur réponse négative à la deuxième étape de test du caractère significatif du mouvement représenté par le vecteur d'estimation de mouvement passé mvLo , étape de test B02, le procédé objet de l'invention inclut une quatrième étape de test, notée B021 consistant à vérifier la validité du vecteur d'estimation de mouvement du bloc de pixels co-localisé sur l'image de référence future Pf, sur critère d'une efficacité le codage intertrame supérieure à l'efficacité le codage intratrame. À l'étape B021, l'étape de test de validité est notée selon la relation (10): Validité mvCol ? Sur réponse positive à l'étape de test de vérification B021, au vecteur d'estimation de mouvement prédit est alloué le vecteur direct issu de la colocalisation à l'étape notée B05. À l'étape B05 précitée l'opération d'allocation est représentée par la relation (11): mvL1 = mvDirect Au contraire, sur réponse négative au test de vérification B021, un retour à l'appel de l'étape du troisième test de similarité avec des blocs voisins exécuté à l'étape de test BO11 est exécuté. Une description plus détaillée du mode de mise en oeuvre spécifique de la sous étape B2 de calcul du vecteur d'estimation de mouvement passé du bloc courant Bcf. référencé dans l'image de référence future Pf sera maintenant donnée en liaison avec la figure 2c. D'une manière générale, on indique que le calcul du vecteur d'estimation de mouvement passé mvLoP précité est susceptible de faire correspondre au bloc de pixels Bc de l'image courante Pc un bloc de pixels Bcf fictif, lequel ne correspond pas exactement à un bloc de pixels de l'image de référence future Pf précitée, le bloc Bcf précédemment mentionné correspondant alors à une pluralité de blocs adjacents, et, en particulier, à une pluralité de zones de blocs adjacents, elles-mêmes adjacentes sur les lignes de délimitation des blocs adjacents considérés dans le plan de l'image de référence future Pf.
Sur la figure 2c, les blocs adjacents précités sont notés Bal, Ba2, Ba3 et Ba4. Dans cette hypothèse, l'étape de calcul de la différence de position de l'extrémité Pl du vecteur d'estimation de mouvement passé mvLoP dans l'image de référence passée est exécuté par pondération des surfaces occupées par le bloc de pixels de l'image courante dans l'image de référence future Pf. Ainsi, le processus d'estimation précité consiste à partir du bloc de pixels pointé par le vecteur d'estimation de mouvement prédit mvL1B dans l'image de référence future Pf permet d'estimer ce vecteur d'estimation de mouvement comme un pseudo-vecteur, barycentre des surfaces communes entre le bloc suivant référencé par rapport à la somme des blocs physiques adjacents Bal ,Ba2, Ba3 et Ba4 tel que représenté en figure 2c. Le vecteur d'estimation de mouvement passé mvLoP vérifie alors la relation (12) : mvLOP = (Sa * mvA + Sb * mvB + Sc * mvC + Sd * mvD) (Sa + Sb + Sc + Sd) Dans la relation précédente, --mvA désigne le vecteur d'estimation de mouvement passé du bloc Bal dans l'image de référence future ; --mvB désigne le vecteur d'estimation de mouvement passé du bloc Ba2 dans l'image de référence future ; -- mvC désigne le vecteur d'estimation de mouvement passé du bloc Ba3 dans l'image de référence future ; -- mvD désigne le vecteur d'estimation de mouvement passé du bloc Ba4 dans l'image de référence future ; --Sa, Sb, Sc, Sd, désigne respectivement les surfaces adjacentes du bloc de pixels réellement pointé par le vecteur d'estimation de mouvement préditmvL,B . Une description plus détaillée d'un mode de mise en oeuvre spécifique du procédé objet de l'invention dans une situation particulière dans laquelle un déplacement de balayage de scène à vitesse sensiblement constante d'une caméra de prises de vue munie d'un codeur vidéo et pour un élément d'image contenant au moins un bloc de pixels présentant, dans le plan 'image, un mouvement accéléré, ce bloc de pixels et l'élément de d'image correspondant étant solidaires et parcourant dans le plan image, entre deux images distinctes, une distance croissante avec le temps sera maintenant donnée en liaison avec la figure 3. Sur la figure précitée, on considère une succession d'images encodées par un codeur vidéo respectant une norme où l'insertion d'images bidirectionnelles est autorisée, ces normes pouvant correspondre aux normes MPEG2 ou H.264. On suppose que l'image en cours, l'image courante, est une image de type B désignée image B12, laquelle est prédite par rapport à l'image de référence passée Pf et à l'image de référence future Pf. On suppose que l'estimation de mouvement passé a été réalisée entre l'image courante B12 et l'image de référence passée Pp et a permis d'obtenir les champs de vecteurs d'estimation de mouvement correspondant, ainsi que décrit précédemment dans la description. On suppose ainsi que la caméra vidéo effectue un déplacement de balayage de scène, dit travelling en anglais, à vitesse constante, un point parcourant la même distance entre deux images successives, ainsi que représenté sur la figure 3 par le bloc inférieur strié par exemple. 15 Pour illustrer le mode de mise en oeuvre du procédé objet de l'invention, on considère sur la figure 3 précitée un bloc de pixels représenté en grisé sur l'image courante B12 et désigné Bloc 1. Le Bloc 1 dans l'image courante représente l'objet désigné Objet A dans l'image de référence passée. Ce bloc est présent dans toutes les images successives. Ce bloc étant accéléré, l'inversion pondérée du vecteur mvLo , telle que décrite à l'étape B 1 de la figure 2b par exemple, engendre le vecteur mvLIB qui n'aboutit pas au bon bloc, en raison de la translation globale de l'Objet A.
En revanche, le vecteur mvL,B précité aboutit à un bloc voisin, lequel appartient au même objet, et qui suit donc le même mouvement. En appliquant le processus de calcul du vecteur d'estimation de mouvement passé mvLoP au bloc considéré de l'image de référence future Pf, on trouve le vecteur mvLoP précité, lequel représente le mouvement global de l'Objet A dans l'image de référence future Pf et l'image de référence passée Pp. Ainsi que représenté en figure 3 on mesure alors la distance deltad selon le processus décrit à l'étape B3 de la figure de 2a, cette distance étant bien entendu mesurée dans l'image de référence passée Pp. Selon un aspect remarquable du procédé objet de l'invention, dans sa mise en oeuvre telle que décrite en liaison avec la figure 3, le vecteur différence d'estimation de mouvement passé PI P2 = Ad représente la distance parcourue dans le plan image par l'élément d'image entre l'image de référence future et l'image courante B 12. Dans ces conditions, l'étape de validation du vecteur d'estimation de mouvement prédit mvL1B comporte avantageusement une étape de correction du vecteur par adjonction, dans l'image de référence future Pf, d'un vecteur d'estimation de mouvement de correction, noté Ad, équipollent au vecteur différence d'estimation de mouvement P,P2 . L'opération précitée peut consister à reporter le vecteur différence d'estimation de mouvement passé par sommation vectorielle à l'extrémité du vecteur prédit mvL1B afin de former le vecteur prédit finalement retenu, mvL1 ainsi que décrit précédemment à l'étape B5 de la figure 2b. Dans ces conditions, le vecteur prédit mvZ ainsi engendré représente parfaitement le mouvement du bloc entre l'image de référence future Pf et l'image courante, l'image B12.
Finalement, le procédé de codage de la présente invention met en oeuvre une combinaison linéaire de la forme générale vérifiant la relation (13) : mvL1B = k mvLo + e Pt P2 Avec e=0siP1P2 (S e = 1, sinon.
Cette relation se ramène ainsi à une combinaison linéaire des vecteurs estimation de mouvement passé mvLo du bloc courant Bc référencé vis-à-vis de l'image de référence passée Pp et du vecteur estimation de mouvement passé mvLoP du bloc courant Bc référencé par le vecteur d'estimation de mouvement prédit mvL1B dans l'image de référence future Pf de la forme mvL1B = kmvLo + e (mvLop - (mvLo - mvL1B )). Un autre exemple de processus de traitement remarquable du procédé objet de l'invention sera maintenant donné en liaison avec la même figure 3 dans le cas d'une apparition, dans au moins une image antérieure à l'image courante, soit dans l'image notée B 11 sur la figure 3, d'un élément d'image fortuit liés à l'élément d'image c'est-à- dire à l'Objet A et donc à au moins un au bloc de pixels de ce dernier présentant le mouvement accéléré précédemment cité. En référence à la figure 3, on comprend que le bloc désigné Bloc 2 sur l'image courante B12 représente une apparition dans l'image précédente, mais le bloc désigné Bloc 2 précité n'existe pas sur l'image de référence passée, car il est en fait masqué par l'Objet A. Toutefois l'image courante B12 n'est pas prédite par rapport à l'image précédente, image B11, et il existe toutefois sur l'image de référence future, image Pf.
Pour assurer un traitement correct du Bloc 2 dont l'apparence est fortuite, le procédé objet de l'invention permet alors d'analyser les blocs alentours afin de trouver un bloc similaire, ainsi que représenté à la figure 2b à l'étape B011. Dans ce but, on rappelle ainsi que décrit précédemment dans la description, que l'on met en oeuvre exclusivement des métriques qui sont déjà calculées dans le codeur, métrique telle que la variance du bloc de pixels considéré, sa luminosité, sa couleur par exemple. Dans le cas présent, le fond étant uni, il est alors facile de trouver un bloc de pixels similaire, tel que le bloc de pixels représenté strié sur la figure 3 précitée, et disposant d'un vecteur d'estimation de mouvement valide. Ainsi qu'il est représenté en figure 2b, sur réponse positive au test de similarité B011, on affecte alors au bloc désigné Bloc 2 le vecteur d'estimation de mouvement du bloc similaire, ainsi que représenté à l'étape B 04 de la figure 2b. Le Bloc 2 précité disposant d'un vecteur d'estimation de mouvement correct, le bloc de pixels désigné Bloc 1 dispose alors, en raison du caractère lié de ces blocs, un vecteur d'estimation de mouvement correct, sans toutefois n'exécuter aucune estimation de mouvement futur en tant que telle. Le mode opératoire décrit précédemment en liaison avec la figure 3 peut-être résumé de la manière ci-après lorsqu'aucun élément d'image similaire à l'élément d'image fortuit n'existe dans l'image de référence passée Pp. Le processus précité consiste alors au moins à discriminer, dans l'image courante B12 au voisinage de l'élément d'image fortuit un élément d'image voisin similaire puis à allouer à l'élément d'image fortuit un vecteur d'estimation de mouvement prédit, désigné mvL,s' sur la figure 3, équipollent au vecteur d'estimation de mouvement prédit mvLis de l'élément d'image voisin similaire. Le vecteur d'estimation de mouvement prédit alloué à l'élément d'image fortuit est ainsi directement déduit du vecteur d'estimation de mouvement prédit mvLls' et ainsi alloué à l'élément d'image contenant au moins un bloc de pixels présentant dans le plan image un mouvement accéléré.
Une description plus détaillée d'un codeur vidéo, conforme à l'objet de la présente invention, sera maintenant donnée en liaison avec les figures 4a et 4b. Ainsi que représenté sur la figure 4a, le codeur vidéo objet de l'invention comporte, de manière classique, au moins une mémoire d'entrée, notée EM, recevant le flux vidéo, un module de lecture de la mémoire d'entrée noté RM et un module de codage noté CM. La mémoire d'entrée EM et le module de lecture RM sont des modules d'architecture classique, lesquels, pour cette raison, ne seront pas décrits en détail. En ce qui concerne le module de codage CM, on indique que celui-ci comprend également, de manière classique, un module d'estimation de mouvement passé et une mémoire de l'ensemble des vecteurs de mouvement passé, l'ensemble { mvLo } précédemment mentionné dans la description. Les deux éléments précités sont également des éléments d'architecture classique, lesquels, pour cette raison, ne seront pas décrits en détail.
Toutefois, selon un aspect remarquable du codeur vidéo objet de l'invention, le module de codage CM inclut un module d'estimation de mouvement passé délivrant pour chaque image courante un ensemble de vecteurs d'estimation de mouvement passé associé chacun à un bloc de pixels de chaque image successive, à l'exclusion de tout module d'estimation de mouvement futur vers une image de référence future.
En outre, ainsi que représenté en figure 4b, le module de codage CM inclut au moins, connecté au module d'estimation de mouvement passé, une mémoire de stockage de l'ensemble des vecteurs d'estimation de mouvement passé, vecteurs { mvLo }, et portant la référence MMPO. Ainsi que représenté en outre en figure 4b, le module de codage précité 25 inclut un module PM prédicteur de mouvement d'au moins un bloc de pixels de l'image courante vers l'image de référence future Pf. Bien entendu, le module PM prédicteur de mouvement d'au moins un bloc de pixels de l'image courante vers l'image de référence future opère par combinaison linéaire d'un vecteur d'estimation de mouvement passé mvLo d'un bloc de pixels de l'image courante référencé dans l'image de référence passée Pp et d'au moins un vecteur d'estimation de mouvement passé vecteur mvLo d'un bloc de pixels, le bloc Bcf de l'image de référence future, déduit du bloc de pixels de l'image courante Bc précitée par l'intermédiaire de la combinaison linéaire précédemment mentionnée.
Ainsi, le module prédicteur de mouvement PM permet d'engendrer un vecteur d'estimation de mouvement prédit du bloc de pixels de l'image courante référencée dans l'image de référence future Pf. Le vecteur d'estimation de mouvement prédit précité n'est autre que le vecteur d'estimation de mouvement mvL1B . Enfin, au module prédicteur de mouvement PM est en outre connecté une 10 mémoire de stockage de chacun des vecteurs d'estimation de mouvement prédit formant un ensemble de vecteurs d'estimation de mouvement prédit { mvL1 }. La mémoire de stockage précitée est connectée au port d'entrée-sortie notée I/O afin de délivrer un flux vidéo codé et comportant des vecteurs d'estimation de mouvement des images successives constituant le flux vidéo codé. 15 Bien entendu, le module prédicteur de mouvement PM opère conformément au procédé objet de l'invention tel que décrit précédemment en liaison avec les figures la, lb, 2a, 2b, 2c et 3. Dans ce but il comporte un module A d'inversion pondérée du vecteur d'estimation de mouvement passé mvLo. Il inclut en outre un module de calcul de la 20 différence de position entre la position dans l'image de référence passée Pp de l'extrémité P 1 du vecteur d'estimation de mouvement passé du bloc de pixels de l'image courante référencée dans l'image de référence passée Pp et la position, dans la même image de référence passée, de l'extrémité P2 du vecteur d'estimation de mouvement mvLo du bloc de pixels de l'image courante référencée dans l'image de référence passée 25 Pp pour engendrer le vecteur P1P2 différence d'estimation de mouvement passé, ainsi que décrit précédemment dans la description. Sur la figure 4b, le module de calcul de la différence de position précitée porte la référence B. Le module d'estimation de mouvement prédit PM comporte en outre un module de comparaison du vecteur différence d'estimation de mouvement passé à une valeur de seuil, selon la relation (4) précédemment citée dans la description. Ce module de comparaison porte la référence C, D sur la figure 4b. Enfin, ainsi que représenté également sur la figure 4b, le module prédicteur de mouvement PM comporte en outre un module de test de validité de chaque vecteur d'estimation de mouvement passé sur critère d'efficacité de codage intertrame supérieure à l'efficacité de codage intratrame, un module de test du caractère significatif du mouvement représenté par chaque vecteur d'estimation de mouvement passé mvLo et un module de calcul dédié du barycentre des vecteurs d'estimation de mouvement passé dans l'image de référence passée Pp, par pondération des surfaces occupées par le bloc de pixels de l'image courante dans l'image de référence future, ainsi que décrit en liaison avec la figure 2c. Sur la figure 4b, les modules de test de validité, de test de caractère significatif et de calcul dédié du barycentre portent respectivement la référence E, F, G.
L'invention couvre également un produit de programme d'ordinateur comportant une suite d'instructions mémorisées sur un support de mémorisation et exécutable par un ordinateur ou par l'unité de calcul dédiée d'un codeur vidéo tel que représenté en figure 4b, conformément à l'objet de la présente invention, ce produit le programme d'ordinateur étant remarquable en ce que, lors de l'exécution des instructions constitutives de celui-ci, ce programme met en oeuvre le procédé d'estimation de mouvement d'un élément d'image contenu dans l'image courante d'une séquence vidéo, ainsi que décrit précédemment dans la description en liaison avec les figures la, lb, 2a, 2b, 2c et 3. Ainsi qu'on l'a en outre représenté en figure 4a et 4b, le programme d'ordinateur précité est implanté sous forme modulaire dans le module prédicteur PM précité. Le programme d'ordinateur précédemment mentionné objet de l'invention est alors avantageusement implanté sous forme modulaire dans le module prédicteur précité, sous forme des modules logiciels distincts portant les références A, B, C, D, E, F, G précédemment mentionnées dans la description.
Enfin, en référence à la figure 5, on indique que le procédé et le codeur vidéo objets de la présente invention permettent de supprimer l'implémentation d'un module d'estimation de mouvement futur dans les codeurs vidéo très coûteux à mettre en oeuvre. Sur la figure précitée, on a représenté la mesure de distorsion due au codage d'un flux vidéo représenté par le PSNR (Peak Signal to Noise Ratio) rapport signal à bruit dans le cas d'un codage classique, avec estimation de mouvement futur et dans le cas de la suppression de cette dernière et son remplacement par une prédiction future selon le procédé objet de la présente invention. On peut, en effet, constater sur la figure 5 que, malgré cette suppression, mais grâce à la mise en oeuvre du module prédicteur PM en lieu et place de ce dernier, la dégradation de qualité du flux vidéo est tout à fait marginale, tout au plus de l'ordre de quelques centièmes de dB dans l'un et l'autre cas.

Claims (16)

REVENDICATIONS
1. Procédé d'estimation de mouvement d'un élément d'image contenu dans l'image courante d'une séquence vidéo, ladite image courante étant précédée, dans l'ordre de codage, par au moins une image de référence passée et suivie par au moins une image de référence future, dans lequel on dispose, pour ladite image courante et pour ladite image de référence future, d'un champ de vecteurs d'estimation de mouvement passé de chaque bloc de pixels constitutif de ces images vis-à-vis de ladite image de référence passée, caractérisé en ce que, suite au calcul d'au moins un vecteur d'estimation de mouvement passé ( mvLo) d'au moins un bloc de pixels (Bc) de l'image courante référencé dans ladite image de référence passée, ledit procédé inclut au moins une étape de prédiction du mouvement dudit au moins un bloc de pixels de l'image courante vers ladite image de référence future, par combinaison linéaire dudit vecteur d'estimation de mouvement passé ( mvLo) et d'au moins un vecteur d'estimation de mouvement passé d'un bloc de pixels (Bcf) de l'image de référence future, déduit dudit bloc de pixels de l'image courante (Be) par l'intermédiaire de ladite combinaison linéaire, pour engendrer un vecteur d'estimation de mouvement prédit (mvL, B) dudit au moins un bloc de pixels de l'image courante référencé dans ladite image de référence fututre (Bcf).
2. Procédé selon la revendication 1, caractérisé en ce que ladite combinaison linéaire inclut au moins : l'inversion pondérée dudit vecteur d'estimation de mouvement passé (mvLo) dudit au moins un bloc de pixels de l'image courante (Bc) référencé vis-à-vis de ladite image de référence passée (Bcp) pour engendrer ledit vecteur d'estimation de mouvement prédit ( mvL, B).
3. Procédé selon la revendication 2, caractérisé en ce que ladite combinaison linéaire inclut en outre : -le calcul de la différence de position entre la position, dans l'image de référence passée, de l'extrémité (PI) du vecteur d'estimation de mouvement passé ( mvLo) dudit au moins un bloc de pixels de l'image courante référencé dans l'image de référence future (Bcf) vis-à-vis de l'image de référence passée (Bcfp) et la position, dans la même image de référence passée, de l'extrémité (P2) du vecteurd'estimation de mouvement passé (mvLo) dudit au moins un bloc de pixels de l'image courante référencé dans l'image de référence passée (Bcp), pour engendrer un vecteur (P1P2) différence d'estimation de mouvement passé ; -la validation dudit vecteur d'estimation de mouvement prédit (mvL1B), sur critère d'infériorité de l'amplitude dudit vecteur différence (P, P2) d'estimation de mouvement passé à une valeur de seuil.
4. Procédé selon l'une des revendications 2 ou 3, caractérisé en ce que, préalablement à ladite inversion pondérée, ledit procédé inclut au moins, après calcul dudit au moins un vecteur d'estimation de mouvement passé ( mvLo) d'au moins un bloc de pixels de l'image courante référencé dans ladite image de référence passée, -une première étape de test de validité dudit vecteur d'estimation de mouvement passé, sur critère d'une efficacité de codage Intertrame supérieure à l'efficacité de codage Intratrame ; et, sur réponse positive à ladite première étape de test de validité, -une deuxième étape de test du caractère significatif du mouvement représenté par le ledit vecteur d'estimation de mouvement passé ( mvLo ), le caractère significatif du mouvement étant fonction de la variance en termes de contraste dudit bloc de pixels de l'image courante et, sur réponse positive à ladite deuxième étape de test, -l'appel de ladite inversion pondérée.
5. Procédé selon la revendication 3 ou 4, caractérisé en ce que l'étape de calcul de la différence de position inclut une étape d'estimation, à partir dudit au moins un bloc en pixels de l'image référencée dans l'image de référence future (Bcf), dudit vecteur d'estimation de mouvement passé (mvLo )dans ladite image de référence passée, par pondération des surfaces occupées par ledit bloc de pixels de l'image courante dans ladite image de référence future.
6. Procédé selon la revendication 4 ou 5, caractérisé en ce que, sur réponse négative à ladite première étape de test de validité, ledit procédé inclut en outre une troisième étape de test de similarité dudit au moins un bloc de pixels de l'image courante vis-à-vis des blocs voisins, le test de similarité consistant à comparer les caractéristiques lumineuses desdits blocs, afin de discriminerl'existence d'au moins un bloc voisin similaire, le vecteur d'estimation de mouvement prédit dudit bloc voisin similaire étant alloué audit bloc de pixels de l'image courante sur existence dudit bloc voisin similaire et un vecteur d'estimation de mouvement nul étant alloué audit bloc de l'image courante, sinon.
7. Procédé selon les revendications 4 et 6, caractérisé en ce que, sur réponse négative à ladite deuxième étape de test du caractère significatif du mouvement représenté par ledit vecteur d'estimation de mouvement passé (mvLo ), ledit procédé inclut une quatrième étape de test de validité du vecteur d'estimation de mouvement du bloc de pixels colocalisé sur ladite image de référence future, sur critère d'une efficacité de codage Intertrame supérieure à l'efficacité de codage Intratrame, au vecteur d'estimation de mouvement prédit étant alloué le vecteur direct, issu de la colocalisation, sur réponse positive à ladite quatrième étape de test de validité et un retour à l'appel de l'étape du troisième test de similarité avec les blocs de pixels voisins étant exécuté, sinon.
8. Procédé selon l'une des revendications 3 à 7, caractérisé en ce que, pour un déplacement de balayage de scène à vitesse sensiblement constante d'une caméra de prise de vues et pour un élément d'image contenant au moins un bloc de pixels présentant, dans le plan image, un mouvement accéléré, ledit bloc de pixels et ledit élément d'image parcourant dans le plan image entre deux images distinctes une distance croissante avec le temps, ledit vecteur (P1P2) différence d'estimation de mouvement passé représente la distance parcourue dans le plan image par ledit élément d'image entre ladite image de référence future et ladite image courante.
9. Procédé selon les revendications 3 et 8, caractérisé en ce que ladite étape de validation dudit vecteur d'estimation de mouvement prédit (mvL,B) comporte une étape de correction dudit vecteur par adjonction, dans ladite image de référence future, d'un vecteur d'estimation de mouvement de correction équipollent audit vecteur d'estimation de mouvement différence (P, P2 ).
10. Procédé selon les revendications 6, 8 et 9, caractérisé en ce que, sur apparition dans au moins une image antérieure à ladite image courante, d'un élément d'image fortuit, lié audit élément d'image et audit au moins un bloc de pixels de ce dernier présentant un mouvement accéléré, aucun élément d'image similaire auditélément d'image fortuit n'existant dans ladite image de référence passée, ledit procédé consiste au moins à : -discriminer, dans ladite image courante, au voisinage dudit élément d'image fortuit, un élément d'image voisin similaire ; -allouer audit élément d'image fortuit un vecteur d'estimation de mouvement prédit (mvLis') équipollent au vecteur d'estimation de mouvement prédit (mvL,s )dudit élément d'image voisin similaire ; -déduire directement dudit vecteur d'estimation de mouvement prédit (mvL,s') alloué audit élément d'image fortuit un vecteur d'estimation de mouvement prédit homologue alloué audit élément d'image contenant au moins un bloc de pixels présentant, dans le plan image, un mouvement accéléré.
11. Codeur vidéo comportant au moins une mémoire d'entrée de mémorisation d'un flux vidéo, un module de lecture de la mémoire d'entrée et un module de codage délivrant par l'intermédiaire d'un port d'entrée-sortie vidéo (I/O) un flux codé comportant des vecteurs d'estimation de mouvement des images successives constituant ledit flux vidéo, ledit module de codage incluant un module d'estimation de mouvement passé délivrant pour chaque image courante un ensemble de vecteurs d'estimation de mouvement passé associés chacun à un bloc de pixels de chaque image successive, à l'exclusion de tout module d'estimation de mouvement futur vers une image de référence future, caractérisé en ce que ledit module de codage inclut au moins connectés audit module d'estimation de mouvement passé, -une mémoire de stockage desdits vecteurs d'estimation du mouvement passé ; -un module prédicteur de mouvement d'au moins un bloc de pixels de 25 ladite image courante vers ladite image de référence future, par combinaison linéaire d'un vecteur d'estimation de mouvement passé (mvLo) d'un bloc de pixels de l'image courante référencé dans ladite image de référence passée et d'au moins un vecteur d'estimation de mouvement passé d'un bloc de pixels (Bcf) de l'image de référence future, déduit dudit bloc de pixels de l'image courante (Bc) par 30 l'intermédiaire de ladite combinaison linéaire, pour engendrer un vecteurd'estimation de mouvement prédit (mvL,B) de ce bloc de pixels de l'image courante, référencé dans ladite image de référence future ; - une mémoire de stockage de chacun desdits vecteurs d'estimation de mouvement prédit (mvL,B ), reliée audit port d'entrée-sortie (I/O).
12. Codeur vidéo selon la revendication 11, caractérisé en ce que ledit module prédicteur de mouvement inclut au moins un module d'inversion pondérée dudit vecteur d'estimation de mouvement passé ( mvLo ).
13. Codeur vidéo selon la revendication 12, caractérisé en ce qu'il inclut en outre -un module de calcul de la différence de position entre la position, dans l'image de référence passée, de l'extrémité (P1) du vecteur d'estimation passé (mvLop) du bloc de pixels de l'image courante référencé dans l'image de référence future vis-à-vis de l'image de référence passée et la positon, dans la même image de référence passée (mvLo) du bloc de pixels de l'image courante référencé dans l'image de référence passée, pour engendrer un vecteur (P,P2) différence d'estimation de mouvement passé ; - des moyens de comparaison du vecteur différence (P, P,) d'estimation de mouvement passé à une valeur de seuil.
14. Codeur vidéo selon la revendication 12, caractérisé en ce que celui-ci 20 inclut en outre : - un module de test de validité de chaque vecteur d'estimation de mouvement passé, sur critère d'efficacité de codage Intertrame supérieure à l'efficacité de codage Intratrame ; -un module de test du caractère significatif du mouvement représenté par 25 chaque vecteur d'estimation de mouvement passé ( mvLo) ; -un module de calcul dédié du barycentre des vecteurs d'estimation de mouvement passé (mvLoP) dans ladite image de référence passée, par pondération des surfaces occupées par le bloc de pixels de l'image courante dans l'image de référence future. 30
15. Produit de programme d'ordinateur comportant une suited'instructions mémorisées sur un support de mémorisation et exécutables par un ordinateur ou l'unité de calcul dédiée d'un codeur vidéo, caractérisé en ce que lors de l'exécution des dites instructions, ledit programme met en oeuvre le procédé d'estimation de mouvement d'un élément d'image contenu dans l'image courante d'une séquence vidéo selon l'une des revendications 1 à 10.
16. Produit de programme d'ordinateur selon la revendication 15, caractérisé en ce que ledit programme est implanté sous forme modulaire dans un module prédicteur incorporé audit codeur vidéo selon l'une des revendications 11 à 14.
FR0707586A 2007-10-29 2007-10-29 Procede et systeme d'estimation de mouvement futur d'elements d'image a partir du mouvement passe dans un codeur video Active FR2923125B1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR0707586A FR2923125B1 (fr) 2007-10-29 2007-10-29 Procede et systeme d'estimation de mouvement futur d'elements d'image a partir du mouvement passe dans un codeur video
PCT/FR2008/051932 WO2009056752A1 (fr) 2007-10-29 2008-10-27 Procede et systeme d'estimation de mouvement futur d'elements d'image a partir du mouvement passe dans un codeur video

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0707586A FR2923125B1 (fr) 2007-10-29 2007-10-29 Procede et systeme d'estimation de mouvement futur d'elements d'image a partir du mouvement passe dans un codeur video

Publications (2)

Publication Number Publication Date
FR2923125A1 true FR2923125A1 (fr) 2009-05-01
FR2923125B1 FR2923125B1 (fr) 2010-10-22

Family

ID=39708869

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0707586A Active FR2923125B1 (fr) 2007-10-29 2007-10-29 Procede et systeme d'estimation de mouvement futur d'elements d'image a partir du mouvement passe dans un codeur video

Country Status (2)

Country Link
FR (1) FR2923125B1 (fr)
WO (1) WO2009056752A1 (fr)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0863674A2 (fr) * 1997-03-07 1998-09-09 General Instrument Corporation Prédiction et codage de plaines d'objet de vidéo prédirés birectivement pour vidéo numérique entralacée
US20020075956A1 (en) * 1997-03-27 2002-06-20 Haskell Barin Geoffry Bidirectionally predicted pictures or video object planes for efficient and flexible video coding
US20040001546A1 (en) * 2002-06-03 2004-01-01 Alexandros Tourapis Spatiotemporal prediction for bidirectionally predictive (B) pictures and motion vector prediction for multi-picture reference motion compensation
US20060209961A1 (en) * 2005-03-18 2006-09-21 Samsung Electronics Co., Ltd. Video encoding/decoding method and apparatus using motion prediction between temporal levels

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0863674A2 (fr) * 1997-03-07 1998-09-09 General Instrument Corporation Prédiction et codage de plaines d'objet de vidéo prédirés birectivement pour vidéo numérique entralacée
US20020075956A1 (en) * 1997-03-27 2002-06-20 Haskell Barin Geoffry Bidirectionally predicted pictures or video object planes for efficient and flexible video coding
US20040001546A1 (en) * 2002-06-03 2004-01-01 Alexandros Tourapis Spatiotemporal prediction for bidirectionally predictive (B) pictures and motion vector prediction for multi-picture reference motion compensation
US20060209961A1 (en) * 2005-03-18 2006-09-21 Samsung Electronics Co., Ltd. Video encoding/decoding method and apparatus using motion prediction between temporal levels

Also Published As

Publication number Publication date
FR2923125B1 (fr) 2010-10-22
WO2009056752A1 (fr) 2009-05-07

Similar Documents

Publication Publication Date Title
US10091507B2 (en) Perceptual optimization for model-based video encoding
CN111010495B (zh) 一种视频降噪处理方法及装置
FR2907575A1 (fr) Procede et dispositif de codage d'images representant des vues d'une meme scene
WO2016040116A1 (fr) Optimisation de la perception pour codage vidéo à base de modèles
FR2947134A1 (fr) Procedes de codage et de decodages d'images, dispositifs de codage et de decodage, flux de donnees et programme d'ordinateur correspondants.
FR2891685A1 (fr) Procede et dispositif d'estimation de mouvement a references multiples, procede et dispositif de codage, produits programme d'ordinateur et moyens de stockage correspondants.
EP2279621B1 (fr) Procédé de codage, de décodage, codeur et décodeur
FR3040849A1 (fr) Procede de compression d'un flux de donnees video
FR2891686A1 (fr) Procede et dispositif de detection de transitions dans une sequence video, procede et dispositif de codage, produits programme d'ordinateur et moyens de stockage correspondants.
FR2986395A1 (fr) Codage et decodage par heritage progressif
Wang et al. Complexity reduction and performance improvement for geometry partitioning in video coding
EP3972246B1 (fr) Procédé de codage et de décodage d'images, dispositif de codage et de décodage d'images et programmes d'ordinateur correspondants
WO2016051083A1 (fr) Procédé de transcodage de données vidéo à fusion d'unités de codage, programme informatique, module de transcodage et équipement de télécommunications associés
Valenzise et al. Motion prediction of depth video for depth-image-based rendering using don't care regions
FR2923125A1 (fr) Procede et systeme d'estimation de mouvement futur d'elements d'image a partir du mouvement passe dans un codeur video
EP1241894A1 (fr) Procédé de codage d'images numériques basé sur la dissimulation d'erreurs
EP3050298B1 (fr) Codage et décodage vidéo par héritage d'un champ de vecteurs de mouvement
Salmistraro et al. Distributed multi-hypothesis coding of depth maps using texture motion information and optical flow
Wang et al. Intracoding and refresh with compression-oriented video epitomic priors
FR3022723A1 (fr) Procede de selection d'au moins un parametre de codage dans un encodeur video, sous une contrainte supplementaire de regularite.
FR2934453A1 (fr) Procede et dispositif de masquage d'erreurs
EP2160837B1 (fr) Sélection de fonctions de décodage distribuée au décodeur
EP1714498A1 (fr) Procede de recherche de la directon de prediction en codage video intra-image
WO2010086562A1 (fr) Procede et dispositif de codage d'images mettant en oeuvre des modes de codage distincts, procede et dispositif de decodage, et programmes d'ordinateur correspondants
Brites et al. Multiview side information creation for efficient Wyner–Ziv video coding: Classifying and reviewing

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 9

PLFP Fee payment

Year of fee payment: 10

PLFP Fee payment

Year of fee payment: 11

PLFP Fee payment

Year of fee payment: 12

PLFP Fee payment

Year of fee payment: 13

PLFP Fee payment

Year of fee payment: 14

PLFP Fee payment

Year of fee payment: 15

PLFP Fee payment

Year of fee payment: 16

PLFP Fee payment

Year of fee payment: 17