FR2959376A1 - Procede de traitement d'une information de mouvement, procedes de codage et de decodage, dispositifs, signal et programme d'ordinateur correspondants - Google Patents

Procede de traitement d'une information de mouvement, procedes de codage et de decodage, dispositifs, signal et programme d'ordinateur correspondants Download PDF

Info

Publication number
FR2959376A1
FR2959376A1 FR1053060A FR1053060A FR2959376A1 FR 2959376 A1 FR2959376 A1 FR 2959376A1 FR 1053060 A FR1053060 A FR 1053060A FR 1053060 A FR1053060 A FR 1053060A FR 2959376 A1 FR2959376 A1 FR 2959376A1
Authority
FR
France
Prior art keywords
motion information
information
list
association
expected
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.)
Withdrawn
Application number
FR1053060A
Other languages
English (en)
Inventor
Joel Jung
Tanou Julien Le
Jean-Marc Thiesse
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.)
Orange SA
Original Assignee
France Telecom SA
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 France Telecom SA filed Critical France Telecom SA
Priority to FR1053060A priority Critical patent/FR2959376A1/fr
Priority to EP11731021A priority patent/EP2561679A1/fr
Priority to CN201180019807.4A priority patent/CN102959954B/zh
Priority to PCT/FR2011/050898 priority patent/WO2011131903A1/fr
Priority to US13/642,779 priority patent/US9560376B2/en
Publication of FR2959376A1 publication Critical patent/FR2959376A1/fr
Withdrawn legal-status Critical Current

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/513Processing of motion vectors
    • H04N19/521Processing of motion vectors for estimating the reliability of the determined motion vectors or motion vector field, e.g. for smoothing the motion vector field or for correcting 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/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • 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/567Motion estimation based on rate distortion criteria
    • 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

Abstract

L'invention concerne un procédé de traitement d'une information de mouvement Ivm relative à une image courante d'une séquence d'images. Selon l'invention, un tel procédé comprend : - une étape de construction d'une liste comprenant au moins une information de mouvement attendue et au moins une information de mouvement non attendue ; - une première étape d'association d'une information de mouvement attendue à une information de mouvement selon une première règle d'optimisation du coût de codage de ladite information de mouvement à coder ; - une deuxième étape d'association de chaque information de mouvement non attendue non associée lors de ladite première étape d'association, à une information de mouvement à coder identifiée parmi lesdites informations de mouvement de la liste, selon une deuxième règle visant à ce que chacune des informations de mouvement soit associée à une unique information de mouvement à coder.

Description

