FR2956552A1 - Procede de codage ou de decodage d'une sequence video, dispositifs associes - Google Patents

Procede de codage ou de decodage d'une sequence video, dispositifs associes Download PDF

Info

Publication number
FR2956552A1
FR2956552A1 FR1051183A FR1051183A FR2956552A1 FR 2956552 A1 FR2956552 A1 FR 2956552A1 FR 1051183 A FR1051183 A FR 1051183A FR 1051183 A FR1051183 A FR 1051183A FR 2956552 A1 FR2956552 A1 FR 2956552A1
Authority
FR
France
Prior art keywords
block
reference block
coefficient
coding
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
FR1051183A
Other languages
English (en)
Other versions
FR2956552B1 (fr
Inventor
Patrice Onno
Guillaume Laroche
Xavier Henocq
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to FR1051183A priority Critical patent/FR2956552B1/fr
Publication of FR2956552A1 publication Critical patent/FR2956552A1/fr
Application granted granted Critical
Publication of FR2956552B1 publication Critical patent/FR2956552B1/fr
Expired - Fee Related 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/523Motion estimation or motion compensation with sub-pixel accuracy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/18Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • 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

La présente invention concerne un procédé de codage ou de décodage d'une séquence vidéo (101) constituée d'images numériques (I), ainsi que des dispositifs associés. Le procédé consiste à : - déterminer (E303), pour au moins un bloc à coder (B(n)) d'une image (I), un bloc de référence (Bref (n)) dans une image de référence (116, 116int); - modifier ledit bloc de référence déterminé (Bref (n)) de sorte à obtenir un bloc prédicteur (Bpred (n)); et - coder (105) ledit bloc à coder (B(n)) en utilisant le bloc prédicteur obtenu; dans lequel la modification du bloc de référence consiste à : - déterminer (E306) un coefficient (i) parmi des coefficients représentant le bloc de référence dans le domaine fréquentiel et une valeur de décalage (θi) associée; et - modifier, pour ledit bloc de référence, la valeur du coefficient déterminé à l'aide de la valeur de décalage.

Description

La présente invention concerne un procédé de codage ou de décodage d'une séquence vidéo constituée d'une suite d'images numériques, ainsi que des dispositifs associés. Les algorithmes de compression vidéo, comme ceux normalisés par les organismes de standardisation ITU, ISO, SMPTE, exploitent les redondances spatiales et temporelles des images afin de générer des flux binaires de données de taille réduite par rapport à ces séquences vidéo. De telles compressions rendent la transmission et/ou le stockage des séquences vidéo plus efficaces. Les figures 1 et 2 représentent respectivement le schéma d'un encodeur vidéo 10 et le schéma d'un décodeur vidéo 20 conformes à la norme de compression vidéo H.264/MPEG-4 AVC ("Advanced Video Coding"). Cette dernière est le résultat de la collaboration du "Video Coding Expert Group" (VCEG) de l'ITU et du "Moving Picture Experts Group" (MPEG) de l'ISO, sous la forme notamment d'une publication "Advanced Video Coding for Generic Audiovisual Services" (Mars 2005). La figure 1 représente un schéma d'un encodeur vidéo 10 de type H.264/AVC ou de l'un de ses prédécesseurs. La séquence vidéo originale 101 est une succession d'images numériques "images f'. De façon connue en soi, une image numérique est représentée par une ou plusieurs matrices dont les coefficients représentent des pixels. Selon la norme H.264/AVC, les images sont découpées en tranches ou "slices". Un "slice" est une partie de l'image ou l'image entière. Ces slices sont divisés en macroblocs, généralement des blocs de taille 16 pixels x 16 pixels, et chaque macrobloc peut être divisé, à son tour, en différentes tailles de blocs de données 102, par exemple 4x4, 4x8, 8x4, 8x8, 8x16, 16x8. Le macrobloc est l'unité de codage dans la norme H.264.
Lors d'une compression vidéo, chaque bloc d'une image en cours de traitement est prédit spatialement par un prédicteur "Intra" 103, ou temporellement par un prédicteur "Inter" 105. Chaque prédicteur est un bloc de pixels issu de la même image ou d'une autre image, à partir duquel on déduit un bloc de différences (ou "résiduel"). L'identification du bloc prédicteur et le codage du résiduel permettent de réduire la quantité d'information à encoder effectivement. Dans le module de prédiction "Intra" 103, le bloc courant est prédit à l'aide d'un prédicteur "Intra", bloc de pixels construit à partir des informations de l'image courante déjà encodées. En ce qui concerne le codage "Inter", une estimation de mouvement 104 entre le bloc courant et des images de référence 116 est effectuée afin d'identifier, dans l'une de ces images de référence, un bloc de pixels pour l'utiliser comme prédicteur de ce bloc courant. Les images de référence utilisées sont constituées d'images de la séquence vidéo qui ont déjà été codées puis reconstruites (par décodage). Généralement, l'estimation de mouvement 104 est un algorithme de mise en correspondance de blocs dit "Block Matching Algorithm" (BMA). Le bloc prédicteur identifié par cet algorithme est ensuite généré puis soustrait du bloc courant de données à traiter de sorte à obtenir un bloc de différences (résiduel de bloc). Cette étape est appelée "compensation de mouvement" 105 dans les algorithmes de compression classiques. Ces deux types de codage fournissent ainsi plusieurs résiduels (différence entre le bloc courant et le bloc prédicteur) de texture qui sont comparés dans un module de sélection du meilleur mode de codage 106 aux fins de déterminer celui qui optimise un critère débit/distorsion. Si le codage "Intra" est sélectionné, une information permettant de décrire le prédicteur "Intra" utilisé est codée (109) avant d'être insérée dans le flux binaire 110.
Si le module de sélection du meilleur mode de codage 106 choisit le codage "Inter", une information de mouvement est codée (109) et insérée dans le flux binaire 110. Cette information de mouvement est notamment composée d'un vecteur mouvement (indiquant la position du bloc prédicteur dans l'image de référence relativement à la position du bloc à prédire) et d'un indice d'image parmi les images de référence. Le résiduel sélectionné par le module de choix 106 est ensuite transformé (107) dans le domaine fréquentiel, à l'aide d'une transformée en cosinus discret DCT ("Discrete Cosinus Transform"), puis quantifié (108). Les coefficients du résiduel transformé quantifié sont ensuite codés à l'aide d'un codage entropique ou arithmétique (109) puis insérés dans le flux binaire compressé 110 au niveau de données utiles codant les blocs de l'image.
On fera, dans la suite du document, essentiellement référence au codage entropique. Toutefois, l'homme du métier est à même de le remplacer par un codage arithmétique ou tout autre codage adapté. Afin de calculer les prédicteurs "Intra" ou d'effectuer l'estimation de mouvement pour les prédicteurs "Inter", l'encodeur réalise un décodage des blocs déjà encodés à l'aide d'une boucle dite "de décodage" (111, 112, 113, 114, 115, 116) pour obtenir des images de référence. Cette boucle de décodage permet de reconstruire les blocs et les images à partir des résiduels transformés quantifiés. Elle garantit que le codeur et le décodeur utilisent les mêmes images 20 de référence. Ainsi, le résiduel transformé quantifié est déquantifié (111) par application d'une opération de quantification, inverse de celle prévue à l'étape 108, puis reconstruit (112) par application de la transformée inverse de celle de l'étape 107. 25 Si le résiduel provient d'un codage "Intra" 103, le prédicteur "Intra" utilisé est ajouté à ce résiduel (113) pour récupérer un bloc reconstruit correspondant au bloc d'origine modifié par les pertes résultant de l'opération de quantification. Si le résiduel provient, en revanche, d'un codage "Inter" 105, le bloc 30 pointé par le vecteur mouvement courant (ce bloc appartient à l'image de référence 116 visée dans les informations de mouvement codées) est ajouté à ce résiduel décodé (114). On obtient ainsi le bloc d'origine modifié par les pertes résultant des opérations de quantification. Afin d'atténuer, au sein d'une même image, les effets de blocs créés par une forte quantification des résiduels obtenus, l'encodeur intègre un filtre de "deblocking" 115, qui a pour objectif de supprimer ces effets de blocs, notamment les hautes fréquences artificielles introduites aux frontières entre blocs. Le filtre de deblocking 115 permet de lisser les bordures entre les blocs afin d'atténuer visuellement ces hautes fréquences créées par le codage. Un tel filtre étant connu de l'art, il ne sera pas décrit plus en détail ici.
Le filtre 115 est ainsi appliqué à une image lorsque tous les blocs de pixels de cette image ont été décodés. Les images filtrées, également nommées images reconstruites, sont alors stockées comme images de référence 116 pour permettre les prédictions "Inter" ultérieures ayant lieu lors de la compression des images suivantes de la séquence vidéo courante. Dans le cadre de la norme H.264, il est possible d'utiliser plusieurs images de référence 116 pour l'estimation et la compensation de mouvement de l'image courante, avec un maximum de 32 images de référence. En d'autres termes, l'estimation de mouvement est effectuée sur N images. Ainsi, le meilleur prédicteur "Inter" du bloc courant, pour la compensation de mouvement, est sélectionné dans une des multiples images de référence. Par conséquent, deux blocs voisins peuvent avoir deux blocs prédicteurs qui proviennent de deux images de référence distinctes. C'est notamment la raison pour laquelle on indique, dans les données utiles du flux binaire compressé et au niveau de chaque bloc de l'image codée (en fait le résiduel correspondant), l'indice de l'image de référence (en plus du vecteur mouvement) utilisée pour le bloc prédicteur. Cette utilisation de plusieurs images de référence permet d'obtenir des gains significatifs par rapport à l'utilisation d'une seule image de référence.
La figure 2 représente un schéma global d'un décodeur 20 vidéo de type H.264/AVC. Le décodeur 20 reçoit en entrée un flux binaire 201 correspondant à une séquence vidéo compressée 110 par un encodeur de type H.264/AVC, tel que celui de la figure 1. Lors du processus de décodage, le flux binaire 201 est tout d'abord décodé entropiquement (202), ce qui permet de traiter chaque résiduel codé.
Le résiduel du bloc courant est déquantifié (203) à l'aide de la quantification inverse de celle prévue en 108, puis reconstruit (204) à l'aide de la transformée inverse de celle prévue en 107. Le décodage des données de la séquence vidéo est alors opéré image par image, et au sein d'une image, bloc par bloc.
Le mode "Inter" ou "Intra" de codage du bloc courant est extrait du flux binaire 201 et décodé entropiquement. Si le codage du bloc courant est de type "Intra", l'indice de la direction de prédiction est extrait du flux binaire et décodé entropiquement. Les pixels des blocs voisins décodés les plus proches du bloc courant selon cette direction de prédiction sont utilisés pour re-générer le bloc prédicteur "Intra". Le résiduel associé au bloc courant est récupéré du flux binaire 201 puis décodé entropiquement. Enfin, le bloc prédicteur Intra récupéré est ajouté au résiduel ainsi déquantifié et reconstruit dans le module prédiction Intra (205) pour obtenir le bloc décodé.
Si le mode de codage du bloc courant indique que ce bloc est de type "Inter", alors le vecteur mouvement, et éventuellement l'identifiant de l'image de référence utilisée, sont extraits du flux binaire 201 et décodés (202). Ces informations de mouvement sont utilisées dans le module de compensation de mouvement 206 pour déterminer le bloc prédicteur "Inter" contenu dans les images de référence 208 du décodeur 20. De façon similaire à l'encodeur, ces images de référence 208 sont composées d'images précédant l'image en cours de décodage et qui sont reconstruites à partir du flux binaire (donc décodées précédemment). Le résiduel associé au bloc courant est, ici aussi, récupéré du flux binaire 201 puis décodé entropiquement. Le bloc prédicteur Inter déterminé est alors ajouté au résiduel ainsi déquantifié et reconstruit, au niveau du module de compensation de mouvement 206, pour obtenir le bloc décodé.
A la fin du décodage de tous les blocs de l'image courante, le même filtre de deblocking 207 que celui (115) prévu au niveau de l'encodeur est utilisé pour éliminer les effets de bloc de manière à obtenir les images de référence 208.
Les images ainsi décodées constituent le signal vidéo 209 de sortie du décodeur, qui peut être alors affiché et exploité. Ces opérations de décodage sont similaires à la boucle de décodage du codeur. De façon symétrique au codage, le décodeur selon la norme H.264 peut requérir l'utilisation de plusieurs images de référence. Des évolutions ont été proposées pour améliorer la qualité globale de la séquence vidéo codée, et notamment en ce qui concerne le processus d'estimation/compensation de mouvement. Un mécanisme largement exploré concerne l'interpolation des images de référence pour en augmenter la résolution, afin d'obtenir des vecteurs mouvement de précision inférieure au pixel, par exemple au 1/2 pixel, au 1/4 de pixel ou même au 1/8 de pixel selon l'interpolation mise en oeuvre. La norme H.264 supporte notamment une interpolation des images de référence jusqu'à une précision du 1/4 de pixel.
Différentes publications montrent qu'un gain significatif de compression peut être obtenu à qualité constante. On connaît notamment la publication US 2009/257500 qui propose, lors du codage des blocs de l'image, une identification de blocs de référence par estimation de mouvement dans une image de référence interpolée, puis une modification de ces blocs de référence pour obtenir des blocs prédicteurs utilisés lors de la compensation de mouvement sur les blocs à coder de l'image. Cette modification améliore la compression des blocs de données de l'image. De façon connue en soi, les blocs comprenant une pluralité de coefficients ayant chacun une valeur, peuvent être parcourus de diverses façon.
La façon dont les coefficients sont parcourus à l'intérieur des blocs, par exemple un parcours en zig-zag ("zig-zag scan" en terminologie anglo-saxonne), définit un numéro de coefficient pour chaque coefficient de bloc. Pour la suite de la description, on parlera indifféremment de "coefficient de bloc", d"'index de coefficient" et de "numéro de coefficient" pour indiquer la position d'un coefficient à l'intérieur d'un bloc en fonction du parcours retenu. On parlera par ailleurs de "valeur de coefficient" pour indiquer la valeur prise par un coefficient donné dans un bloc. L'interpolation de l'image de référence selon la publication US 2009/257500 crée une grille d'interpolation constituée d'une position principale correspondant à un pixel de l'image de référence d'origine (les coordonnées de position sont toutes des nombres entiers identifiant le pixel dans l'image d'origine), et de plusieurs positions correspondant aux pixels interpolés dont au moins une des coordonnées est partielle entre deux pixels de l'image de référence originale. Dans la publication US 2009/257500, pour chaque position dans la grille d'interpolation, une valeur de décalage des pixels du bloc de référence est calculée. Puis, elle est ajoutée aux blocs de référence ayant cette même position dans la grille d'interpolation pour obtenir un bloc de prédiction à partir duquel est réalisée la compensation de mouvement sur un bloc à coder. Cette valeur de décalage est en particulier choisie comme la différence moyenne des pixels entre le bloc à coder et le bloc de référence. En d'autres termes, cela consiste à ajouter une valeur de décalage au coefficient continu DC dans une représentation du bloc de référence dans le domaine fréquentiel, par exemple dans le bloc de référence transformé par DCT. Cette approche s'avère efficace pour la compression en présence de certains effets visuels dans la séquence vidéo, notamment lors de changements de luminosité entre différentes images (par exemple en cas de flashs). La présente invention vise à améliorer encore la compression de la séquence vidéo, par exemple lors des opérations de compensation de mouvement, notamment pour des effets autres qu'une modification de luminosité. Dans ce contexte, la présente invention concerne notamment un procédé de codage d'une séquence vidéo constituée d'une suite d'images numériques formées de blocs de données, comprenant les étapes consistant à: ù déterminer, pour au moins un bloc à coder d'une image, un bloc de référence dans une image de référence; ù modifier ledit bloc de référence déterminé de sorte à obtenir un bloc prédicteur; et ù coder ledit bloc à coder en utilisant le bloc prédicteur obtenu; caractérisé en ce que la modification du bloc de référence comprend les étapes consistant à : ù déterminer au moins un coefficient parmi des coefficients représentant ledit bloc de référence dans le domaine fréquentiel et au moins une valeur de décalage associée; et ù modifier, pour ledit bloc de référence, la valeur de l'au moins un coefficient déterminé à l'aide de l'au moins une valeur de décalage.
Dans sa forme la plus générale, l'invention peut s'appliquer de manière générale pour la prédiction de blocs dans une séquence vidéo, en particulier pour la prédiction "Inter" par compensation de mouvement. Selon l'invention, une opération de détermination d'un coefficient fréquentiel du bloc de référence, par exemple un coefficient DOT, est réalisée aux fins d'en modifier la valeur. Dans les techniques de la publication US 2009/257500, seul le coefficient continu est modifié de telle sorte qu'aucune détermination n'est réalisée. Cette opération permet ainsi d'intervenir sur n'importe quel coefficient fréquentiel du bloc de référence, en particulier sur un coefficient de fréquence non nulle dit AC dans le domaine fréquentiel et non uniquement sur le coefficient continu DC. La modification des coefficients AC permet d'obtenir une correction plus précise des blocs de référence pour la prédiction, non uniquement limitée à une correction de la valeur moyenne de luminosité de l'image. La compression de la séquence vidéo en est alors nettement améliorée. Dans un mode de réalisation, une pluralité de blocs de référence déterminés est organisée en une pluralité de groupes selon au moins un critère de regroupement, et on associe au moins un coefficient et une valeur de décalage déterminés à chaque groupe de sorte à modifier chaque bloc de référence d'un groupe avec lesdits coefficients et valeur de décalage associés audit groupe.
On réduit ainsi la quantité d'information à transmettre dans le flux codé pour informer le décodeur des informations de correction (coefficient et décalage) à utiliser sur les blocs de référence. En particulier, ledit critère de regroupement est relatif à la position des blocs de référence dans une grille d'interpolation de l'image de référence.
Notamment, chaque groupe comprend uniquement des blocs de référence ayant une même position dans la grille d'interpolation. La position d'un bloc de référence peut par exemple être déterminée par la position du pixel situé dans le coin supérieur gauche du bloc. On combine de la sorte une faible quantité d'informations de correction à transmettre au décodeur (en raison de la factorisation par groupes), et une correction homogène des blocs de référence dont une perte de précision plus ou moins grande peut résulter des opérations d'interpolation (car les pertes sont sensiblement identiques pour des positions similaires dans la grille d'interpolation). En effet, ces opérations d'interpolation introduisent des arrondis ou écrêtages de valeurs à chaque itération d'interpolation, qui sont différents entre des pixels de demi position (issus d'une première interpolation de précision 1/2) et des pixels de position inférieure (1/4 ou 1/8 par exemple, issus d'autres interpolations récursives). Dans un mode de réalisation, le procédé comprend une étape d'interpolation d'une image de référence de telle sorte que chaque bloc de référence est déterminé dans l'image de référence interpolée. Cette disposition accroît la précision lors des prédictions et donc l'efficacité de la compression de la séquence vidéo. Selon une caractéristique particulière de l'invention, on détermine au moins un coefficient et une valeur de décalage qui minimisent une mesure de distorsion entre les blocs prédicteurs résultant de la modification des blocs de référence d'un groupe et les blocs à coder utilisant ces blocs de référence.
Cette disposition permet de garantir au mieux une réduction globale de la différence entre chaque bloc de référence et les blocs à coder correspondants. En outre, cela permet d'adapter la correction des blocs de référence aux particularités des changements entre l'image de référence et l'image à coder, sans être limité uniquement à la compensation d'un changement de luminosité moyenne entre deux images. En particulier, on minimise, pour chaque groupe, l'expression Bp`ed (n) û B(n) , où B(n) représente un bloc de l'image à coder et Bp`ed (n) représente le bloc prédicteur résultant de la modification du bloc de référence utilisé par le bloc à coder B(n) et appartenant audit groupe noté G. Par ailleurs, ladite détermination d'un coefficient et d'une valeur de décalage associée comprend : û pour chaque coefficient représentant ledit bloc de référence dans le domaine fréquentiel, le calcul d'une valeur de décalage qui lorsqu'elle est appliquée audit coefficient, minimise ladite mesure de distorsion, de sorte à obtenir une pluralité de couples coefficient-valeur de décalage, et û la sélection d'au moins le couple coefficient-valeur de décalage qui minimise ladite mesure de distorsion. Cette approximation, bien que n'obtenant généralement pas la mesure de distorsion minimale absolue, offre une complexité de traitement faible et des blocs prédicteurs nettement améliorés. Dans un mode de réalisation, ladite valeur de décalage est déterminée dans un ensemble fini de valeurs. Cela permet de réduire considérablement les calculs, notamment lorsqu'il s'agit de minimiser la distorsion de l'image. Dans un mode de réalisation, la modification du bloc de référence comprend l'addition d'un résiduel correctif audit bloc de référence, ledit résiduel correctif étant généré par quantification inverse d'un bloc de coefficients égaux à zéro modifié par lesdits coefficients et valeur de décalage déterminés.
Comme on le verra par la suite, ce bloc correctif est également soumis à une transformée inverse pour repasser du domaine fréquentiel au domaine spatial de l'image. Cette disposition permet notamment de précalculer et stocker une seule fois les signaux correctifs pour toutes les images de la séquence. Les calculs en temps réel pour la modification des blocs de prédiction sont ainsi simplifiés. Dans un mode de réalisation, la modification du bloc de référence comprend la détermination d'une pluralité de couples coefficient-valeur de décalage, ledit bloc de référence étant modifié par chaque couple déterminée.
L'utilisation de plusieurs couples permet d'obtenir des blocs prédicteurs encore plus précis, et donc une compression améliorée. Selon une caractéristique de l'invention, ladite détermination d'un bloc de référence met en oeuvre une estimation de mouvement, et ledit codage du bloc à coder met en oeuvre une compensation de mouvement à l'aide du bloc prédicteur obtenu. Corrélativement, l'invention a également trait à un dispositif de codage d'une séquence vidéo constituée d'une suite d'images numériques formées de blocs de données, comprenant : û un module de détermination, pour au moins un bloc à coder d'une image, d'un bloc de référence dans une image de référence; û un moyen de modification dudit bloc de référence déterminé de sorte à obtenir un bloc prédicteur; et û un moyen de codage dudit bloc à coder en utilisant le bloc prédicteur obtenu; caractérisé en ce que le moyen de modification du bloc de référence comprend : û un module de détermination d'au moins un coefficient parmi des coefficients représentant ledit bloc de référence dans le domaine fréquentiel et d'au moins une valeur de décalage associée; et û un module de modification, pour ledit bloc de référence, de la valeur de l'au moins un coefficient déterminé à l'aide de l'au moins une valeur de décalage.
Le dispositif de codage présente des avantages similaires à ceux du procédé de codage exposé ci-dessus, notamment d'obtenir une correction plus précise des blocs de référence pour la prédiction, non uniquement limitée à une correction de la valeur moyenne de luminosité de l'image. La compression de la séquence vidéo en est alors nettement améliorée. De façon optionnelle, le dispositif peut comprendre des moyens se rapportant aux caractéristiques du procédé exposé précédemment. L'invention concerne également un procédé de décodage d'un flux binaire correspondant à une séquence vidéo, comprenant les étapes consistant à: û déterminer, pour au moins un bloc à décoder d'une image, un bloc de référence dans une image de référence, résultant éventuellement d'une interpolation; û décoder, dans le flux binaire, au moins une information de 15 modification dudit bloc de référence; û modifier ledit bloc de référence déterminé à l'aide de l'au moins une information de modification de sorte à obtenir un bloc prédicteur; et û décoder ledit bloc à décoder en utilisant le bloc prédicteur obtenu; caractérisé en ce que l'information de modification identifie un 20 coefficient parmi des coefficients représentant ledit bloc de référence dans le domaine fréquentiel et une valeur de décalage associée à appliquer pour modifier la valeur dudit au moins un coefficient déterminé. Le procédé de décodage présente des avantages similaires à ceux du procédé de codage exposé ci-dessus et peut comprendre, de façon 25 optionnelle, des étapes se rapportant aux étapes du procédé de codage décrit ci-dessus. En particulier, la modification du bloc de référence comprend l'addition d'un résiduel correctif audit bloc de référence, ledit résiduel correctif étant généré par quantification inverse d'un bloc de coefficients égaux à zéro 30 modifié par lesdits coefficients et valeur de décalage identifiés dans l'au moins une information de modification.
Par ailleurs, ledit procédé de décodage peut comprendre une étape consistant à identifier un groupe auquel ledit bloc de référence déterminé appartient, et procédé dans lequel l'au moins une information de modification est associée, dans le flux binaire, audit groupe identifié.
En particulier, ledit groupe est défini relativement à la position du bloc de référence dans une grille d'interpolation de l'image de référence. Corrélativement, l'invention concerne également un dispositif de décodage d'un flux binaire correspondant à une séquence vidéo, comprenant : û un module de détermination, pour au moins un bloc à décoder d'une image, d'un bloc de référence dans une image de référence; û un moyen de décodage, dans le flux binaire, d'au moins une information de modification dudit bloc de référence; û un moyen de modification dudit bloc de référence déterminé à l'aide de l'au moins une information de modification de sorte à obtenir un bloc prédicteur; et û un moyen de décodage dudit bloc à décoder en utilisant le bloc prédicteur obtenu; caractérisé en ce que le moyen de modification identifie, à l'aide de l'information de modification, un coefficient parmi des coefficients représentant ledit bloc de référence dans le domaine fréquentiel et une valeur de décalage associée à appliquer pour modifier la valeur dudit au moins un coefficient déterminé. Le dispositif de décodage présente des avantages similaires à ceux du procédé de décodage exposé ci-dessus.
L'invention concerne également un moyen de stockage d'informations, éventuellement totalement ou partiellement amovible, lisible par un système informatique, comprenant des instructions pour un programme informatique adapté à mettre en oeuvre un procédé de codage ou décodage conforme à l'invention lorsque ce programme est chargé et exécuté par le système informatique. L'invention concerne également un programme d'ordinateur lisible par un microprocesseur, comprenant des portions de code logiciel adaptées à mettre en oeuvre un procédé de codage ou décodage conforme à l'invention, lorsqu'il est chargé et exécuté par le microprocesseur. Les moyens de stockage d'information et programme d'ordinateur présentent des caractéristiques et avantages analogues aux procédés qu'ils mettent en oeuvre. D'autres particularités et avantages de l'invention apparaîtront encore dans la description ci-après, illustrée par les dessins ci-joints, dans lesquels : - la figure 1 représente un schéma global d'un encodeur vidéo; - la figure 2 représente un schéma global d'un décodeur vidéo; - la figure 3 illustre des étapes constituant une estimation de mouvement lors d'un codage selon l'invention; - les figures 4a et 4b illustrent le principe d'interpolation d'une image de référence; - les figures 5a et 5b illustrent différents parcours possibles d'un bloc de coefficients; - la figure 6 illustre des étapes constituant une compensation de mouvement lors d'un décodage selon l'invention; et - la figure 7 montre une configuration matérielle particulière d'un dispositif apte à une mise en oeuvre du ou des procédés selon l'invention. La figure 3 illustre les étapes d'un exemple d'estimation et de compensation (104, 105) de mouvement selon l'invention, mis en oeuvre dans le codeur de la figure 1. Bien qu'elle soit illustrée ici en référence à un traitement de type compensation de mouvement appliqué à une image de la séquence, l'invention pourrait être appliquée à d'autres traitements impliquant une prédiction d'une partie d'image à l'aide d'une image de référence. A l'étape E301, un premier bloc B(0) d'une image courante 1 à coder est récupéré du module 102.
A l'étape E302, on procède à l'interpolation de tout ou partie d'une image de référence récupérée dans le module 116. L'invention s'applique toutefois même en l'absence d'interpolation de l'image de référence.
Il peut notamment s'agir de l'image de la séquence vidéo qui est la plus proche temporellement de l'image courante 1 à coder, généralement l'image qui la précède. Toutefois, d'autres images de référence peuvent être utilisées, par exemple celle qui présente le bloc de prédiction (également appelé bloc de référence) le plus proche du bloc B(n) à coder. Pour des raisons de simplification d'illustration, on considère pour la suite que les blocs B(n) de l'image courante I qui sont prédits temporellement (certains peuvent ne pas être prédits ou être prédits uniquement spatialement) à partir d'une même image de référence. L'invention s'applique toutefois à l'utilisation de plusieurs images de référence pour une même image courante I à coder. Dans ce cas, les traitements suivants selon l'invention sont réalisés image de référence par image de référence. L'interpolation de l'étape E302 peut être menée sur l'image de référence entière ou sur une portion de celle-ci, notamment centrée autour du bloc ayant la même position dans l'image de référence que le bloc B(n) à coder. Différentes étapes de filtrage, d'arrondis et d'écrêtage sont réalisées pour obtenir la définition souhaitée d'interpolation, par exemple au 1/2 pixel près, au 1/4 de pixel près ou même au 1/8 de pixel près. Des algorithmes d'interpolation adaptés à une estimation de mouvement efficace sont connus de l'homme du métier, notamment de la publication US 2009/257500 susmentionnée, et ne seront, par conséquent, par décrits plus en détail ici. On rappelle, en référence à la figure 4, quelques notions d'une interpolation au 1 /4 de pixel près.
La figure 4a représente par exemple des informations de luminance de pixels correspondant à une portion d'une image de référence 116, et la figure 4b représente une zone 400 de cette même portion interpolée à la précision du 1/4 de pixel. Dans le cas où plusieurs composantes sont associées à chaque pixel (par exemple des composantes Rouge-Vert-Bleu ou des composantes Luminance-Chrominances), on traite séparément chacune de ces composantes.
L'interpolation au demi-pixel définie dans le cadre de la norme H.264 met notamment en oeuvre un filtre de Wiener de coefficients [1, -5, 20, 20, -5, 1]. Une interpolation au 1/4 de pixel met, quant à elle, en oeuvre un filtre bilinéaire.
L'utilisation de ce même filtre bilinéaire permet par exemple d'obtenir une interpolation au 1/8 de pixel pour les informations de chrominance, selon la norme H.264. Le filtre d'interpolation peut être appliqué d'abord dans la direction horizontale puis dans la direction verticale, ou l'inverse. Bien entendu, un grand nombre de filtres peut être utilisé et une sélection du filtre le plus performant peut être opérée. Sur la figure 4b, les pixels pleins 421 correspondent aux pixels de l'image de référence 116 avant interpolation. Les coordonnées (i,j) de ces pixels sont alors des nombres entiers (i et j e [0; 15] dans un macrobloc 16x16 par exemple), par exemple x, y et x+1, y+1 sur la figure. Les pixels semi pleins 422 correspondent aux pixels obtenus après la première interpolation au demi-pixel près. Au moins une des coordonnées de ces pixels 422 est située à un demi-pixel (x,50 ou y,50 sur la figure). Les pixels vides 423 correspondent aux pixels obtenus après la deuxième interpolation permettant d'obtenir une précision du 1/4 de pixel. Au moins une des coordonnées de ces pixels 423 est située à un quart de pixel (x,25; x,75; y,25 ou y,75 sur la figure). Une fois l'image de référence interpolée 116int obtenue, le traitement comprend l'estimation de mouvement du bloc B(n) courant, lors de l'étape 25 E303. L'estimation de mouvement est réalisée par rapport à l'image de référence interpolée 116int à l'aide par exemple d'un algorithme de mise en correspondance de blocs ("Block Matching Algorithm"). Ce dernier vise notamment à minimiser une mesure de distorsion entre un bloc de prédiction de 30 l'image 116int et le bloc B(n) à coder. Cette étape permet de déterminer le meilleur bloc de référence Bref(n) dans l'image de référence interpolée pour estimer le mouvement du bloc B(n). Classiquement, ce bloc est utilisé comme bloc prédicteur pour la compensation de mouvement 105. Dans le cadre de la présente invention, le bloc de référence ainsi déterminé est modifié pour générer un bloc prédicteur différent et plus efficace. Ainsi, pour la suite, on fera référence à un "bloc de référence" avant les opérations de modification et à un "bloc prédicteur" après celles-ci. A l'étape suivante E304, le bloc Bref(n) identifié est classé selon un critère relatif à sa position dans la grille d'interpolation résultant de l'étape E302. La position d'un bloc est par exemple définie par le premier pixel en haut à gauche. L'étape E304 est optionnelle dans un mode de réalisation alternatif, dans lequel l'étape de détermination des paramètres correctifs E306 décrite ci-après est réalisée directement après l'étape E303, bloc par bloc. La grille d'interpolation est notamment constituée des différentes positions de pixels résultant de l'interpolation d'un pixel d'origine. Sur la figure 4b correspondant à une interpolation au 1/4 de pixel, la grille d'interpolation est composée des seize positions correspondant à la position d'un pixel d'origine 421, aux trois positions des pixels 422 d'interpolation 1 /2 pixel et aux douze positions des pixels 423 d'interpolation 1 /4 de pixel. On obtient ainsi NC=16 classes ou groupes, notés G;, ;Eu; Nc], dans l'ordre de parcours des coefficients (par exemple en zigzag ou par balayage horizontal puis vertical ["raster scan"]). A titre illustratif, sur la figure 4b, le carré 410 est un exemple de bloc Bref(n) 8x8 de l'image interpolée qui peut être utilisé pour l'estimation et la compensation de mouvement d'un bloc B(n) à coder. Dans cet exemple, le pixel supérieur gauche est situé sur la deuxième ligne et la quatrième colonne de la grille d'interpolation GRID (dont par convention on fixe le premier pixel sur un pixel de l'image de référence d'origine 116).
Sur la figure, les traits horizontaux et verticaux en pointillés délimitent autant d'itérations de la grille d'interpolation GRID, ici 4 x 4. On retrouve dans cette grille une première position correspondant à un pixel plein issu de l'image d'origine, trois positions correspondant aux pixels semi-pleins issus d'une première interpolation de l'image d'origine, et huit positions correspondant aux pixels vides issus d'une seconde interpolation. La position d'un bloc de référence peut ainsi correspondre à l'une des seize positions possibles correspondant à la position du pixel supérieur gauche de ce bloc de référence. Pour un parcours de type balayage, le bloc de référence 410 est affecté à un groupe numéro 8 (figure 5a). Pour un parcours en zig-zag, il est affecté à un groupe numéro 13 (figure 5b). Bien entendu, une interpolation de précision 1/8 de pixel définit 64 groupes possibles. De retour à la figure 3, à l'étape E305 on vérifie si tous les blocs B(n) de l'image courante ont été traités. On note ainsi que les traitements selon l'invention nécessitent la mémorisation temporaire des informations de prédiction (vecteur mouvement, bloc de référence Bref(n)) pour l'ensemble des blocs de l'image. Si ce n'est pas le cas (sortie "non" du test E305), on passe au bloc suivant à prédire temporellement et à l'étape E302. Si une même image de référence est utilisée pour tous les blocs B(n) et qu'elle est interpolée entièrement lors de la première itération de l'étape E302, on peut passer directement à l'étape E303 après l'étape E305. Lorsque tous les blocs B(n) ont été traités, on a pu associer tous les blocs de référence Bref(n) utilisés à un groupe G;: Bref (n) - B ef (n), où G; est le groupe du bloc de référence (i e [1; NC]). Selon l'invention, on détermine à l'étape E306 un signal correctif pour ces blocs de référence, afin de les modifier pour l'étape de compensation de mouvement 105 des blocs B(n). Ce signal correctif a pour vocation à réduire la différence entre le bloc de référence Bref(n) et le bloc à coder B(n), de sorte à améliorer la compression.
Dans un exemple illustratif de l'invention, on intervient au niveau des coefficients représentant le bloc de référence dans le domaine fréquentiel, à l'aide d'une opération similaire à la quantification inverse 111, par exemple au niveau des coefficients transformés par DOT. Cela permet d'avoir un impact sur l'ensemble du bloc de référence, puisque l'ensemble des pixels du bloc est affecté par le signal correctif dans le domaine spatial, tout en ayant peu d'informations permettant de définir le signal correctif à transmettre au décodeur. Pour rappel, selon la norme H.264, dans la boucle de décodage visant à générer les images de référence 116, le module de quantification 108 réalise une quantification du résiduel obtenu après transformation 107, par exemple de type DOT, sur un résiduel du bloc de pixels courant. La quantification est appliquée sur chacune des N valeurs de coefficients de ce bloc résiduel (autant de coefficients qu'il y a dans le bloc de pixels initial). Le calcul d'une matrice de coefficients DCT et le parcours des coefficients à l'intérieur de la matrice de coefficients DCT sont des notions largement connues de l'homme du métier et ne seront pas plus détaillées ici. Un tel parcours de la matrice de coefficients DCT permet d'obtenir un ordre des coefficients du bloc, et donc un numéro d'indice pour chacun d'entre eux, par exemple un coefficient continu DC et différents coefficients de fréquence non nulle AC;.
Ainsi, si l'on nomme W la valeur du ième coefficient du résiduel du bloc courant (avec i variant de 0 à M-1 pour un bloc contenant M coefficients, par exemple Wo=DC et W;=AC;), la valeur de coefficient quantifiée ZZ est obtenue par la formule suivante : (w+ f' Zi =int •sgn(W) (1) ql ~ où ql est le quantificateur associé au ième coefficient dont la valeur dépend à la fois d'un pas de quantification noté QP et de la position (c'est-à-dire le numéro ou l'indice) de la valeur W de coefficient dans le bloc transformé. En effet, le quantificateur ql provient d'une matrice dite de quantification dont chaque élément (les valeurs ql) est pré-déterminé. Les éléments sont généralement fixés pour quantifier plus fortement les hautes fréquences. Par ailleurs, la fonction int(x) fournit la partie entière de la valeur x et la fonction sgn(x) donne le signe de la valeur x .
Enfin, f est l'offset de quantification (également appelé décalage de quantification) qui permet de centrer l'intervalle de quantification. Si cet offset est fixe, il est généralement égal à ql 2 Le processus de quantification inverse (ou déquantification), représenté par le module 111 dans la boucle de décodage de l'encodeur 10 prévoit que la valeur déquantifiée W' du ième coefficient est obtenue par la formule suivante : W'= (R'Z ZZ -0, ). sgn(ZZ) • (2) Dans cette formule, ZZ est la valeur quantifiée du ième coefficient, calculée avec l'équation de quantification ci-dessus. 6Z est un offset de reconstruction qui permet de centrer l'intervalle de reconstruction. Par propriété, 6Z doit appartenir à l'intervalle[ûf ; f ]. En effet, il existe une valeur de 6Z appartenant à cet intervalle telle que W'= W . Cet offset est généralement égal à zéro, mais peut prendre toute autre valeur. On notera que la formule ci-dessus est également appliquée par le décodeur 20, au niveau de la déquantification 203. Les images de référence 116 résultent ainsi de la boucle de décodage incluant cette quantification inverse 111 avec un offset généralement nul. Les blocs de référence Bref(n) identifiés lors de l'étape E303 sont donc également issus de cette reconstruction avec l'offset préfixé généralement à zéro. Pour une mise en oeuvre de l'invention, l'étape E306 consiste à déterminer un ou plusieurs couples (i, 6;) de paramètres de quantification qui permettent de réduire la différence entre le bloc de référence Bref(n) et le bloc à coder B(n), pour notamment compenser la perte de précision induite par les opérations d'arrondis et d'écrêtage lors des interpolations de l'image de référence. La formule (2) ci-dessus peut en effet être réécrite comme suit: Bpred (n) = Bref (n) + Bcorr (n, i3O i ) (3) où BpYed(n) est le bloc de référence modifié qui va servir de bloc prédicteur pour la compensation de mouvement comme décrit par la suite, et BcOrr(n,i,el) est le signal correctif appliqué au bloc de référence identifié à l'étape E303. Pour la suite, on s'intéressera plus particulièrement à la détermination d'un seul couple (i, 6;) par groupe G; de blocs de référence d'une image de référence. Bien entendu, l'étape E304 étant optionnelle, l'homme du métier sera à même de réaliser cette détermination pour chaque bloc de référence (indépendamment de toute classification ou regroupement) et/ou de prévoir plusieurs couples (i, 6;) par bloc/groupe si ceux-ci satisfont des critères minimum. On détermine en particulier un couple (i, 6;) uniquement pour les groupes G; non vides, c'est-à-dire ceux comprenant un bloc de référence ayant été identifié lors de l'étape E303 pour un bloc B(n). Bien entendu, d'autres approches peuvent être aisément envisagées, telles que la détermination d'un couple (i, 6;) pour chacun des NC groupes (chaque groupe comprenant alors l'ensemble des blocs de l'image de référence interpolée positionnés au pixel associé au groupe dans la grille d'interpolation). Dans l'exemple détaillé ici, la détermination du couple (i, 6;) pour un groupe G; (noté couple (iGi, 6;,c;) en référence au groupe G; correspondant) est réalisée par minimisation d'une mesure de distorsion entre l'ensemble des blocs de référence modifiés du groupe et les blocs B(n) à coder correspondant. On cherche ainsi à minimiser la distorsion moyenne sur l'ensemble des blocs d'un groupe.
A titre d'exemple, cette mesure peut être la somme des différences absolues ou encore l'erreur quadratique moyenne.
En particulier, on cherche le couple (iGi, 6;,c;) vérifiant la formule suivante: min EB] ed(n) ù B(n) 01,Gi;iGi n où Bp`ed(n) représente le bloc prédicteur résultant de la modification 5 du bloc de référence Br f (n) . Ce bloc prédicteur correspond notamment à un bloc de référence qui aurait été obtenu après quantification inverse de la formule (2) utilisant un offset de quantification 0; sur le i-ème coefficient. Cette minimisation pour un groupe G; peut être simplement mise en oeuvre par approximation comme suit: 10 a) calculer pour chaque indice i de coefficient, l'offset de quantification 0; E [-q;/2; q;/2] qui minimise L Bp`ed(n)ùB(n) ; puis b) conserver le couple (i, 0;) pour lequel la formule L Bped (n) ù B(n) est minimale. Le couple ainsi conservé est le couple (ic;, 0;,G;) recherché. 15 Cette approximation, bien qu'elle ne donne pas nécessairement la meilleure solution de l'équation (4) (solution qui comprend généralement l'utilisation de plusieurs couples (i, 0;)), permet de limiter le nombre d'informations de correction des blocs de référence à transmettre au décodeur. La compression de la séquence vidéo est ainsi meilleure. D'autres approches, 20 par exemple par modélisation de la fonction de minimisation, peuvent être mises en oeuvre. Afin de simplifier les calculs de minimisation ci-dessus, on peut prévoir également que les valeurs d'offset de quantification sont choisis, lors de l'étape a) ci-dessus, parmi un ensemble fini de valeurs, par exemple {-q;/2; -q;/4; 25 0; q;/4; q;/2} De façon similaire, des prétraitements sur les coefficients peuvent permettre de réduire le nombre de coefficients pour lesquels on calcule un offset de quantification. Un prétraitement peut par exemple consister à déterminer les coefficients DCT dont les valeurs W;' sont en moyenne les plus (4) importantes (en valeur absolue) ou sont non nulles pour les blocs de référence d'un groupe, et conserver ceux-ci uniquement pour l'étape a). Dans le cas où plusieurs couples (iGi, 6i,Gi) sont déterminés pour chaque groupe, afin d'améliorer la précision de la compensation de 5 mouvement, on peut conserver, à l'étape b) ci-dessus, les couples (i, 6i) pour lesquels la formule L BJ`ed(n)ùB(n) est minimale. Cette approche présente l'avantage d'être rapide. En variante, une fois le couple (iGi, 6i,Gi) minimisant la formule ci-dessus identifiée, on peut réitérer les étapes a) et b) en fixant 6i,Gi pour le 10 coefficient identifié iGi. Cette variante permet d'obtenir une meilleure compensation de mouvement au détriment toutefois de la charge en calculs. A l'issue de l'étape E306, on obtient ainsi au moins un couple (iGi, 6i,Gi) pour chacun des groupes Gi. Au fur et à mesure des calculs, les informations de correction sont mémorisées par le codeur. 15 Ces couples de paramètres correctifs des blocs de référence sont alors encodés, par codage entropique (tables de Golomb, des codes universels à longueur variable UVLC, etc.), au niveau du module 109. Ces paramètres peuvent être notamment insérés dans un entête de trame du flux binaire où la trame contient les données codant l'image I en cours de codage. 20 Pour une interpolation de précision au 1/4 de pixel et en conservant un seul couple (i, 6i) par groupe, l'entête d'une image de référence peut ainsi contenir seize couples de paramètres correctifs, par exemple ordonnés selon le parcours choisi (lequel est connu à la fois du codeur et du décodeur). A l'issue également de l'étape E306, le codage de l'image se poursuit 25 avec l'opération de compensation de mouvement 105 pour chaque bloc B(n) de l'image à coder. Cette étape tient compte des couples (iGi, 6i,Gi) déterminés précédemment pour corriger les blocs de référence B(n) de l'étape E303 de sorte à obtenir des blocs prédicteurs Bp`ed(n) pour la compensation de 30 mouvement.
Selon une approche, on calcule tout d'abord le signal correctif Bcorr(n,iGz,6z,Gz), également appelé résiduel correctif, que l'on ajoute au bloc de référence B f (n). La suite de la compensation de mouvement 105 est alors classique.
Le calcul du résiduel correctif Bcorr(n,iGz,6z,Gz) peut être obtenu en partant d'un bloc de coefficients égaux à zéro (de même taille que le bloc de référence) dont on modifie uniquement le coefficient iGi qui prend la valeur ei,Gi. Puis, on applique une quantification inverse 111 à ce bloc et une transformation inverse 112. On obtient ainsi le résiduel correctif souhaité.
Ce résiduel correctif est propre à chaque groupe G; et indépendant des blocs de référence: on le note ainsi B. On peut donc le calculer une seule fois pour chaque groupe et le mémoriser pendant le codage de l'image courante. Selon une autre approche, chaque bloc de référence B(n) peut être transformé (DCT) et quantifié à nouveau pour obtenir les valeurs Z; de coefficients quantifiés. On procède alors à la reconstruction du bloc prédicteur B`ed(n) à l'aide de la formule (2) ci-dessus, en appliquant le couple (iGi, Oi,Gi) composant un signal correctif du bloc de référence. Cette approche est toutefois plus coûteuse en temps de traitement.
Le codage selon l'invention offre ainsi un meilleur ratio débit/distorsion que les solutions connues de l'état de l'art, notamment grâce : û à une faible quantité de paramètres correctifs à encoder pour chaque slice ou image codée. Il s'agit généralement des NC couples (iGi, ei,Gi); et û à une influence sur les coefficients AC de la DCT permettant d'introduire un correctif précis dans les blocs de référence. En référence maintenant à la figure 6, on illustre un exemple de décodage selon l'invention, notamment lors de la compensation de mouvement inverse 206 mise en oeuvre dans le décodeur de la figure 2. Encore une fois, on se limite, pour des raisons de simplification d'illustration, à un décodage relatif à une seule image de référence 208 et à l'utilisation d'un seul couple (iGi, Oi,Gi) par groupe G. L'invention s'applique toutefois également à l'utilisation de plusieurs images de référence et à plusieurs couples. Préalablement aux étapes décrites ci-dessous, l'image de référence 208 utilisée a été déterminée (soit par convention, soit par indication dans les informations de mouvement présentes dans le flux binaire 110/201) puis a été interpolée de façon similaire à l'étape E302 pour obtenir une image de référence interpolée 208int. Le module 202 décode les données dans le flux binaire obtenu du codeur 10. A l'étape E501, le décodeur récupère les paramètres correctifs (iGi, O;,Gi) des différents groupes de blocs de référence, notamment des NC groupes. A l'étape E502, le décodeur initialise une boucle sur les blocs codés à décoder par compensation de mouvement, à un premier bloc B(0). A l'étape E503, le décodeur récupère, du flux binaire, les informations de mouvement incluant le vecteur mouvement associé au bloc courant B(n) à décoder. On rappelle que les valeurs des composantes verticale et horizontale de ce vecteur indiquent la position, dans l'image de référence utilisée, du pixel supérieur gauche du bloc prédicteur utilisé lors du codage.
A l'étape E504, on détermine alors à quel groupe appartient le bloc prédicteur utilisé au codage. Cette détermination est simple à l'aide des composantes verticale et horizontale du vecteur mouvement qui positionnent le bloc dans la grille d'interpolation GRID (voir figure 4b). Le même sens de parcours des coefficients que celui adopté par le codeur est utilisé.
A l'étape E505, on reconstruit le bloc prédicteur Bp`ed(n) à utiliser pour le décodage, par application d'une quantification inverse utilisant le couple (iGi, Oi,Gi) correspondant au groupe déterminé à l'étape E504. De façon similaire au codeur, cette reconstruction du bloc prédicteur peut consister à construire un résiduel correctif B ô@Y à partir d'un bloc de coefficients égaux à zéro dont on a modifié le coefficient iGi pour prendre la 26 valeur 8;,Gi, et à l'additionner au bloc de référence B(n) pointé par le vecteur mouvement dans l'image de référence interpolée 206int. En variante, on peut repartir d'une version quantifiée de l'image de référence interpolée 206int pour procéder à sa quantification inverse en tenant compte du signal correctif indiquant le couple (iii, 8;,Gi). Enfin, par exemple si l'on ne prévoit pas d'interpolation des images de référence 116/206, cette correction peut être apportée directement lors des opérations de reconstruction de l'image de référence 206 à partir du flux binaire.
On poursuit à l'étape E507 où le résiduel codant le bloc courant B(n) est décodé du flux binaire puis déquantifié et transformé (correspondant aux modules classiques 202, 203 et 204). A l'étape E508, on ajoute alors le bloc prédicteur Bp`ed(n) calculé, au résiduel ainsi obtenu de sorte à obtenir le bloc B(n) reconstruit.
Enfin, l'étape E509 permet de traiter successivement tous les blocs B(n) de l'image courante. Lorsque tous les blocs ont été traités, la compensation de mouvement pour l'image entière est terminée et on passe au filtre de deblocking 207 pour obtenir le signal vidéo de sortie.
En référence maintenant à la figure 7, il est décrit à titre d'exemple une configuration matérielle particulière d'un dispositif de codage ou décodage d'une séquence vidéo apte à une mise en oeuvre des procédés selon l'invention. Un dispositif mettant en oeuvre l'invention est par exemple un micro- ordinateur 50, une station de travail, un assistant personnel, ou un téléphone mobile connecté à différents périphériques. Selon encore un autre mode de réalisation de l'invention, le dispositif se présente sous la forme d'un appareil photographique muni d'une interface de communication pour autoriser une connexion à un réseau.
Les périphériques reliés au dispositif comprennent par exemple une caméra numérique 64, ou un scanner ou tout autre moyen d'acquisition ou de stockage d'images, relié à une carte d'entrée/sortie (non représentée) et fournissant au dispositif selon l'invention des données multimédia, par exemple de type séquence vidéo. Le dispositif 50 comporte un bus de communication 51 auquel sont reliés : - une unité centrale de traitement CPU 52 se présentant par exemple sous la forme d'un microprocesseur ; - une mémoire morte 53 dans laquelle peuvent être contenus les programmes dont l'exécution permet la mise en oeuvre des procédés selon l'invention. Il peut s'agir d'une mémoire flash ou EEPROM; - une mémoire vive 54 qui, après la mise sous tension du dispositif 50, contient le code exécutable des programmes de l'invention nécessaires à la mise en oeuvre de l'invention. Cette mémoire vive 54 est de type RAM (à accès aléatoire), ce qui offre des accès rapides comparés à la mémoire morte 53. Cette mémoire RAM 54 mémorise en particulier les différentes images et les différents blocs de pixels au fur et à mesure des traitements (transformée, quantification, stockage des images de référence) sur les séquences vidéo ; - un écran 55 permettant de visualiser des données notamment vidéo et/ou de servir d'interface graphique avec l'utilisateur qui peut ainsi interagir avec les programmes de l'invention, à l'aide d'un clavier 56 ou de tout autre moyen tel qu'un dispositif de pointage, comme par exemple une souris 57 ou un crayon optique ; - un disque dur 58 ou une mémoire de stockage, telle qu'une mémoire de type compact flash, pouvant comporter les programmes de l'invention ainsi que des données utilisées ou produites lors de la mise en oeuvre de l'invention; - un lecteur de disquettes 59 optionnel, ou un autre lecteur de support de données amovible, adapté à recevoir une disquette 63 et à y lire / écrire des données traitées ou à traiter conformément à l'invention ; et - une interface de communication 60 reliée au réseau de télécommunications 61, l'interface 60 étant apte à transmettre et à recevoir des données.
Dans le cas de données audio, le dispositif 50 est équipé de préférence d'une carte d'entrée/sortie (non représentée) qui est reliée à un microphone 62. Le bus de communication 51 autorise une communication et une interopérabilité entre les différents éléments inclus dans le dispositif 50 ou reliés à celui-ci. La représentation du bus 51 n'est pas limitative et, notamment, l'unité centrale 52 est susceptible de communiquer des instructions à tout élément du dispositif 50 directement ou par l'intermédiaire d'un autre élément du dispositif 50.
Les disquettes 63 peuvent être remplacées par tout support d'information tel que, par exemple, un disque compact (CD-ROM) réinscriptible ou non, un disque ZIP ou une carte mémoire. D'une manière générale, un moyen de stockage d'information, lisible par un micro-ordinateur ou par un microprocesseur, intégré ou non au dispositif de traitement (codage ou décodage) d'une séquence vidéo, éventuellement amovible, est adapté à mémoriser un ou plusieurs programmes dont l'exécution permet la mise en oeuvre des procédés selon l'invention. Le code exécutable permettant, au dispositif de codage ou de décodage, la mise en oeuvre de l'invention peut être indifféremment stocké en mémoire morte 53, sur le disque dur 58 ou sur un support numérique amovible tel que par exemple une disquette 63 comme décrite précédemment. Selon une variante, le code exécutable des programmes est reçu par l'intermédiaire du réseau de télécommunications 61, via l'interface 60, pour être stocké dans un des moyens de stockage du dispositif 50 (tel que le disque dur 58 par exemple) avant d'être exécuté. L'unité centrale 52 commande et dirige l'exécution des instructions ou portions de code logiciel du ou des programmes de l'invention, les instructions ou portions de code logiciel étant stockées dans l'un des moyens de stockage précités. Lors de la mise sous tension du dispositif 50, le ou les programmes qui sont stockés dans une mémoire non volatile, par exemple le disque dur 58 ou la mémoire morte 53, sont transférés dans la mémoire vive 54 qui contient alors le code exécutable du ou des programmes de l'invention, ainsi que des registres pour mémoriser les variables et paramètres nécessaires à la mise en oeuvre de l'invention. On notera également que le dispositif mettant en oeuvre l'invention ou incorporant celle-ci est réalisable aussi sous la forme d'un appareil programmé. Par exemple, un tel dispositif peut alors contenir le code du ou des programmes informatiques sous une forme figée dans un circuit intégré à application spécifique (ASIC). Le dispositif décrit ici et, particulièrement, l'unité centrale 52, sont susceptibles de mettre en oeuvre tout ou partie des traitements décrits en lien avec les figures 1 à 6, pour mettre en oeuvre les procédés objets de la présente invention et constituer les dispositifs objets de la présente invention. Les exemples qui précèdent ne sont que des modes de réalisation de l'invention qui ne s'y limite pas.

Claims (12)

  1. REVENDICATIONS1. Procédé de codage d'une séquence vidéo (101) constituée d'une suite d'images numériques (I) formées de blocs de données, comprenant les étapes consistant à : ù déterminer (E303), pour au moins un bloc à coder (B(n)) d'une image (I), un bloc de référence (BYef(n)) dans une image de référence (116, 116int); ù modifier ledit bloc de référence déterminé (BYef(n)) de sorte à obtenir un bloc prédicteur (BpYed(n) ); et ù coder (105) ledit bloc à coder (B(n)) en utilisant le bloc prédicteur obtenu; caractérisé en ce que la modification du bloc de référence comprend les étapes consistant à : ù déterminer (E306) au moins un coefficient (i) parmi des coefficients représentant ledit bloc de référence (BYef(n)) dans le domaine fréquentiel et au moins une valeur de décalage (0;) associée; et ù modifier, pour ledit bloc de référence, la valeur de l'au moins un coefficient déterminé à l'aide de l'au moins une valeur de décalage.
  2. 2. Procédé de codage selon la revendication 1, dans lequel une pluralité de blocs de référence déterminés est organisée (E304) en une pluralité de groupes (G;) selon au moins un critère de regroupement, et on associe au moins un coefficient (i) et une valeur de décalage (0;) déterminés à chaque groupe (G;) de sorte à modifier chaque bloc de référence d'un groupe avec lesdits coefficient et valeur de décalage associés audit groupe.
  3. 3. Procédé de codage selon la revendication 2, dans lequel ledit critère de regroupement est relatif à la position des blocs de référence (BYef(n)) dans une grille d'interpolation (GRID) de l'image de référence (116int).
  4. 4. Procédé de codage selon la revendication 3, dans lequel 30 chaque groupe (G;) comprend uniquement des blocs de référence (BYef(n)) ayant une même position dans la grille d'interpolation (GRID).
  5. 5. Procédé de codage selon l'une des revendications 2 à 4, comprenant une étape d'interpolation (E302) d'une image de référence (116) de telle sorte que chaque bloc de référence (BYef(n)) est déterminé dans l'image de référence interpolée (116int).
  6. 6. Procédé de codage selon l'une des revendications 2 à 5, dans lequel on détermine au moins un coefficient (i) et une valeur de décalage (0;) qui minimisent une mesure de distorsion entre les blocs prédicteurs (Bp`ed(n) ) résultant de la modification des blocs de référence (B ef(n)) d'un groupe (G;) et les blocs à coder (B(n)) utilisant ces blocs de référence.
  7. 7. Procédé de codage selon la revendication 6, dans lequel ladite détermination (E306) d'un coefficient (i) et d'une valeur de décalage (0;) associée comprend : û pour chaque coefficient représentant ledit bloc de référence dans le domaine fréquentiel, le calcul d'une valeur de décalage qui lorsqu'elle est appliquée audit coefficient, minimise ladite mesure de distorsion, de sorte à obtenir une pluralité de couples coefficient-valeur de décalage, et û la sélection d'au moins le couple coefficient-valeur de décalage qui minimise ladite mesure de distorsion.
  8. 8. Procédé de codage selon l'une des revendications précédentes, dans lequel ladite valeur de décalage (0;) est déterminée dans un ensemble fini de valeurs.
  9. 9. Procédé de codage selon l'une des revendications précédentes, dans lequel la modification du bloc de référence (BYef(n)) comprend l'addition d'un résiduel correctif audit bloc de référence, ledit résiduel correctif étant généré par quantification inverse (111) d'un bloc de coefficients égaux à zéro modifié par lesdits coefficients et valeur de décalage déterminés.
  10. 10. Procédé de codage selon l'une des revendications précédentes, dans lequel la modification du bloc de référence (BYef(n)) comprend la détermination d'une pluralité de couples coefficient-valeur de décalage, ledit bloc de référence étant modifié par chaque couple déterminé.
  11. 11. Procédé de codage selon l'une des revendications précédentes, dans lequel ladite détermination (E303) d'un bloc de référence (BYef(n)) met en oeuvre une estimation de mouvement (104), et ledit codage du bloc à coder met en oeuvre une compensation de mouvement (105) à l'aide du bloc prédicteur obtenu (Bpred (n) ).
  12. 12. Procédé de décodage d'un flux binaire (110, 201) correspondant à une séquence vidéo (101), comprenant les étapes consistant à: ù déterminer (E503), pour au moins un bloc à décoder (B(n)) d'une image (I), un bloc de référence (BYef(n)) dans une image de référence (208, 208int); ù décoder, dans le flux binaire (201), au moins une information de modification dudit bloc de référence; ù modifier (E505) ledit bloc de référence déterminé à l'aide de l'au moins une information de modification de sorte à obtenir un bloc prédicteur (Bpred (n»; et ù décoder (E508) ledit bloc à décoder en utilisant le bloc prédicteur obtenu; caractérisé en ce que l'information de modification identifie un coefficient (i) parmi des coefficients représentant ledit bloc de référence dans le domaine fréquentiel et une valeur de décalage (0i) associée à appliquer pour modifier la valeur dudit au moins un coefficient déterminé. 16. Procédé de décodage selon la revendication 12, dans lequel la modification (E505) du bloc de référence comprend l'addition d'un résiduel correctif audit bloc de référence (BYef(n)), ledit résiduel correctif étant généré par quantification inverse d'un bloc de coefficients égaux à zéro modifié par lesdits coefficients et valeur de décalage identifiés dans l'au moins une information de modification. 17. Procédé de décodage selon l'une des revendications 12 et 13, comprenant une étape consistant à identifier (E504) un groupe (Gi) auquel ledit 33 bloc de référence déterminé (BYef(n)) appartient, et dans lequel l'au moins une information de modification est associée, dans le flux binaire, audit groupe identifié. 15. Procédé de décodage selon la revendication 14, dans lequel ledit groupe (G;) est défini relativement à la position du bloc de référence dans une grille d'interpolation (GRID) de l'image de référence (208int). 16. Dispositif de codage d'une séquence vidéo (101) constituée d'une suite d'images numériques (I) formées de blocs de données, comprenant : ù un module de détermination, pour au moins un bloc à coder (B(n)) d'une image, d'un bloc de référence (BYef(n)) dans une image de référence (116, 116int); ù un moyen de modification dudit bloc de référence déterminé (BYef(n)) de sorte à obtenir un bloc prédicteur (Bpred (n»; et ù un moyen de codage dudit bloc à coder (B(n)) en utilisant le bloc prédicteur obtenu; caractérisé en ce que le moyen de modification du bloc de référence comprend : ù un module de détermination d'au moins un coefficient (i) parmi des coefficients représentant ledit bloc de référence dans le domaine fréquentiel et d'au moins une valeur de décalage (0;) associée; et ù un module de modification, pour ledit bloc de référence, de la valeur de l'au moins un coefficient déterminé à l'aide de l'au moins une valeur de décalage. 17. Dispositif de décodage d'un flux binaire (110, 201) correspondant à une séquence vidéo (101), comprenant : ù un module de détermination, pour au moins un bloc à décoder (B(n)) d'une image (I), d'un bloc de référence (BYef(n)) dans une image de référence (208, 208int); ù un moyen de décodage, dans le flux binaire, d'au moins une information de modification dudit bloc de référence; ù un moyen de modification dudit bloc de référence déterminé à l'aide de l'au moins une information de modification de sorte à obtenir un bloc prédicteur (Bpred(n»; et ù un moyen de décodage dudit bloc à décoder en utilisant le bloc prédicteur obtenu; caractérisé en ce que le moyen de modification identifie, à l'aide de l'information de modification, un coefficient (i) parmi des coefficients représentant ledit bloc de référence dans le domaine fréquentiel et une valeur de décalage (0i) associée à appliquer pour modifier la valeur dudit au moins un coefficient déterminé. 18. Moyen de stockage d'informations, éventuellement totalement ou partiellement amovible, lisible par un système informatique, comprenant des instructions pour un programme informatique adapté à mettre en oeuvre le procédé de traitement conforme à l'une quelconque des revendications 1 à 15, lorsque le programme est chargé et exécuté par le système informatique. 19. Produit programme d'ordinateur lisible par un microprocesseur, comprenant des portions de code logiciel adaptées à mettre en oeuvre le procédé de traitement selon l'une quelconque des revendications 1 à 15, lorsqu'il est chargé et exécuté par le microprocesseur.
FR1051183A 2010-02-18 2010-02-18 Procede de codage ou de decodage d'une sequence video, dispositifs associes Expired - Fee Related FR2956552B1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR1051183A FR2956552B1 (fr) 2010-02-18 2010-02-18 Procede de codage ou de decodage d'une sequence video, dispositifs associes

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR1051183A FR2956552B1 (fr) 2010-02-18 2010-02-18 Procede de codage ou de decodage d'une sequence video, dispositifs associes

Publications (2)

Publication Number Publication Date
FR2956552A1 true FR2956552A1 (fr) 2011-08-19
FR2956552B1 FR2956552B1 (fr) 2012-12-28

Family

ID=42646338

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1051183A Expired - Fee Related FR2956552B1 (fr) 2010-02-18 2010-02-18 Procede de codage ou de decodage d'une sequence video, dispositifs associes

Country Status (1)

Country Link
FR (1) FR2956552B1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2486751A (en) * 2010-12-24 2012-06-27 Canon Kk Encoding & Decoding a Video Sequence Including Selecting Offsets Based on Distortion Measures Calculated Using a Restricted Set of Data Blocks

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006007279A2 (fr) * 2004-06-18 2006-01-19 Thomson Licensing Procede et appareil de quantification de codec video
US20070237236A1 (en) * 2006-04-07 2007-10-11 Microsoft Corporation Estimating sample-domain distortion in the transform domain with rounding compensation
US20090257500A1 (en) * 2008-04-10 2009-10-15 Qualcomm Incorporated Offsets at sub-pixel resolution

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006007279A2 (fr) * 2004-06-18 2006-01-19 Thomson Licensing Procede et appareil de quantification de codec video
US20070237236A1 (en) * 2006-04-07 2007-10-11 Microsoft Corporation Estimating sample-domain distortion in the transform domain with rounding compensation
US20090257500A1 (en) * 2008-04-10 2009-10-15 Qualcomm Incorporated Offsets at sub-pixel resolution

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2486751A (en) * 2010-12-24 2012-06-27 Canon Kk Encoding & Decoding a Video Sequence Including Selecting Offsets Based on Distortion Measures Calculated Using a Restricted Set of Data Blocks
GB2486751B (en) * 2010-12-24 2013-10-09 Canon Kk Methods for Encoding a Video Sequence and Decoding a Corresponding Bitstream, and Associated Encoding Device

Also Published As

Publication number Publication date
FR2956552B1 (fr) 2012-12-28

Similar Documents

Publication Publication Date Title
EP3209021B1 (fr) Support d'enregistrement mémorisant un flux de données d'images codées
FR2906433A1 (fr) Procedes et dispositifs de codage et de decodage d'images, programme d'ordinateur les mettant en oeuvre et support d'informaton permettant de les mettre en oeuvre
WO2015197945A1 (fr) Procédé de codage d'une image numérique, procédé de décodage, dispositifs, et programmes d'ordinateurs associés
EP3490258A1 (fr) Procédé et support d'enregistrement mémorisant un flux de données d'images codées
FR2951345A1 (fr) Procede et dispositif de traitement d'une sequence video
FR2948845A1 (fr) Procede de decodage d'un flux representatif d'une sequence d'images et procede de codage d'une sequence d'images
WO2010043806A2 (fr) Codage et decodage avec elimination d'un ou plusieurs predicteurs predetermines
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
FR3040578A1 (fr) Procede de codage et de decodage d'images, dispositif de codage et de decodage d'images et programmes d'ordinateur correspondants
EP2716045B1 (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
FR3026261A1 (fr) Procede de codage et de decodage d'images integrales, dispositif de codage et de decodage d'images integrales et programmes d'ordinateur correspondants
FR2955995A1 (fr) Procede et dispositif de traitement d'une sequence video
FR2956552A1 (fr) Procede de codage ou de decodage d'une sequence video, dispositifs associes
EP2901698A1 (fr) Procédé de codage et décodage d'images, dispositif de codage et décodage et programmes d'ordinateur correspondants
FR2956789A1 (fr) Procede et dispositif de traitement d'une sequence video
EP3520416B1 (fr) Procédé de codage d'une image, procédé de decodage, dispositifs, equipement terminal et programmes d'ordinateurs associés
FR2957744A1 (fr) Procede de traitement d'une sequence video et dispositif associe
FR2907989A1 (fr) Procede et dispositif d'optimisation de la compression d'un flux video
EP2633687B1 (fr) Codage et décodage vidéo a partir d'un épitome
FR3035761A1 (fr) Procede de codage et de decodage d'images, dispositif de codage et de decodage d'images et programmes d'ordinateur correspondants
WO2024042286A1 (fr) Lissage hors boucle de codage d'une frontière entre deux zones d'image
FR2918203A1 (fr) Procedes et dispositifs de codage et de decodage d'images numeriques tenant compte du type des blocs source, signal et produits programme d'ordinateur correspondants.

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20141031