Brevet FR2766033A1 — publié le 19990115

La présente invention concerne, d'une manière générale, un procédé et un dispositif pour le codage de données, ainsi qu'un procédé et un dispositif de décodage de données. Le codage et décodage de données visent en particulier à compresser et décompresser des ensembles de données. Un ensemble de données compressé peut être mémorisé en occupant une place mémoire réduite par rapport à l'ensemble initial non compressé, ou peut être transmis plus rapidement, ou avec un débit plus faible, que l'ensemble initial non compressé. Ces données sont a priori quelconques et représentent des grandeurs physiques. Dans des applications privilégiées, on considère des ensembles de données qui sont des séquences ou suites d'images, du son ou d'autres signaux mono ou multidimensionnels. Dans la suite, I'on considérera plus particulièrement le codage et décodage de séquences d'images, puisque les images sont connues d'une part pour occuper une grande place mémoire et d'autre part pour nécessiter un débit élevé, ou un temps de transmission important, lorsque l'on souhaite les transmettre. De nombreux procédés de codage de séquences d'image existent actuellement. Un premier type de procédé est le codage dit MPEG (Motion Picture Expert Group) qui consiste globalement à coder des images par rapport à une ou plusieurs autres images sélectionnées dans la séquence, dites images de référence, et périodiquement une image par rapport à elle-même. Une image codée par rapport à elle-même, dite image "intra", est divisée en blocs, qui sont codés par transformation discrète en cosinus (DCT). Ces images sont nécessaires pour le rafraîchissement et permettent un accès aléatoire dans la séquence; cependant, le taux de compression de ces images est faible. Une image codée par rapport à une ou plusieurs autres images est également divisée en blocs. Chaque bloc est codé par un mécanisme d'estimation et de compensation de mouvement par rapport à un bloc qu'il faut rechercher dans les images de référence, puis l'erreur est codée par transformation discrète en cosinus. La recherche du "meilleur" bloc pour coder le bloc courant est en général effectuée dans une fenêtre de l'image de référence, pour réduire le temps de recherche qui, sinon, pourrait être trop long. Cependant, ce type de codage reste peu rapide. En outre, ce type de codage ne convient pas pour des débits faibles, de l'ordre de quelques dizaines de kilobits, mais est limité à des débits généralement supérieurs à 1,5 Mégabits par seconde. Un second type de codage de séquence d'image consiste à coder une image courante de la séquence par rapport à l'image précédente. L'image courante est divisée en blocs. Pour chaque bloc à coder, il est recherché un unique bloc dans un dictionnaire constitué des blocs de l'image précédente, ayant subi des transformations telles que rotation, ou symétrie. Une transformation linéaire est alors calculée entre le bloc courant et le bloc de référence. Ces deux types de procédé de codage ont comme point commun de rechercher, pour chaque bloc à coder, un bloc de référence dans un ensemble de blocs, ce qui est relativement long. En outre, le second type de codage implique un décodage par itération de chaque bloc codé, ce qui nécessite là encore un temps relativement long. La présente invention vise à remédier aux inconvénients de la technique antérieure, en fournissant un procédé et un dispositif de codage de données, ainsi que les procédé et dispositif de décodage correspondants, présentant un taux de compression de données élevé, tout en étant rapides au codage et au décodage. L'invention se situe dans le domaine du codage et décodage avec pertes des séquences d'images numériques par blocs. L'invention se fonde sur le principe de coder chaque image de la séquence en fonction d'au moins une image de référence. L'invention propose un procédé de codage d'un ensemble de données représentatives de grandeurs physiques, ledit ensemble étant composé de sous-ensembles, caractérisé en ce qu'il comporte pour chacun des sous-ensembles, les étapes de: - division du sous-ensemble en blocs de données à coder, - division d'au moins un sous-ensemble de référence en blocs source, puis, pour chacun des blocs de données à coder, les étapes de: - sélection d'un nombre prédéterminé de blocs source dans ledit au moins un sous-ensemble de référence, - détermination d'une transformation entre les blocs source sélectionnés et le bloc à coder. Corrélativement, I'invention propose un dispositif de codage d'un ensemble de données représentatives de grandeurs physiques, ledit ensemble étant composé de sous-ensembles, caractérisé en ce qu'il comporte: - des moyens de division des sous-ensembles en blocs de données à coder, - des moyens de division d'au moins un sous-ensemble de référence en blocs source, pour chacun des sous-ensembles, - des moyens de sélection d'un nombre prédéterminé de blocs source dans ledit au moins un sous-ensemble de référence, pour chacun des blocs de données à coder de chacun des sous-ensembles, et - des moyens de détermination d'une transformation entre les blocs source sélectionnés et le bloc à coder. L'invention permet d'obtenir un taux de compression élevé des données, qui peuvent ensuite être transmises à bas débit, de l'ordre de quelques dizaines de kilobits par seconde, tout en offrant une bonne qualité de reconstruction des données. L'invention permet une compression et une décompression rapide des données. L'invention s'applique aussi bien au cas où l'on souhaite à la fois une compression et une décompression de séquence d'image rapide, qu'au cas où seule une décompression rapide est souhaitée. Selon un mode préféré de réalisation, le procédé comporte en outre l'étape de rechercher si le bloc à coder peut être codé par mise en correspondance de bloc, et à ne rechercher une transformation que si un critère de correspondance n'est pas satisfait. Le codage par mise en correspondance de bloc nécessite peu de bits pour mémoriser et/ou transmettre le bloc codé. Le critère de correspondance comporte une mesure d'une première distance entre le bloc à coder et le bloc source, ce qui constitue un moyen simple de mise en oeuvre de cet aspect de l'invention. Dans un autre mode préféré de l'invention, le procédé comporte, pour chacun des sous-ensembles, les étapes supplémentaires de: - division du sous-ensemble en zones, - détermination du type de chaque zone, parmi un premier type de zone et un second type de zone, en fonction d'un critère de zone, - division de chaque zone de second type en blocs de données à coder. Les zones de second type sont ensuite codées par bloc, comme exposé plus haut. Le procédé comporte le calcul d'une seconde distance entre chaque zone et une zone correspondante dans un sous-ensemble adjacent, le critère de zone consiste à comparer cette distance à un seuil, et, si cette distance est inférieure au seuil, la zone considérée est de premier type, et de second type sinon. Ainsi, les zones de premier type sont des zones qui demeurent inchangées d'un sous-ensemble à l'autre. Ces zones sont codées par une autre méthode de codage, ou sont recopiées d'un sous-ensemble à l'autre, sans être codées. Les zones qui demeurent inchangées dans plusieurs sousensemble ne sont codées qu'une seule fois, pour le premier des sousensembles considérés, puis sont recopiées pour les sous-ensembles suivants, ce qui est rapide et nécessite peu de bits pour mémoriser et/ou transmettre ces zones. Le décodage est également rapide. Dans le cas où l'ensemble de données à coder est une séquence d'images numériques, les zones de premier type sont codées par une méthode de codage d'image fixe. Dans un autre aspect, la transformation est déterminée de manière à minimiser une troisième distance entre le bloc à coder et son approximation calculée en appliquant la transformation aux blocs source sélectionnés. Le calcul de la troisième distance comporte le calcul d'une différence, par exemple l'erreur quadratique moyenne, entre les valeurs des données du bloc à coder et les valeurs de son approximation calculée en appliquant la transformation aux blocs source. Selon des caractéristiques préférées, la transformation est une approximation multilinéaire, ou la transformation est une approximation multilinéaire combinée avec une transformation géométrique, ou encore la transformation est un polynôme sur les valeurs des coefficients des blocs source. Le type de transformation est choisi en fonction de la précision de codage, de la vitesse de codage et du taux de compression souhaités. Selon des caractéristiques préférées: - pour le premier sous-ensemble à coder, ledit au moins un sousensemble de référence est un sous-ensemble prédéterminé, - ledit au moins un sous-ensemble de référence est un sousensemble de l'ensemble, qui a de préférence été préalablement codé puis décodé. Selon d'autres caractéristiques préférées: - au moins deux sous-ensembles de référence sont considérés, dont au moins un premier est situé parmi les sous-ensembles précédants le sousensemble en cours de codage et au moins un second est situé parmi les sousensembles suivants le sous-ensemble en cours de codage, - les blocs source sont sélectionnés dans une partie du sousensemble de référence qui dépend de la partie dans laquelle est situé le bloc à coder dans le sous-ensemble en cours de codage, - les blocs source ont une taille qui est déterminée en fonction de la taille du bloc à coder, - les blocs source ont une taille multiple d'un facteur F2 de celle du bloc à coder et sont sous-échantillonnés du facteur F, où F est un entier, ou les blocs source ont la même taille que le bloc à coder, ce qui est plus simple à réaliser. Selon d'autres caractéristiques préférées: - le bloc à coder est de taille prédéterminée, ou - le bloc à coder est de taille variable, en fonction d'un critère de taille. Dans le dernier cas, le procédé comporte le calcul d'une quatrième distance entre le bloc à coder et l'approximation calculée par l'application de la transformation aux blocs source, le critère de taille consiste à comparer la quatrième distance à un seuil, et si la quatrième distance est supérieure au seuil, et si une taille minimale de bloc n'a pas été atteinte, le bloc en cours de codage est divisé en blocs de taille inférieure. Le dispositif de codage comporte des moyens adaptés à mettre en oeuvre les caractéristiques précédemment exposées. Ces moyens sont incorporés dans: - un contrôleur, - une mémoire morte comportant un programme pour coder chacun des blocs de données, et - une mémoire vive comportant des registres adaptés à enregistrer des variables modifiées au cours de l'exécution dudit programme. L'invention concerne également un procédé de décodage d'un ensemble de données représentatives de grandeurs physiques, L'ensemble étant composé de sous-ensembles qui comportent chacun des représentations codées de blocs de données, chacun des blocs étant codé au moyen d'une transformation entre des blocs source sélectionnés dans au moins un sousensemble de référence et le bloc, caractérisé en ce qu'il comporte, pour chacun des blocs de chacun des sous-ensembles à décoder, L'étape d'application de la transformation aux blocs source pour décoder le bloc. Dans un mode préféré de réalisation, le procédé de décodage comporte, pour chacun des blocs de chacun des sous-ensembles à décoder, les étapes de: - recherche si le bloc est codé par mise en correspondance de blocs, et, en cas de réponse négative, le bloc étant alors codé au moyen d'une transformation entre des blocs source sélectionnés dans au moins un sous-ensemble de référence et le bloc: - application de la transformation aux blocs source pour décoder le bloc. En cas de réponse positive à l'étape de recherche, le bloc est décodé par recopie d'un bloc de correspondance déterminé par la mise en correspondance de blocs. Le décodage du bloc considéré est donc très simple et rapide. Selon une caractéristique préférée, le procédé de décodage comporte la lecture de la taille et de la position des blocs à décoder, lorsque les blocs sont de taille variable. Dans un autre aspect, I'invention concerne un procédé de décodage d'un ensemble de données représentatives de grandeurs physiques, L'ensemble étant composé de sous-ensembles qui comportent chacun des représentations codées de zones appartenant à un premier ou un second type de zone, les représentations codées du second type de zone étant réalisées par blocs de données, caractérisé en ce qu'il comporte, pour chacun des blocs des zones de second type de chacun des sous-ensembles à décoder, L'étape d'application de la transformation aux blocs source pour décoder le bloc. L'invention concerne encore un dispositif de décodage comportant des moyens adaptés à mettre en oeuvre les caractéristiques précédemment exposées. Ces moyens sont incorporés dans: - un contrôleur, - une mémoire morte comportant un programme pour décoder chacun des blocs de données, et - une mémoire vive comportant des registres adaptés à enregistrer des variables modifiées au cours de l'exécution dudit programme. Les caractéristiques et avantages de la présente invention apparaîtront plus clairement à la lecture d'un mode préféré de réalisation illustré par les dessins ci-joints, dans lesquels: - la figure 1 représente de manière schématique un dispositif de codage de données selon l'invention, - la figure 2 représente de manière schématique un dispositif de décodage de données selon l'invention, - la figure 3 représente un mode de réalisation du dispositif de codage de données selon l'invention, - la figure 4 représente un mode de réalisation du dispositif de décodage de données selon l'invention, - la figure 5 est un algorithme de codage de données selon un premier mode de réalisation de l'invention, - la figure 6 est une image divisée en blocs au cours de son codage selon l'invention, - la figure 7 est une image divisée en blocs au cours de son codage selon l'invention, - les figures 8a à 8f représentent des blocs à coder et des blocs source associés - la figure 9 est un algorithme de décodage de données selon le premier mode de réalisation de l'invention, - la figure 10 est un algorithme de codage de données selon un deuxième mode de réalisation de l'invention, - la figure Il est une image divisée en blocs au cours de son codage selon l'invention, - la figure 12 est un arbre de découpe associé à l'image de la figure Il, - la figure 13 est un algorithme de décodage de données selon le deuxième mode de réalisation de l'invention - la figure 14 est un algorithme de codage de données selon un troisième mode de réalisation de l'invention, - la figure 15 est un algorithme de décodage de données selon le troisième mode de réalisation de l'invention, - la figure 16 est un algorithme de codage de données selon un quatrième mode de réalisation de l'invention, - la figure 17 est une image divisée en zones au cours de son codage selon le quatrième mode de réalisation de l'invention, et - la figure 18 est un algorithme de décodage de données selon le quatrième mode de réalisation de l'invention. Selon un mode de réalisation choisi et représenté à la figure 1, un dispositif 2 de codage de données selon l'invention comporte une entrée 22 à laquelle est reliée une source 1 de données non codées. La source 1 comporte par exemple un moyen de mémoire, telle que mémoire vive, disque dur, disquette, disque compact, pour mémoriser des données non codées, ce moyen de mémoire étant associé à un moyen de lecture approprié pour y lire les données. Un moyen pour enregistrer les données dans le moyen de mémoire peut également être prévu. La source 1 peut être par exemple une caméra vidéo dans le cas d'un signal d'image ou microphone dans le cas d'un signal de son. Des moyens 3 utilisateurs de données codées sont reliés en sortie 27 du dispositif de codage 2. Les moyens utilisateurs 3 comportent par exemple des moyens de mémorisation de données codées, et/ou des moyens de transmission des données codées. La figure 2 représente un dispositif 5 de décodage de données codées par le dispositif 2. Des moyens 4 utilisateurs de données codées sont reliés en entrée 52 du dispositif de décodage 5. Les moyens 4 comportent par exemple des moyens de mémoire de données codées, et/ou des moyens de réception des données codées qui sont adaptés à recevoir les données codées transmises par les moyens de transmission 3. Des moyens 6 utilisateurs de données décodées sont reliés en sortie 57 du dispositif de décodage 5. Les moyens utilisateurs 6 sont par exemple des moyens de visualisation d'images, ou des moyens de restitution de sons, en fonction de la nature de données traitées. Le dispositif de codage et le dispositif de décodage peuvent être intégrés dans un même appareil numérique, par exemple une caméra numérique munie d'un écran de visualisation. Un mode de réalisation de dispositif de codage de données 2 est représenté à la figure 3. Le dispositif de codage 2 comporte un bus de données et d'adresses 20 auquel sont reliés: - une mémoire tampon d'entrée 21, également reliée à l'entrée 22 du dispositif, pour mémoriser de manière temporaire les données à coder, - une mémoire morte (ROM) 23 dans laquelle est mémorisé un algorithme de codage qui sera exposé dans la suite, - un contrôleur 24 pour mettre en oeuvre l'algorithme de codage, - une mémoire vive (RAM) 25 pour mémoriser dans des registres des paramètres modifiés au cours de l'exécution de l'algorithme de codage, et - une mémoire tampon de sortie 26, également reliée à la sortie 27 du dispositif. Un mode de réalisation de dispositif de décodage de données 5 est représenté à la figure 4. le dispositif de décodage 5 comporte un bus de données et d'adresses 50 auquel sont reliés: - une mémoire tampon d'entrée 51, également reliée à l'entrée 52 du dispositif, pour mémoriser de manière temporaire les données à coder, - une mémoire morte (ROM) 53 dans laquelle est mémorisé un algorithme de décodage qui sera exposé dans la suite, - un contrôleur 54 pour mettre en oeuvre l'algorithme de décodage, - une mémoire vive (RAM) 55 pour mémoriser dans des registres des paramètres modifiés au cours de l'exécution de l'algorithme de décodage, et - une mémoire tampon de sortie 56, également reliée à la sortie 57 du dispositif. Le fonctionnement des dispositifs de codage 2 et de décodage 5 sera détaillé au cours de la description des différents modes de réalisation des algorithmes correspondants. Selon le mode de réalisation choisi et représenté à la figure 5, I'invention s'applique au codage d'un ensemble de données représentatives de grandeurs physiques qui est une séquence d'images numériques fl à fN, où N est un entier. Une image quelconque fn dans la séquence, avec n compris entre 1 et N, est une image à niveau de gris, comportant à titre d'exemple 128x96 pixels à 256 niveaux. L'algorithme représenté à la figure 5 comporte des étapes El à E14 qui réalisent le codage de la séquence d'images numériques. Le traitement est effectué image par image. Globalement, une image de la séquence est codée en fonction d'une image de référence. L'étape El est une initialisation à laquelle le paramètre n est initialisé à 1, de manière à considérer tout d'abord la première image de la séquence. L'étape suivante E2 est une division de l'image considérée fn en un nombre prédéterminé M de blocs Anal1 à An,M de pixels adjacents. Le nombre M de blocs peut être prédéterminé, ou peut être un paramètre réglé par l'utilisateur de l'algorithme. Dans ce mode de réalisation, les blocs A,1 à An,M sont adjacents, sans recouvrement. En variante non représentée, les blocs peuvent se chevaucher, pour limiter les effets de bloc au décodage, au détriment du taux de compression. Selon une première variante de ce mode de réalisation, représentée à la figure 6, les blocs ont tous la même taille prédéterminée, et sont par exemple des blocs carrés de 32x32 pixels dans le cas de l'image à 128x96 pixels. La division de l'image est uniforme dans toute l'image. Selon une seconde variante représentée à la figure 7, la taille des blocs, tout en étant prédéterminée, dépend de l'emplacement des blocs dans l'image : dans une zone déterminée de l'image, par exemple une zone centrale susceptible de contenir plus de détails, les blocs sont plus petits que sur les bords de l'image. Cette zone déterminée sera alors codée plus finement que le reste de l'image. Cette variante est notamment intéressante pour la visiophonie, puisque dans ce cas, les images reproduisent principalement les visages des utilisateurs, qui sont généralement situés au centre des images. Deux tailles différentes de blocs sont représentées à la figure 7 32x32 et 16x16 pixels. Cependant un nombre plus élevé de tailles peut être envisagé pour des applications spécifiques, notamment si l'on sait que la quantité d'information varie beaucoup d'une zone à l'autre des images à coder. Dans tous les cas, la division de l'image a pour résultat un ensemble de M blocs An.i à An,M, mémorisés en mémoire 25. Les blocs An 1 à An,M seront compressés, ou codés, les uns à la suite des autres, dans un ordre quelconque. Cet ordre est de préférence prédéterminé et est alors l'ordre dans lequel seront ensuite décompressés, ou décodés, les blocs, ce qui rend inutile de repérer les blocs par un indice ou par des coordonnées. En variante, il est possible de repérer les blocs et d'associer le repérage, indice ou coordonnées, au bloc codé, ce qui permet de décompresser les blocs dans un ordre quelconque, qui peut être différent de l'ordre utilisé à la compression. L'étape E2 est suivie de l'étape E3, qui est un test sur la valeur du paramètre n. Si le paramètre n est égal à 1, L'étape E3 est suivie de l'étape E4 à laquelle une image supplémentaire g0 est ajoutée à la séquence en tant qu'image de référence pour la première image f1 de la séquence. L'image supplémentaire g0 est quelconque, par exemple une image uniformément grise. Si à l'étape E3 le paramètre n est supérieur à 1, L'étape E3 est suivie de l'étape E5, de même que l'étape E4 est suivie de l'étape E5. Cette dernière est une initialisation d'un paramètre m à 1, pour considérer le premier bloc A dans l'image f,. L'étape suivante E6 est la division de une ou plusieurs images de référence en blocs de pixels adjacents, mémorisés en mémoire 25. La taille des blocs dépend de la taille des blocs à coder An,m. De préférence, les blocs des images de référence sont F2 fois plus grands que les blocs à coder, où F est un entier par exemple égal à deux, ce qui permet d'exploiter beaucoup de détails de l'image de référence. Les blocs des images de référence sont ensuite souséchantillonnés du facteur F, pour travailler sur des blocs ayant le même nombre de pixels que les blocs à coder. Selon une variante plus simple à mettre en oeuvre, les blocs des images de référence ont la même taille que les blocs à coder. L'étape E6 est suivie de l'étape E7 qui est la sélection de blocs source Dni,m,i à Dn1,m,K dans une ou plusieurs images de référence relativement au bloc à coder Anm de l'image f, selon l'une des variantes suivantes - les blocs source sont sélectionnés dans une image de référence qui précède l'image en cours de codage; - les blocs source sont sélectionnés dans plusieurs images de référence qui précèdent l'image en cours de codage; - les blocs source sont sélectionnés dans une image de référence qui précède, et dans une image de référence qui suit, L'image en cours de codage; - les blocs source sont sélectionnés dans plusieurs images de référence qui précèdent, et/ou dans plusieurs images de référence qui suivent, L'image en cours de codage. Dans chacune des variantes précédentes, la ou les images de référence sont des images de la séquence, ou sont des images de la séquence qui ont été codées puis décodées selon l'invention. Ce dernier cas permet de mieux restituer l'image lors du décodage qui sera exposé dans la suite. En effet, seules des images décodées seront disponibles lors du décodage ; il est donc préférable d'utiliser également des images décodées en tant qu'images de référence pour le codage afin de ne pas introduire d'erreur. Selon un mode préféré de réalisation qui est plus particulièrement pris en compte ici, on considère une seule image de référence g1 qui est l'image précédant l'image fn, préalablement codée puis décodée selon l'invention. Le nombre K de blocs source est prédéterminé, et vaut par exemple 4. En variante, le nombre K est un paramètre de réglage de l'algorithme. Les blocs source sont sélectionnés par leur emplacement dans l'image de référence gn-1 en fonction de l'emplacement du bloc à coder An,m dans l'image f,. De manière générale, les blocs source sont sélectionnés dans une région de l'image précédente qui dépend de la région du bloc à coder dans l'image considérée. De préférence, les deux régions sont similaires, c'est-à-dire que la superposition de l'image considérée et de l'image source conduit au recouvrement partiel des blocs source par le bloc à coder. En variante, il est possible de sélectionner les blocs source dans une région "translatée" par rapport à la région du bloc à coder. Cette variante est intéressante dans le cas où l'on sait que l'image à coder représente une scène translatée par rapport à l'image de référence. Les figures 8a à 8f représentent différents exemples de sélection de blocs source. Dans chacune des figures 8a à 8f, le bloc à coder An.m de l'image considérée fn a été superposé aux blocs source Dn.i,m.i à Dn1,m4 de l'image source gon 1. Dans les six exemples, on considère quatre blocs source de même taille que le bloc à coder An,m. A la figure 8a, le bloc à coder An,m est dans une partie centrale de l'image f, ; les quatre blocs source sont adjacents et le bloc à coder est globalement centré sur les quatre blocs source sélectionnés. Aux figures 8b à 8e, le bloc à coder An,m se trouve sur un bord de l'image représenté par une ligne en trait pointillé. Deux des blocs source recouvrent partiellement les deux autres blocs source, de sorte que le bloc à coder recouvre une partie de chacun des blocs source. A la figure 8f, le bloc à coder An,rn est dans un coin de l'image, et les quatre blocs source se recouvrent partiellement, de sorte que le bloc à coder recouvre une partie de chacun des blocs source. En variante, lorsque le bloc à coder est sur un bord ou dans un coin de l'image, les quatre blocs source sont adjacents, et deux ou trois des blocs source sont tronqués et complétés soit par un complément uniformément gris, soit par un complément déterminé par extension de l'image, par exemple par symétrie ou par périodisation de l'image. L'étape E7 est suivie de l'étape E8, à laquelle une transformation entre les blocs source et le bloc à coder est calculée. Selon un mode préféré de réalisation, la transformation est une approximation multilinéaire, de la forme : Tn.m = n,mk , bnm} permettant de construire le bloc ARn,m = #k ( an,m,k X Dn-1,m,k ) + bn,m . Dans cette expression, an m k est une fonction d'échelle, ici une fonction constante, ou coefficient, pour un bloc source donné Dn1mk et de norme inférieure à l'unité, et b n,m est une fonction de décalage des niveaux de gris, ici une fonction constante, ou coefficient, pour le bloc à coder Anm. La fonction an,m,k s'applique à chacun des pixels du bloc Dn-1,m,k, ce qui revient ici à multiplier tous les pixels par le coefficient n,m,k. Les fonctions, ici les coefficients, an,m,k et b n,m sont déterminées pour minimiser une distance d(An,m, ARn,m) entre le bloc à coder An,m et le bloc reconstruit ARnrn en appliquant la transformation Tn,m aux blocs source selon la formule donnée plus haut. Selon un mode de réalisation simple à mettre en oeuvre, les fonctions an,m,k et bn,m sont discrétisées et un nombre limité de valeurs possibles pour les coefficients an,m,k est testé. Par exemple, chaqu - la transformation combine une approximation multilinéaire calculée sur les blocs source et des transformations géométriques, telles que rotation, des blocs source, - la transformation est de forme polynomiale, par exemple d'ordre deux ou trois, calculée sur les valeurs des pixels des blocs source. Ce type de transformation donne des résultats plus précis, tout en étant plus long à calculer. L'étape suivante El 0 est un test pour vérifier si m est égal à M, c'està-dire si le bloc qui vient d'être codé est le dernier de l'image courante. S'il reste au moins un bloc à coder dans l'image fn, L'étape ElO est suivie par l'étape El 1 à laquelle le paramètre m est incrémenté de une unité, pour considérer le bloc suivant dans l'image fn. L'étape El 1 est suivie de l'étape E7 précédemment décrite. Lorsque le bloc qui vient d'être codé est le dernier de l'image courante, L'étape E10 est suivie de l'étape E12 qui est un test pour vérifier si l'image fn qui vient d'être compressée est la dernière de la séquence. Si ce n'est pas le cas, L'étape E12 est suivie de l'étape E13 qui est la construction de l'image décompressée gon . L'application de chacune des transformations Tn,m précédemment déterminées aux blocs source reconstruit chacun des blocs ARn,m, dont la totalité forme l'image décodée gn. L'image gn est mémorisée en mémoire 25 pour être utilisée pour le codage de l'image suivante fn+i (étape E6). L'étape E13 est suivie de l'étape E14 pour incrémenter le paramètre n de une unité. L'étape E14 est suivie de l'étape E2 précédemment décrite. Dans le cas où n=N, c'est-à-dire pour la dernière image de la séquence, il n'est pas nécessaire ici de reconstruire l'image gN. Lorsque la réponse à l'étape El 1 est positive, toutes les images f1 à fN de la séquence ont été compressées en des images compressées h1 à hN. Selon un autre mode de réalisation, non représenté, le procédé de codage est modifié de la manière suivante. Pour coder une image de la séquence, on considère une image de référence, choisie comme exposé plus haut. Les blocs source ne sont plus sélectionnés pour chacun des blocs à coder de l'image ; des blocs source sont sélectionnés dans l'image de référence, une fois pour toutes pour l'image à coder, et sont ensuite utilisés pour coder tous les blocs de l'image à coder. Le codage est ainsi plus rapide, puisque la sélection des blocs source n'est effectuée qu'une seule fois par image; les distorsions introduites par le codage seront cependant plus grandes qu'avec le mode de réalisation précédemment décrit. En référence à la figure 9, le premier mode de réalisation d'algorithme de décodage de la séquence compressée d'images numériques comporte des étapes E20 à E30. L'étape E20 est une initialisation à laquelle le paramètre n est initialisé à 1, pour traiter la première image compressée h1 de la séquence. A l'étape suivante E21, une image supplémentaire g0 est ajoutée à la séquence en tant qu'image source pour la première image compressée h1 de la séquence. L'image supplémentaire g0 est identique à celle considérée à l'étape E4 précédemment décrite, et est par exemple une image uniformément grise. L'étape suivante E22 est l'initialisation du paramètre m à 1, pour considérer le premier bloc à reconstruire. Les blocs sont de préférence traités dans le même ordre qu'à la compression, ce qui évite d'avoir à mémoriser et à traiter un indice, ou des coordonnées, pour repérer les blocs. L'étape suivante E23 est la division de l'image de référence g.1 en blocs de pixels adjacents, qui sont les blocs source mémorisés en mémoire 55. L'étape E23 est identique à l'étape E6. L'étape suivante E24 est la sélection de blocs source Dnî,mi à Dn-l,m,K dans l'image de référence go 1, relativement au bloc à reconstruire ARnm. L'image de référence est sélectionnée de la même manière que pour le codage, avec les mêmes variantes possibles. Selon le mode préféré de réalisation, L'image de référence g1 est l'image décodée précédant l'image hn. Les blocs source sont sélectionnés de la même manière que pour le codage (étape E6), avec les mêmes variantes possibles. L'étape E24 est suivie de l'étape E25 à laquelle la transformation Tn,m définie par les fonctions an,m,k et bn,m est appliquée aux blocs source Dn 1 m 1 à Dn-l,m,K sélectionnés à l'étape précédente E24, selon la formule: ARn,m = Zk an,m,k X Dn-1,m,k ) + bn,m. L'étape E25 a pour résultat le bloc décodé ARn,m mémorisé en mémoire 55. L'étape suivante E26 est un test pour déterminer si le bloc qui vient d'être décompressé est le dernier de l'image en cours de décompression. Si ce n'est pas le cas, L'étape E26 est suivie de l'étape E27 à laquelle le paramètre m est incrémenté de une unité pour considérer le bloc suivant. L'étape E27 est suivie de l'étape E24 précédemment décrite. Lorsque tous les blocs de l'image en cours ont été décompressés, L'étape E26 est suivie de l'étape E28 à laquelle l'image décompressée gn est reconstruite et par exemple affichée sur un écran, et/ou mémorisée. De manière générale, L'étape E28 est le transfert de l'image gn aux moyens utilisateurs 6. L'étape suivante E29 est un test pour déterminer si l'image qui vient d'être décompressée est la dernière image de la séquence. S'il reste au moins une image à décompresser, L'étape E29 est suivie de l'étape E30 à laquelle le paramètre n est incrémenté de une unité, pour considérer l'image suivante dans la séquence. L'étape E30 est suivie de l'étape E22 précédemment décrite. Un autre mode de réalisation du procédé de codage selon l'invention est représenté aux figures 10, Il et 12 sous la forme d'un algorithme comportant des étapes E31 à E41 mémorisées en mémoire 23 (figure 3). Dans ce mode de réalisation, la taille des blocs à coder est déterminée de manière adaptative, en fonction de la quantité d'information présente dans les blocs à coder et en fonction du "mouvement" des blocs à coder par rapport à l'image de référence, c'est-à-dire des modifications entre les pixels du bloc à coder et les pixels des blocs source de l'image de référence. Un arbre de découpe, ici un arbre quaternaire, est associé à chaque image à coder. L'arbre quaternaire représente la découpe particulière de chaque image. Chaque image compressée hn comporte un ensemble de transformations {Tn,m} et l'arbre quaternaire associé. L'étape E31 est une initialisation d'un paramètre n à 1, pour considérer tout d'abord la première image f1 de la séquence. L'étape suivante E32 est la division de l'image courante fn en blocs de taille initiale. Par exemple, comme représenté à la figure 11, L'image fn a une taille de 128x96 pixels, et elle est divisée en douze blocs de taille 32x32 pixels. Chaque bloc de taille initiale An à à An 12 est associé à une racine de l'arbre quaternaire représenté à la figure 12, c'est-à-dire à un noeud de l'arbre qui n'a pas de données associées et qui n'a pas encore été subdivisé. Un marqueur est initialisé à la valeur zéro pour chaque racine. L'étape suivante E33 est la recherche d'une transformation entre un bloc An,m de l'image à coder fn et des blocs source. L'étape E33 est similaire aux étapes E3 à E8 précédemment détaillées en référence à la figure 5. L'étape E33 a pour résultat une transformation Tn,m déterminée pour le bloc à coder An,m. Les différentes variantes possibles pour la sélection de l'image de référence et des blocs source, pour le choix de la transformation et de la distance, précédemment exposées, sont ici applicables de la même manière que pour le premier mode de réalisation. L'étape suivante E34 est un test pour déterminer si la distance d(Anm, ARn,m) calculée à l'étape précédente est inférieure à un seuil prédéterminé S. Si la réponse est positive, cela signifie que l'approximation calculée permet de reconstruire un bloc ARnm suffisamment proche du bloc à coder An,m ; I'étape E34 est suivie de l'étape E35 à laquelle la transformation Tn,m est mémorisée en tant que bloc de données D associé au noeud du bloc Ans . dans l'arbre quaternaire de l'image fn. Le marqueur demeure à la valeur zéro. Le bloc reconstruit ARn,m est calculé et mémorisé pour construire l'image gn. L'étape E35 est suivie de l'étape E36 à laquelle il est testé si le bloc qui vient d'être traité est le dernier de l'image en cours de codage. Si ce n'est pas le cas, L'étape E36 est suivie de l'étape E37 pour considérer un autre bloc de l'image f,. L'étape E37 est suivie de l'étape E33 précédemment décrite. Lorsque tous les blocs de l'image fn ont été codés, L'étape E36 est suivie de l'étape E38 à laquelle il est testé si toutes les images de la séquence ont été traitées. S'il reste au moins une image à coder, étape E38 est suivie de l'étape E39 pour considérer une autre image de la séquence. L'étape E39 est suivie de l'étape E32. Si, à l'étape E34, la distance d(An,m ARnm) calculée à l'étape précédente E33 est supérieure au seuil S, L'étape E33 est suivie par l'étape E40 à laquelle il est testé si la taille du bloc à coder courant Anm a atteint une valeur minimale prédéterminée. Si la réponse est positive, L'étape E40 est suivie de l'étape E35, c'est-à-dire que la transformation déterminée est mémorisée, même si elle ne satisfait pas au critère de l'étape E34, dans le cas où la taille du bloc à coder courant An,m a atteint la valeur minimale. Si la réponse au test de l'étape E40 est négative, cette étape est suivie de l'étape E41 à laquelle le bloc à coder courant An,m est divisé en un nombre prédéterminé M1 de sous-blocs A1n.m à Aï nom Comme représenté à la figure 11, la division est par exemple réalisée en quatre sous-blocs. Dans l'arbre quaternaire, le marqueur du noeud associé au bloc divisé An,m est mis à la valeur 1, pour indiquer que le bloc correspondant a été divisé. La division du bloc a pour résultat quatre sous-blocs, dont les noeuds dans l'arbre quaternaire ont des marqueurs initialisés à zéro. L'ordre des sous-blocs dans l'arbre quaternaire correspond à leur position dans le bloc divisé, et cet ordre est le même pour tous les blocs divisés : par exemple, sous-bloc bas droit, sous-bloc bas gauche, sous-bloc haut droit, sous-bloc haut gauche. L'information de position des sous-blocs est exploitée au décodage. L'étape E41 est suivie de l'étape E33 de calcul d'une transformation, pour chacun des sous-blocs déterminés à l'étape E41. Chacun de ces sousblocs est codé de la même manière qu'un bloc An,m. Les étapes suivantes sont parcourues successivement pour chaque sous-bloc A1nm à AMln,m , ce qui conduit notamment à la détermination d'une transformation pour le sous-bloc courant, et à sa mémorisation si le critère de l'étape E34 est satisfait, ou si la taille minimale de sous-bloc est atteinte (étape E40). Pour chaque sous-bloc, si le critère de l'étape E34 n'est pas satisfait, et si la taille minimale de sous-bloc n'est pas atteinte (étape E40), le sous-bloc considéré est lui-même divisé à l'étape E41 en sous-blocs de taille inférieure. Ainsi, par exemple, à la figure 11, L'image fn est divisée en douze blocs An 1 à An 12 les blocs An,3 et An,6 sont divisés en quatre sous-blocs, et l'un de ces sous-blocs A4n,6 est divisé en quatre sous-blocs A4 l n 6, A4,2,6, A4 3n 6 et A4,4n,6. Comme déjà précisé, le codage d'une image fn de la séquence a pour résultat une image compressée hn comportant un ensemble de transformations (T,,) associé à un arbre quaternaire. L'algorithme de décodage correspondant à ce mode de réalisation est représenté à la figure 13 et comporte des étapes E200 à E300 respectivement analogues aux étapes E20 à E30 de l'algorithme décrit en référence à la figure 9 avec les modifications suivantes: - les étapes E220 et E270 de sélection du premier bloc à reconstruire ARn,m et du bloc suivant, respectivement, comportent la lecture de l'arbre quaternaire associé à l'image, notamment pour déterminer la taille et la position du bloc à reconstruire. - L'étape E270 est suivie de l'étape E230 de division de l'image de référence. Ces modifications sont nécessaires pour tenir compte de la taille et de la position des blocs lors du décodage ; notamment, la taille et la position des blocs source dépendent de celles du bloc à reconstruire. Un autre mode de réalisation de procédé de codage selon l'invention est représenté à la figure 14, et comporte des étapes E51 à E67 mémorisées en mémoire 23 (figure 3). Par rapport au premier mode de réalisation, ce mode de réalisation consiste à rechercher tout d'abord, pour chaque bloc à coder, s'il peut être codé par mise en correspondance avec un bloc de l'image de référence. Si ce codage est possible, le bloc est codé par mise en correspondance de bloc (en Anglais : block matching) ; sinon, le bloc est codé au moyen d'une transformation déterminée comme dans le premier mode de réalisation. Les étapes E51 à E56 sont identiques aux étapes El à E6 précédemment décrites en référence au premier mode de réalisation (figure 5). L'étape E56 est suivie de l'étape E57 à laquelle le bloc à coder courant Anm est codé par mise en correspondance de bloc : il est recherché dans l'image de référence g1 un bloc de correspondance Dni,mj qui soit le plus semblable possible au bloc à coder, selon un critère prédéterminé, par exemple une mesure de distance d(Anm, Dn1mj) entre le bloc à coder et le bloc de correspondance. Comme exposé plus haut, différents types de distance peuvent être mis en oeuvre. Le bloc de correspondance pour lequel le critère est minimisé est sélectionné. L'étape suivante E58 est un test pour vérifier si le critère est inférieur à un seuil prédéterminé. Si la réponse est positive, la position relative du bloc de correspondance Dni,mji dans l'image de référence go 1, par rapport à la position du bloc à coder An,m, dans l'image en cours de codage fn, c'est-à-dire le vecteur de mouvement Vn m j, est mémorisée en mémoire 25, à l'étape E59. Un indicateur In m est également mémorisé, pour indiquer que le bloc considéré est codé par mise en correspondance de bloc. Cet indicateur est par exemple un bit supplémentaire mis à la valeur un. Le vecteur de mouvement Vnmj et l'indicateur 1n,m représentent l'information de codage du bloc An,m. L'étape E59 est suivie des étapes E63 à E67, respectivement identiques aux étapes E70 à E14 précédemment décrites. Si la réponse est négative à l'étape E58, c'est-à-dire si le codage par mise en correspondance de bloc ne donne pas un résultat satisfaisant, l'étape E58 est suivie des étapes E60 à E67, respectivement analogues aux étapes E7 à E14 précédemment décrites. L'étape E61 a pour résultat une transformation Tnm . L'indicateur In,m, par exemple le bit supplémentaire mis à la valeur zéro, est associé à chaque transformation Tn m. En variante, les deux modes de réalisation précédents sont combinés . on essaie tout d'abord de coder les blocs par mise en correspondance de blocs, et ensuite, si ce premier codage n'est pas possible, au moyen d'une transformation ; les étapes de codage par détermination d'une transformation incluent alors la variation de la taille du bloc à coder en fonction d'un critère. Le procédé de décodage correspondant au codage de la figure 14 est représenté à la figure 15 et comporte des étapes E70 à E91 mémorisées en mémoire 53 du dispositif 5 (figure 4). Les étapes E70 à E73 sont respectivement identiques aux étapes E20 à E23 décrites en référence à la figure 9. L'étape suivante E74 est un test pour déterminer si le bloc en cours de construction ARn,m a été codé par mise en correspondance de blocs. Le test consiste à analyser la valeur de l'indicateur Inm et à rechercher si l'indicateur ,m est à la valeur un. Si la réponse est positive, alors l'étape suivante E75 consiste à lire dans l'image de référence gn-1 le bloc de correspondance Dn 1 m j qui est déterminé par le vecteur de mouvement formant la forme compressée Vn m j et à recopier ce bloc en tant que bloc décodé Arum. L'étape E75 est suivie des étapes E78 à E91 qui sont respectivement identiques aux étapes E25 à E30 précédemment décrite (figure 9). Si la réponse à l'étape E74 est négative, l'étape E74 est suivie des étapes E76 à E91 qui sont respectivement identiques aux étapes E24 à E30 précédemment décrites (figure 9). Un autre mode de réalisation de procédé de codage selon l'invention est représenté à la figure 16 et comporte des étapes E401 à E414 mémorisées en mémoire 23 (figure 3). Par rapport au premier mode de réalisation, ce mode de réalisation consiste à diviser chaque image à coder en zones, à analyser les zones pour déterminer si elles sont fixes ou mobiles, puis à coder les zones fixes selon un procédé de codage d'image fixe, et les zones mobiles comme dans le premier mode de réalisation. L'étape E401 est la division de chacune des images en zones prédéterminées Zon,1 à Zn,El OÙ E est un entier valant cinq à titre d'exemple. La figure 17 représente l'image fn divisée en cinq zones Z,1 à Zn,E qui sont des bandes de même taille. L'étape suivante E402 est une analyse des zones pour déterminer si chacune des zones Zne est "fixe" ou "mobile". Par zone fixe, on entend une zone identique, ou très peu différente, de la zone ayant le même emplacement dans l'image précédente dans la séquence. Inversement, la zone est dite mobile si elle est suffisamment différente de la zone ayant le même emplacement dans l'image précédente dans la séquence. La différence entre la zone en cours de traitement et la zone ayant le même emplacement dans l'image précédente est évaluée par une mesure de distance entre les deux zones et la comparaison de la distance à un seuil. Comme exposé précédemment, différents types de distance sont envisageables. Un indicateur de zone lN ne est associé à chacune des zones pour indiquer si la zone considérée est fixe ou mobile. L'indicateur de zone lN n,e comporte par exemple un bit mis à un ou à zéro pour signifier zone fixe ou zone mobile. L'étape E402 est suivie de l'étape E403, qui est une initialisation à laquelle le paramètre n est initialisé à un, pour considérer tout d'abord la première image f1 de la séquence. L'étape E403 est suivie de l'étape E404 à laquelle la première image f1 de la séquence est codée selon une méthode de codage d'image fixe. Cette méthode est par exemple une méthode de type JPEG (Joint Picture Expert Group), ou le procédé de codage décrit dans la demande de brevet intilulée "Procédé et dispositif de codage et décodage de données, notamment d'images numériques" et déposée le même jour que la présente demande par la demanderesse. Le type de codage, en l'occurrence codage d'image fixe, est mémorisé par un indicateur. Cet indicateur n'est mémorisé que pendant le codage et n'est pas associé à la forme codée des zones de l'image f1. Le paramètre n est incrémenté de un pour considéré ensuite l'image suivante f2. L'étape suivante E405 est une initialisation d'un paramètre e à 1, pour considérer la première zone Zn 1 dans l'image courante fn. L'étape suivante E406 est un test pour déterminer si la zone courante Zn,e est fixe ou mobile. Le test consiste à lire et analyser la valeur de l'indicateur de zone INn,e. Si la zone en cours de traitement Zn,e est mobile, l'étape E406 est suivie de l'étape E407 à laquelle la zone Zn.e est divisée en blocs, chaque bloc est ensuite codé par une transformation Tnm entre le bloc et des blocs source pris dans l'image de référence. L'étape E407 est équivalente aux étapes E2 et E5 à El 1 précédemment décrites (figure 5). Si la zone en cours de traitement Zn,e est fixe, l'étape E406 est suivie de l'étape E408 qui est un test pour déterminer si la zone a déjà été codée au cours du codage d'une image précédente. Ce test consiste à lire l'indicateur de type de codage de la zone considérée de l'image précédente. Si la réponse à l'étape E408 est négative, cette étape est suivie de l'étape E409 à laquelle la zone Zne est codée selon la méthode de codage d'image fixe, par exemple la méthode de type JPEG (Joint Picture Expert Group), ou le procédé de codage décrit dans la demande de brevet intilulée "Procédé et dispositif de codage et décodage de données, notamment d'images numériques" et déposée le même jour que la présente demande par la demanderesse. L'indicateur de type de codage indique que la zone considérée est codée selon un codage d'image fixe. Si la réponse est positive, la zone considérée n'est pas codée. Ainsi, une zone fixe dans plusieurs images successives est codée une seule fois pour la première de ces images, puis n'est pas codée pour les images suivantes. En conséquence, le codage est rapide et nécessite peu de bits. L'étape suivante E410 est un test pour vérifier si e est égal à E, c'est-à-dire si la zone qui vient d'être codée est la dernière zone à coder de l'image courante fn. S'il reste au moins une zone à coder dans l'image fnl l'étape E410 est suivie par l'étape E411 à laquelle le paramètre e est incrémenté de une unité, pour considérer la zone suivante dans l'image fn. L'étape E41 1 est suivie de l'étape E406 précédemment décrite. Lorsque la zone qui vient d'être codée est la dernière de l'image courante, l'étape E410 est suivie de l'étape E412 qui est un test pour vérifier si l'image fn qui vient d'être compressée est la dernière de la séquence. Si ce n'est pas le cas, l'étape E412 est suivie de l'étape E413 qui est la construction des zones mobiles de l'image décompressée gn Une zone mobile est reconstruite par l'application de chacune des transformations Tn m précédemment déterminées aux blocs source pour former des blocs Au nom Les zones mobiles de l'image gn sont mémorisées en mémoire 25 pour être utilisées pour le codage des zones mobiles de l'image suivante fun+1. L'étape E413 est suivie de l'étape E414 pour incrémenter le paramètre n de une unité. L'étape E414 est suivie de l'étape E402 précédemment décrite. Dans le cas où n=N, c'est-à-dire pour la dernière image de la séquence, il n'est pas nécessaire ici de reconstruire les zones mobiles de l'image gN Lorsque la réponse à l'étape El 1 est positive, toutes les images f1 à fun de la séquence ont été compressées en des images compressées h1 à hN. En variante, l'analyse des zones est effectuée au fur et à mesure du codage des images. Le procédé de décodage correspondant au codage de la figure 16 est représenté à la figure 18 et comporte des étapes E520 à E530 mémorisées en mémoire 53 du dispositif 5 (figure 4). L'étape E520 est une initialisation à laquelle le paramètre n est initialisé à 1, pour traiter la première image compressée h1 de la séquence. A l'étape suivante E521, la première image compressée h1 de la séquence est décodée selon une méthode qui dépend de la méthode de codage de l'étape E409 précédemment décrite. Le paramètre n est incrémenté de un pour passer à l'image suivante h2. L'étape suivante E522 est l'initialisation du paramètre e à 1, pour considérer la première zone à reconstruire. Les zones sont de préférence traitées dans le même ordre qu'à la compression, ce qui évite d'avoir à mémoriser et à traiter un indice, ou des coordonnées, pour repérer les zones. L'étape suivante E523 est un test pour déterminer si la zone courante a été codée en tant que zone fixe ou en tant que zone mobile. Le test consiste à lire la valeur de l'indicateur de zone IN,.. Si la zone courante est une zone fixe, L'étape E523 est suivie de l'étape E524 à laquelle il est testé si la zone ayant le même emplacement dans l'image précédente a été décodée lors de la réalisation précédente de l'étape E526. Si la zone ayant le même emplacement dans l'image précédente a été décodée, cela signifie que la zone courante est identique à une zone déjà décodée. L'étape E524 est suivie de l'étape E525 à laquelle cette zone précédemment décodée est recopiée en tant que zone décodée pour la zone courante de l'image courante. Si la zone ayant le même emplacement dans l'image précédente n'a pas été décodée, L'étape E524 est suivie de l'étape E526 à laquelle la zone courante est décodée selon une méthode qui dépend de la méthode de codage. Un indicateur de zone décodée est mémorisé pour être testé lors d'une réalisation ultérieure de l'étape E524. Ainsi, une zone qui est fixe dans plusieurs image successives est décodée pour la première de ces images puis est recopiée pour les images suivantes. Si la zone courante est une zone mobile, l'étape E523 est suivie de l'étape E527 à laquelle la zone mobile est décodée. Des blocs source Dni,nn,i à Dn-l,m,K sont sélectionnés dans l'image de référence go 1, relativement à chaque bloc à reconstruire Art m de la zone courante. L'image de référence est sélectionnée de la même manière que pour le codage, la transformation Tn,m définie par les fonctions an,m,k et bn,m est appliquée aux blocs source Dn1m1 à Dn1.m,K sélectionnés, selon la formule: ARn,m = Zk ( an,m,k X Dn-l,m,k) + bn,m. L'étape E527 a pour résultat les blocs décodés ARn,m de la zone courante, qui sont mémorisés en mémoire 55. L'étape suivante E528 est un test pour déterminer si la zone qui vient d'être décompressée est la dernière de l'image en cours de décompression. Si ce n'est pas le cas, l'étape E528 est suivie de l'étape E529 à laquell Bien entendu, la présente invention n'est nullement limitée aux modes de réalisation décrits et représentés, mais englobe, bien au contraire, toute variante à la portée de l'homme du métier. REVENDICATIONS 1. Procédé de codage d'un ensemble de données représentatives de grandeurs physiques, ledit ensemble étant composé de sous-ensembles (fn), caractérisé en ce qu'il comporte pour chacun des sous-ensembles, les étapes de: - division (E2) du sous-ensemble en blocs de données à coder (An,m)7 - division (E6) d'au moins un sous-ensemble de référence (gn-1) en blocs source, puis, pour chacun des blocs de données à codeur, les étapes de: - sélection (E7) d'un nombre prédéterminé de blocs source (Dn 1,m,1, i 1,m,K) dans ledit au moins un sous-ensemble de référence, - détermination (E8) d'une transformation (Tnm) entre les blocs source sélectionnés et le bloc à coder. 2. Procédé de codage d'un ensemble de données représentatives de grandeurs physiques, ledit ensemble étant composé de sous-ensembles (fn), caractérisé en ce qu'il comporte pour chacun des sous-ensembles, les étapes de: - division (E52) du sous-ensemble en blocs de données à coder, - division (E56) d'au moins un sous-ensemble de référence (go 1) en blocs source, puis, pour chacun des blocs de données à coder, les étapes de: - mise en correspondance (E57) du bloc à coder avec l'un des blocs source, et, si un critère de correspondance n'est pas satisfait (E58), - sélection (E60) d'un nombre prédéterminé de blocs source (Dn 1,m,1, i 1,m,K) dans ledit au moins un sous-ensemble de référence, - détermination (E61) d'une transformation entre les blocs source sélectionnés et le bloc à coder. 3. Procédé de codage selon la revendication 2, caractérisé en ce que le critère de correspondance de l'étape de mise en correspondance comporte une mesure d'une première distance entre le bloc à coder (An,m) et le bloc source (Dni,mj). 4. Procédé de codage d'un ensemble de données représentatives de grandeurs physiques, ledit ensemble étant composé de sous-ensembles (fn), caractérisé en ce qu'il comporte pour chacun des sous-ensembles, les étapes de: - division (E401) du sous-ensemble en zones (Zn,1 à Zn,E), - détermination (E402) du type de chaque zone, parmi un premier type de zone et un second type de zone, en fonction d'un critère de zone, - division (E407) de chaque zone de second type en blocs de données à coder (An,m), - division (E407) d'au moins un sous-ensemble de référence (gn-1) en blocs source, puis, pour chacun des blocs de données à coder, les étapes de: - sélection (E407) d'un nombre prédéterminé de blocs source (Dn 1,m,1, i 1,m,K) dans ledit au moins un sous-ensemble de référence, - détermination (E407) d'une transformation (Tn,m) entre les blocs source sélectionnés et le bloc à coder. 5. Procédé de codage selon la revendication 4, caractérisé en ce qu'il comporte le calcul (E406) d'une seconde distance entre chaque zone et une zone correspondante dans un sous-ensemble adjacent, en ce que le critère de zone consiste à comparer cette distance à un seuil, et en ce que, si cette distance est inférieure au seuil, la zone considérée est de premier type, et de second type sinon. 6. Procédé de codage selon l'une quelconque des revendications 1 à 5, caractérisé en ce que la transformation minimise une troisième distance (d(Anm, Tn,m)) entre le bloc à coder (An,m) et son approximation calculée en appliquant la transformation aux blocs source sélectionnés (Dn.i,m,i s Dni,m,K) 7. Procédé de codage selon l'une quelconque des revendications 1 à 6, caractérisé en ce que la transformation est une approximation multilinéaire. 8. Procédé de codage selon l'une quelconque des revendications 1 à 6, caractérisé en ce que la transformation est une approximation multilinéaire combinée avec une transformation géométrique. 9. Procédé de codage selon l'une quelconque des revendications 1 à 6, caractérisé en ce que la transformation est un polynôme sur les valeurs des coefficients des blocs source. 10. Procédé de codage selon l'une quelconque des revendications 6 à 9, caractérisé en ce que le calcul de la troisième distance comporte le calcul d'une différence entre les valeurs des données du bloc à coder et les valeurs de son approximation calculée en appliquant la transformation aux blocs source. 11. Procédé de codage selon l'une quelconque des revendications 6 à 11, caractérisé en ce que la troisième distance est l'erreur quadratique moyenne calculée entre les valeurs du bloc à coder (An,m) et les valeurs du bloc résultant de l'application de l'approximation aux blocs source (Dn.i,m,i à Dni,m.K). 12. Procédé de codage selon l'une quelconque des revendications 1 à 11, caractérisé en ce que, pour le premier sous-ensemble à coder, ledit au moins un sous-ensemble de référence (g0) est un sous-ensemble prédéterminé. 13. Procédé de codage selon l'une quelconque des revendications 1 à 11, caractérisé en ce que ledit au moins un sous-ensemble de référence est un sous-ensemble de l'ensemble. 14. Procédé de codage selon l'une quelconque des revendications 1 à 11, caractérisé en ce que ledit au moins un sous-ensemble de référence est un sous-ensemble (go 1) de l'ensemble, qui a été préalablement codé puis décodé. 15. Procédé de codage selon l'une quelconque des revendications 1 à 14, caractérisé en ce qu'au moins deux sous-ensembles de référence sont considérés, dont au moins un premier est situé parmi les sous-ensembles précédants le sous-ensemble en cours de codage et au moins un second est situé parmi les sous-ensembles suivants le sous-ensemble en cours de codage. 16. Procédé de codage selon l'une quelconque des revendications 1 à 15, caractérisé en ce que les blocs source (Dn1m1 , Dn1,mK) sont sélectionnés dans une partie du sous-ensemble de référence (gn-1) qui dépend de la partie dans laquelle est situé le bloc à coder (An,m) dans le sous-ensemble en cours de codage (fn). 17. Procédé de codage selon l'une quelconque des revendications 1 à 15, caractérisé en ce que les blocs source (Dn1,m,1,Dn1mK) ont une taille qui est déterminée en fonction de la taille du bloc à coder (An,m). 18. Procédé de codage selon l'une quelconque des revendications 1 à 17, caractérisé en ce que les blocs source (Dn 1,m,1, i 1,m,K) ont une taille multiple d'un facteur F2 de celle du bloc à coder (An,m) et sont souséchantillonnés du facteur F, où F est un entier. 19. Procédé de codage selon l'une quelconque des revendications 1 à 17, caractérisé en ce que les blocs source (Dn 1,m,1, i 1,m,K) ont la même taille que le bloc à coder (An,m). 20. Procédé de codage selon l'une quelconque des revendications 1 à 19, caractérisé en ce que le bloc à coder (Anm) est de taille prédéterminée. 21. Procédé de codage selon l'une quelconque des revendications 1 à 19, caractérisé en ce que le bloc à coder (Anm) est de taille variable, en fonction d'un critère de taille. 22. Procédé de codage selon la revendication 21, caractérisé en ce qu'il comporte le calcul (E38) d'une quatrième distance entre le bloc à coder et l'approximation calculée par l'application de la transformation aux blocs source, en ce que le critère de taille consiste à comparer (E39) la quatrième distance à un seuil, et en ce que si la quatrième distance est supérieure au seuil, et si une taille minimale de bloc n'a pas été atteinte, le bloc en cours de codage est divisé (E47) en blocs de taille inférieure. 23. Procédé de décodage d'un ensemble de données représentatives de grandeurs physiques, L'ensemble étant composé de sousensembles (hn) qui comportent chacun des représentations codées de blocs de données, chacun des blocs étant codé au moyen d'une transformation (Tn,m) entre des blocs source sélectionnés dans au moins un sous-ensemble de référence et le bloc, caractérisé en ce qu'il comporte, pour chacun des blocs de chacun des sous-ensembles à décoder, l'étape d'application (E25) de la transformation aux blocs source pour décoder le bloc (ARn,m). 24. Procédé de décodage d'un ensemble de données représentatives de grandeurs physiques, L'ensemble étant composé de sousensembles (hn) qui comportent chacun des représentations codées de blocs de données, caractérisé en ce qu il comporte, pour chacun des blocs de chacun des sous-ensembles à décoder, les étapes de: - recherche (E74) si le bloc est codé par mise en correspondance de blocs, et, en cas de réponse négative, le bloc étant alors codé au moyen d'une transformation (Tn,m) entre des blocs source sélectionnés dans au moins un sous-ensemble de référence et le bloc: - application (E77) de la transformation aux blocs source pour décoder le bloc. 25. Procédé de décodage selon la revendication 24, caractérisé en ce que, en cas de réponse positive à l'étape de recherche, le bloc est décodé par recopie d'un bloc de correspondance déterminé par la mise en correspondance de blocs. 26. Procédé de décodage selon l'une quelconque des revendications 23 à 25, caractérisé en ce qu'il comporte la lecture (E220, E270) de la taille et de la position des blocs à décoder. 27. Procédé de décodage d'un ensemble de données représentatives de grandeurs physiques, L'ensemble étant composé de sous ensembles (hn) qui comportent chacun des représentations codées de zones appartenant à un premier ou un second type de zone, les représentations codées du second type de zone étant réalisées par blocs de données, caractérisé en ce qu'il comporte, pour chacun des blocs des zones de second type de chacun des sous-ensembles à décoder, l'étape d'application (E525) de la transformation aux blocs source pour décoder le bloc. 28. Dispositif de codage (2) d'un ensemble de données représentatives de grandeurs physiques, ledit ensemble étant composé de sous-ensembles (fn)l caractérisé en ce qu'il comporte (24): - des moyens de division des sous-ensembles (fn) en blocs de données à coder (An,m), - des moyens de division d'au moins un sous-ensemble de référence (go 1) en blocs source, pour chacun des sous-ensembles, - des moyens de sélection d'un nombre prédéterminé de blocs source (Dn 1,m,1, i 1,m,K) dans ledit au moins un sous-ensemble de référence (gon 1), pour chacun des blocs de données à coder (An m) de chacun des sousensembles (fn), et - des moyens de détermination d'une transformation (Tnm) entre les blocs source sélectionnés et le bloc à coder. 29. Dispositif de codage (2) d'un ensemble de données représentatives de grandeurs physiques, ledit ensemble étant composé de sous-ensembles (fn), caractérisé en ce qu'il comporte (24): - des moyens de division des sous-ensembles en blocs de données à coder (An,m), - des moyens de division d'au moins un sous-ensemble de référence (gon 1) en blocs source, pour chacun des sous-ensembles, - des moyens de mise en correspondance, pour chacun des blocs de données à coder, du bloc à coder avec l'un des blocs source, et, si un critère de correspondance n'est pas satisfait, - des moyens de sélection d'un nombre prédéterminé de blocs source (Dn 1 m 1 . Dni,m,K) dans ledit au moins un sous-ensemble de référence, pour chacun des blocs de données de chacun des sous-ensembles, et - des moyens de détermination d'une transformation (Tn,m) entre les blocs source sélectionnés et le bloc à coder. 30. Dispositif de codage (2) d'un ensemble de données représentatives de grandeurs physiques, ledit ensemble étant composé de sous-ensembles (fn), caractérisé en ce qu'il comporte (24): - des moyens de division du sous-ensemble en zones (Zn1 à Zn E). - des moyens de détermination du type de chaque zone, parmi un premier type de zone et un second type de zone, en fonction d'un critère de zone, - des moyens de division de chaque zone de second type en blocs de données à coder (An m), - des moyens de division d'au moins un sous-ensemble de référence (gon 1) en blocs source, - des moyens de sélection d'un nombre prédéterminé de blocs source (Dn-1,m,1 . Dni,m,K) dans ledit au moins un sous-ensemble de référence, pour chacun des blocs de données des zones de second type des sousensembles, et - des moyens de détermination d'une transformation (Tn,m) entre les blocs source sélectionnés et le bloc à coder. 31. Dispositif de codage selon l'une quelconque des revendications 28 à 30, caractérisé en ce que les moyens de division, sélection et détermination sont incorporés dans: - un contrôleur (24), - une mémoire morte (23) comportant un programme pour coder chacun des blocs de données, et - une mémoire vive (25) comportant des registres adaptés à enregistrer des variables modifiées au cours de l'exécution dudit programme. 32. Dispositif de décodage (5) d'un ensemble de données représentatives de grandeurs physiques, L'ensemble étant composé de sousensembles (hn) qui comportent chacun des représentations codées de blocs de données, chacun des blocs étant codé au moyen d'une transformation entre des blocs source sélectionnés dans un sous-ensemble de référence (g-j) et le bloc, caractérisé en ce qu'il comporte des moyens (54) d'application de la transformation aux blocs source, pour chacun des blocs de chacun des sousensembles à décoder. 33. Dispositif de décodage (5) d'un ensemble de données représentatives de grandeurs physiques, L'ensemble étant composé de sousensembles (hn) qui comportent chacun des représentations codées de blocs de données, caractérisé en ce qu'il comporte (54): - des moyens de recherche, pour chacun des blocs (An,m) de chacun des sous-ensembles à décoder, si le bloc est codé par mise en correspondance de blocs, et en cas de réponse négative, le bloc étant alors codé au moyen d'une transformation (Tn,m) entre des blocs source sélectionnés dans un sousensemble de référence et le bloc: - des moyens d'application de la transformation aux blocs source pour reconstruire le bloc (ARn,m). 34. Dispositif de décodage selon la revendication 32 ou 33, caractérisé en ce qu'il comporte des moyens de lecture de la taille et de la position des blocs à décoder. 35. Dispositif de décodage d'un ensemble de données représentatives de grandeurs physiques, L'ensemble étant composé de sousensembles (hn) qui comportent chacun des représentations codées de zones appartenant à un premier ou un second type de zone, les représentations codées du second type de zone étant réalisées par blocs de données, caractérisé en ce qu'il comporte des moyens d'application de la transformation aux blocs source, pour chacun des blocs des zones de second type de chacun des sous-ensembles à décoder. 36. Dispositif de décodage selon l'une quelconque des revendications 32 à 34, caractérisé en ce que les moyens d'application sont incorporés dans: - un contrôleur (54), - une mémoire morte (53) comportant un programme pour décoder chacun des blocs de données, et - une mémoire vive (55) comportant des registres adaptés à enregistrer des variables modifiées au cours de l'exécution dudit programme. 37. Appareil numérique comportant des moyens adaptés à mettre en oeuvre le procédé de codage selon l'une quelconque des revendications 1 à 22, et/ou des moyens adaptés à mettre en oeuvre le procédé de décodage selon l'une quelconque des revendications 23 à 27. 38. Appareil numérique comportant le dispositif de codage selon l'une quelconque des revendications 28 à 31, et/ou le dispositif de décodage selon l'une quelconque des revendications 32 à 36.