Procédé de traitement d'une information de mouvement, procédés de codage et de décodage, dispositifs, signal et programme d'ordinateur correspondants. 1. Domaine de l'invention Le domaine de l'invention est celui du codage et du décodage d'images, et notamment d'un flux vidéo constitué d'une série d'images successives. Plus précisément, l'invention concerne les techniques de codage par prédiction mettant en oeuvre le codage d'informations de mouvement relatives à une image, par exemple le codage de vecteurs mouvement, ou de résidus de mouvement. L'invention peut notamment s'appliquer au codage vidéo mis en oeuvre dans les codeurs 10 vidéo actuels (MPEG, H.264, etc) ou à venir (ITU-T/VCEG (H.265) ou ISO/MPEG (HVC)). 2. Art antérieur On décrit ci-après, en relation avec la figure 1, l'art antérieur relatif à la prédiction d'images dans le domaine du codage ou du décodage de séquences d'images utilisant le codage de vecteurs mouvement, pour des blocs d'une image découpée en macroblocs, qui sont ensuite 15 subdivisés en blocs. Un bloc est constitué d'un ensemble de points ou pixels, le bloc pouvant avoir une forme carrée, rectangulaire, triangle ou toutes autres formes géométriques. Ainsi, selon la technique H.264 par exemple, le codeur calcule, pour un bloc courant à coder, un résiduel de mouvement, encore appelé résidu de mouvement, en soustrayant un prédicteur p au vecteur de mouvement courant vm : 20 Evm = vm ù p avec Evm la valeur de l'information de mouvement à coder, appelée résidu, vm le vecteur mouvement, issu d'une estimation de mouvement (« M Estimation» dans la figure 1) sélectionné par le codeur, et p le prédicteur calculé. Le prédicteur correspond par exemple à un médian modifié des vecteurs de mouvement des blocs voisins du bloc courant considéré. Ce résidu est 25 envoyé dans un codeur entropique (par exemple de type codage adaptatif de type Huffman à longueur variable, ou « CAVLC » pour « Context-adaptive Huffman variable-length coding » en anglais), ou arithmétique (par exemple de type « CABAC » pour « Context-adaptive binary arithmetic coding » en anglais). Bien que les codeurs présents dans H.264 s'adaptent au contexte, c'est-à-dire que le résidu 30 courant peut être codé différemment en fonction des vecteurs voisins, (les mots de code sont différents), ils ne permettent pas de prendre en considération un objectif de moindre coût de codage de l'information de mouvement au moment du calcul de cette dernière. Pour tenter de remédier à cet inconvénient, une technique connue, décrite dans le document de brevet US 6, 178, 265, vise à compresser l'information de mouvement à coder, en ne codant que des vecteurs mouvement sélectionnés comme pertinents selon des critères prédéfinis et donc en réduisant le nombre d'informations de mouvement à coder. Cependant, un inconvénient de cette technique réside dans la perte d'informations liée à la sélection des vecteurs mouvement à coder. Il existe donc un besoin pour une nouvelle technique permettant d'offrir une optimisation du codage en terme de coût de codage, sans dégrader les performances de codage. 3. Exposé de l'invention L'invention propose une solution nouvelle qui ne présente pas l'ensemble de ces inconvénients de l'art antérieur, sous la forme d'un procédé de traitement d'au moins une information de mouvement Ivm relative à une image courante d'une séquence d'images. Selon l'invention, un tel procédé comprend : une étape (20) de construction d'au moins une liste L comprenant au moins une information de mouvement, dite information de mouvement attendue Ivmi a, issue d'une prédiction par compensation en mouvement à partir d'au moins une image de référence et ayant été préalablement codée, et au moins une information de mouvement, dite information de mouvement non attendue Ivmi-na, non préalablement codée ; une première étape (21) d'association d'au moins une information de mouvement attendue Ivmi a à une information de mouvement non attendue Ivmi na, dite information de mouvement à coder I'vmi, ladite première étape d'association étant mise en oeuvre selon une première règle d'optimisation du coût de codage de ladite information de mouvement à coder ; une deuxième étape (22) d'association de chaque information de mouvement non attendue non associée lors de ladite première étape d'association, à une information de mouvement à coder I'vmi identifiée parmi lesdites informations de mouvement non attendues non associées lors de ladite première étape d'association et lesdites informations de mouvement attendues associées lors de ladite première étape d'association, ladite deuxième étape d'association étant mise en oeuvre selon une deuxième règle visant à ce que chacune des informations de mouvement Ivmi de ladite liste soit associée, lors de ladite première ou de ladite deuxième étape d'association, à une unique information de mouvement à coder I'vmi. 20 25 30 Selon un mode de réalisation de l'invention, un tel procédé comprend : une étape (20) de construction d'au moins une liste L comprenant au moins une information de mouvement, dite information de mouvement attendue Ivmi a, issue d'une prédiction par compensation en mouvement à partir d'au moins une image de référence et ayant été préalablement codée, et au moins une information de mouvement, dite information de mouvement non attendue Ivmi-na, non préalablement codée ; une première étape (21) d'association d'au moins une information de mouvement attendue Ivmi a à une information de mouvement de ladite liste, dite information de mouvement à coder I'vmi, ladite première étape d'association étant mise en oeuvre selon une première règle d'optimisation du coût de codage de ladite information de mouvement à coder ; une deuxième étape (22) d'association de chaque information de mouvement non attendue non associée lors de ladite première étape d'association, à une information de mouvement à coder I'vmi identifiée parmi lesdites informations de mouvement non attendues non associées lors de ladite première étape d'association et lesdites informations de mouvement attendues associées lors de ladite première étape d'association, ladite deuxième étape d'association étant mise en oeuvre selon une deuxième règle 20 visant à ce que chacune des informations de mouvement Ivmi de ladite liste soit associée, lors de ladite première ou de ladite deuxième étape d'association, à une unique information de mouvement à coder I'vmi. Ainsi, l'invention repose sur une approche nouvelle et inventive de l'amélioration du codage d'une image, permettant d'associer à une information de mouvement relative à cette image, 25 une information de mouvement à coder, à partir d'informations de mouvement potentielles. Selon un mode de réalisation de l'invention, cette association est d'abord effectuée en fonction de critères prédéterminés et pour atteindre un objectif d'amélioration du codage, exprimés selon une première règle, et un objectif visant à ce que toutes les informations de mouvement potentielles soient associées à une unique information de mouvement à coder. 30 Ainsi, dans un premier temps, le procédé selon l'invention construit une liste comprenant des informations de mouvement potentielles, c'est-à-dire pouvant potentiellement être choisies, selon des critères de codage classiques prédéfinis, pour coder l'image en question. Cette liste comprend en particulier des informations de mouvement déjà codées, c'est-à-dire déjà sélectionnées par un codeur, selon des critères prédéterminés, par exemple lors du codage 35 d'images précédant l'image courante, ou lors du codage de blocs de l'image courante, précédant le 10 15 codage du bloc courant. Ces informations de mouvement sont notées par la suite informations de mouvement « attendues ». Cette liste contient également des informations de mouvement « théoriques », c'est-à-dire potentiellement utilisables pour le codage de l'image ou du bloc, mais n'ayant pas été auparavant codées, donc pas auparavant sélectionnées par un codeur, ni lors du codage d'images précédant l'image courante, ni lors du codage de blocs de l'image courante, précédant le codage du bloc courant. Ces informations de mouvement sont notées par la suite informations de mouvement « non attendues ». Ces informations de mouvement potentielles ont des valeurs de composantes différentes.
Les informations de mouvement sont des informations permettant classiquement le codage d'une image par prédiction par compensation en mouvement à partir d'au moins une image de référence. Ainsi, les informations de mouvement sont par exemple des vecteurs mouvement, ou des résidus de mouvement, correspondant à une différence entre un vecteur mouvement et un prédicteur (ce dernier correspondant par exemple à un vecteur mouvement médian des vecteurs mouvement des blocs voisins du bloc courant, déjà codés). Dans un deuxième temps, une fois la liste construite, elle est modifiée, selon deux étapes d'association successives. Lors de la première étape d'association, la liste est modifiée, selon une première règle, en ajoutant au moins une association entre une des informations de mouvement attendue qu'elle contient au départ, et une information de mouvement à coder, identifiée parmi les informations de mouvement non attendues de la liste de départ et les informations de mouvement attendues de la liste de départ déjà associées lors d'une itération précédente de cette première étape d'association. Cette information de mouvement à coder est identifiée de façon à améliorer potentiellement le codage de l'image ou d'un bloc de l'image. En effet, si l'information de mouvement associée est sélectionnée pour ce bloc, lors du codage (selon des critères de codage classiques prédéfinis), cette information de mouvement à coder est celle qui sera effectivement codée pour le bloc. Les informations de mouvement attendues sont traitées selon un ordre prédéterminé, défini par un critère de priorité de traitement détaillé ci-dessous. Lors de la deuxième étape d'association, la liste est modifiée, selon une deuxième règle, en ajoutant au moins une association entre une des informations de mouvement non attendue n'ayant pas été associée lors de la première étape d'association, et une information de mouvement à coder, identifiée parmi les informations de mouvement de la liste de départ de façon à ce que toutes les informations de mouvement de la liste de départ soient associées une seule fois à une unique information de mouvement à coder.
Selon un mode de réalisation de l'invention, la liste est construite, ou mise à jour, pour chaque bloc à coder de l'image courante. En particulier, ladite première étape d'association comprend une première étape de sélection, selon au moins un premier critère de priorité de traitement, d'au moins une desdites informations de mouvement attendues de ladite liste, dite information de mouvement courante, et pour ladite information de mouvement courante, au moins une itération des sous-étapes suivantes, tant que ladite première règle n'est pas vérifiée : o une première sous-étape d'identification, selon au moins un deuxième critère de priorité de traitement, d'une information de mouvement à coder parmi lesdites informations de mouvement non attendues et lesdites informations de mouvement attendues associées lors d'une itération précédente, et o lorsque ladite première règle est vérifiée, une première sous-étape d'association, à ladite information de mouvement courante, de ladite information de mouvement à coder identifiée. Selon un mode de réalisation de l'invention, une première règle est donc utilisée pour obtenir des informations de mouvement à coder, lors de la première étape d'association. Comme indiqué précédemment, la première règle définit un objectif d'amélioration du codage visant à réduire, au moment du codage d'un bloc ou d'une image, le coût de codage d'une information de mouvement pour ce bloc, ou cette image. La première règle définit également un premier critère de priorité de traitement permettant de déterminer l'information de mouvement courante à considérer parmi les informations de mouvement attendues, et un deuxième critère de priorité de traitement pour déterminer l'information de mouvement non attendue à considérer. Ainsi, on considère d'abord, les unes après les autres, selon le premier critère de priorité choisi, les informations de mouvement attendues de la liste. Ensuite, pour chaque information de mouvement attendue considérée, appelée information de mouvement courante, on considère, les unes après les autres, selon le deuxième critère de priorité choisi (qui peut être identique à celui choisi pour les informations de mouvement courantes), les informations de mouvement non attendues de la liste et les informations de mouvement attendues de la liste ayant déjà été associées lors d'une itération précédente. Il est à noter que les informations de mouvement non attendues et les informations de mouvement attendues déjà associées sont considérées sans distinction, c'est-à-dire qu'on ne considère pas d'abord les informations de mouvement non attendues, puis ensuite les informations de mouvement attendues déjà associées, mais toutes ces informations les unes après les autres tant que l'objectif d'amélioration du coût de codage n'est pas atteint. Par exemple, l'information de mouvement non attendue est choisie si on peut considérer que son coût de codage serait a priori inférieur au coût de codage de l'information de mouvement courante.
Lorsque la première règle n'est pas vérifiée, c'est-à-dire lorsque l'information de mouvement identifiée (non attendue ou attendue ayant déjà été associée lors d'une itération précédente) n'apporte pas a priori d'amélioration de coût de codage, alors une autre information de mouvement (non attendue ou attendue ayant déjà été associée lors d'une itération précédente) est identifiée, selon le deuxième critère de priorité choisi, pour tester à nouveau si la première règle se vérifie. Si, finalement, aucune information de mouvement non attendue ne peut être associée à l'information de mouvement courante, alors cette dernière est associée avec elle-même, c'est-à-dire que son information de mouvement à coder associée est elle-même. Ainsi, selon ce mode de réalisation de l'invention, lorsque ladite première règle n'est pas vérifiée, ladite information de mouvement courante est associée avec elle-même. Selon une variante de réalisation de l'invention, ces coûts de codage sont calculés afin de vérifier l'hypothèse d'optimisation de coût de codage. Selon une caractéristique particulière de l'invention, ladite deuxième étape d'association comprend au moins une itération des étapes suivantes : une deuxième étape de sélection, selon au moins un troisième critère de priorité de traitement, d'au moins une desdites informations de mouvement non attendue non associée lors de ladite première étape d'association, dite information de mouvement courante, et pour ladite information de mouvement courante : o une deuxième sous-étape d'identification, selon au moins un quatrième critère de priorité de traitement, parmi lesdites informations de mouvement non attendues non associées lors de ladite première étape d'association et lesdites informations de mouvement attendues associées lors de ladite première étape d'association, d'une information de mouvement à coder et o une deuxième sous-étape d'association, à ladite information de mouvement courante, de ladite information de mouvement à coder identifiée.
On considère donc maintenant les informations de mouvement non attendues non associées lors de la première étape d'association. La deuxième règle a pour objectif que toutes les informations de mouvement de la liste de départ soient associées à une information de mouvement à coder, tout en essayant d'atteindre un objectif d'optimisation du coût de codage, par exemple, pour obtenir un coût de codage le moins « défavorable possible » de l'information de mouvement à coder, par rapport à son information de mouvement associée. La deuxième étape d'association tient également compte de critères (troisième et quatrième) de priorité de traitement des informations de mouvement de la liste, comme déjà décrit précédemment en relation avec les premiers et deuxièmes critères.
De même que pour la première étape, il est possible qu'une information de mouvement courante (non attendue) ne puisse pas être associée à une information de mouvement à coder distincte d'elle-même. Dans ce cas, l'information de mouvement courante est associée à elle- même, c'est-à-dire que son information de mouvement à coder associée est elle-même. Par exemple, lesdits critères de priorité de traitement correspondent à au moins un paramètre appartenant au groupe comprenant : un sens de traitement des informations de mouvement de ladite liste, lorsqu'elles sont représentées dans un référentiel dont chaque axe correspond à une composante distincte d'une information de mouvement ; une information représentative du nombre de fois où une information de mouvement attendue a été préalablement codée, dite fréquence d'apparition ; une information représentative d'un degré de confiance associé à une information de mouvement ; ou une combinaison des paramètres précédents. Ainsi, la priorité de traitement peut dépendre de différents paramètres, combinés ou non. Selon un mode de réalisation particulier de l'invention, la priorité de traitement correspond à un sens de traitement des informations de mouvement, lorsqu'elles sont représentées «graphiquement» dans un référentiel. Par exemple, un tel référentiel représente une information de mouvement selon deux dimensions (x,y), correspondant chacune à une composante de l'information de mouvement, lorsque celle-ci est représentative d'un mouvement en deux dimensions. Selon une variante, un tel référentiel représente une information de mouvement selon trois dimensions (x,y,z), correspondant chacune à une composante de l'information de mouvement, lorsque celle-ci est représentative d'un mouvement en trois dimensions. Ainsi, une information de mouvement peut être représentée par un point, ou une position, dont les coordonnées dans ce référentiel correspondent aux valeurs des composantes de l'information de mouvement. Le centre du référentiel peut par exemple représenter un mouvement nul. Selon un autre mode de réalisation, la priorité de traitement prend en considération une fréquence d'apparition de l'information de mouvement dans les précédents codages effectués (codage des images précédant l'image courante et/ou codage des blocs précédant le bloc courant). Ainsi, dans la liste d'informations de mouvement, une information de mouvement attendue peut être associée à une fréquence d'apparition indiquant le nombre de fois où elle a été préalablement codée, c'est-à-dire sélectionnée par le codeur, ou un ordre de grandeur du nombre de fois où elle a été préalablement codée. On pourra par exemple considérer que les informations de mouvement présentant la plus grande fréquence d'apparition seront traitées en priorité. Selon encore un mode de réalisation, la priorité de traitement prend en considération un degré de confiance associé à une information de mouvement, c'est-à-dire que la priorité de traitement tient compte d'une valeur de probabilité plus ou moins importante qu'une information de mouvement de la liste soit effectivement sélectionnée pour le codage du bloc, selon des critères de codage classiques prédéfinis. Ainsi, les informations de mouvement présentant le plus fort degré de confiance sont traitées en priorité. Cette technique d'association d'un degré de confiance à une information de mouvement est notamment décrite plus en détail dans la demande de brevet intitulée «Procédé d'enrichissement d'une information de mouvement, procédé de codage, dispositifs et programme d'ordinateur correspondants» déposée le même jour que la présente demande, au nom 5 du même demandeur. Selon d'autres modes de réalisation, ces paramètres peuvent être combinés pour définir la priorité de traitement. En particulier, ledit sens de traitement appartient au groupe comprenant : - un sens de traitement en spirale, 10 û un sens de traitement en losange, - un sens de traitement tenant compte d'au moins une position, dans ledit référentiel, desdites informations de mouvement, et en ce que ledit sens de traitement est centré sur une information de mouvement prédéterminée ou sur un barycentre desdites informations de mouvement de ladite liste. 15 Par exemple, selon un premier mode de réalisation, un sens de traitement des informations, lorsqu'elles sont représentées dans un référentiel, consiste à parcourir les points ou positions représentant les informations de mouvement, selon un gabarit géométrique prédéfini, comme une spirale ou un losange. En pratique, on parcourt par exemple une spirale en s'éloignant du centre de celle-ci, ce centre pouvant être représenté par une information de mouvement prédéterminée ou un 20 barycentre des informations de mouvement représentées. Selon un deuxième mode de réalisation, un sens de traitement des informations peut tenir compte des positions respectives des informations de mouvement représentées. Par exemple, on traite en priorité les informations de mouvement dont les positions sont les plus éloignées du centre du référentiel, c'est-à-dire les informations de mouvement représentatives d'un grand mouvement. 25 Selon un mode de réalisation de l'invention, ladite étape de construction tient compte d'un nombre n d'images de référence. Ainsi, on peut choisir de prendre en considération un nombre plus ou moins grand d'images de référence, et donc un échantillon plus ou moins large d'information de mouvement déjà codées. Ainsi, l'activité temporelle de la scène peut être prise en compte. Par exemple, si les 30 images successives sont très différentes les unes des autres, alors les informations de mouvement déjà codées risquent de ne pas être pertinentes pour l'image courante. Dans ce cas, il est préférable de ne pas considérer un grand nombre d'images précédentes. L'invention concerne également un procédé de codage d'au moins un bloc courant d'une image courante d'une séquence d'images. 35 Selon l'invention, un tel procédé de codage met en oeuvre un procédé de traitement tel que décrit précédemment et les étapes suivantes : sélection, parmi lesdites informations de mouvement de ladite liste, d'une information de mouvement pour ledit bloc courant ; codage d'une information de mouvement à coder associée, lors de ladite première ou de ladite deuxième étape d'association, à ladite information de mouvement sélectionnée lors de ladite étape de sélection, délivrant une information de mouvement codée pour ledit bloc. Ainsi, l'invention, selon ce mode de réalisation, permet de coder une information de mouvement de manière optimisée. En effet, l'information de mouvement codée n'est pas directement l'information de mouvement sélectionnée, selon des critères classiques prédéterminés pour le codage, mais une information de mouvement modifiée selon l'invention, associée à l'information de mouvement choisie. Ainsi, selon ce mode de réalisation de l'invention, le codage d'une image courante est optimisé car il présente un coût de codage globalement réduit pour l'ensemble des blocs de l'image, par rapport à l'art antérieur.
En particulier, la réduction du coût de codage correspond à une réduction du coût de transport, entre un codeur et un décodeur, des informations de mouvement associées aux blocs d'une image. De cette manière, le débit de transmission peut être augmenté par rapport à l'art antérieur. Un autre aspect de l'invention concerne un signal représentatif d'au moins un bloc codé d'une image d'une séquence d'images. Selon l'invention, un tel signal porte au moins une information de mouvement codée selon le procédé de codage décrit précédemment. De plus, un tel signal porte en outre une information représentative d'un nombre n d'images de référence. L'invention concerne également un procédé de décodage d'au moins un bloc courant d'une image courante d'une séquence d'images. Selon l'invention, un tel procédé de décodage comprend les étapes suivantes : réception et décodage d'une information de mouvement codée selon le procédé de codage décrit précédemment, délivrant une information de mouvement décodée ; mise en oeuvre des étapes du procédé de traitement décrit précédemment ; sélection, parmi lesdites informations de mouvement de ladite liste, d'une information de mouvement associée, lors de ladite première ou de ladite deuxième étape d'association, à ladite information de mouvement décodée ; reconstruction dudit bloc à partir de ladite information de mouvement sélectionnée. Un autre aspect de l'invention concerne un dispositif de traitement d'au moins une information de mouvement relative à une image courante d'une séquence d'images. Selon l'invention, un tel dispositif de traitement comprend : des moyens (20) de construction d'au moins une liste L comprenant au moins une information de mouvement, dite information de mouvement attendue Ivmi a, issue d'une prédiction par compensation en mouvement à partir d'au moins une image de référence et ayant été préalablement codée, et au moins une information de mouvement, dite information de mouvement non attendue Ivmi-na, non préalablement codée ; des premiers moyens (21) d'association d'au moins une information de mouvement attendue Ivmi a à une information de mouvement de ladite liste, dite information de mouvement à coder I'vmi, lesdits premiers moyens d'association étant mis en oeuvre selon une première règle d'optimisation du coût de codage de ladite information de mouvement à coder ; des deuxièmes moyens (22) d'association de chaque information de mouvement non attendue non associée par lesdits premiers moyens d'association, à une information de mouvement à coder I'vmi identifiée parmi lesdites informations de mouvement non attendues non associées par lesdits premiers moyens d'association et lesdites informations de mouvement attendues associées par lesdits premiers moyens d'association, lesdits deuxièmes moyens d'association étant mis en oeuvre selon une deuxième règle visant à ce que chacune des informations de mouvement Ivmi de ladite liste soit 20 associée, par lesdits premiers ou deuxièmes moyens d'association, à une unique information de mouvement à coder I'vmi. Un tel dispositif de traitement est notamment adapté à mettre en oeuvre les étapes du procédé de traitement décrit précédemment. Ce dispositif pourra bien sûr comporter les différentes caractéristiques relatives au procédé de traitement selon l'invention. Ainsi, les caractéristiques et 25 avantages de ce dispositif de traitement sont les mêmes que ceux du procédé de traitement, et ne sont pas détaillés plus amplement. Un autre aspect de l'invention concerne un dispositif de codage, encore appelé codeur, d'au moins un bloc courant d'une image courante d'une séquence d'images. Selon l'invention, un tel dispositif de codage comprend des moyens du dispositif de traitement décrit précédemment et : 30 - des moyens de sélection, parmi lesdites informations de mouvement de ladite liste, d'une information de mouvement pour ledit bloc courant ; - des moyens de codage d'une information de mouvement à coder associée, par lesdits moyens dudit dispositif de traitement, à ladite information de mouvement sélectionnée par lesdits moyens de sélection. 35 L'invention concerne également un dispositif de décodage d'au moins un bloc courant 10 15 d'une image courante d'une séquence d'images, comprenant : des moyens de réception et de décodage d'une information de mouvement codée par les moyens du dispositif de codage décrit précédemment, délivrant une information de mouvement décodée ; des moyens de mise en oeuvre des moyens du dispositif de traitement décrit précédemment ; des moyens de sélection, parmi lesdites informations de mouvement de ladite liste, d'une information de mouvement associée, par lesdits premiers ou deuxièmes moyens d'association, à ladite information de mouvement décodée ; des moyens de reconstruction dudit bloc à partir de ladite information de mouvement sélectionnée. Enfin, l'invention concerne un programme d'ordinateur comportant des instructions pour la mise en oeuvre d'un procédé de traitement, de codage ou de décodage tels que décrits précédemment, lorsque ce programme est exécuté par un processeur. 4. Liste des figures D'autres caractéristiques et avantages de l'invention apparaîtront plus clairement à la lecture de la description suivante d'un mode de réalisation particulier, donné à titre de simple exemple illustratif et non limitatif, et des dessins annexés, parmi lesquels : - la figure 1, déjà commentée en relation avec l'art antérieur, illustre un exemple de système de codage selon la technique H.264 de l'art antérieur ; - la figure 2 illustre les principales étapes du procédé de traitement d'une information de mouvement relative à une image selon un mode de réalisation de l'invention ; - les figures 3a et 3b illustrent respectivement les première et deuxième étapes d'association du procédé de traitement de la figure 2 ; - les figures 4a, 4b, 5a, 5b et 6 illustrent des exemples de représentation d'informations de mouvement pour un bloc courant d'une image ; - la figure 7 illustre un exemple de structure simplifiée d'un dispositif de traitement, selon un mode de réalisation de l'invention. 5. Description d'un mode de réalisation de l'invention 5.1 Principe général Le principe général de l'invention repose sur le traitement d'une information de mouvement Imv relative à une image d'une séquence d'images, de façon à délivrer au codeur, pour le codage de l'image, ou d'un bloc de l'image, une information de mouvement modifiée I'mv, appelée par la suite information de mouvement à coder, dont le coût de codage est a priori optimisé par rapport à l'information de mouvement avant traitement. Ainsi, l'invention permet d'obtenir une amélioration globale du coût de codage d'une séquence d'images vidéo, en ne codant pas directement l'information de mouvement Imv relative à chaque image, mais une information de mouvement traitée I'mv selon l'invention.
Pour ce faire, l'invention se base sur un ensemble d'informations de mouvement potentiellement utilisables pour le codage du bloc, ou de l'image. La construction de cet ensemble selon l'invention permet ensuite le traitement de chacune des informations de mouvement qu'il contient, de sorte que l'information de mouvement qui sera effectivement sélectionnée pour le codage du bloc, ou de l'image, est traitée également.
On considère une information de mouvement Imv comme étant une information permettant classiquement le codage d'une image par prédiction par compensation en mouvement à partir d'au moins une image de référence. Ainsi, une information de mouvement est par exemple un vecteur mouvement, ou un résidu de mouvement, correspondant à une différence entre un vecteur mouvement et un prédicteur (ce dernier correspondant par exemple à un vecteur mouvement médian des vecteurs mouvement des blocs voisins du bloc courant, déjà codés), ou encore un prédicteur. Par ailleurs, au moment du décodage d'un bloc ou d'une image, le traitement de l'information de mouvement selon le principe de l'invention, est également mis en oeuvre, afin de décoder efficacement l'information de mouvement relative au bloc, ou à l'image, en cours de reconstruction. 5.2 Description d'un mode de réalisation On présente maintenant, en relation avec les figures 2 à 6, les principales étapes du procédé de traitement selon un mode de réalisation de l'invention. On considère dans ce mode de réalisation qu'une information de mouvement Imv correspond à un résidu de mouvement Evm, calculé par exemple selon la technique connue décrite en relation avec l'art antérieur, pour un bloc d'une image courante d'une séquence d'images. Comme illustré en figure 2, le procédé de traitement selon ce mode de réalisation de l'invention comprend principalement trois étapes 20, 21 et 22. Lors d'une première étape 20 de construction d'une liste L, on répertorie toutes les informations de mouvement précédemment sélectionnées et codées lors du codage d'une ou plusieurs images précédant l'image courante et/ou lors du codage de blocs précédant le bloc courant. Ces informations de mouvement sont appelées par la suite informations de mouvement attendues, et notées Imv a.
On intègre également dans la liste L, lors de l'étape 20, toutes les informations de mouvement potentiellement sélectionnables par le codeur, différentes des informations de mouvement Imvl a, appelées informations de mouvement théoriques ou informations de mouvement non attendues, et notées Imvq na.
Une illustration sous forme graphique d'un exemple de cette liste L, comme présenté en figures 4a et 4b, permet de mieux appréhender ces notions. La figure 4a présente tout d'abord une image « Image », dans laquelle un bloc courant est en cours de traitement selon le procédé de l'invention. Ce bloc est représenté par un carré hachuré. Des blocs voisins précédemment codés sont représentés par des carrés blancs à pois noirs Par ailleurs, des informations de mouvement Imvl à Imvq sont représentées sous la forme de vecteurs par des flèches, selon les axes x et y correspondant chacun à une composante de l'information de mouvement. Par exemple, l'information de mouvement Imv2 correspond approximativement à un mouvement de deux blocs vers la droite, et deux blocs vers le bas, alors que l'information de mouvement Imvl correspond approximativement à un mouvement de un bloc vers la droite, et un bloc vers le haut. L'information de mouvement Imvq correspond au prédicteur calculé pour le bloc courant. Sur la figure 4b est représenté un référentiel spécifique, sous la forme d'une fenêtre en pointillé, permettant de représenter les informations de mouvement Imv par des points, encore appelés positions, en fonction de leurs composantes.
On peut ainsi voir, sur la figure 4b, que certains points correspondent effectivement à des informations de mouvement représentées sous la forme de vecteurs (Imv2 et Imv4), appartenant à des blocs codés avant le bloc courant. D'autres points correspondent quand à eux à des informations de mouvement relatives à des images codées avant l'image courante. Tous ces points représentés correspondent aux informations de mouvement Imvq a de la liste L, pour le bloc courant considéré. La taille de la fenêtre en pointillé étant prédéterminée et définissant la taille de la liste L. Il est à noter que ce nombre n d'images précédant l'image courante prises en compte pour la construction de la liste peut varier, en fonction de certains critères, liés par exemple à l'activité temporelle de la séquence d'images. De plus, ce nombre n doit être connu du décodeur, et peut donc par exemple lui être transmis dans un signal. Par ailleurs, les informations de mouvement issu d'images de référence, et par conséquent distantes temporellement de l'image courante, sont classiquement remises à l'échelle, de façon à gérer la distance temporelle.
Enfin, cette liste pouvant inclure les informations de mouvement des blocs codés précédemment au bloc courant, elle peut donc être mise à jour pour chaque bloc. A partir de cette liste, un objectif est d'associer à chacune des informations Imvi, comprenant les informations de mouvement Imvi-a et Imvi-na, une unique information de mouvement I'mvi, présentant a priori un coût de codage optimisé. Ainsi, lorsque, au codage, une information de mouvement Imvi est sélectionnée pour le bloc courant, selon des critères de codage connus, c'est l'information de mouvement à coder I'vmi associée selon ce mode de réalisation de l'invention qui est codée par le codeur, permettant ainsi d'optimiser le coût de codage du bloc.
Pour ce faire, une première étape d'association 21 consiste à associer, lorsque cela est possible, à toutes les informations de mouvement attendues Ivmi-a de la liste L une information de mouvement I'vmi, choisie parmi les informations de mouvement non attendues Ivmi-na de la liste L et les informations de mouvement attendues associées lors d'une précédente itération de la première étape 21, de sorte que le coût de codage de I'vmi soit a priori inférieur à celui de Ivmi-a.
Cette optimisation du coût de codage est définie selon une première règle. Cette première étape d'association, décrite ci-dessous plus en détail en relation avec les figures 3a et 5a, peut consister par exemple à créer une deuxième colonne dans la liste L, ou bien à créer des liens entre les différents éléments de la liste L, la modifiant ainsi en une liste L'. Une fois cette première étape 21 d'association effectuée, une deuxième étape 22 d'association est mise en oeuvre, à partir de la liste modifiée L'. Lors de cette étape, chaque élément de la liste de départ L n'ayant pas été associé lors de l'étape 21 est traité, de façon à ce que, à la fin de cette deuxième étape d'association 22, chaque informations de mouvement Imvi de la liste de départ L soit associé à une information de mouvement à coder I'vmi.
Par exemple, les informations de mouvement traitées lors de cette deuxième étape sont des informations de mouvement non attendues Imvi-na n'ayant pas « servi » à une association, lors de la première étape 21. On décrit maintenant plus en détail ces deux étapes successives 21 et 22 d'association, en relation avec les figures 3a, 3b et 5a et 5b.
La figure 5a représente graphiquement les informations de mouvement de la liste L, sous la forme de points, noirs pour les informations de mouvement attendues Imvi-a et blancs pour les informations de mouvement non attendues ImvL na. La figure 3a illustre les principales sous-étapes de l'étape 21 d'association, à savoir une sous-étape 210 de sélection, une sous-étape 211 d'identification et une sous-étape 212 d'association proprement dite. La première sous-étape de sélection 210 consiste tout d'abord à sélectionner, selon un critère de priorité de traitement, une information de mouvement Imvi-a de la liste L à traiter en premier. L'objectif de cette première étape d'association 21 étant une optimisation du coût de codage, il est préférable de traiter en priorité des informations de mouvement Imvi-a considérées comme présentant un plus fort potentiel d'être sélectionnées au moment du codage. Ainsi, l'information de mouvement qui sera effectivement choisie au codage est bien associée à une information de mouvement à coder dont le coût de codage est optimisé.
Graphiquement, cette première sélection consiste à choisir un point noir, parmi ceux représentés en figure 5a. Le critère de priorité de traitement peut par exemple être basé sur la fréquence d'apparition liée à chaque information de mouvement de la liste, et correspondant à une information représentative du nombre de fois où une information de mouvement a été préalablement codée. Par exemple, la fréquence d'apparition est égale au nombre exact de fois où l'information de mouvement a déjà été codée, au cours du codage des n images précédentes et des blocs précédant le bloc courant. La fréquence d'apparition peut également être égale à un ordre de grandeur de ce nombre de fois où elle a déjà été codée, comme « supérieure à 20 », ou « inférieure à 5 ». Ce critère de priorité de traitement permet ainsi de traiter en priorité les informations de mouvement attendues Imvi-a les plus fréquentes, et donc de leur associer des informations de mouvement à coder I'mvi optimales en terme de coût de codage. Lorsqu'une information de mouvement n'a jamais été préalablement codée (ce qui est le cas par exemple des informations non attendues Imvi-na décrites ci-dessus), leur fréquence d'apparition est nulle. Le critère de priorité peut également être basé sur un sens de parcours géométrique lorsque les informations de mouvement sont représentées graphiquement, comme sur la figure 5a. Par exemple, un tel sens de traitement consiste à prendre les informations de mouvement attendues dans l'ordre où elles apparaissent lorsqu'on part du centre du référentiel, vers l'extérieur du référentiel, en parcourant une spirale (comme par exemple la spirale reliant les points blancs sur la figure 5a). Le sens de parcours peut également être représenté sous la forme d'un losange, centré sur le centre du référentiel. Les exemples de sens de parcours géométriques décrits ci-dessus peuvent également être centrés sur un autre point du référentiel distinct du centre, par exemple un point représentant le barycentre de toutes les informations de mouvement de la liste L. Le sens de parcours peut également tenir compte d'une distance calculée entre le point à traiter et un autre point considéré comme une référence. Le critère de priorité de traitement peut également être basé sur une information représentative d'un degré de confiance associé aux informations de mouvement de la liste L. Ainsi, les informations de mouvement de la liste L ayant un fort degré de confiance peuvent être traitées en priorité, ce qui permet de leur associer des informations de mouvement à coder I'mvi optimales en terme de coût de codage. Ces différents types de critère de priorité peuvent être combinés. Ils doivent également être connus du récepteur, de façon à ce que celui-ci puisse également mettre en oeuvre ces étapes d'association.
Selon la figure 5a, le critère de priorité de traitement utilisé, par exemple en fonction de la fréquence d'apparition, revient à numéroter les points noirs, par exemple de 1 à 4, et à les traiter dans l'ordre de croissant de leur numéro. Une fois une information de mouvement attendue sélectionnée lors de la sous-étape 210, et considérée comme une information de mouvement courante Ivmc, une sous-étape 211 d'identification d'une information de mouvement non attendue est mise en oeuvre. Cette identification se base sur la première règle déjà décrite précédemment, et qui consiste à optimiser le coût de codage d'une information de mouvement. Ainsi, on cherche une information de mouvement non attendue, ou une information de mouvement attendue mais déjà associée à une information de mouvement non attendue lors d'une précédente itération (par exemple le point 6 est associé au point 2, ayant lui-même déjà été associé à un point blanc lors d'une itération précédente), qui potentiellement coûterait moins cher à coder que l'information de mouvement courante sélectionnée, parmi toutes les informations de mouvement non attendues Imvi-na de la liste L. Cette identification se base également sur un critère de priorité de traitement, tel que décrit précédemment.
En considérant la représentation de la figure 5a, on cherche donc un point blanc qui vérifie la règle, par exemple en considérant les points selon la spirale illustrée en figure 5a, pour être associé au point noir 1. Dès qu'une information de mouvement (non attendue ou attendue déjà associée lors d'une itération précédente) permet de vérifier la règle, alors elle est considérée comme une information de mouvement à coder I'mvi et associée, lors d'une sous-étape 212 d'association, à l'information de mouvement courante Ivmc. Cette association est représentée sur la figure 5a par un trait pointillé reliant le point noir 1 et le premier point blanc de la spirale. Il est possible, lors de la première étape d'association 21, que certaines informations de mouvement attendues ne puissent pas être associées à des informations de mouvement à coder identifiées parmi les informations de mouvement non attendues. Il s'agit par exemple, lorsqu'on les représente comme sur la figure 5a, des informations de mouvement dont les positions sont situées sur un des axes du référentiel. Ainsi, on peut choisir de ne pas les associer à une information de mouvement à coder dont la position ne se situe pas sur cet axe. C'est le cas par exemple de l'information de mouvement représentée par le point noir 5. La première règle se traduit alors de la façon suivante : on ne déplace pas un point noir vers un point blanc que si les composantes de ce point blanc sont respectivement inférieures ou égales aux composantes du point noir, en valeur absolue. Dès lors, pour ce type d'informations de mouvement attendues, l'information de mouvement à coder associée I'mvi est l'information de mouvement attendue elle-même. Cette première étape d'association 21 est mise en oeuvre pour toutes les informations de mouvement attendues de la liste, et donne lieu à autant d'associations. On peut donc considérer que la liste L a été modifiée suite à cette première étape 21 en une liste L'. Une représentation de cette liste L modifiée est présentée en figure 5b. Les points noirs précédents ayant été associés à des points blancs sont devenus blancs à pois noirs, et les points blancs associés sont devenus des points noirs à pois blancs. Ainsi, en termes de représentation graphique, les positions correspondant aux points noirs de la figure 5a sont « libérées » sur la figure 5b. Par contre, les positions correspondant aux points blancs de la figure 5a sont maintenant « occupées » sur la figure 5b.
L'étape 22 comprend également trois sous-étapes 220, 221 et 222, identiques dans le principe aux sous-étapes 210, 211 et 212 décrites ci-dessus, en relation avec la première étape 21 d'association. En effet, les sous-étapes 220, 221 et 222 ne diffèrent des sous-étapes 210, 211 et 212 que par les informations de mouvement qu'elles traitent. Cette différence est essentiellement liée au fait que l'objectif de cette deuxième étape 22 d'association vise à ce que chaque information de mouvement de la liste L soit associée à une unique information de mouvement à coder I'mv. Les trois sous-étapes de sélection 220, d'identification 221 et d'association 222 sont également basées sur des critères de priorité de traitement, tels que décrits précédemment. On ne décrit pas à nouveau en détail les trois sous-étapes 220, 221 et 222. On note cependant les spécificités suivantes : - la sous-étape 220 de sélection prend en considération toutes les informations de mouvement non attendues non associées lors de la première étape 21 d'association, c'est-à-dire les informations de mouvement représentées graphiquement sur la figure 5a par des points blancs ; - la sous-étape 221 d'identification prend en considération les informations de mouvement représentées graphiquement sur la figure 5a par des points blancs et des points blancs avec des pois noirs, de sorte que l'information de mouvement à coder I'mv identifiée présente a priori un coût de codage optimale, ou le moins défavorable ; - la sous-étape d'association permet d'associer à chaque information de mouvement sélectionnée lors de la sous-étape 220 une unique information de mouvement à coder I'mv identifiée lors de la sous-étape 221. Ces associations sont représentées sur la figure 5b par des traits pointillés. Il est à noter que, lors de cette deuxième étape d'association 22, une information de mouvement à coder I'mv peut présenter un coût de codage a priori plus élevé, mais le moins défavorable possible, que l'information de mouvement à laquelle est associée. Cependant, cette deuxième étape d'association ne traitant pas les informations de mouvement attendues les plus fréquentes (comme indiqué ci-dessus en relation avec les critères de priorité de traitement), cela n'a globalement pas d'incidence sur le coût de codage de l'image.
Ainsi, en sortie de cette deuxième étape 22 d'association, et comme illustré en figure 5b, toutes les informations de mouvement Imv de la liste L ont été associées à une information de mouvement à coder I'mv. 5.3 Description d'une variante du mode de réalisation La figure 6 illustre une variante du mode de réalisation décrit ci-dessus, dans laquelle on considère une partie seulement de la liste L construite, appelée sous-liste L', dans un souci de compromis entre qualité de codage et complexité de mise en oeuvre. Ainsi, un premier type de restriction appliquée à la liste L peut être basé sur le type d'informations de mouvement attendues qu'elle contient. En effet, on peut privilégier par exemple les informations de mouvement attendues issues du codage précédent de blocs voisins, dans l'image, du bloc courant. La sous-liste L 'l correspond alors à la « sous-fenêtre » L 'l illustrée en figure 6, en pointillé. Un deuxième type de restriction appliquée à la liste L peut être basé sur un degré de confiance associé aux informations de mouvement attendues qu'elle contient. En effet, on peut privilégier par exemple les informations de mouvement attendues ayant les plus fortes probabilités d'être effectivement sélectionnées au codage. La sous-liste L '2 correspond alors à la « sous- fenêtre » L '2 illustrée en figure 6, en trait continu. 5.4 Description d'un mode de réalisation de codage et de décodage d'un bloc d'une image Selon ce mode de réalisation de l'invention, les étapes du procédé de traitement décrit ci-dessus sont mises en oeuvre par un procédé de codage d'un bloc d'une image. Ainsi, le procédé de codage selon ce mode de réalisation de l'invention, sélectionne, parmi les informations de mouvement de la liste L, une information de mouvement correspondant à des critères prédéfinis classiques de codage, comme par exemple le critère « débit-distorsion ». Dans ce cas, le paramètre «débit» du critère «débit-distorsion» est alors calculé à partir de l'information de mouvement à coder I'mv associée. En effet, l'information de mouvement effectivement codée pour le bloc, et transmise pour être ensuite décodée par un décodeur au moment de la reconstruction du bloc de l'image, est l'information de mouvement à coder I'mv qui a lui été associée, lors des étapes du procédé de traitement décrit ci-dessus, et qui présente a priori un plus faible coût de codage. Ainsi, le coût de codage du bloc de l'image est optimisé, tout en assurant une performance de codage optimale. Au décodage d'un bloc, le décodeur met en oeuvre les mêmes étapes que celle mises en oeuvre par le codeur, c'est-à-dire qu'il met en oeuvre les étapes du procédé de traitement, de façon à obtenir une liste et une pluralité d'associations entre des informations de mouvement Imv et des informations de mouvement à coder I'mv. Ensuite, le décodeur décode l'information reçue, transmise par le codeur, puis il identifie dans la liste, parmi les informations de mouvement à coder I'mv, celle qui correspond à l'information de mouvement qu'il vient de décoder. Pour connaître l'information de mouvement correspondant au bloc qu'il est en train de reconstruire, il cherche l'information de mouvement Imv associée. 5.5 Structure d'un dispositif de traitement La figure 7 illustre un exemple de structure simplifiée d'un dispositif de traitement selon un mode de réalisation de l'invention. Par exemple, le dispositif de traitement comprend une mémoire 71 constituée d'une mémoire tampon, une unité de traitement 72, équipée par exemple d'un microprocesseur µP, et pilotée par le programme d'ordinateur 73, mettant en oeuvre le procédé de traitement selon l'invention.
A l'initialisation, les instructions de code du programme d'ordinateur 73 sont par exemple chargées dans une mémoire RAM avant d'être exécutées par le processeur de l'unité de traitement 72. L'unité de traitement 72 reçoit en entrée au moins une information de mouvement relative à une image d'une séquence d'images. Le microprocesseur de l'unité de traitement 72 met en oeuvre 5 10 15 20 les étapes du procédé de traitement décrit précédemment, selon les instructions du programme d'ordinateur 73, pour délivrer au moins une information de mouvement à coder. Pour cela, le dispositif de traitement comprend, outre la mémoire tampon 71 : û des moyens de construction d'au moins une liste L comprenant au moins une information de mouvement, dite information de mouvement attendue Ivmi a, issue d'une prédiction par compensation en mouvement à partir d'au moins une image de référence et ayant été préalablement codée, et au moins une information de mouvement, dite information de mouvement non attendue Ivmi-na, non préalablement codée. des premiers moyens (21) d'association d'au moins une information de mouvement attendue Ivmi a à une information de mouvement de ladite liste, dite information de mouvement à coder I'vmi, les premiers moyens d'association étant mis en oeuvre selon une première règle d'optimisation du coût de codage de l'information de mouvement à coder ; des deuxièmes moyens (22) d'association de chaque information de mouvement non attendue non associée par les premiers moyens d'association, à une information de mouvement à coder I'vmi identifiée parmi les informations de mouvement non attendues non associées par les premiers moyens d'association et les informations de mouvement attendues associées par les premiers moyens d'association, les deuxièmes moyens d'association étant mis en oeuvre selon une deuxième règle visant à ce que chacune des informations de mouvement Ivmi de la liste soit associée, par les premiers ou deuxièmes moyens d'association, à une unique information de mouvement à coder I'vmi. Ces moyens sont pilotés par le microprocesseur de l'unité de traitement 72. 25

