Brevet FR2990319A1 — publié le 20131108

PROCEDE DE CODAGE ET DE DECODAGE D'UN ENSEMBLE DE BLOCS D'IMAGE ET DISPOSITIFS CORRESPONDANTS 1. Domaine de l'invention L'invention se rapporte au domaine général du codage d'images. Plus particulièrement, l'invention concerne un procédé de codage d'un ensemble de blocs d'image transformant lesdits blocs d'image en utilisant des fonctions de base paramétrées par au moins une valeur de phase, et un procédé de décodage d'un flux de données représentatif d'un ensemble de blocs d'image. L'invention concerne également un flux de données, un dispositif de codage d'un ensemble de blocs d'image et un dispositif de décodage d'un flux de données représentatif d'un ensemble de blocs d'image. 2. Etat de l'art Il est habituel dans le domaine du codage d'image de considérer un ensemble de blocs d'image pour définir, par exemple, une région d'image. Un ensemble de blocs d'image peut ainsi être défini par un sous-ensemble des blocs de l'image tel que, par exemple, une bande de blocs, ou par tous les blocs de cette image. Un ensemble de blocs d'image peut également être défini à partir d'autres éléments d'image tel que par exemple des macroblocs ou encore unité de codage sans pour autant sortir de la portée de l'invention. Il est largement connu des méthodes pour déterminer un ensemble de blocs d'image à partir d'une image. Par exemple, l'image peut-être découpée en blocs et une opération de segmentation permet d'isoler des ensembles de blocs en région d'image. Il est connu pour coder un bloc d'image de prédire ce bloc spatialement ou temporellement en vue de calculer un bloc d'erreur résiduel de prédiction, en abrégé bloc résidus Un bloc résidus est ensuite transformé en un bloc de coefficients qui est alors quantifié puis codé dans un flux de données F. Classiquement, le bloc résidus est transformé avec une transformée utilisant des fonctions de base paramétrées par une valeur de phase. Les fonctions de base de la transformée sont généralement appliquées de manière identique quelle que soit la position du bloc d'image. Or lorsque le signal observé dans le bloc résidus est déphasé par rapport aux fonctions de base, on observe un étalement des fréquences. Supposons par exemple que le bloc résidus est composé d'un motif correspondant à l'une des fonctions de base de la transformée, i.e. de même fréquence que cette fonction de base. Lorsque le signal observé dans le bloc sur lequel est appliquée la transformée est en phase avec la fonction de base, la transformée va générer un unique coefficient dont l'énergie est représentative du signal en question. En revanche lorsque le signal observé dans le bloc est déphasé par rapport à la fonction de base, la transformée va générer plusieurs coefficients. Dans ce cas, la quantification qui suit la transformation élimine souvent certains coefficients contrairement au cas où le signal observé dans le bloc résidus est en phase par rapport à cette fonction de base. Ceci a pour effet d'entrainer une perte d'information. Cette perte d'information est due à la quantification et à l'étalement des coefficients dans le domaine transformé. On notera ainsi, dans le cas d'un signal déphasé, que l'on perd en énergie car celle-ci est répartie sur plusieurs coefficients mais également en précision au niveau de la phase, ces deux inconvénients engendrant l'effet de bloc bien connu dans le domaine de la compression d'images et de vidéos. 3. Résumé de l'invention L'invention a pour but de pallier au moins un des inconvénients de l'art antérieur. A cet effet, l'invention concerne un procédé de codage d'un ensemble de blocs d'image. Ledit procédé, transformant lesdits blocs d'image en utilisant des fonctions de base paramétrées par une valeur de phase, comporte également les étapes suivantes : - pour chaque valeur de phase courante choisie parmi un ensemble de valeurs de phase prédéterminé, - transformer lesdits blocs d'image en utilisant les fonctions de base alors paramétrées par la valeur de phase courante, - calculer un coût de codage desdits blocs d'image ainsi transformés, et - sélectionner une valeur de phase relative au coût de codage le moins élevé pour le codage desdits blocs d'image. Le procédé de codage selon l'invention peut permettre d'adapter les fonctions de base de la transformée à un signal observé dans un ensemble de blocs d'image pouvant former, par exemple, une région d'image, en paramétrant ces fonctions de base avec une valeur de phase qui minimise le coût de codage de l'ensemble de ces blocs d'image. La transformée ainsi paramétrée est alors plus efficace car sa capacité à compacter le signal observé en un nombre réduit de coefficients augmente. Selon un mode de réalisation, les fonctions de base regroupant des fonctions de base dites horizontales et des fonctions de base dites verticales, - l'ensemble de valeurs de phase comporte des couples de valeurs de phase, l'une des valeurs de phase de chaque couple étant relative aux fonctions de base horizontales et l'autre aux fontions de base verticales, - pour chaque couple de valeurs de phase courant choisi parmi l'ensemble de couples de valeurs de phase prédéterminé, - lesdits blocs d'image sont transformés en utilisant les fonctions de base alors paramétrées par le couple de valeurs de phase courant, - un coût de codage desdits blocs d'image ainsi transformés est calculé, et - un couple de valeurs de phase relatif au coût de codage le moins élevé pour le codage desdits blocs d'image est sélectionné. Selon un mode de réalisation, chaque valeur de phase ainsi 20 sélectionnée est codée dans un flux de donnée. L'invention concerne également un procédé de décodage d'un flux de données représentatif d'un ensemble de blocs d'image. ledit procédé transformant lesdits blocs d'image en utilisant des fonctions de base paramétrées par au moins une valeur de phase, caractérisée en ce que ladite 25 au moins une valeur de phase est décodée à partir du flux de donnée. Selon un mode de réalisation, ledit flux de données est reçu via un réseau de communication. L'invention concerne également un flux de données caractérisé en ce qu'il comporte une information définissant au moins une valeur de phase 30 utilisée pour paraméter au moins une fonction de base d'une transformée par bloc. Selon l'un de ses aspects matériels, l'invention concerne un dispositif de codage d'un ensemble de blocs d'image comportant un module de transformation configuré pour transformer des blocs d'image avec une transformée utilisant des fonctions de base paramétrées par une valeur de phase, caractérisé ce qu'il comporte aussi un module de paramétrage configuré pour coopérer avec le module de transformation pour : - pour chaque valeur de phase courante choisie parmi un ensemble de valeurs de phase prédéterminé, - transformer lesdits blocs d'image en utilisant les fonctions de base alors paramétrées par la valeur de phase courante, - calculer un coût de codage desdits blocs d'image ainsi transformés, et - sélectionner une valeur de phase relative au coût de codage le moins élevé pour le codage desdits blocs d'image. Selon un mode de réalisation, le dispositif comporte également un module de communication configuré pour émettre au moins une valeur de phase ainsi sélectionnée via un réseau de communication et à destination d'un dispositif distant. Selon un autre de ses aspects matériels, l'invention concerne un dispositif de décodage d'un flux de données représentatif d'un ensemble de blocs d'image. Le dispositif comportant un module de transformation par bloc utilisant des fonctions de base paramétrées par au moins une valeur de phase, est caractérisé en ce qu'il comporte un module de paramétrage configuré pour paramétrer les fonctions de base de la transformée avec au moins une valeur de phase obtenue à partir dudit flux de données. Selon un mode de réalisation, le dispositif comporte également un module de communication configuré pour recevoir ladite au moins une valeur 25 de phase via un réseau de communication. 4. Listes des figures L'invention sera mieux comprise et illustrée au moyen d'exemples de modes de réalisation et de mise en oeuvre avantageux, nullement limitatifs, en 30 référence aux figures annexées sur lesquelles : - la Fig. 1 illustre un procédé de codage d'un ensemble de blocs d'image selon un mode préféré de réalisation de l'invention; la Fig.2 illustre un procédé de décodage d'un flux de données représentatif d'un ensemble de blocs d'image selon un mode de réalisation de l'invention; la Fig. 3 représente un dispositif de codage selon selon un mode de réalisation de l'invention; et la Fig. 4 représente un dispositif de décodage selon selon un mode de réalisation de l'invention. 5. Description détaillée de l'invention L'invention concerne un procédé de codage d'un ensemble de blocs d'image transformant lesdits blocs d'image en utilisant des fonctions de base. Les bocs d'image peuvent être issus d'une image fixe ou d'une image appartenant à une série d'images, c'est-à-dire une séquence de plusieurs images successives temporellement ou encore une série d'images d'une 15 même scène. Chaque image comprend des pixels ou points image à chacun desquels est associée au moins une donnée image. Une donnée image est par exemple une donnée de luminance ou une donnée de chrominance. Dans la suite, les procédés de codage et de décodage sont décrits en référence à 20 un ensemble de blocs d'image. Il est clair que ces procédés peuvent être appliqués sur plusieurs ensembles de blocs d'image et sur des ensembles de blocs d'image relatifs à plusieurs images distinctes en vue du codage respectivement du décodage d'une ou plusieurs images. Les termes « données de mouvement » sont à prendre au sens large. 25 Elles désignent des vecteurs de mouvement et éventuellement des indices d'images de référence permettant d'identifier une image de référence dans une séquence d'images. Elles peuvent aussi comprendre une information indiquant le type d'interpolation utilisée pour déterminer un bloc de prédiction. En effet, dans le cas où un vecteur de mouvement associé à un bloc n'a pas 30 des coordonnées entières, il est nécessaire d'interpoler les données image dans l'image de référence pour déterminer le bloc de prédiction. Les données de mouvement associées à un bloc sont généralement calculées par un procédé d'estimation de mouvement, p.ex. par appariement de blocs. 2 9903 19 6 Toutefois, l'invention n'est aucunement limitée par le procédé permettant d'associer un vecteur de mouvement à un bloc. Les termes « données résiduelles » ou « erreur résiduelle » désignent des données obtenues après extraction d'autres données. L'extraction est 5 généralement une soustraction pixel à pixel de données de prédiction à des données source. Toutefois, l'extraction est plus générale et comprend notamment une soustraction pondérée afin par exemple de tenir compte d'un modèle de variation d'illumination. Les termes « données résiduelles » sont synonymes du terme « résidus ». Un bloc résidus est ainsi un bloc de pixels 10 auxquels sont associées des données résiduelles. Les termes « données résiduelles transformées» désignent des données résiduelles sur lesquelles on a appliqué une transformée T qui utilise des fonctions de base paramétrées par au moins une valeur de phase. Une DCT (acronyme anglais de « Discrete Cosine Transform ») est un exemple d'une telle transformée décrite dans le chapitre 3.4.2.2 du livre de I. E. Richardson intitulé 'H.264 and MPEG-4 video compression" publié chez J. Wiley & Sons en septembre 2003. La transformée de Hadamard décrite dans le chapitre 3.4.2.3 du livre de I. E. Richardson représente un autre exemple. De telles transformées « transforment » un bloc de données image, p.ex. des données résiduelles de luminance et/ou chrominance, en un « bloc de données transformées » également appelé « bloc transformé », « bloc de données fréquentielles » ou « bloc de coefficients ». Le bloc de coefficients comprend généralement un coefficient basse fréquence connu sous le nom de coefficient continu ou coefficient DC et des coefficients haute fréquence connus sous le nom de coefficients AC. Le terme « domaine image » ou « domaine spatial » désigne le domaine des pixels auxquels sont associés des valeurs de luminance et/ou de chrominance. Le « domaine fréquentiel » ou « domaine transformé » désigne le domaine des coefficients. On passe du domaine spatial au domaine transformé en appliquant sur les données de l'image une transformée par exemple une DCT et inversement du domaine transformé au domaine spatial en appliquant une transformée inverse de la précédente par exemple une DCT inverse. 2 9903 19 7 Les termes « données de prédiction » désignent des données utilisées pour prédire d'autres données. Un bloc de prédiction est un bloc de pixels auxquels sont associées des données de prédiction. Un bloc de prédiction est obtenu à partir d'un bloc ou plusieurs blocs de la même image que l'image à 5 laquelle appartient le bloc qu'il prédit (prédiction spatiale ou prédiction intra- image) ou bien à partir d'un (prédiction monodirectionnelle) ou de plusieurs blocs de référence (prédiction bidirectionnelle ou bi-prédite) d'une image différente (prédiction temporelle ou prédiction inter-image) de l'image à laquelle appartient le bloc qu'il prédit. 10 Les termes « mode de prédiction » désignent la manière dont un bloc est prédit. Parmi les modes de prédiction, il y a le mode INTRA qui correspond à une prédiction spatiale et le mode INTER qui correspond à une prédiction temporelle. Le mode de prédiction spécifie éventuellement la manière dont un bloc est partitionné pour être codé. Ainsi, le mode de 15 prédiction INTER 8x8 associé à un bloc de taille 16x16 signifie que le bloc 16x16 est partitionné en 4 blocs 8x8 et prédit par prédiction temporelle. Les termes « données reconstruites » désignent des données (p.ex. pixels, blocs) obtenues après fusion de résidus (obtenus après quantification inverse) avec des données de prédiction. La fusion est généralement une 20 somme de données de prédiction à des résidus. Toutefois, la fusion est plus générale et comprend notamment la somme pondérée afin par exemple de tenir compte d'un modèle de variation d'illumination. Un bloc reconstruit est un bloc de pixels reconstruits. En référence au décodage d'images, les termes « reconstruction » et 25 « décodage » sont très souvent utilisés comme synonymes. Ainsi, un « bloc reconstruit » est également désigné sous la terminologie « bloc décodé ». Le terme « codage » est à prendre au sens large. Le codage peut éventuellement comprendre la transformation et/ou la quantification de données image. Il peut également désigner uniquement le codage entropique. 30 En référence à la Fig. 1, l'invention concerne un procédé de codage d'un ensemble de blocs d'image. Un ensemble de valeurs de phase, noté E, est déterminé préalablement à la mise en oeuvre de ce procédé de codage. Cet ensemble de valeurs E est, par exemple, mémorisé dans une mémoire. Par ailleurs, en pratique, on parle souvent de décalage de phase pour indiquer un décalage de pixels. L'ensemble E peut ainsi, par exemple, mémoriser des valeurs de décalages des coefficients qui seront utilisés par les fonctions de base d'une transformée T. De manière générale, selon l'invention, le procédé de codage détermine un bloc résidus BR à partir de chaque bloc de donnée image B de l'ensemble de blocs à coder et d'un bloc de prédiction BP déterminé selon un mode de prédiction. A titre d'exemple, BR=B-BP. Le procédé de codage choisit tour à tour chacune des valeurs de phase dite courante de l'ensemble E et, pour chaque valeur de phase courante ainsi choisie, transforme les blocs résidus BR ainsi déterminés en des blocs de coefficients BC par une transfomation T qui utilise des fonctions de base paramétrées par la valeur de phase courante. Les blocs de coefficients BC sont alors codés. A titre d'exemple chaque bloc de coefficients BC est éventuellement quantifié puis codé par codage entropique de type VLC (acronyme anglais de « Variable Length Coding », CAVLC (acronyme anglais de « Context-Adaptive Variable Length Coding ») ou encore CABAC (acronyme anglais de « Context-Adaptive Binary Arithmetic Coding ») . Ces techniques sont bien connues de l'homme du métier du codage d'images et ne sont pas décrites davantage. L'invention n'est aucunement limitée par le type de quantification et/ou de codage entropique utilisé. Selon un mode de réalisation, les blocs de coefficient BC codés sont mémorisés dans une mémoire en relation avec la valeur de phase utilisée pour paramétrer les fonctions de base de la transformée T. Selon l'invention, le procédé de codage calcule un coût de codage desdits blocs de coefficients codés. Une fois calculés les coûts de codage pour chaque valeur de phase de l'ensemble E, le procédé sélectionne une valeur de phase relative au coût de codage le moins élevé pour le codage desdits blocs de coefficients BC. Selon un mode de réalisation particulier du procédé de codage la transformée T est appliquée de façon séparable via une transformée 1D de dimension N. Pour rappel, une transformée séparable est le produit (au sens d'une composition) de deux transformées monodimensionnelles, l'une appliquée sur les lignes et l'autre appliquée sur les colonnes des blocs d'image. La transformée T utilise alors des fonctions de base dites horizontales, notées Cx et paramétrées par une valeur de phase ox et des fonctions de base dites verticales, notées Cy et paramétrées par une autre valeur de phase (Py. En variante, les fonctions de base horizontales et verticales peuvent être paramétrées par la même valeur de phase (ox = L'ensemble E comporte alors des couples de valeurs de phase l'une des valeurs de phase de chaque couple, en l'occurrence ox , étant relative aux fonctions de base horizontales et l'autre (p) aux fontions de base verticales. Dans le cas, non limitatif, où la transformée T est une transformée de type DCT 2D appliquée de façon séparable via une transformée 1D de dimension N, les matrices de transformation de dimension NxN sont données par: Cx = [cx(, i ,,,NxN et cx(,j) = a(i)cos (""+1)2;)+1) i . in-) CY = [cY(i'llNxN et cy(i,j) = a(j)cos ((2(i+e'Y)+1) . in-) 2.N 1\11IN si = 0 1.'/1/N si j = 0 st # u .'IV si ° dans lequel NxN est la taille d'un bloc, Cx et Cy sont des matrices de transformation de dimension NxN dans lesquels cx(i,j) et cy(i,j) définissent respectivement les fonctions de base horizontales et verticales. Selon ce mode de réalisation relatif au cas d'une transformée T séparable, pour chaque couple de valeurs de phase courant (cpx, cpy), choisi parmi l'ensemble E de couples de valeurs de phase prédéterminées, les blocs résidus BR sont transformés en des blocs de coefficients BC en utilisant les 30 fonctions de base alors paramétrées par le couple de valeurs de phase courant (»p,). En termes mathématiques, les blocs BC sont données par BC = [B C (u, v)1 - ,,NxN = Cx. BR. Cy Les blocs sont alors codés, comme précédemment, et un coût de codage desdits blocs de coefficients codés est calculé. On peut noter que selon un mode de réalisation les blocs de coefficients BC codés sont mémorisés dans une mémoire en relation avec le couple de valeurs de phase utilisé pour paramétrer les fonctions de base de la transformée T. Une fois calculés les coûts de codage pour chaque couple de valeurs de phase de l'ensemble E, le procédé sélectionne le couple de valeurs de phase relatif au coût de codage le moins élevé pour le codage desdits blocs de coefficients BC. Selon un mode de réalisation, le coût de codage d'un ensemble de Nb blocs de coefficients BC obtenus par application de la transfomation T utilisant des fonctions de base paramétrées par un couple de valeurs de phase courante (cpx, cpy) est donné par : Cstel)x,OY = '(sse (sse + À. 13c°D)bi(1) avec sse une mesure de l'erreur entre un bloc B d'image d'indice bi et son reconstruit BREC et Bc°D un coût de codage d'un bloc de coefficients BR, le terme ?t, appelé lagrangien bien connu de l'homme de l'art, permettant de pondérer harmonieusement les valeurs sse et /3c°D. Par exemple, si chaque bloc de coefficients BC est quantifié alors Bc°Dest le coût de codage de ce bloc de coefficients quantifié. La mesure de l'erreur sse est donnée, par exemple, par une distance quadratique moyenne donnée par : riv=01 ritoi _ sse = ) BREC(i,j))2 (2) Le couple de valeurs de phase sélectionné est alors celui qui minimise l'équation (1). On peut noter que dans le cas de fonctions de base paramétrées par une seule valeur de phase, le coût de codage d'un ensemble de Nb blocs de coefficients BC est aisément déduit des formules (1) et (2) en considérant (Px = (1)y. Dans un contexte de communication entre dispositifs distants, sont codés dans un flux de donnée F des blocs de coefficients BC qui ont été obtenus à partir de la transformation T utilisant les fonctions de base alors paramétrées par la valeur de phase ou le couple de valeurs de phase sélectionné. Selon un mode de réalisation, représenté à la Fig.1, les blocs de coefficients BC sont obtenus à partir d'une mémoire. Par ailleurs, selon un mode de réalisation, chaque valeur de phase ou couple de valeurs de phase ainsi sélectionné est codé dans un flux de donnée qui est, selon un mode de réalisation, le flux de données F. Chaque valeur de phase peut, selon un mode de réalisation, être codé sous la forme d'un index d'une table (Look Up Table en anglais). Elle peut être codée comme un simple vecteur, composante par composante. Chaque valeur de phase peut également être codée sous forme différentielle par rapport à une prédiction de phase établie à partir de valeurs de phase sélectionnées pour des blocs situés dans un voisinage d'un bloc courant. Cette prédiction est, par exemple, de type médian. Le flux de donnée F est destiné à être émis à destination d'un dispositif distant qui comporte un module de transformation utilisant des fonctions de 20 base paramétrées par au moins une valeur de phase sélectionnée pour décoder l'ensemble des blocs codés selon l'un des procédés ci-desus. En référence à la Fig. 2, l'invention concerne également un procédé de décodage d'un flux de donnée F représentatif d'un ensemble de blocs 25 d'image. De manière générale, selon l'invention, le procédé de décodage décode à partir du flux de données F l'ensemble des blocs de coefficients BC qui définissent l'ensemble des blocs à décoder. A titre d'exemple un bloc de coefficients BC est éventuellement 30 décodé par décodage entropique de type VLC (acronyme anglais de « Variable Length Coding », CAVLC (acronyme anglais de « Context-Adaptive Variable Length Coding ») ou encore CABAC (acronyme anglais de « Context-Adaptive Binary Arithmetic Coding ») et éventuellement déquantifié. Ce décodage d'un bloc de coefficients est l'inverse du codage d'un bloc de coefficients décrit en relation avec le procédé de codage de la Fig. 1. Le procédé de décodage décode également chaque valeur de phase codée dans le flux de donnée F. Ce décodage de valeur de phase est l'inverse du codage d'une valeur ou couple de valeurs de phase décrit en relation avec le procédé de codage de la Fig. 1. Selon un mode de réalisation, le flux de donnée est reçu via un réseau de communication. Les fonctions de base de la transformée T' (inverse de la transformée 10 T utilisée lors du procédé de codage), sont alors paramétrées par au moins une valeur de phase ainsi décodée. Selon un mode de réalisation, la transformée T' est séparable et les fonctions de base sont alors paramétrées par un couple de valeurs de phase tel que expliqué précédemment en relation avec la Fig. 1. 15 Chaque bloc de coefficients BC est alors transformé en un bloc de résidus BR via la transformée T'. En termes mathématiques, un bloc résidus BR est déterminé par: BR=T'.BC et dans le cas d'une transformée T' séparable, un bloc résidus BR est donné 20 par : BR = [BR(i3O]NxN = Cr BC.Cx Le procédé de décodage reconstruit alors un bloc de pixels BREC à partir de chaque bloc de résidus BR et d'un bloc de prédiction BP déterminé selon un mode de prédiction. A titre d'exemple, BREC=BR+BP. 25 En référence aux Figs. 3 et 4, l'invention concerne un dispositif de codage CODER d'un ensemble de blocs d'image et un dispositif de décodage DECODER d'un flux de données F représentatif d'un tel ensemble de blocs d'image. Sur ces figures, les modules représentés sont des unités fonctionnelles, qui peuvent ou non correspondre à des unités physiquement 30 distinguables. Par exemple, ces modules ou certains d'entre eux peuvent être regroupés dans un unique composant ou circuit, ou constituer des fonctionnalités d'un même logiciel. A contrario, certains modules peuvent éventuellement être composés d'entités physiques séparées. Les dispositifs de codage et décodage compatibles avec l'invention sont mis en oeuvre selon une réalisation purement matérielle ("hardware" en anglais), par exemple sous forme d'un composant dédié (par exemple dans un ASIC ou FPGA ou VLSI) (respectivement « Application Specific Integrated Circuit » en anglais, signifiant « Circuit Intégré à vocation d'une application spécifique », « Field-Programmable Gate Array » en anglais, signifiant « Réseau de Portes Programmable In-Situ », « Very Large Scale Integration » en anglais, signifiant « Intégration à très grande échelle ») ou de plusieurs composants électroniques intégrés dans un appareil ou encore sous forme d'un mélange d'éléments matériels et d'éléments logiciels (« software » en anglais). En référence à la Fig. 3, le dispositif de codage CODER reçoit en entrée des images I, par exemple, appartenant à une séquence d'images. Chaque image est divisée en blocs B à chacun desquels est associée au moins une donnée image, e.g. de luminance et/ou de chrominance. Le dispositif de codage CODER met en oeuvre notamment un codage avec prédiction temporelle. Seuls les modules du dispositif de codage CODER se rapportant au codage par prédiction temporelle ou codage INTER sont représentés sur la Fig. 3. D'autres modules non représentés et connus de l'homme du métier des codeurs vidéo mettent en oeuvre le codage INTRA avec ou sans prédiction spatiale. Le dispositif de codage CODER comprend notamment un module de calcul ADD1 configuré pour extraire selon le procédé de codage, par exemple par soustraction pixel à pixel, du bloc courant B un bloc de prédiction BP pour générer un bloc résidus BR. Il comprend en outre un module de transformation T configuré pour transformer le bloc résidus BR en un bloc de coefficients BC avec une transformée T utilisant des fonctions de base paramétrées par au moins une valeur de phase. La transformée T est par exemple une DCT. Le module de paramétrage PARAM est configuré pour paramétrer les fonctions de base de la transformée T à partir d'au moins une valeur de phase. En particulier, selon l'invention, les modules de transformation T et de paramétrage PARAM coopèrent pour mettre en oeuvre la sélection d'au moins une valeur de phase selon le procédé de codage décrit en référence à la Fig. 1. Par ailleurs, une sortie du module de paramétrage PARAM est reliée à l'entrée d'un module de codage entropique COD configuré pour coder en un 5 flux F de données codées au moins une valeur de phase sélectionnée selon le procédé de codage décrit en relation avec la Fig. 1. Selon un mode de réalisation, la sortie du module de transformation T est reliée à l'entrée d'un module de quantification Q configuré pour quantifier les blocs de coefficients BC en des données quantifiées. La sortie du module 10 de quantification est reliée à l'entrée d'un module de codage entropique COD configuré pour coder les données quantifiées en un flux F de données codées. Le dispositif CODER comprend en outre un module IQ effectuant l'opération inverse du module de quantification Q relié à un module IT 15 effectuant l'opération inverse du module de transformation T. La sortie du module IT est reliée à un module de calcul ADD2 configuré pour additionner pixel à pixel le bloc de données issu du module IT et le bloc de prédiction BP pour générer un bloc reconstruit BREC qui est stocké dans une mémoire MEM. 20 Le dispositif de codage CODER comprend en outre un module d'estimation de mouvement ME configuré pour estimer au moins un vecteur de mouvement Vp entre un bloc B et une image de référence Ir stockée dans la mémoire MEM, cette image ayant été précédemment codée puis reconstruite. 25 Selon une variante, l'estimation de mouvement peut être faite entre un bloc courant B et l'image source correspondant à Ir auquel cas la mémoire MEM n'est pas reliée au module d'estimation de mouvement ME. Selon une méthode bien connue de l'homme du métier, le module d'estimation de mouvement recherche dans l'image de référence Ir, respectivement dans 30 l'image source correspondante, un vecteur de mouvement de manière à minimiser une erreur calculée entre le bloc courant BCU et un bloc dans l'image de référence Ir, respectivement dans l'image source correspondante, identifié à l'aide dudit vecteur de mouvement. Selon une variante, le vecteur de mouvement est déterminé par corrélation de phase ou estimation de mouvement globale. Selon une autre variante non représentée sur la Fig. 3, le module d'estimation de mouvement.opère par « template matching » (TM), ainsi dans cette solution seule le mode dit « TM » est transmis au décodeur, le décodeur devant alors effectuer lui-même la recherche de la prédiction via le « template matching » Les données de mouvement sont transmises par le module d'estimation de mouvement ME à un module de décision DECISION configuré pour sélectionner un mode de codage pour le bloc B dans un ensemble prédéfinis de mode de codage. Le mode de codage retenu est par exemple celui qui minimise un critère de type débit-distorsion. Toutefois l'invention n'est pas limitée à cette méthode de sélection et le mode retenu peut être sélectionné selon un autre critère par exemple un critère de type a priori. Le mode de codage sélectionné par le module de décision DECISION ainsi que les données de mouvement, p.ex. le ou les vecteurs de mouvement dans le cas du mode de prédiction temporelle ou mode INTER sont transmis à un module de prédiction PRED. Le ou les vecteurs de mouvement et le mode de codage sélectionné sont en outre transmis au module de codage entropique COD pour être codés dans le flux de donnée F. Si un mode de prédiction INTER est retenu par le module de décision DECISION, le module de prédiction PRED détermine ensuite dans l'image de référence Ir précédemment reconstruite et stockée dans la mémoire MEM, le bloc de prédiction BP à partir du vecteur de mouvement déterminé par le module d'estimation de mouvement ME. Si un mode de prédiction INTRA est retenu par le module de décision DECISION, le module de prédiction PRED détermine dans l'image courante, parmi les blocs précédemment codés et stockés dans la mémoire MEM, le bloc de prédiction BP. Selon un mode de rélisation, le dispositif de codage CODER comporte aussi un module de communication COM configuré pour émettre le flux de données F via un réseau de communication et à destination d'un dispositif distant. En référence à la Fig. 4, le dispositif de décodage DECODER comporte un module de communication COM qui est configuré pour recevoir un flux de donnée F via un réseau de communication. Ce flux F comporte des données codées représentatives d'une séquence d'images ou d'une partie d'une telle séquence tel qu'un ensemble de blocs d'image. Le flux F est par exemple transmis par un dispositif de codage CODER. Le dispositif de décodage DECODER comprend un module de décodage entropique DEC configuré pour générer des données décodées tel que, par exemple, des modes de codage, des données décodées relatives au contenu des images ou encore des valeurs de phase utilisées pour paramétrer des fonctions de base d'une transformée T'. Le dispositif de décodage DECODER comprend en outre un module de 10 reconstruction de données de mouvement. Selon un premier mode de réalisation, le module de reconstruction des données de mouvement est le module de décodage entropique DEC qui décode une partie du flux de données F représentatif des vecteurs de mouvement. 15 Selon une variante non représentée sur la Fig. 4, le module de reconstruction des données de mouvement est un module d'estimation de mouvement. Cette solution de reconstruction de données de mouvement par le dispositif de décodage DECODER est connu sous le terme anglais de « template matching ». 20 Les données décodées relatives au contenu des images sont alors transmises à un module de quantification inverse IQ configuré pour effectuer une quantification inverse des données décodées pour obtenir un bloc de coefficients BC. Le module IQ est relié à un module de transformation IT configuré pour effectuer une transformation inverse T' de celle effectuée par 25 le module T du dispositif de codage CODER. Les modules IQ et IT sont identiques aux modules IQ respectivement IT du dispositif de codage CODER ayant généré le flux codé F. Le dispositif de décodage DECOD comprend en outre un module de paramétrage PARAM configuré pour paramétrer les fonctions de base de la 30 transformée T' décrite précédemment en relation avec la Fig. 2 avec la valeur ou un couple de valeurs de phase décodées à partir du flux de données F. Le module de transformation IT applique donc, selon le procédé de décodage sus-cité, sur un bloc de coefficients BC des fonctions de base paramétrées par au moins une valeur de phase relative à un coût de codage le moins élevé (déterminé au codeur) de l'ensemble des blocs qui définissent le région d'image R. Le module IT est relié à un module de calcul ADD3 configuré pour fusionner, par exemple par addition pixel à pixel, un bloc résidus BR issu du module IT et un bloc de prédiction BP pour générer un bloc reconstruit BREC qui est stocké dans une mémoire MEM. Le dispositif de décodage DECOD comprend en outre un module de prédiction PRED identique au module de prédiction PRED du dispositif de codage COD. Si un mode de prédiction INTER est décodé, le module de prédiction PRED détermine dans une image de référence Ir précédemment reconstruite et stockée dans la mémoire MEM, le bloc de prédiction BP à partir du vecteur de mouvement Vp décodé pour le bloc courant BCUR par le module de décodage entropique DEC. Si un mode de prédiction INTRA est décodé, le module de prédiction PRED détermine dans l'image courante, parmi les blocs précédemment reconstruits et stockés dans la mémoire MEM, le bloc de prédiction BP. Bien entendu, l'invention n'est pas limitée aux exemples de réalisation mentionnés ci-dessus. En particulier, l'homme du métier peut apporter toute variante dans les modes de réalisation exposés et les combiner pour bénéficier de leurs différents avantages. Notamment, la sélection de valeur de phase des fonctions de base est applicable à tout type de transformée quelle que soit la taille des blocs, quelle qu'en soit sa dimension 1D, 2D, etc. ou encore quel que soit son caractére séparable ou non. REVENDICATIONS1. Procédé de codage d'un ensemble de blocs d'image, ledit procédé transformant lesdits blocs d'image en utilisant des fonctions de base paramétrées par une valeur de phase, est caractérisé en ce qu'il comporte également les étapes suivantes : - pour chaque valeur de phase courante choisie parmi un ensemble de valeurs de phase prédéterminé, - transformer lesdits blocs d'image en utilisant les fonctions de base alors paramétrées par la valeur de phase courante, - calculer un coût de codage desdits blocs d'image ainsi transformés, et - sélectionner une valeur de phase relative au coût de codage le moins élevé pour le codage desdits blocs d'image. 15 2. Procédé de codage selon la revendication 1, dans lequel, lesdites fonctions de base regroupant des fonctions de base dites horizontales et des fonctions de base dites verticales, - l'ensemble de valeurs de phase comporte des couples de valeurs de 20 phase, l'une des valeurs de phase de chaque couple étant relative aux fonctions de base horizontales et l'autre aux fontions de base verticales, - pour chaque couple de valeurs de phase courant choisi parmi l'ensemble de couples de valeurs de phase prédéterminé, - lesdits blocs d'image sont transformés en utilisant les fonctions 25 de base alors paramétrées par le couple de valeurs de phase courant, - un coût de codage desdits blocs d'image ainsi transformés est calculé, et - un couple de valeurs de phase relatif au coût de codage le moins élevé pour le codage desdits blocs d'image est sélectionné. 30 3. Procédé de codage selon la revendication 1 ou 2, dans lequel chaque valeur de phase ainsi sélectionnée est codée dans un flux de donnée. 4. Procédé de décodage d'un flux de données représentatif d'un ensemble de blocs d'image, ledit procédé transformant lesdits blocs d'image en utilisant des fonctions de base paramétrées par au moins une valeur de phase, caractérisée en ce que ladite au moins une valeur de phase est décodée à partir du flux de données. 5. Procédé selon la revendication 4, dans lequel ledit flux de donnée est reçu via un réseau de communication. 6. Flux de données, caractérisé en ce qu'il comporte une information définissant au moins une valeur de phase utilisée pour paraméter au moins une fonction de base d'une transformée par bloc. 7. Dispositif de codage d'un ensemble de blocs d'image comportant un module de transformation configuré pour transformer des blocs d'image avec une transformée utilisant des fonctions de base paramétrées par une valeur de phase, caractérisé ce qu'il comporte aussi un module de paramétrage configuré pour coopérer avec le module de transformation pour : - pour chaque valeur de phase courante choisie parmi un ensemble de 20 valeurs de phase prédéterminé, - transformer lesdits blocs d'image en utilisant les fonctions de base alors paramétrées par la valeur de phase courante, - calculer un coût de codage desdits blocs d'image ainsi transformés, et 25 - sélectionner une valeur de phase relative au coût de codage le moins élevé pour le codage desdits blocs d'image. 8. Dispositif selon la revendication 7, qui comporte également un module de communication configuré pour émettre au moins une valeur de phase ainsi 30 sélectionnée via un réseau de communication et à destination d'un dispositif distant. 9. Dispositif de décodage d'un flux de données représentatif d'un ensemble de blocs d'image, comportant un module de transformation par bloc utilisantdes fonctions de base paramétrées par au moins une valeur de phase, caractérisé en ce qu'il comporte un module de paramétrage configuré pour paramétrer les fonctions de base de la transformée avec au moins une valeur de phase obtenue à partir dudit flux de données. 10. Dispositif selon la revendication 9, qui comporte également un module de communication configuré pour recevoir ladite au moins une valeur de phase via un réseau de communication.