Claims (14)

  1. REVENDICATIONS1. Procédé de traitement d'au moins une information de mouvement Ivm relative à une image courante d'une séquence d'images, caractérisé en ce qu'il comprend : une étape (20) de construction d'au moins une liste L comprenant au moins une information de mouvement, dite information de mouvement attendue Ivmi a, issue d'une prédiction par compensation en mouvement à partir d'au moins une image de référence et ayant été préalablement codée, et au moins une information de mouvement, dite information de mouvement non attendue Ivmi-na, non préalablement codée ; une première étape (21) d'association d'au moins une information de mouvement attendue Ivmi a à une information de mouvement de ladite liste, dite information de mouvement à coder I'vmi, ladite première étape d'association étant mise en oeuvre selon une première règle d'optimisation du coût de codage de ladite information de mouvement à coder ; une deuxième étape (22) d'association de chaque information de mouvement non attendue Ivmi na non associée lors de ladite première étape d'association, à une information de mouvement à coder I'vmi identifiée parmi lesdites informations de mouvement non attendues Ivmi na non associées lors de ladite première étape d'association et lesdites informations de mouvement attendues Ivmi a associées lors de ladite première étape d'association, ladite deuxième étape d'association étant mise en oeuvre selon une deuxième règle visant à ce que chacune des informations de mouvement Ivmi de ladite liste soit associée, lors de ladite première ou de ladite deuxième étape d'association, à une unique information de mouvement à coder I'vmi.
  2. 2. Procédé selon la revendication 1, caractérisé en ce que ladite première étape d'association comprend une première étape de sélection, selon au moins un premier critère de priorité de traitement, d'au moins une desdites informations de mouvement attendues de ladite liste, dite information de mouvement courante, et pour ladite information de mouvement courante, au moins une itération des sous-étapes suivantes, tant que ladite première règle n'est pas vérifiée : o une première sous-étape d'identification, selon au moins un deuxième critère de priorité de traitement, d'une information de mouvement à coder parmi lesdites informations de mouvement non attendues et lesdites informations de mouvement attendues associées lors d'une itération précédente, et o lorsque ladite première règle est vérifiée, une première sous-étape d'association, à ladite information de mouvement courante, de ladite information de mouvement à coder identifiée.
  3. 3. Procédé selon la revendication 1, caractérisé en ce que ladite deuxième étape d'association comprend au moins une itération des étapes suivantes : une deuxième étape de sélection, selon au moins un troisième critère de priorité de traitement, d'au moins une desdites informations de mouvement non attendue non associée lors de ladite première étape d'association, dite information de mouvement courante, et pour ladite information de mouvement courante : o une deuxième sous-étape d'identification, selon au moins un quatrième critère de priorité de traitement, parmi lesdites informations de mouvement non attendues non associées lors de ladite première étape d'association et lesdites informations de mouvement attendues associées lors de ladite première étape d'association, d'une information de mouvement à coder et o une deuxième sous-étape d'association, à ladite information de mouvement courante, de ladite information de mouvement à coder identifiée.
  4. 4. Procédé selon la revendication 2 ou la revendication 3, caractérisé en ce que lesdits critères de priorité de traitement correspondent à au moins un paramètre appartenant au groupe comprenant : - un sens de traitement des informations de mouvement de ladite liste, lorsqu'elles sont représentées dans un référentiel dont chaque axe correspond à une composante distincte d'une information de mouvement ; ù une information représentative du nombre de fois où une information de mouvement attendue a été préalablement codée, dite fréquence d'apparition ; - une information représentative d'un degré de confiance associé à une information de mouvement ; ou - une combinaison des paramètres précédents.
  5. 5. Procédé selon la revendication 4, caractérisé en ce que ledit sens de traitement appartient au groupe comprenant : - un sens de traitement en spirale, - un sens de traitement en losange, - un sens de traitement tenant compte d'au moins une position, dans ledit référentiel, desdites informations de mouvement, et en ce que ledit sens de traitement est centré sur une information de mouvement prédéterminée ou sur un barycentre desdites informations de mouvement de ladite liste.
  6. 6. Procédé selon la revendication 1, caractérisé en ce que ladite étape de construction tient compte d'un nombre n d'images de référence.
  7. 7. Procédé de codage d'au moins un bloc courant d'une image courante d'une séquence d'images, caractérisé en ce qu'il met en oeuvre un procédé de traitement selon la revendication 1 et les étapes suivantes : sélection, parmi lesdites informations de mouvement de ladite liste, d'une information de mouvement pour ledit bloc courant ; codage d'une information de mouvement à coder associée, lors de ladite première ou de ladite deuxième étape d'association, à ladite information de mouvement sélectionnée lors de ladite étape de sélection, délivrant une information de mouvement codée pour ledit bloc.
  8. 8. Signal représentatif d'au moins un bloc codé d'une image d'une séquence d'images, caractérisé en ce qu'il porte au moins une information de mouvement codée selon le procédé de codage selon la revendication 7.
  9. 9. Signal selon la revendication 8, caractérisé en ce qu'il porte en outre une information représentative d'un nombre n d'images de référence.
  10. 10. Procédé de décodage d'au moins un bloc courant d'une image courante d'une séquence d'images, caractérisé en ce qu'il comprend les étapes suivantes : réception et décodage d'une information de mouvement codée selon le procédé de codage selon la revendication 7, délivrant une information de mouvement décodée ; mise en oeuvre des étapes du procédé de traitement selon la revendication 1 ; sélection, parmi lesdites informations de mouvement de ladite liste, d'une information de mouvement associée, lors de ladite première ou de ladite deuxième étape d'association, à ladite information de mouvement décodée ; reconstruction dudit bloc à partir de ladite information de mouvement sélectionnée.
  11. 11. Dispositif de traitement d'au moins une information de mouvement relative à une image courante d'une séquence d'images, caractérisé en ce qu'il comprend : û des moyens (20) de construction d'au moins une liste L comprenant au moins une information de mouvement, dite information de mouvement attendue Ivmi a, issue d'une prédiction par compensation en mouvement à partir d'au moins une image de référence et ayant été préalablement codée, et au moins une information de mouvement, dite information de mouvement non attendue Ivmi-na, non préalablement codée ; des premiers moyens (21) d'association d'au moins une information de mouvement attendue Ivmi-a à une information de mouvement de ladite liste, dite information de mouvement à coder I'vmi, lesdits premiers moyens d'association étant mis en oeuvre selon une première règle d'optimisation du coût de codage de ladite information de mouvement à coder ; des deuxièmes moyens (22) d'association de chaque information de mouvement non attendue non associée par lesdits premiers moyens d'association, à une information de mouvement à coder I'vmi identifiée parmi lesdites informations de mouvement non attendues non associées par lesdits premiers moyens d'association et lesdites informations de mouvement attendues associées par lesdits premiers moyens d'association, lesdits deuxièmes moyens d'association étant mis en oeuvre selon une deuxième règle visant à ce que chacune des informations de mouvement Ivmi de ladite liste soit associée, par lesdits premiers ou deuxièmes moyens d'association, à une unique information de mouvement à coder I'vmi.
  12. 12. Dispositif de codage d'au moins un bloc courant d'une image courante d'une séquence d'images, caractérisé en ce qu'il comprend des moyens du dispositif de traitement selon la revendication 11 et : - des moyens de sélection, parmi lesdites informations de mouvement de ladite liste, d'une information de mouvement pour ledit bloc courant ; - des moyens de codage d'une information de mouvement à coder associée, par lesdits moyens dudit dispositif de traitement, à ladite information de mouvement sélectionnée par lesdits moyens de sélection.
  13. 13. Dispositif de décodage d'au moins un bloc courant d'une image courante d'une séquence d'images, caractérisé en ce qu'il comprend : des moyens de réception et de décodage d'une information de mouvement codée par les moyens du dispositif de codage selon la revendication 7, délivrant une information de mouvement décodée ; - des moyens de mise en oeuvre des moyens du dispositif de traitement selon la revendication 11 ; û des moyens de sélection, parmi lesdites informations de mouvement de ladite liste, d'une information de mouvement associée, par lesdits premiers ou deuxièmes moyens d'association, à ladite information de mouvement décodée ; - des moyens de reconstruction dudit bloc à partir de ladite information de mouvement sélectionnée.
  14. 14. Programme d'ordinateur comportant des instructions pour la mise en oeuvre d'un procédéselon les revendication 1, 7 ou 10 lorsque ce programme est exécuté par un processeur.
FR1053060A 2010-04-22 2010-04-22 Procede de traitement d'une information de mouvement, procedes de codage et de decodage, dispositifs, signal et programme d'ordinateur correspondants Withdrawn FR2959376A1 (fr)

Priority Applications (5)

Application Number Priority Date Filing Date Title
FR1053060A FR2959376A1 (fr) 2010-04-22 2010-04-22 Procede de traitement d'une information de mouvement, procedes de codage et de decodage, dispositifs, signal et programme d'ordinateur correspondants
EP11731021A EP2561679A1 (fr) 2010-04-22 2011-04-19 Procédé de traitement d'une information de mouvement et procédés de codage
CN201180019807.4A CN102959954B (zh) 2010-04-22 2011-04-19 用于处理运动信息项的方法以及编码方法
PCT/FR2011/050898 WO2011131903A1 (fr) 2010-04-22 2011-04-19 Procede de traitement d'une information de mouvement et procedes de codage
US13/642,779 US9560376B2 (en) 2010-04-22 2011-04-19 Method for processing a motion information item, encoding and decoding methods, corresponding devices, signal and computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR1053060A FR2959376A1 (fr) 2010-04-22 2010-04-22 Procede de traitement d'une information de mouvement, procedes de codage et de decodage, dispositifs, signal et programme d'ordinateur correspondants

Publications (1)

Publication Number Publication Date
FR2959376A1 true FR2959376A1 (fr) 2011-10-28

Family

ID=43127333

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1053060A Withdrawn FR2959376A1 (fr) 2010-04-22 2010-04-22 Procede de traitement d'une information de mouvement, procedes de codage et de decodage, dispositifs, signal et programme d'ordinateur correspondants

Country Status (5)

Country Link
US (1) US9560376B2 (fr)
EP (1) EP2561679A1 (fr)
CN (1) CN102959954B (fr)
FR (1) FR2959376A1 (fr)
WO (1) WO2011131903A1 (fr)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2959376A1 (fr) * 2010-04-22 2011-10-28 France Telecom Procede de traitement d'une information de mouvement, procedes de codage et de decodage, dispositifs, signal et programme d'ordinateur correspondants
CN107277506B (zh) * 2017-08-15 2019-12-03 中南大学 基于自适应运动矢量精度的运动矢量精度选择方法及装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102006043707A1 (de) * 2006-09-18 2008-03-27 Robert Bosch Gmbh Verfahren zur Datenkompression in einer Videosequenz

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6178265B1 (en) 1994-09-22 2001-01-23 Intel Corporation Method and apparatus for motion vector compression
JP4102973B2 (ja) * 2002-04-24 2008-06-18 日本電気株式会社 動画像の符号化方法および復号化方法、これを用いた装置とプログラム
US8254461B2 (en) * 2002-07-24 2012-08-28 Apple Inc. Method and apparatus for variable accuracy inter-picture timing specification for digital video encoding with reduced requirements for division operations
US8000392B1 (en) * 2004-02-27 2011-08-16 Vbrick Systems, Inc. Phase correlation based motion estimation in hybrid video compression
DE602006020341D1 (de) * 2005-12-26 2011-04-07 Nippon Kogaku Kk Bildverarbeitungsverfahren, bildverarbeitungsprogramm, bildverarbeitungseinrichtung und bildgebungseinrichtung
US7672377B2 (en) * 2006-04-21 2010-03-02 Dilithium Holdings, Inc. Method and system for video encoding and transcoding
KR101311403B1 (ko) * 2006-07-04 2013-09-25 삼성전자주식회사 영상의 부호화 방법 및 장치, 복호화 방법 및 장치
KR101366242B1 (ko) * 2007-03-29 2014-02-20 삼성전자주식회사 움직임 모델 파라메터의 부호화, 복호화 방법 및 움직임모델 파라메터를 이용한 영상의 부호화, 복호화 방법 및장치
CN101159875B (zh) * 2007-10-15 2011-10-05 浙江大学 二重预测视频编解码方法和装置
CN101933328B (zh) * 2008-01-22 2014-11-19 杜比实验室特许公司 利用动态查询表更新的自适应运动信息成本估计
ES2812473T3 (es) * 2008-03-19 2021-03-17 Nokia Technologies Oy Vector de movimiento combinado y predicción de índice de referencia para la codificación de vídeo
US20090316042A1 (en) * 2008-06-19 2009-12-24 Chin-Chuan Liang Video processing methods and related devices for determining target motion vector
EP2227012A1 (fr) * 2009-03-05 2010-09-08 Sony Corporation Système et procédé pour la fourniture de vecteurs de mouvement fiables
US8873626B2 (en) * 2009-07-02 2014-10-28 Qualcomm Incorporated Template matching for video coding
FR2959376A1 (fr) * 2010-04-22 2011-10-28 France Telecom Procede de traitement d'une information de mouvement, procedes de codage et de decodage, dispositifs, signal et programme d'ordinateur correspondants
US9300970B2 (en) * 2010-07-09 2016-03-29 Samsung Electronics Co., Ltd. Methods and apparatuses for encoding and decoding motion vector
JP5298140B2 (ja) * 2011-01-12 2013-09-25 株式会社エヌ・ティ・ティ・ドコモ 画像予測符号化装置、画像予測符号化方法、画像予測符号化プログラム、画像予測復号装置、画像予測復号方法、及び画像予測復号プログラム
ES2705251B1 (es) * 2011-09-23 2020-01-29 Kt Corp Método para inducir un bloque candidato de fusión y dispositivo que usa el mismo

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102006043707A1 (de) * 2006-09-18 2008-03-27 Robert Bosch Gmbh Verfahren zur Datenkompression in einer Videosequenz

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
FAOUZI KOSSENTINI ET AL: "Predictive RD Optimized Motion Estimation for Very Low Bit-Rate Video Coding", IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, IEEE SERVICE CENTER, PISCATAWAY, US, vol. 15, no. 9, 1 December 1997 (1997-12-01), XP011054728, ISSN: 0733-8716 *
J. LE TANOU, J.-M. THIESSE, J. JUNG, M. ANTONINI: "Motion Vector Forecast and Mapping (MV-FMap) Method for Entropy Coding based Video Coders", 2010 IEEE INTERNATIONAL WORKSHOP ON MULTIMEDIA SIGNAL PROCESSING (MMSP '10), SAINT MALO, FRANCE, 4-6 OCT. 2010, 4 October 2010 (2010-10-04), IEEE, Piscataway, USA, pages 206 - 211, XP002612459 *
LEE Y Y ET AL: "MOTION VECTOR QUANTIZATION FOR VIDEO CODING", IEEE TRANSACTIONS ON IMAGE PROCESSING, IEEE SERVICE CENTER, PISCATAWAY, NJ, US, vol. 4, no. 3, 1 March 1995 (1995-03-01), pages 378 - 382, XP000501911, ISSN: 1057-7149, DOI: DOI:10.1109/83.366484 *
MASASHI TAKAHASHI ET AL: "H.264/AVC improvement based on adaptive motion vector coding", PICTURE CODING SYMPOSIUM, 2009. PCS 2009, IEEE, PISCATAWAY, NJ, USA, 6 May 2009 (2009-05-06), pages 1 - 4, XP031491680, ISBN: 978-1-4244-4593-6 *

Also Published As

Publication number Publication date
CN102959954B (zh) 2016-05-11
US20130039425A1 (en) 2013-02-14
WO2011131903A1 (fr) 2011-10-27
CN102959954A (zh) 2013-03-06
EP2561679A1 (fr) 2013-02-27
US9560376B2 (en) 2017-01-31

Similar Documents

Publication Publication Date Title
EP2446628B1 (fr) Procédé de décodage d'images, dispositifs de décodage et programme d'ordinateur correspondants
EP3209021B1 (fr) Support d'enregistrement mémorisant un flux de données d'images codées
EP2981088B1 (fr) Support d'enregistrement mémorisant un flux de données d'images codées
WO2015197945A1 (fr) Procédé de codage d'une image numérique, procédé de décodage, dispositifs, et programmes d'ordinateurs associés
EP3678374A1 (fr) Prédiction d'un vecteur mouvement d'une partition d'image courante de forme géometrique ou de taille différente de celle d'au moins une partition d'image de référence voisine, codage et decodage utilisant une telle prediction
EP2347590B1 (fr) Prediction d'une image par compensation en mouvement en avant
FR2933565A1 (fr) Procede et dispositif de codage d'une sequence d'images mettant en oeuvre une prediction temporelle, signal, support de donnees, procede et dispositif de decodage, et produit programme d'ordinateur correspondants
EP2443835B1 (fr) Codage de vecteurs mouvement par compétition de prédicteurs
EP2377323B1 (fr) Prédiction d'images par repartionnement d'une portion de zone causale de référence, codage et decodage utilisant une telle prédiction
EP3075155B1 (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
EP2486659A1 (fr) Procedes de codage et de décodage d'images, dispositifs de codage et de decodage et programmes d'ordinateur correspondants
FR3040578A1 (fr) Procede de codage et de decodage d'images, dispositif de codage et de decodage d'images et programmes d'ordinateur correspondants
FR2959376A1 (fr) Procede de traitement d'une information de mouvement, procedes de codage et de decodage, dispositifs, signal et programme d'ordinateur correspondants
EP3360328B1 (fr) Codage et décodage multi-vues
EP3158749B1 (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
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
EP3854085A1 (fr) Procédés et dispositifs de codage et de décodage d'un flux de données représentatif d'au moins une image
WO2011131902A2 (fr) Procédé d'enrichissement d'une information de mouvement et procédé de codage

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20111230