FR2769454A1 - Digital images coding and decoding method e.g. for gray level images, color images - Google Patents

Digital images coding and decoding method e.g. for gray level images, color images Download PDF

Info

Publication number
FR2769454A1
FR2769454A1 FR9712420A FR9712420A FR2769454A1 FR 2769454 A1 FR2769454 A1 FR 2769454A1 FR 9712420 A FR9712420 A FR 9712420A FR 9712420 A FR9712420 A FR 9712420A FR 2769454 A1 FR2769454 A1 FR 2769454A1
Authority
FR
France
Prior art keywords
blocks
block
coded
subset
transformation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
FR9712420A
Other languages
French (fr)
Inventor
Isabelle Amonou
Maryline Charrier
Claude Dierieck
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to FR9712420A priority Critical patent/FR2769454A1/en
Priority to EP98402336A priority patent/EP0905982A3/en
Publication of FR2769454A1 publication Critical patent/FR2769454A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/99Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals involving fractal coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

The method involves for each sub step dividing the sub set into blocks of data to be coded and into source of blocks. For each blocks of data to be coded, selection of a predetermined number of source blocks in the sub set. A transformation between the selected source blocks and the block to be coded is determined. An Independent claim is included for a method of decoding a set of data representing physical quantities, a device for coding a set of data representing physical quantities, and a storage medium storing a program for coding a set of data representing physical quantities.

Description

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. The present invention generally relates to a method and a device for data encoding, as well as a method and a device for decoding data. In particular, data coding and decoding is aimed at compressing and decompressing data sets.

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é. A compressed data set may be stored by occupying a reduced memory space relative to the uncompressed initial set, or may be transmitted faster or at a lower rate than the uncompressed initial set.

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. These data are a priori any and represent physical quantities. In preferred applications, we consider data sets that are sequences or sequences of images, sound or other mono or multidimensional signals. In the following, we will consider more particularly the encoding and decoding of image sequences, since the images are known firstly to occupy a large memory space and secondly to require a high bitrate, or a time of important transmission, when one wishes to transmit them.

De nombreux procédés de codage de séquences d'image existent actuellement. L'un d'eux 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 comme une image fixe, c'est-à-dire sans référence à une autre image.  Many image sequence coding methods currently exist. One of them is the so-called MPEG (Motion Picture Expert Group) coding which generally consists of coding images with respect to one or more other images selected in the sequence, referred to as reference images, and periodically an image as a still image. , that is, without reference to another image.

Cette 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). This image coded with respect to itself, called "intra" image, is divided into blocks, which are coded by discrete cosine transformation (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.These images are necessary for the refresh and allow a random access in the sequence; however, the compression ratio of these images is low.

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 en utilisant 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 seulement 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. An image encoded with respect to one or more other images is also divided into blocks. Each block is encoded by a motion estimation and compensation mechanism using a block to be searched in the reference pictures, and then the error is coded by discrete cosine transformation. The search for the "best" block for encoding the current block is usually performed in only one window of the reference image, to reduce the search time which otherwise could be too long. However, this type of coding is not very fast.

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. In addition, this type of coding is not suitable for low rates, of the order of a few tens of kilobits, but is limited to rates generally greater than 1.5 Megabits per second.

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. The present invention seeks to overcome the disadvantages of the prior art by providing a data encoding method and apparatus, as well as the corresponding decoding method and device, having a high data compression rate, while being fast to coding. and decoding.

L'invention se situe dans le domaine du codage et décodage avec pertes des séquences d'images numériques par blocs. Elle repose sur la théorie du point fixe, qui est exposée dans la demande de brevet français déposée sous le numéro 96 10636 le 30 août 1996. The invention lies in the field of lossy coding and decoding of digital block image sequences. It is based on the fixed point theory, which is described in the French patent application filed under number 96 10636 on August 30, 1996.

Afin de fixer les idées, on précise ici des notions et des termes utilisés dans la suite. In order to fix the ideas, one specifies here notions and terms used in the continuation.

On appellera "transformation" une application contractive globale dans un espace métrique, c'est-à-dire une application convergente, dans cet espace, vers un point fixe qui est l'unique élément de l'espace qui est laissé invariant par cette application contractive.  We will call "transformation" a global contractive application in a metric space, that is to say a convergent application, in this space, to a fixed point which is the only element of space that is left invariant by this application contractive.

Par exemple, pour une séquence d'images, I'espace considéré est l'espace des images, le point fixe est alors une image que l'on cherche à reconstruire.  For example, for a sequence of images, the space considered is the space of the images, the fixed point is then an image that one seeks to reconstruct.

La méthode des approximations successives permet d'approcher de façon itérative le point fixe d'une contraction, en partant d'un élément arbitraire. The method of successive approximations makes it possible to approach iteratively the fixed point of a contraction, starting from an arbitrary element.

II s'agit d'appliquer sur l'élément arbitraire la contraction considérée, puis d'appliquer la même contraction sur le résultat obtenu précédemment, et ainsi de suite. Cette méthode permet de converger vers le point fixe. It is a question of applying to the arbitrary element the contraction considered, then of applying the same contraction to the result obtained previously, and so on. This method converges to the fixed point.

Si l'on divise un ensemble de données en blocs et que l'on détermine une transformation pour chacun des blocs, chacune des transformations étant une application contractive, L'ensemble de ces transformations forme une application contractive globale pour le signal. If we divide a set of data into blocks and we determine a transformation for each of the blocks, each of the transformations being a contractive application, the set of these transformations forms a global contractive application for the signal.

Un bloc est un groupe d'échantillons numériques du signal numérique. Dans le cas d'un signal d'image, un bloc est un groupe de pixels. A block is a group of digital samples of the digital signal. In the case of an image signal, a block is a group of pixels.

Le bloc est par exemple de forme carrée, rectangulaire ou encore triangulaire.The block is for example square, rectangular or triangular.

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, et 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 sous-ensemble,
- détermination d'une transformation entre les blocs source sélectionnés et le bloc à coder.
The invention proposes a method for encoding a set of data representative of physical quantities, said set consisting of subsets,
characterized in that it comprises for each of the subsets, the steps of:
- division of the subset into blocks of data to be coded, and into source blocks,
then, for each of the blocks of data to be coded, the steps of:
selecting a predetermined number of source blocks in said subset,
determination of a transformation between the selected source blocks and the block to be coded.

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 et en blocs source,
- des moyens de sélection, pour chacun des blocs de données à coder de chacun des sous-ensembles, d'un nombre prédéterminé de blocs source dans le sous-ensemble respectif de chacun des blocs de données à coder, et
- des moyens de détermination d'une transformation entre les blocs source sélectionnés et le bloc à coder.
Correlatively, the invention proposes a device for encoding a set of data representative of physical quantities, said set being composed of subsets,
characterized in that it comprises:
means for dividing the subsets into data blocks to be coded and source blocks,
selection means, for each of the data blocks to be coded for each of the subsets, of a predetermined number of source blocks in the respective subset of each of the data blocks to be coded, and
means for determining a transformation between the selected source blocks and the block to be coded.

Le codage selon l'invention a pour résultat un ensemble de transformations qui forme une application contractive globale pour le signal considéré. The coding according to the invention results in a set of transformations which forms a global contractive application for the signal in question.

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. The invention makes it possible to obtain a high compression ratio of the data, which can then be transmitted at a low rate, of the order of a few tens of kilobits per second, while offering a good quality of reconstruction of the data.

L'invention permet une compression et une décompression rapide des données. The invention enables rapid compression and decompression of data.

L'invention s'applique aussi bien au cas où l'on souhaite à la fois une compression et une décompression de séquence d'images rapide, qu'au cas où seule une décompression rapide est souhaitée. The invention applies equally well to the case where it is desired both a compression and decompression of fast image sequence, only in case only a fast decompression is desired.

Selon un mode de réalisation préféré, I'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 et en blocs source,
- division d'au moins un sous-ensemble de référence en blocs de référence,
puis, pour chacun des blocs de données à coder, les étapes de:
- estimation de mouvement du bloc à coder avec l'un des blocs de référence, et, si un critère d'estimation n'est pas satisfait,
- sélection d'un nombre prédéterminé de blocs source dans ledit sous-ensemble,
- détermination d'une transformation entre les blocs source sélectionnés et le bloc à coder.
According to a preferred embodiment, the invention proposes a method for coding a set of data representative of physical quantities, said set being composed of subsets,
characterized in that it comprises for each of the subsets, the steps of:
- division of the subset into blocks of data to be coded and source blocks,
- division of at least one reference subset into reference blocks,
then, for each of the blocks of data to be coded, the steps of:
- motion estimation of the block to be coded with one of the reference blocks, and, if an estimation criterion is not satisfied,
selecting a predetermined number of source blocks in said subset,
determination of a transformation between the selected source blocks and the block to be coded.

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 et en blocs source,
- des moyens de division d'au moins un sous-ensemble de référence en blocs de référence, pour chacun des sous-ensembles,
- des moyens d'estimation de mouvement, pour chacun des blocs de données à coder, du bloc à coder avec l'un des blocs de référence, et, si un critère d'estimation n'est pas satisfait,
- des moyens de sélection, pour chacun des blocs de données de chacun des sous-ensembles, d'un nombre prédéterminé de blocs source dans le sous-ensemble respectif de chacun des blocs de données à coder, et
- des moyens de détermination d'une transformation entre les blocs source sélectionnés et le bloc à coder.
Correlatively, the invention proposes a device for encoding a set of data representative of physical quantities, said set being composed of subsets,
characterized in that it comprises:
means for dividing the subsets into data blocks to be coded and source blocks,
means for dividing at least one reference subset into reference blocks, for each of the subsets,
motion estimation means, for each of the blocks of data to be encoded, of the block to be coded with one of the reference blocks, and, if an estimation criterion is not satisfied,
selection means, for each of the data blocks of each of the subsets, of a predetermined number of source blocks in the respective subset of each of the data blocks to be coded, and
means for determining a transformation between the selected source blocks and the block to be coded.

Ce mode de réalisation combine l'estimation de mouvement de bloc et le codage par transformation. L'estimation de mouvement permet d'exploiter la corrélation temporelle existant dans les données à coder. L'estimation de mouvement est par exemple la mise en correspondance de bloc, simple à mettre en oeuvre. This embodiment combines the block motion estimation and the transform coding. Motion estimation makes it possible to exploit the temporal correlation existing in the data to be encoded. The motion estimation is for example block matching, simple to implement.

Les blocs de données codés par mise en correspondance de bloc sont décodés par copie de bloc, et sont donc reconstruits avec précision. Ces blocs décodés avec précision sont utilisés pour décoder itérativement les autres blocs par la méthode des approximations successives, qui converge alors plus rapidement. Le décodage est alors plus rapide, et effectué en quelques itérations seulement. Block-coded data blocks are decoded by block copy, and are therefore accurately reconstructed. These precisely decoded blocks are used to iteratively decode the other blocks using the successive approximation method, which converges more quickly. The decoding is then faster, and carried out in a few iterations only.

En outre, le codage par mise en correspondance de bloc nécessite peu de bits pour mémoriser etlou transmettre le bloc codé. In addition, the block matching coding requires few bits to store and / or transmit the coded block.

Selon une caractéristique préférée, le critère d'estimation de l'étape de d'estimation de mouvement comporte une mesure d'une première distance entre le bloc à coder et le bloc de référence, ce qui permet une mise en oeuvre simple et fiable de l'invention. According to a preferred characteristic, the estimation criterion of the motion estimation step comprises a measurement of a first distance between the block to be coded and the reference block, which allows a simple and reliable implementation of the invention.

Selon d'autres caractéristiques préférées:
- la transformation minimise une seconde distance entre le bloc à coder et son approximation calculée en appliquant la transformation aux blocs source sélectionnés,
- le calcul de la seconde 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.
According to other preferred features:
the transformation minimizes a second distance between the block to be coded and its calculated approximation by applying the transformation to the selected source blocks,
the calculation of the second distance comprises calculating a difference between the data values of the block to be coded and the values of its approximation calculated by applying the transformation to the source blocks.

- la seconde distance est l'erreur quadratique moyenne calculée entre les valeurs du bloc à coder et les valeurs du bloc résultant de l'application de l'approximation aux blocs source. the second distance is the mean squared error calculated between the values of the block to be coded and the values of the block resulting from the application of the approximation to the source blocks.

Ces caractéristiques permettent une mise en oeuvre simple et fiable de l'invention. These characteristics allow a simple and reliable implementation of the invention.

Selon d'autres caractéristiques préférées de l'invention, la transformation est une application contractive qui est:
- une approximation multilinéaire, ou
- une approximation multilinéaire combinée avec une transformation géométrique, ou encore
- un polynôme sur les valeurs des coefficients des blocs source.
According to other preferred features of the invention, the transformation is a contractive application which is:
a multilinear approximation, or
- a multilinear approximation combined with a geometrical transformation, or
a polynomial on the values of the coefficients of the source blocks.

Selon une caractéristique préférée, ledit au moins un sous-ensemble de référence est un sous-ensemble de l'ensemble, ou, de préférence, un sousensemble de l'ensemble, qui a été préalablement codé puis décodé. Le second cas permet un décodage plus précis des données.  According to a preferred characteristic, said at least one reference subset is a subset of the set, or, preferably, a subset of the set, which has been previously coded and then decoded. The second case allows a more precise decoding of the data.

Dans un autre aspect, les blocs source sont sélectionnés dans une partie du sous-ensemble qui dépend de la partie dans laquelle est situé le bloc à coder dans le sous-ensemble en cours de codage. Le codage est alors plus précis. In another aspect, the source blocks are selected in a part of the subset that depends on the part in which the block to be encoded in the subset being encoded is located. The coding is then more precise.

Selon des caractéristiques préférées, les blocs source ont une taille qui est déterminée en fonction de la taille du bloc à coder, notamment 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 entier1 ou les blocs source ont la même taille que le bloc à coder. According to preferred characteristics, the source blocks have a size which is determined according to the size of the block to be encoded, in particular the source blocks have a size that is a multiple of a factor F2 of that of the block to be coded and are subsampled by the factor F, where F is an integer1 or the source blocks are the same size as the block to be encoded.

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. According to other preferred features, the block to be encoded is of predetermined size, or the block to be encoded is of variable size, according to a size criterion.

Dans ce dernier cas, le procédé de codage comporte le calcul d'une troisiè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 troisième distance à un seuil, et si la troisiè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. In the latter case, the coding method comprises calculating a third distance between the block to be coded and the approximation calculated by the application of the transformation to the source blocks. The size criterion consists in comparing the third distance with a threshold, and if the third distance is greater than the threshold, and if a minimum block size has not been reached, the block being coded is divided into size blocks. lower.

Le dispositif de codage comporte des moyens adaptés à mettre en oeuvre les caractéristiques précédemment exposés. The coding device comprises means adapted to implement the previously discussed features.

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 blocs de données, chacun des blocs étant codé au moyen d'une transformation entre le bloc et des premiers blocs source formés dans le sous-ensemble,
caractérisé en ce qu'il comporte, pour chacun des blocs de chacun des sous-ensembles à décoder, I'application itérative de la transformation à des seconds blocs source pour décoder le bloc, les second blocs source étant formés dans un sous-ensemble contenant des blocs prédéterminés pour la première itération, et dans un sous-ensemble contenant des blocs décodés à l'itération précédente pour les itérations suivantes.
In another aspect, the invention relates to a method of decoding a set of data representative of physical quantities,
The set being composed of subsets each comprising coded representations of data blocks, each of the blocks being encoded by means of a transformation between the block and first source blocks formed in the subset,
characterized in that it comprises, for each of the blocks of each of the subsets to be decoded, the iterative application of the transformation to second source blocks for decoding the block, the second source blocks being formed in a subset containing predetermined blocks for the first iteration, and in a subset containing decoded blocks at the previous iteration for subsequent iterations.

Selon un mode préféré de réalisation, le procédé de décodage d'un ensemble de données représentatives de grandeurs physiques1 L'ensemble étant composé de sous-ensembles qui comportent chacun des représentations codées de blocs de données,
est caractérisé en ce qu'il comporte, pour chacun des blocs de chacun des sous-ensembles à décoder, les étapes de:
- recherche si le bloc est codé par estimation de mouvement de blocs,
et, en cas de réponse négative, le bloc étant alors codé au moyen d'une transformation entre le bloc et des premiers blocs source formés dans le sous-ensemble:
- application itérative de la transformation à des seconds blocs source pour décoder le bloc, les seconds blocs source étant formés dans un sous-ensemble contenant des blocs prédéterminés pour la première itération, et dans un sous-ensemble contenant des blocs décodés à l'itération précédente pour les itérations suivantes.
According to a preferred embodiment, the method of decoding a set of data representative of physical quantities1 The set being composed of subsets which each comprise coded representations of data blocks,
is characterized in that it comprises, for each of the blocks of each of the subsets to be decoded, the steps of:
- search if the block is coded by motion estimation of blocks,
and, in the case of a negative response, the block then being encoded by means of a transformation between the block and first source blocks formed in the subset:
iteratively applying the transformation to second source blocks to decode the block, the second source blocks being formed in a subset containing predetermined blocks for the first iteration, and in a subset containing decoded blocks at the iteration previous for the following iterations.

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. Ce décodage est rapide et simple à mettre en oeuvre. In case of a positive response to the search step, the block is decoded by copying a block of correspondence determined by the block matching. This decoding is fast and simple to implement.

L'invention concerne également un dispositif 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 le bloc et des blocs source sélectionnés dans le sousensemble respectif,
caractérisé en ce qu'il comporte des moyens d'application de la transformation à des seconds blocs source, pour chacun des blocs de chacun des sous-ensembles à décoder, les seconds blocs source étant formés dans un sous-ensemble contenant des blocs prédéterminés pour la première itération, et dans un sous-ensemble contenant des blocs décodés à l'itération précédente pour les itérations suivantes.
The invention also relates to a device for decoding a set of data representative of physical quantities, the set being composed of subsets which each comprise coded representations of data blocks, each of the blocks being coded by means of a transformation between the block and source blocks selected in the respective subassembly,
characterized in that it comprises means for applying the transformation to second source blocks, for each of the blocks of each of the subsets to be decoded, the second source blocks being formed in a subset containing predetermined blocks for the first iteration, and in a subset containing decoded blocks at the previous iteration for subsequent iterations.

L'invention conceme encore un dispositif 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,
caractérisé en ce qu'il comporte:
- des moyens de recherche, pour chacun des blocs de chacun des sous-ensembles à décoder, si le bloc est codé par estimation de mouvement de bloc,
et en cas de réponse négative, le bloc étant alors codé au moyen d'une transformation entre le bloc et des blocs source sélectionnés dans le sous-ensemble respectif,
- des moyens d'application de la transformation à des seconds blocs source pour reconstruire le bloc, les seconds blocs source étant formés dans un sous-ensemble contenant des blocs prédéterminés pour la première itération, et dans un sous-ensemble contenant des blocs décodés à l'itération précédente pour les itérations suivantes.
The invention further relates to a device for decoding a set of data representative of physical quantities, the set consisting of subsets which each comprise coded representations of data blocks,
characterized in that it comprises:
search means, for each of the blocks of each of the subsets to be decoded, if the block is coded by block motion estimation,
and in the case of a negative response, the block then being coded by means of a transformation between the block and selected source blocks in the respective subset,
means for applying the transformation to second source blocks in order to reconstruct the block, the second source blocks being formed in a subset containing predetermined blocks for the first iteration, and in a subset containing decoded blocks to the previous iteration for the following iterations.

Le dispositif et le procédé de décodage permettent de restituer les données avec rapidité en une bonne précision. The device and the decoding method make it possible to retrieve the data quickly and accurately.

Les caractéristiques et avantages de la présente invention apparaîtront plus clairement à la lecture de plusieurs modes préférés de réalisation illustrés 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 le premier mode de réalisation de l'invention,
- la figure 7 est une image divisée en blocs au cours de son codage selon le premier mode de réalisation de 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 second mode de réalisation de l'invention,
- la figure 11 est une image divisée en blocs au cours de son codage selon le second mode de réalisation de l'invention,
- la figure 12 est un arbre de découpe associé à l'image de la figure 11,
- la figure 13 est un algorithme de décodage de données selon le second mode de réalisation de l'invention.
The features and advantages of the present invention will become more apparent upon reading several preferred embodiments illustrated by the accompanying drawings, in which:
FIG. 1 schematically represents a data coding device according to the invention,
FIG. 2 schematically represents a data decoding device according to the invention,
FIG. 3 represents an embodiment of the data coding device according to the invention,
FIG. 4 represents an embodiment of the data decoding device according to the invention,
FIG. 5 is a data coding algorithm according to a first embodiment of the invention,
FIG. 6 is an image divided into blocks during its coding according to the first embodiment of the invention,
FIG. 7 is an image divided into blocks during its coding according to the first embodiment of the invention,
FIGS. 8a to 8f represent blocks to be coded and associated source blocks,
FIG. 9 is a data decoding algorithm according to the first embodiment of the invention,
FIG. 10 is a data coding algorithm according to a second embodiment of the invention,
FIG. 11 is an image divided into blocks during its coding according to the second embodiment of the invention,
FIG. 12 is a cutting shaft associated with the image of FIG. 11,
FIG. 13 is a data decoding algorithm according to the second embodiment of the 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. According to an embodiment chosen and shown in FIG. 1, a data coding device 2 according to the invention comprises an input 22 to which is connected a source 1 of uncoded data. The source 1 comprises, for example, memory means, such as random access memory, hard disk, diskette, compact disk, for storing uncoded data, this memory means being associated with an appropriate reading means for reading the data. A means for storing the data in the memory means may also be provided.

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.  The source 1 may for example be a video camera in the case of an image signal or microphone in the case of a sound signal.

Des moyens 3 utilisateurs de données codées sont reliés en sortie 27 du dispositif de codage 2. Coded data means 3 are connected to the output 27 of the coding device 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. The user means 3 comprise, for example, coded data storage means, and / or coded data transmission means.

La figure 2 représente un dispositif 5 de décodage de données codées par le dispositif 2. FIG. 2 represents a device 5 for decoding data encoded by the device 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. Means 4 users of coded data are connected to the input 52 of the decoding device 5. The means 4 comprise, for example, coded data memory means and / or coded data reception means which are adapted to receive the coded data. transmitted by the transmission means 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. Means 6 users of decoded data are connected at the output 57 of the decoding device 5. The user means 6 are, for example, image display means, or sound reproduction means, depending on the nature of the data processed.

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. The coding device and the decoding device can be integrated in the same digital apparatus, for example a digital camera.

Un mode de réalisation de dispositif de codage de données 2 est représenté à la figure 3. An embodiment of data coding device 2 is shown in FIG. 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 codage1
- 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.
The coding device 2 comprises a data and address bus 20 to which are connected:
an input buffer 21, also connected to the input 22 of the device, for temporarily storing the data to be coded,
a read-only memory (ROM) 23 in which is stored a coding algorithm which will be explained later,
a controller 24 for implementing the coding algorithm
a random access memory (RAM) 25 for storing parameters modified during the execution of the coding algorithm in registers, and
an output buffer memory 26, also connected to the output 27 of the device.

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.
An embodiment of data decoding device 5 is shown in FIG. 4.
the decoding device 5 comprises a data and address bus 50 to which are connected:
an input buffer memory 51, also connected to the input 52 of the device, for temporarily storing the data to be coded,
a read-only memory (ROM) 53 in which is memorized a decoding algorithm which will be explained later,
a controller 54 for implementing the decoding algorithm,
a random access memory (RAM) 55 for storing, in registers, modified parameters during the execution of the decoding algorithm, and
an output buffer 56, also connected to the output 57 of the device.

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. The operation of coding devices 2 and decoding 5 will be detailed during the description of the different embodiments of the corresponding algorithms.

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 l à fN, où N est un entier.
According to the embodiment chosen and represented in FIG.
The invention applies to the encoding of a set of data representative of physical quantities which is a sequence of digital images 1 to fN, where N is an integer.

Le codage consiste globalement à coder bloc par bloc chaque image de la séquence. Un bloc est codé par mise en correspondance avec un bloc d'une image de référence, si un critère de qualité est respecté, ou par détermination d'une transformation entre le bloc à coder et des blocs source sélectionnés dans l'image en cours de codage. The coding generally consists in coding block by block each image of the sequence. A block is coded by mapping to a block of a reference image, if a quality criterion is met, or by determining a transformation between the block to be encoded and selected source blocks in the current image. coding.

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.  Any image fn in the sequence, with n between 1 and N, is a gray-level image, exemplifying 128x96 pixels at 256 levels.

L'algorithme représenté à la figure 5 comporte des étapes El à E16 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 bloc par bloc, soit par mise en correspondance de bloc (en Anglais : block matching) avec un bloc d'une image de référence, soit par une transformation entre le bloc à coder et des blocs voisins de ce bloc. The algorithm represented in FIG. 5 comprises steps E1 to E16 which perform the coding of the digital image sequence. The treatment is done frame by frame. Globally, an image of the sequence is coded block by block, either by block matching with a block of a reference image, or by a transformation between the block to be coded and neighboring blocks. from this block.

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. Step E1 is an initialization in which parameter n is initialized to 1, so as to first consider the first image of the sequence.

L'étape suivante E2 est une division de l'image considérée fn en un nombre prédéterminé M de blocs An,i à 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 An 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. The next step E2 is a division of the image considered fn into a predetermined number M of blocks An, i to An, M of adjacent pixels. The number M of blocks may be predetermined, or may be a parameter set by the user of the algorithm. In this embodiment, the blocks An 1 to An, M are adjacent, without overlap. In a variant that is not shown, the blocks may overlap, to limit the block effects at decoding, to the detriment of the compression ratio.

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. According to a first variant of this embodiment, represented in FIG. 6, the blocks all have the same predetermined size, and are, for example, 32 × 32 pixel square blocks in the case of the 128 × 96 pixel image. The division of the image is uniform throughout the image. According to a second variant shown in FIG. 7, the size of the blocks, while being predetermined, depends on the location of the blocks in the image: in a given zone of the image, for example a central zone capable of containing more in detail, the blocks are smaller than the edges of the image.

Cette zone déterminée sera alors codée plus finement que le reste de l'image.This determined area will be coded more finely than the rest of the 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.This variant is particularly interesting for video telephony, since in this case, the images mainly reproduce the faces of the users, who are generally located in the center of the 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.  Two different sizes of blocks are shown in Figure 7 32x32 and 16x16 pixels. However, a larger number of sizes can be envisaged for specific applications, particularly if it is known that the amount of information varies greatly from one zone to another of the images to be encoded.

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.i à A",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. In any case, the division of the image results in a set of M blocks An.i to An, M, stored in memory 25. The blocks An.i to A ", M will be compressed, or encoded, one by one. This order is preferably predetermined and is then the order in which the blocks will be decompressed or decoded, which makes it unnecessary to locate the blocks by an index or by coordinates. As a variant, it is possible to identify the blocks and to associate the location, index or coordinates with the coded block, which makes it possible to decompress the blocks in any order, which may be different from the order used for 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, c'est-à-dire pour la première image de la séquence, l'étape E3 est suivie directement de l'étape E9 qui sera décrite dans la suite. En effet, pour la première image de la séquence, la mise en correspondance n'est pas possible, puisqu'il n'y a pas d'image de référence. Step E2 is followed by step E3, which is a test on the value of the parameter n. If the parameter n is equal to 1, that is to say for the first image of the sequence, the step E3 is followed directly by the step E9 which will be described in the following. Indeed, for the first image of the sequence, the matching is not possible, since there is no reference image.

Si à l'étape E3 le paramètre n est supérieur à 1,1'étape E3 est suivie de l'étape E4. Cette dernière est la division d'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. If in step E3 the parameter n is greater than 1.1 step E3 is followed by step E4. The latter is the division of one or more reference images into adjacent blocks of pixels, stored in memory 25. The size of the blocks depends on the size of the blocks to be coded An.m. Preferably, the blocks of the reference images are F2. times larger than the blocks to code, where F is an integer for example equal to two, which allows to exploit many details of the reference image. The blocks of the reference images are then sub-sampled by the factor F, to work on blocks having the same number of pixels as the blocks to be encoded. According to a variant that is simpler to implement, the blocks of the reference images have the same size as the blocks to be encoded.

L'étape suivante E5 est une initialisation d'un paramètre m à 1, pour considérer le premier bloc An,i dans l'image f.  The next step E5 is an initialization of a parameter m to 1, to consider the first block An, i in the image f.

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 gn1 qui est l'image précédant l'image fnl préalablement codée puis décodée selon l'invention.  According to a preferred embodiment which is more particularly taken into account here, consider a single reference image gn1 which is the image preceding the fnl image previously coded and decoded according to the invention.

L'étape E5 est suivie de l'étape E6 à laquelle le bloc à coder courant An,m est codé par estimation de mouvement par rapport à l'image de référence. Step E5 is followed by step E6 at which the current coding block An, m is coded by motion estimation with respect to the reference image.

Selon le mode de réalisation choisi, l'estimation de mouvement est une mise en correspondance de bloc : il est recherché dans l'image de référence gn1 un bloc de correspondance Dn ,mj qui soit le plus semblable possible au bloc à coder, selon un critère prédéterminé, par exemple une mesure de distance d(A.m, Dn 1XmXl) entre le bloc à coder et le bloc de correspondance. La distance est calculée entre les niveaux de gris du bloc à coder An.m et les niveaux de gris du bloc de correspondance.According to the embodiment chosen, the motion estimation is a block matching: it is searched in the reference image gn1 for a correspondence block Dn, mj that is as similar as possible to the block to be encoded, according to a predetermined criterion, for example a measurement of distance d (Am, Dn 1XmX1) between the block to be coded and the correspondence block. The distance is calculated between the gray levels of the block to be coded An.m and the gray levels of the block of correspondence.

La distance peut être la valeur absolue de la somme des différences, ou l'erreur quadratique moyenne, ou encore la valeur absolue de la plus grande différence, calculée entre le bloc source An,m et le bloc de correspondance. The distance can be the absolute value of the sum of the differences, or the mean squared error, or the absolute value of the largest difference, calculated between the source block An, m and the correspondence block.

Dans un mode préféré de réalisation, la distance est l'erreur quadratique moyenne calculée entre les niveaux de gris du bloc à coder An,m et les niveaux de gris du bloc de correspondance. In a preferred embodiment, the distance is the mean squared error calculated between the gray levels of the block to be coded An, m and the gray levels of the correspondence block.

Le bloc de correspondance pour lequel le critère est minimisé est sélectionné. The matching block for which the criterion is minimized is selected.

Selon des variantes de réalisation, I'estimation de mouvement est une mise en correspondance de bloc combinée avec une transformation géométrique, ou encore un modèle affine. According to alternative embodiments, the motion estimation is a block matching combined with a geometric transformation, or an affine model.

L'étape suivante E7 est un test pour vérifier si le critère de correspondance est satisfait, c'est-à-dire s'il est inférieur à un seuil prédéterminé. Si la réponse est positive, la position relative du bloc de correspondance Dn 1,mJ, dans l'image de référence gn-1, par rapport à la position du bloc à coder An mu dans l'image en cours de codage f, c'est-à-dire le vecteur de mouvement VnmJ, est mémorisée en mémoire 25, à l'étape E8. Un indicateur 1n,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 E8 est suivie de l'étape E12 qui sera décrite dans la suite.
The next step E7 is a test to check whether the matching criterion is satisfied, that is to say if it is below a predetermined threshold. If the answer is positive, the relative position of the correspondence block Dn 1, mJ, in the reference image gn-1, with respect to the position of the block to code An mu in the image being coded f, c that is, the motion vector VnmJ is stored in memory 25 in step E8. An indicator 1n, m is also stored, to indicate that the block considered is encoded by block matching. This indicator is for example an additional bit set to the value one. The motion vector Vnmj and the indicator 1n, m represent the coding information of the block An.m
Step E8 is followed by step E12 which will be described in the following.

Si la réponse est négative à l'étape E7, cela signifie que le codage par mise en correspondance de bloc ne donne pas un résultat satisfaisant, pour le bloc considéré. L'étape E7 est alors suivie de l'étape E9 à laquelle sont sélectionnés des blocs source Dn,m, à Dn,m,K dans l'image en cours de codage t'.  If the answer is negative in step E7, this means that the block-mapping coding does not give a satisfactory result for the block considered. Step E7 is then followed by step E9 to which source blocks Dn, m, Dn, m, K are selected in the image being coded t '.

Le nombre K de blocs source est prédéterminé, et vaut par exemple 4. En variante, le nombre K est un paramètre  The number K of source blocks is predetermined, and is for example 4. As a variant, the number K is a parameter

L'étape E9 est suivie de l'étape E10, à laquelle une transformation entre les blocs source et le bloc à coder est calculée. La fransformation est une application contractive. Step E9 is followed by step E10, at which a transformation between the source blocks and the block to be coded is calculated. Fransformation is a contractive application.

Selon un mode préféré de réalisation, la transformation est une approximation multilinéaire, de la forme : Tn,m = {an,m,k , bn,m} permettant de construire le bloc ARn,m = #k ( an,m,k x Dn,m.k ) + bn,m.  According to a preferred embodiment, the transformation is a multilinear approximation, of the form: Tn, m = {an, m, k, bn, m} making it possible to construct the block ARn, m = #k (an, m, kx Dn, mk) + bn, m.

Dans cette expression, an,m,k est une fonction d'échelle, ici une fonction constante, ou coefficient, pour un bloc source donné Dn.m.k et de norme inférieure à l'unité, et bn,m est une fonction de décalage des niveaux de gris, ici une fonction constante, ou coefficient, pour le bloc à coder An.m. La fonction an,m,k s'applique à chacun des pixels du bloc Dn.m.k, ce qui revient ici à multiplier tous les pixels par le coefficient an,m,k
Les fonctions, ici les coefficients, an,m,k et bn.m sont déterminées pour minimiser une distance d(A.m, ARn,m) entre le bloc à coder An.m et le bloc reconstruit ARn,m en appliquant la transformation Tn,m aux blocs source selon la formule donnée plus haut.
In this expression, an, m, k is a scale function, here a constant function, or coefficient, for a given source block Dn.mk and of norm less than unity, and bn, m is an offset function gray levels, here a constant function, or coefficient, for the block to code An.m. The function an, m, k applies to each of the pixels of the block Dn.mk, which amounts here to multiply all the pixels by the coefficient an, m, k
The functions, here the coefficients, an, m, k and bn.m are determined to minimize a distance d (Am, ARn, m) between the block to code An.m and the reconstructed block ARn, m by applying the transformation Tn , m to the source blocks according to the formula given above.

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, chaque coefficient anm,k peut prendre deux valeurs, une valeur positive et la valeur opposée. According to an embodiment that is simple to implement, the functions an, m k and bn, m are discretized and a limited number of possible values for the coefficients an, m, k is tested. For example, each coefficient anm, k can take two values, a positive value and the opposite value.

Toutes les combinaisons de coefficients an,m,k sont testées, et pour chaque combinaison, le coefficient bn.m est choisi pour minimiser la distance envisagée.All combinations of coefficients an, m, k are tested, and for each combination, the coefficient bn.m is chosen to minimize the distance envisaged.

La distance est calculée entre les niveaux de gris du bloc à coder An.m et les niveaux de gris du bloc ARn,m résultant de l'application de la transformation aux blocs source Dn.m.i à Dn,m,K
La distance peut être la valeur absolue de la somme des différences, ou l'erreur quadratique moyenne, ou encore la valeur absolue de la plus grande différence, calculée entre le bloc source An,m et le bloc reconstruit ARfl.rn en appliquant la transformation Tn,m aux blocs source.
The distance is calculated between the gray levels of the block to code An.m and the gray levels of the block ARn, m resulting from the application of the transformation to the source blocks Dn.mi to Dn, m, K
The distance can be the absolute value of the sum of the differences, or the mean squared error, or the absolute value of the largest difference, calculated between the source block An, m and the reconstructed block ARfl.rn by applying the transformation. Tn, m at the source blocks.

Dans un mode préféré de réalisation, la distance est l'erreur quadratique moyenne calculée entre les niveaux de gris du bloc à coder An.m et les niveaux de gris du bloc ARn,m résultant de l'application de l'approximation aux blocs source Dn,m,, à Dn,m,K.  In a preferred embodiment, the distance is the mean squared error calculated between the gray levels of the block to be coded An.m and the gray levels of the block ARn, m resulting from the application of the approximation to the source blocks. Dn, m ,, to Dn, m, K.

La combinaison Tn.rn (an.m. , bn,m} qui minimise la distance est mémorisée à l'étape El I dans la mémoire 25 du dispositif de codage 2 (figure 3) en tant que forme compressée du bloc An m. L'ensemble des transformations Tn.m et des vecteurs de mouvement relatifs à l'image fn forme une image compressée hn.  The combination Tn.rn (an.m., bn, m) which minimizes the distance is stored in step El I in the memory 25 of the coding device 2 (FIG. 3) as a compressed form of the block An m. The set of transformations Tn.m and motion vectors relating to the image fn form a compressed image hn.

Selon d'autres modes de réalisation:
- 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.
According to other embodiments:
the transformation combines a multilinear approximation computed on the source blocks and geometric transformations, such as rotation, of the source blocks,
the transformation is of polynomial form, for example of order two or three, calculated on the values of the pixels of the source blocks. This type of transformation gives more accurate results, while being longer to calculate.

Dans tous les cas, la transformation est une application contractive. In any case, the transformation is a contractive application.

L'étape suivante E12 est un test pour vérifier si m est égal à M, c'està-dire si le bloc qui vient d'être codé est le demier de l'image courante. S'il reste au moins un bloc à coder dans l'image fn, L'étape E12 est suivie par l'étape E13 à laquelle le paramètre m est incrémenté d'une unité, pour considérer le bloc suivant dans l'image fn. L'étape E13 est suivie de l'étape E6 précédemment décrite. The next step E12 is a test to check if m is equal to M, ie if the block that has just been coded is the last of the current image. If there is at least one block to be coded in the image fn, the step E12 is followed by the step E13 to which the parameter m is incremented by one unit, to consider the next block in the image fn. Step E13 is followed by step E6 previously described.

Lorsque le bloc qui vient d'être codé est le demier de l'image courante, l'étape E12 est suivie de l'étape E14 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 E14 est suivie de l'étape E15 qui est la construction de l'image décompressée 9n . L'image gn est formée par le décodage des formes codées des blocs. Ce décodage est identique à celui réalisé par l'algorithme de décodage qui sera décrit dans la suite. Le décodage consiste globalement, pour chaque bloc, à rechercher le bloc de référence dans l'image de référence si le bloc a été codé par mise en correspondance de bloc, ou à appliquer itérativement la transformation Tn,m aux blocs source. L'image g, est mémorisée en mémoire 25 pour être utilisée pour le codage de l'image suivante fun+1.  When the block which has just been coded is the last of the current image, the step E12 is followed by the step E14 which is a test to check if the image fn which has just been compressed is the last of the sequence. If it is not the case, the step E14 is followed by the step E15 which is the construction of the decompressed image 9n. The image gn is formed by the decoding of the coded forms of the blocks. This decoding is identical to that carried out by the decoding algorithm which will be described hereinafter. The decoding generally consists, for each block, of searching for the reference block in the reference image if the block has been coded by block matching, or of iteratively applying the transformation Tn, m to the source blocks. The image g is stored in memory 25 to be used for encoding the next fun + 1 image.

L'étape E15 est suivie de l'étape E16 pour incrémenter le paramètre n d'une unité. L'étape E16 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 E14 est positive, toutes les images f1 à fN de la séquence ont été compressées en des images compressées h1 à hN.
Step E15 is followed by step E16 to increment the parameter n by one unit. Step E16 is followed by step E2 previously described. In the case where n = N, that is to say for the last image of the sequence, it is not necessary here to reconstruct the image gN
When the response in step E14 is positive, all the images f1 to fN of the sequence have been compressed into compressed images h1 to hN.

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 à E35. Les transformations déterminées au codage sont contractives. Le décodage consistera alors à effectuer plusieurs itérations pour converger vers le point fixe. With reference to FIG. 9, the first embodiment of decoding algorithm of the compressed digital image sequence comprises steps E20 to E35. The transformations determined at the coding are contractive. The decoding will then consist in performing several iterations to converge towards the fixed point.

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. Step E20 is an initialization in which the parameter n is initialized to 1, to process the first compressed image h1 of the sequence.

L'étape suivante E21 est l'initialisation d'un paramètre w à la valeur un. Le paramètre w est un entier qui varie entre un et une valeur prédéterminée
W qui représente le nombre d'itérations à effectuer pour décoder une image de la séquence. Comme on le verra, le décodage itératif concerne plus particulièrement les blocs codés par une transformation. En variante, le nombre d'itérations dépend d'un critère de convergence fondé sur la comparaison des images décodées à deux itérations consécutives, la convergence étant obtenue si les images comparées sont suffisamment semblables. Selon une autre variante, l'activité de chacun des blocs à coder est mesurée avant le codage, par exemple en calculant la variance des blocs. Plus la variance d'un bloc donné est élevée, plus il contient de détails complexes. Le nombre d'itérations de décodage est déterminé lors du codage et est associé aux données de codage de l'image pour être exploité lors du décodage.
The next step E21 is the initialization of a parameter w to the value one. The parameter w is an integer that varies between one and a predetermined value
W which represents the number of iterations to be performed to decode an image of the sequence. As will be seen, the iterative decoding relates more particularly to the blocks coded by a transformation. As a variant, the number of iterations depends on a convergence criterion based on the comparison of the decoded images with two consecutive iterations, the convergence being obtained if the compared images are sufficiently similar. According to another variant, the activity of each block to be coded is measured before the coding, for example by calculating the variance of the blocks. The higher the variance of a given block, the more complex details it contains. The number of decoding iterations is determined during the coding and is associated with the coding data of the image to be exploited during the decoding.

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. The next step E22 is the initialization of the parameter m to 1, to consider the first block to be reconstructed. The blocks are preferably treated in the same order as compression, which avoids having to memorize and process an index, or coordinates, to locate the blocks.

L'étape suivante E23 est la division de l'image de référence courante gn 1 en blocs de pixels adjacents, qui sont les blocs de référence mémorisés en mémoire 55. L'étape E23 est identique à l'étape E4. The next step E23 is the division of the current reference image gn 1 into blocks of adjacent pixels, which are the reference blocks stored in memory 55. The step E23 is identical to the step E4.

L'étape suivante E24 est un test pour déterminer si le bloc en cours de construction ARn,m a été codé par estimation de mouvement, par exemple mise en correspondance de blocs. Le test consiste à analyser la valeur de l'indicateur 1n.m et à rechercher si l'indicateur 1n,m est à la valeur un. The next step E24 is a test to determine whether the block under construction ARn, m has been encoded by motion estimation, for example block matching. The test consists of analyzing the value of the 1n.m indicator and looking for whether the indicator 1n, m is at the value one.

Si la réponse est positive, alors l'étape suivante E25 est un test pour déterminer si c'est la première itération qui est en cours1 pour le décodage de l'image en cours de traitement. Si la réponse est positive, l'étape E25 est suivie de l'étape E26 qui consiste à appliquer une compensation de mouvement correspondant à l'estimation de mouvement. Par exemple, l'étape E26 consiste à lire dans l'image de référence 9n-1 le bloc de correspondance Dn 1,mj qui est déterminé par le vecteur de mouvement formant la forme compressée Vnmj et à recopier ce bloc en tant que bloc décodé AR.m. L'étape E26 est suivie de l'étape E29 qui sera décrite dans la suite. If the answer is positive, then the next step E25 is a test to determine if it is the first iteration that is in progress1 for the decoding of the image being processed. If the answer is positive, step E25 is followed by step E26 which consists of applying motion compensation corresponding to the motion estimation. For example, the step E26 consists in reading in the reference image 9n-1 the correspondence block Dn 1, mj which is determined by the motion vector forming the compressed form Vnmj and in copying this block as a decoded block AR.m. Step E26 is followed by step E29 which will be described in the following.

Si la réponse est négative à l'étape E25, cela signifie que la première itération de décodage de l'image a déjà été effectuée ; le bloc décodé ARn,m a déjà été formé par lecture du bloc de correspondance, ce qui rend inutile de répéter l'étape E26. L'étape E25 est alors suivie directement par l'étape E29. If the answer is negative in step E25, it means that the first iteration of the decoding of the image has already been done; the decoded block ARn, m has already been formed by reading the correspondence block, which makes it unnecessary to repeat the step E26. Step E25 is then followed directly by step E29.

Si la réponse est négative à l'étape E24, cela signifie que le bloc en cours de décodage a été codé au moyen d'une transformation. L'étape E24 est suivie de l'étape E27 qui est la sélection de blocs source D1 à DK dans une image source pour l'image en cours de décodage t', relativement au bloc à reconstruire ARn,m
Pour la première itération de décodage d'une image donnée, l'image source est une image comportant éventuellement des blocs de l'image considérée qui viennent d'être décodés par recopie de bloc, et comportant d'autres blocs fixés arbitrairement, par exemple uniformément gris. Pour les itérations suivantes, l'image source est l'image décodée à l'itération précédente de décodage de l'image considérée. L'itération précédente de décodage a pour résultat une image formée de blocs décodés selon deux types : les blocs décodés par recopie de blocs et ceux décodés par application d'une approximation linéaire à des blocs source.
If the answer is negative in step E24, it means that the block being decoded has been coded by means of a transformation. Step E24 is followed by step E27 which is the selection of source blocks D1 to DK in a source image for the image being decoded t ', relative to the block to be reconstructed ARn, m
For the first iteration of decoding a given image, the source image is an image optionally comprising blocks of the image considered that have just been decoded by block copy, and comprising other arbitrarily fixed blocks, for example uniformly gray. For the following iterations, the source image is the decoded image at the previous iteration of decoding the image considered. The previous iteration of decoding results in an image formed of decoded blocks according to two types: blocks decoded by block copying and those decoded by applying a linear approximation to source blocks.

Les blocs source sont sélectionnés dans l'image source de manière analogue à celle du codage (étape E9), avec les mêmes variantes possibles. The source blocks are selected in the source image in a manner analogous to that of the coding (step E9), with the same possible variants.

L'étape E27 est suivie de l'étape E28 à laquelle la transformation Tn.m définie par les fonctions an,m,k et bn m est appliquée aux blocs source D1 à
DK sélectionnés à l'étape précédente E27, selon la formule:
ARn,m = zk ( an,m,k X Dk ) + bn,m.
Step E27 is followed by step E28 at which the transformation Tn.m defined by the functions an, m, k and bn m is applied to the source blocks D1 to
DK selected in the previous step E27, according to the formula:
ARn, m = zk (an, m, k X Dk) + bn, m.

L'étape E28 a pour résultat le bloc décodé ARn.m, pour l'itération en cours, qui est mémorisé en mémoire 55. Step E28 results in the decoded block ARn.m, for the current iteration, which is stored in memory 55.

L'étape suivante E29 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 E29 est suivie de l'étape E30 à laquelle le paramètre m est incrémenté d'une unité pour considérer le bloc suivant. L'étape E30 est suivie de l'étape E24 précédemment décrite. The next step E29 is a test to determine if the newly decompressed block is the last one of the image being decompressed. If this is not the case, step E29 is followed by step E30 at which the parameter m is incremented by one unit to consider the next block. Step E30 is followed by step E24 previously described.

Lorsque tous les blocs de l'image en cours ont été décompressés,
L'étape E29 est suivie de l'étape E31 à laquelle l'image décompressée g, pour l'itération en cours est reconstruite et par exemple affichée sur un écran, et/ou mémorisée. De manière générale, l'étape E31 est le transfert de l'image gn aux moyens utilisateurs 6.
When all the blocks of the current image have been uncompressed,
Step E29 is followed by step E31 at which the decompressed image g, for the current iteration is reconstructed and for example displayed on a screen, and / or stored. In general, step E31 is the transfer of the image gn to the user means 6.

L'étape suivante E32 est un test pour déterminer si l'itération en cours est la dernière. Si la réponse est positive, L'étape E32 est suivie de l'étape E33 qui 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 E33 est suivie de l'étape E34 à laquelle le paramètre n est incrémenté d'une unité, pour considérer l'image suivante dans la séquence. L'étape E34 est suivie de l'étape E21 précédemment décrite. The next step E32 is a test to determine if the current iteration is the last one. If the answer is positive, the step E32 is followed by the step E33 which is a test to determine if the image which has just been decompressed is the last image of the sequence. If at least one image remains to be decompressed, step E33 is followed by step E34 at which the parameter n is incremented by one unit, to consider the next image in the sequence. Step E34 is followed by step E21 previously described.

Si la réponse est négative à l'étape E32, cela signifie que toutes les itérations n'ont pas été effectuées pour l'image considérée. L'étape E32 est suivie de l'étape E35 à laquelle le paramètre w est incrémenté d'une unité pour passer à l'itération suivante. L'étape E35 est suivie de l'étape E22 précédemment décrite. If the answer is negative in step E32, it means that all the iterations have not been performed for the image considered. Step E32 is followed by step E35 at which the parameter w is incremented by one unit to proceed to the next iteration. Step E35 is followed by step E22 previously described.

En variante, l'algorithme de la figure 9 est modifié pour décoder tout d'abord tous les blocs qui ont été codés par mise en correspondance de bloc, puis à former une image intermédiaire comportant tous ces blocs décodés par recopie de bloc, et des blocs fixés arbitrairement, par exemple uniformément gris. Cette image intermédiaire est alors utilisée comme image source pour la première itération de décodage des blocs codés par une transformation. Les itérations suivantes sont ensuite effectuées comme précédemment décrit. In a variant, the algorithm of FIG. 9 is modified to first decode all the blocks that have been coded by block mapping, then to form an intermediate image comprising all these blocks decoded by block copy, and arbitrarily fixed blocks, for example uniformly gray. This intermediate image is then used as a source image for the first iteration of decoding the blocks coded by a transformation. The following iterations are then performed as previously described.

Cette variante permet de mieux exploiter la corrélation temporelle, puisque les blocs décodés par recopie sont utilisés pour former une première image source comportant plus de détails. La convergence est alors atteinte avec un nombre réduit d'itérations. This variant makes it possible to better exploit the temporal correlation, since the copied decoded blocks are used to form a first source image with more details. Convergence is then achieved with a reduced number of iterations.

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 E41 à E57 mémorisées en mémoire 23 (figure 3). Another embodiment of the coding method according to the invention is represented in FIGS. 10, 11 and 12 in the form of an algorithm comprising steps E41 to E57 stored in memory 23 (FIG. 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 de référence de l'image de référence. In this embodiment, the size of the blocks to be encoded is determined adaptively, as a function of the amount of information present in the blocks to be coded and as a function of the "movement" of the blocks to be encoded with respect to the image of the block. reference, that is to say changes between the pixels of the block to be coded and the pixels of the reference blocks of the reference image.

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 données de codage, c'est-à-dire vecteur de mouvement, indicateur et transformation Tn.m , et l'arbre quaternaire associé. A cutting tree, here a quaternary tree, is associated with each image to be encoded. The quaternary tree represents the particular cut of each image. Each compressed image hn comprises a set of coding data, that is to say motion vector, indicator and transformation Tn.m, and the associated quaternary tree.

L'étape E41 est une initialisation d'un paramètre n à 1, pour considérer tout d'abord la première image f1 de la séquence. Step E41 is an initialization of a parameter n to 1, to first consider the first image f1 of the sequence.

L'étape suivante E42 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. The next step E42 is the division of the current image fn into blocks of initial size. For example, as shown in FIG. 11, the fn image has a size of 128x96 pixels, and it is divided into twelve blocks of size 32x32 pixels.

Chaque bloc de taille initiale An,1 à 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. Each block of initial size An, 1 to An, 12 is associated with a root of the quaternary tree represented in FIG. 12, that is to say at a node of the tree which has no associated data. and which has not yet been subdivided. A marker is initialized to zero for each root.

L'étape E42 est suivie de l'étape E43, qui est un test sur la valeur du paramètre n. Si le paramètre n est égal à 1,1'étape E43 est suivie de l'étape
E48 qui sera décrite dans la suite. En effet, la première image de la séquence est codée par une approximation multilinéaire.
Step E42 is followed by step E43, which is a test on the value of the parameter n. If the parameter n is equal to 1.1 step E43 is followed by step
E48 which will be described later. Indeed, the first image of the sequence is coded by a multilinear approximation.

Si à l'étape E43 le paramètre n est supérieur à 1, L'étape E43 est suivie de l'étape E44. Cette dernière est la division d'une image de référence en blocs de pixels adjacents, mémorisés en mémoire 25. Comme précédemment, la taille des blocs de l'image de référence dépend de la taille des blocs à coder An m.  If in step E43 the parameter n is greater than 1, step E43 is followed by step E44. The latter is the division of a reference image into blocks of adjacent pixels, stored in memory 25. As before, the size of the blocks of the reference image depends on the size of the blocks to code An m.

L'étape suivante E45 est le codage du bloc à coder courant An,m par mise en correspondance de bloc: il est recherché dans l'image de référence gn
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.Dn1,mJ) entre le bloc à coder et le bloc de correspondance.
The following step E45 is the coding of the block to be coded current An, m by block matching: it is searched in the reference image gn
a correspondence block Dni.mj 'which is as similar as possible to the block to be encoded, according to a predetermined criterion, for example a measure of distance d (Anm.Dn1, mJ) between the block to be coded and the correspondence block.

L'étape suivante E46 est un test pour vérifier si le critère de correspondance est inférieur à un seuil prédéterminé. Si la réponse est positive, la position relative du bloc de correspondance Dnî.mj, dans l'image de
référence gn-1, par rapport à la position du bloc à coder A,,, dans l'image en cours de codage fn, c'est-à-dire le vecteur de mouvement Vn.mj , est mémorisée en mémoire 25, à l'étape E47. Un indicateur n.m est également mémorisé, pour indiquer que le bloc considéré est codé par mise en correspondance de bloc.
The next step E46 is a test to check whether the matching criterion is below a predetermined threshold. If the answer is positive, the relative position of the block of correspondence Dnî.mj, in the image of
reference gn-1, with respect to the position of the block to be encoded A ,,, in the image being encoded fn, that is to say the motion vector Vn.mj, is stored in memory 25, step E47. An nm indicator is also stored to indicate that the block in question is coded by block matching.

Cet indicateur est par exemple un bit supplémentaire mis à la valeur un. Le vecteur de mouvement Vn.rnj et l'indicateur 1n,m représentent l'information de codage du bloc An.m L'étape E47 est suivie de l'étape E51 qui sera décrite dans la suite.This indicator is for example an additional bit set to the value one. The motion vector Vn.rnj and the indicator 1n, m represent the coding information of the block An.m. Step E47 is followed by the step E51 which will be described in the following.

Si la réponse est négative à l'étape E46, cela signifie que le codage par mise en correspondance de bloc ne donne pas un résultat satisfaisant, pour le bloc considéré. L'étape E46 est alors suivie de l'étape E48. If the answer is negative in step E46, this means that the block matching coding does not give a satisfactory result for the block considered. Step E46 is then followed by step E48.

L'étape E48 est la recherche d'une transformation entre le bloc An.m de l'image à coder fn et des blocs source. L'étape E48 est similaire aux étapes
E9 à E10 précédemment détaillées en référence à la figure 5.
Step E48 is the search for a transformation between the block An.m of the image to be encoded fn and source blocks. Step E48 is similar to steps
E9 to E10 previously detailed with reference to Figure 5.

L'étape E48 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 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. Step E48 results in a transformation Tn, m determined for the block to be coded An.m. The different possible variants for the selection of the source blocks, for the choice of the transformation and the distance, previously explained, are here applicable from the same way as for the first embodiment.

L'étape suivante E49 est un test pour déterminer si la distance d(A,m, AR,m) calculée à l'étape précédente est inférieure à un seuil prédéterminé S. The next step E49 is a test to determine if the distance d (A, m, AR, m) calculated in the preceding step is less than a predetermined threshold S.

Si la réponse est positive, cela signifie que l'approximation calculée permet de reconstruire un bloc ARn.m suffisamment proche du bloc à coder An.m ; I'étape E49 est suivie de l'étape E50 à 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. A l'étape suivante E51, le bloc reconstruit ARnm est calculé et mémorisé pour construire l'image g,.  If the answer is positive, it means that the calculated approximation makes it possible to reconstruct a block ARn.m sufficiently close to the block to code An.m; Step E49 is followed by step E50 at which the transformation Tn.m is stored as a data block D associated with the node of the block Ans. in the quaternary tree of the image fn. The marker remains at zero. In the next step E51, the reconstructed block ARnm is computed and stored to construct the image g ,.

L'étape E51 est suivie de l'étape E52 à 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 E52 est suivie de l'étape E53 pour considérer un autre bloc de l'image fn. L'étape E53 est suivie de l'étape E45 précédemment décrite.  Step E51 is followed by step E52 to which it is tested if the block that has just been processed is the last of the image being encoded. If it is not the case, step E52 is followed by step E53 to consider another block of image fn. Step E53 is followed by step E45 previously described.

Lorsque tous les blocs de l'image fn ont été codés, l'étape E52 est suivie de l'étape E54 à laquelle il est testé si toutes les images de la séquence ont été traitées. S'il reste au moins une image à coder, l'étape E54 est suivie de l'étape E55 pour considérer une autre image de la séquence. L'étape E55 est suivie de l'étape E42.When all the blocks of the image fn have been coded, the step E52 is followed by the step E54 to which it is tested if all the images of the sequence have been processed. If there is at least one image to be encoded, step E54 is followed by step E55 to consider another image of the sequence. Step E55 is followed by step E42.

Si, à l'étape E49, la distance d(An,m AR.m) calculée à l'étape précédente E48 est supérieure au seuil S, L'étape E49 est suivie par l'étape
E56 à laquelle il est testé si la taille du bloc à coder courant An.m a atteint une valeur minimale prédéterminée. Si la réponse est positive, L'étape E56 est suivie de l'étape E50, c'est-àaire que la transformation déterminée est mémorisée, même si elle ne satisfait pas au critère de l'étape E49, dans le cas où la taille du bloc à coder courant Anm a atteint la valeur minimale. En variante, lorsque la réponse est positive à l'étape E56, le bloc courant An.m est codé par la valeur moyenne de ses coefficients, ce qui nécessite moins de bits pour mémoriser la forme codée du bloc.
If, in step E49, the distance d (An, m AR.m) calculated in the previous step E48 is greater than the threshold S, Step E49 is followed by the step
E56 to which it is tested if the size of the block to be coded current An.ma reaches a predetermined minimum value. If the answer is positive, step E56 is followed by step E50, ie the determined transformation is stored even if it does not satisfy the criterion of step E49, in the case where the size of the block to be coded current Anm has reached the minimum value. As a variant, when the response is positive in step E56, the current block An.m is encoded by the average value of its coefficients, which requires fewer bits to memorize the coded form of the block.

Si la réponse au test de l'étape E56 est négative, cette étape est suivie de l'étape E57 à laquelle le bloc à coder courant An.m est divisé en un nombre prédéterminé M1 de sous-blocs A1n.m à AM1nm. Comme représenté à la figure Il, 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 haut gauche, sousbloc haut droit, sous-bloc bas gauche et sous-bloc bas droit. L'information de position des sous-blocs est exploitée au décodage. If the test response of the step E56 is negative, this step is followed by the step E57 at which the current coding block An.m is divided into a predetermined number M1 of sub-blocks A1n.m to AM1nm. As shown in FIG. 11, the division is for example made in four sub-blocks. In the quaternary tree, the marker of the node associated with the divided block An, m is set to 1, to indicate that the corresponding block has been divided. The division of the block results in four sub-blocks, whose nodes in the quaternary tree have markers initialized to zero. The order of the sub-blocks in the quaternary tree corresponds to their position in the divided block, and this order is the same for all the divided blocks: for example, sub-block top left, sub block top right, sub block bottom left and lower right sub-block. The position information of the sub-blocks is exploited at decoding.

L'étape E57 est suivie de l'étape E43 de test de la valeur du paramètre n. Si le paramètre n est égal à un (cas de la première image de la séquence), L'étape E43 est suivie de l'étape E48. Si le paramètre n est supérieur à un, l'étape E43 est suivie de l'étape E44 de division de l'image 9n-1 en blocs, puis par la mise en correspondance, pour chacun des sous-blocs déterminés à l'étape E57. Chacun de ces sous-blocs est codé de la même manière qu'un bloc An Les étapes suivantes sont parcourues successivement pour chaque sous-bloc An,m à AMn,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 E49 est satisfait, ou si la taille minimale de sous-bloc est atteinte (étape E56). La taille des blocs de référence est toujours adaptée à celle des blocs à coder, les blocs de référence de l'étape E44 précédente seront par conséquent divisés en quatre sous-blocs. Step E57 is followed by step E43 of testing the value of parameter n. If the parameter n is equal to one (case of the first image of the sequence), step E43 is followed by step E48. If the parameter n is greater than one, step E43 is followed by step E44 of dividing the image 9n-1 into blocks, then by matching, for each of the sub-blocks determined in step E57. Each of these sub-blocks is coded in the same way as an An block. The following steps are successively traversed for each sub-block An, m to AMn, m, which leads in particular to the determination of a transformation for the sub-block. current block, and its storage if the criterion of step E49 is satisfied, or if the minimum sub-block size is reached (step E56). The size of the reference blocks is always adapted to that of the blocks to be coded, the reference blocks of the previous step E44 will therefore be divided into four sub-blocks.

Pour chaque sous-bloc, si le critère de l'étape E49 n'est pas satisfait, et si la taille minimale de sous-bloc n'est pas atteinte (étape E56), le sous-bloc considéré est lui-même divisé à l'étape E57 en sous-blocs de taille inférieure. For each sub-block, if the criterion of step E49 is not satisfied, and if the minimum sub-block size is not reached (step E56), the sub-block considered is itself divided to step E57 in sub-blocks of smaller size.

Ainsi, par exemple, à la figure 11, L'image fn est divisée en douze blocs Zanzi à 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 A41n,6, A4,2n,6, A43n 6 et
A4,4n,6.
Thus, for example, in Fig. 11, the image fn is divided into twelve Zanzi blocks at An, 12, the blocks An.3 and An, 6 are divided into four sub-blocks, and one of these sub-blocks A4n blocks, 6 is divided into four sub-blocks A41n, 6, A4,2n, 6, A43n 6 and
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 vecteurs de mouvement, de transformations Tn,m et un arbre quaternaire. As already stated, the coding of an image fn of the sequence results in a compressed image hn comprising a set of motion vectors, transformations Tn, m and a quaternary tree.

L'algorithme de décodage correspondant à ce mode de réalisation est représenté à la figure 13 et comporte des étapes E200 à E350 respectivement analogues aux étapes E20 à E35 de l'algorithme décrit en référence à la figure 9 avec les modifications suivantes:
- les étapes E220 et E300 de sélection du premier bloc à reconstruire AR.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.
The decoding algorithm corresponding to this embodiment is shown in FIG. 13 and comprises steps E200 to E350 respectively analogous to steps E20 to E35 of the algorithm described with reference to FIG. 9 with the following modifications:
the steps E220 and E300 of selecting the first block to be reconstructed AR.m and the following block, respectively, comprise the reading of the quaternary tree associated with the image, in particular to determine the size and the position of the block to be reconstructed.

- L'étape E300 est suivie de l'étape E230 de division de l'image de référence.  Step E300 is followed by step E230 dividing the reference image.

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. These modifications are necessary to take into account the size and the position of the blocks during the decoding; in particular, the size and the position of the source blocks depend on those of the block to be reconstructed.

L'invention a été décrite pour des images à niveaux de gris, c'est-àdire des images à une seule composante ; elle s'applique également à des images en couleurs comportant classiquement trois composantes. The invention has been described for grayscale images, i.e., single-component images; it also applies to color images that typically have three components.

Ces composantes sont classiquement les composantes rouge, verte et bleue, ou les composantes de luminance et chrominance. Chacune de ces composantes est traitée comme exposé pour une image à une seule composante. These components are typically the red, green and blue components, or the luminance and chrominance components. Each of these components is treated as exposed for a single-component image.

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.  Of course, the present invention is not limited to the embodiments described and shown, but encompasses, on the contrary, any variant within the scope of the skilled person.

Claims (29)

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)l 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) et en blocs source (Dn,m,1 , Dn.m,K)I puis, pour chacun des blocs de données à coder (An.m), les étapes de: - sélection (E9) d'un nombre prédéterminé de blocs source (Dn.m.i . Dn.m.K) dans ledit sous-ensemble, - détermination (E10) d'une transformation (Tn,m) entre les blocs source sélectionnés et le bloc à coder.1. A method of encoding a set of data representative of physical quantities, said set being composed of subsets (fn) l characterized in that it comprises for each subset, the steps of: - division ( E2) of the subset into data blocks to be encoded (An m) and into source blocks (Dn, m, 1, Dn.m, K) and then, for each of the data blocks to be encoded (An.m), the steps of: - selecting (E9) a predetermined number of source blocks (Dn.mi.Dn.mK) in said subset, - determining (E10) a transformation (Tn, m) between the source blocks selected and the block to code. 2. Procédé de codage d'un ensemble de données représentatives de grandeurs physiques, ledit ensemble étant composé de sous-ensembles fez(fn), 2. A method of encoding a set of data representative of physical quantities, said set being composed of subsets fez (fn), caractérisé en ce qu'il comporte pour chacun des sous-ensembles, les étapes de: characterized in that it comprises for each of the subsets, the steps of: - division (E2) du sous-ensemble en blocs de données à coder (An m) et en blocs source (Dn,m,1, Dn,m,K), division (E2) of the subset into data blocks to be encoded (An m) and into source blocks (Dn, m, 1, Dn, m, K), - division (E4) d'au moins un sous-ensemble de référence (gn-1) en blocs de référence (Dn-1,mj), division (E4) of at least one reference subset (gn-1) into reference blocks (Dn-1, mj), puis, pour chacun des blocs de données à coder, les étapes de: then, for each of the blocks of data to be coded, the steps of: - estimation de mouvement (E6) du bloc à coder par rapport à l'un des blocs de référence, et, si un critère d'estimation n'est pas satisfait (E7), - motion estimation (E6) of the block to be coded with respect to one of the reference blocks, and, if an estimation criterion is not satisfied (E7), - sélection (E9) d'un nombre prédéterminé de blocs source (Dn,m,1, Dn,m,K) dans ledit sous-ensemble, selecting (E9) a predetermined number of source blocks (Dn, m, 1, Dn, m, K) in said subset, - détermination (El 0) d'une transformation (Tnm) entre les blocs source sélectionnés et le bloc à coder.  determination (El 0) of a transformation (Tnm) between the selected source blocks and the block to be coded. 3. Procédé de codage selon la revendication 2, caractérisé en ce que l'estimation de mouvement est une mise en correspondance de blocs. 3. coding method according to claim 2, characterized in that the motion estimation is a block matching. 4. Procédé de codage selon la revendication 2 ou 3, caractérisé en ce que le critère d'estimation de l'étape d'estimation de mouvement comporte une mesure d'une première distance entre le bloc à coder (An,m) et le bloc de référence (Dn 1,m;).  4. coding method according to claim 2 or 3, characterized in that the estimation criterion of the motion estimation step comprises a measurement of a first distance between the block to be coded (An, m) and the reference block (Dn 1, m;). 5. Procédé de codage selon l'une quelconque des revendications 2 à 4, caractérisé en ce que la première distance est l'erreur quadratique moyenne calculée entre les valeurs du bloc à coder et les valeurs du bloc de référence. 5. coding method according to any one of claims 2 to 4, characterized in that the first distance is the mean squared error calculated between the values of the block to be encoded and the values of the reference block. 6. Procédé de codage selon l'une quelconque des revendications 2 à 5, caractérisé en ce que ledit au moins un sous-ensemble de référence est un sous-ensemble de l'ensemble. 6. coding method according to any one of claims 2 to 5, characterized in that said at least one reference subset is a subset of the set. 7. Procédé de codage selon l'une quelconque des revendications 2 à 6, caractérisé en ce que ledit au moins un sous-ensemble de référence est un sous-ensemble (9n-1) de l'ensemble, qui a été préalablement codé puis décodé. 7. Coding method according to any one of claims 2 to 6, characterized in that said at least one reference subset is a subset (9n-1) of the set, which has been previously coded and decoded. 8. Procédé de codage selon l'une quelconque des revendications 1 à 7, caractérisé en ce que la transformation minimise une seconde distance (d(Anm, ARn m)) entre le bloc à coder (An,m) et son approximation calculée en appliquant la transformation aux blocs source sélectionnés (Dn.m.i . Dnm.K).  8. Coding method according to any one of claims 1 to 7, characterized in that the transformation minimizes a second distance (d (Anm, ARn m)) between the block to be coded (An, m) and its approximation calculated in applying the transformation to the selected source blocks (Dn.mi.Dnm.K). 9. Procédé de codage selon la revendication 8, caractérisé en ce que le calcul de la seconde distance comporte le calcul d'une différence entre les valeurs des données du bloc à coder (An,m) et les valeurs de son approximation calculée en appliquant la transformation aux blocs source. Coding method according to Claim 8, characterized in that the calculation of the second distance comprises calculating a difference between the data values of the block to be coded (An, m) and the values of its approximation calculated by applying transformation to source blocks. 10. Procédé de codage selon la revendication 8, caractérisé en ce que la seconde 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,m,1 à Dn,m,K)  Coding method according to claim 8, characterized in that the second distance is the mean squared error calculated between the values of the block to be coded (An m) and the values of the block resulting from the application of the approximation to the source blocks (Dn, m, 1 to Dn, m, K) Il . Procédé de codage selon l'une quelconque des revendications 1 à 10, caractérisé en ce que la transformation est une approximation multilinéaire.  He . Coding method according to one of Claims 1 to 10, characterized in that the transformation is a multilinear approximation. 12. Procédé de codage selon l'une quelconque des revendications 1 à 10, caractérisé en ce que la transformation est une approximation multilinéaire combinée avec une transformation géométrique. 12. Coding method according to any one of claims 1 to 10, characterized in that the transformation is a multilinear approximation combined with a geometric transformation. 13. Procédé de codage selon l'une quelconque des revendications 1 à 10, caractérisé en ce que la transformation est un polynôme sur les valeurs des coefficients des blocs source. 13. Coding method according to any one of claims 1 to 10, characterized in that the transformation is a polynomial on the values of the coefficients of the source blocks. 14. Procédé de codage selon l'une quelconque des revendications 1 à 13, caractérisé en ce que les blocs source (Dn.m.i . Dn.m,K) sont sélectionnés dans une partie du sous-ensemble qui dépend de la partie dans laquelle est situé le bloc à coder (An,m) dans le sous-ensemble en cours de codage (fin).  14. Coding method according to any one of claims 1 to 13, characterized in that the source blocks (Dn.mi.Dn.m, K) are selected in a part of the subset which depends on the part in which is located the block to be encoded (An, m) in the subset being coded (end). 15. Procédé de codage selon l'une quelconque des revendications 1 à 14, caractérisé en ce que les blocs source (Dn,m1, Dn.m.K) ont une taille qui est déterminée en fonction de la taille du bloc à coder (ans).  15. Coding method according to any one of claims 1 to 14, characterized in that the source blocks (Dn, m1, Dn.mK) have a size which is determined according to the size of the block to be coded (years). . 16. Procédé de codage selon l'une quelconque des revendications 1 à 15, caractérisé en ce que les blocs source (Dn,m1, , Dn,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. 16. Coding method according to any one of claims 1 to 15, characterized in that the source blocks (Dn, m1, Dn, m, K) have a size multiple of a factor F2 of that of the block to be encoded (An, m) and are undersampled by factor F, where F is an integer. 17. Procédé de codage selon l'une quelconque des revendications 1 à 15, caractérisé en ce que les blocs source (Dn,m,1, Dn.m,K) ont la même taille que le bloc à coder (An,m).  17. Coding method according to any one of claims 1 to 15, characterized in that the source blocks (Dn, m, 1, Dn.m, K) have the same size as the block to be encoded (An, m) . 18. Procédé de codage selon l'une quelconque des revendications 1 à 17, caractérisé en ce que le bloc à coder (Anm) est de taille prédéterminée. 18. Coding method according to any one of claims 1 to 17, characterized in that the block to be coded (Anm) is of predetermined size. 19. Procédé de codage selon l'une quelconque des revendications 1 à 17, caractérisé en ce que le bloc à coder (An, < n) est de taille variable, en fonction d'un critère de taille. 19. Coding method according to any one of claims 1 to 17, characterized in that the block to be coded (An, <n) is of variable size, depending on a size criterion. 20. Procédé de codage selon la revendication 19, caractérisé en ce qu'il comporte le calcul (E48) d'une troisiè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 (E49) la troisième distance à un seuil, et en ce que si la troisiè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é (E57) en blocs de taille inférieure. 20. Coding method according to claim 19, characterized in that it comprises the calculation (E48) of a third distance between the block to be coded and the approximation calculated by the application of the transformation to the source blocks, in that that the size criterion consists in comparing (E49) the third distance to a threshold, and in that if the third distance is greater than the threshold, and if a minimum block size has not been reached, the current block of encoding is divided (E57) into smaller blocks. 21. 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 (tam) entre le bloc et des premiers blocs source formés dans le sous-ensemble, 21. A method of decoding a set of data representative of physical quantities, the set being composed of subsets (hn) which each comprise coded representations of data blocks, each of the blocks being encoded by means of a transformation (tam). ) between the block and first source blocks formed in the subset, caractérisé en ce qu'il comporte, pour chacun des blocs de chacun des sous-ensembles à décoder, l'application itérative (E28) de la transformation à des seconds blocs source pour décoder le bloc (ARn,m), les seconds blocs source étant formés dans un sous-ensemble contenant des blocs prédéterminés pour la première itération, et dans un sous-ensemble contenant des blocs décodés à l'itération précédente pour les itérations suivantes. characterized in that it comprises, for each of the blocks of each of the subsets to be decoded, the iterative application (E28) of the transformation to second source blocks to decode the block (ARn, m), the second source blocks being formed in a subset containing predetermined blocks for the first iteration, and in a subset containing decoded blocks at the previous iteration for subsequent iterations. 22. 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, 22. A method of decoding a set of data representative of physical quantities, the set being composed of subsets (hn) which each comprise coded representations of data blocks, caractérisé en ce qu'il comporte, pour chacun des blocs de chacun des sous-ensembles à décoder, les étapes de: characterized in that it comprises, for each of the blocks of each of the subsets to be decoded, the steps of: - recherche (E24) si le bloc est codé par estimation de mouvement de bloc, - search (E24) if the block is encoded by block motion estimation, et, en cas de réponse négative, le bloc étant alors codé au moyen d'une transformation (Tn,m) entre le bloc et des premiers blocs source formés dans le sous-ensemble: and, in the case of a negative response, the block being then encoded by means of a transformation (Tn, m) between the block and first source blocks formed in the subset: - application itérative (E28) de la transformation à des seconds blocs source pour décoder le bloc (ARn,m), les seconds blocs source étant formés dans un sous-ensemble contenant des blocs prédéterminés pour la première itération, et dans un sous-ensemble contenant des blocs décodés à l'itération précédente pour les itérations suivantes. - iterative application (E28) of the transformation to second source blocks to decode the block (ARn, m), the second source blocks being formed in a subset containing predetermined blocks for the first iteration, and in a subset containing decoded blocks at the previous iteration for subsequent iterations. 23. Procédé de décodage selon la revendication 22, caractérisé en ce que, en cas de réponse positive à l'étape de recherche (E24), le bloc est décodé (E26) par recopie d'un bloc de correspondance déterminé par l'estimation de mouvement de bloc. 23. Decoding method according to claim 22, characterized in that, in the case of a positive response to the search step (E24), the block is decoded (E26) by copying a correspondence block determined by the estimate. block movement. 24. Dispositif de codage (2) d'un ensemble de données représentatives de grandeurs physiques, ledit ensemble étant composé de sous-ensembles (fin)  24. Device for coding (2) a set of data representative of physical quantities, said set being composed of subsets (fine) caractérisé en ce qu'il comporte (24): characterized in that it comprises (24): - des moyens de division des sous-ensembles (fin) en blocs de données à coder (An,m) et en blocs source (Dnm,î , Dn,m.K),  means for dividing the subsets (end) into data blocks to be encoded (An, m) and into source blocks (Dnm, I, Dn, m.K), - des moyens de sélection, pour chacun des blocs de données à coder (An,m) de chacun des sous-ensembles (fn)l d'un nombre prédéterminé de blocs source (Dn.m.i , Dn,m,K) dans le sous-ensemble respectif de chacun des blocs de données à coder, et selection means, for each of the blocks of data to be encoded (An, m) of each of the subsets (fn) 1 of a predetermined number of source blocks (Dn.mi, Dn, m, K) in the respective subset of each of the blocks of data to be encoded, and - des moyens de détermination d'une transformation (Tn.m) entre les blocs source sélectionnés et le bloc à coder. means for determining a transformation (Tn.m) between the selected source blocks and the block to be coded. 25. Dispositif de codage (2) d'un ensemble de données représentatives de grandeurs physiques, ledit ensemble étant composé de sous-ensembles (fn), 25. A coding device (2) for a set of data representative of physical quantities, said set being composed of subsets (fn), caractérisé en ce qu'il comporte (24): characterized in that it comprises (24): - des moyens de division des sous-ensembles (fin) en blocs de données à coder (An,m) et en blocs source (Dn m 1 , Dn.m,K),  means for dividing the subsets (end) into data blocks to be encoded (An, m) and into source blocks (Dn m 1, Dn.m, K), - des moyens de division d'au moins un sous-ensemble de référence (gn-1) en blocs de référence, pour chacun des sous-ensembles, means for dividing at least one reference subset (gn-1) into reference blocks, for each of the subsets, - des moyens d'estimation de mouvement, pour chacun des blocs de données à coder, du bloc à coder par rapport à l'un des blocs de référence, et, si un critère d'estimation n'est pas satisfait, motion estimation means, for each of the blocks of data to be encoded, of the block to be coded with respect to one of the reference blocks, and, if an estimation criterion is not satisfied, - des moyens de sélection, pour chacun des blocs de données de chacun des sous-ensembles, d'un nombre prédéterminé de blocs source (Dn.m,i  selection means, for each of the data blocks of each of the subsets, of a predetermined number of source blocks (Dn.m, i D n.m.K) dans le sous-ensemble respectif de chacun des blocs de données à coder, et D n.m.K) in the respective subset of each of the data blocks to be encoded, and - des moyens de détermination d'une transformation (Tn,m) entre les blocs source sélectionnés et le bloc à coder.  means for determining a transformation (Tn, m) between the selected source blocks and the block to be coded. 26. Dispositif de codage selon l'une quelconque des revendications 24 à 25, caractérisé en ce que les moyens de division, sélection et détermination sont incorporés dans: 26. Coding device according to any one of claims 24 to 25, characterized in that the division, selection and determination means are incorporated in: - un contrôleur (24), a controller (24), - une mémoire morte (23) comportant un programme pour coder chacun des blocs de données, et a read-only memory (23) comprising a program for coding each of the data blocks, and - une mémoire vive (25) comportant des registres adaptés à enregistrer des variables modifiées au cours de l'exécution dudit programme. a random access memory (25) comprising registers adapted to record modified variables during the execution of said program. 27. 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 (Tn,m) entre le bloc et des blocs source sélectionnés dans le sous-ensemble respectif, 27. Device for decoding (5) a set of data representative of physical quantities, the set being composed of subsets (hn) which each comprise coded representations of data blocks, each of the blocks being coded by means of a transformation (Tn, m) between the block and selected source blocks in the respective subset, caractérisé en ce qu'il comporte des moyens (54) d'application de la transformation à des seconds blocs source, pour chacun des blocs de chacun des sous-ensembles à décoder, les seconds blocs source étant formés dans un sous-ensemble contenant des blocs prédéterminés pour la première itération, et dans un sous-ensemble contenant des blocs décodés à l'itération précédente pour les itérations suivantes.. characterized in that it comprises means (54) for applying the transformation to second source blocks, for each of the blocks of each of the subsets to be decoded, the second source blocks being formed in a subset containing predetermined blocks for the first iteration, and in a subset containing decoded blocks at the previous iteration for subsequent iterations. 28. 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, 28. Device for decoding (5) a set of data representative of physical quantities, the set being composed of subsets (hn) which each comprise coded representations of data blocks, caractérisé en ce qu'il comporte (54): characterized in that it comprises (54): - des moyens de recherche, pour chacun des blocs (ans) de chacun des sous-ensembles à décoder, si le bloc est codé par estimation de mouvement de bloc, search means, for each of the blocks (years) of each of the subsets to be decoded, if the block is coded by block motion estimation, et en cas de réponse négative, le bloc étant alors codé au moyen d'une transformation (tam) entre le bloc et des blocs source sélectionnés dans le sous-ensemble respectif,  and in the case of a negative response, the block then being encoded by means of a transformation (tam) between the block and selected source blocks in the respective subset, - des moyens d'application de la transformation à des seconds blocs source pour reconstruire le bloc (ARn.m), les seconds blocs source étant formés dans un sous-ensemble contenant des blocs prédéterminés pour la première itération, et dans un sous-ensemble contenant des blocs décodés à l'itération précédente pour les itérations suivantes. means for applying the transformation to second source blocks to reconstruct the block (ARn.m), the second source blocks being formed in a subset containing predetermined blocks for the first iteration, and in a subset containing decoded blocks at the previous iteration for subsequent iterations. 29. Dispositif de décodage selon l'une quelconque des revendications 27 à 28, caractérisé en ce que les moyens d'application sont incorporés dans: 29. Decoding device according to any one of claims 27 to 28, characterized in that the application means are incorporated in: - un contrôleur (54), a controller (54), - une mémoire morte (53) comportant un programme pour décoder chacun des blocs de données, et a read-only memory (53) comprising a program for decoding each of the data blocks, and - une mémoire vive (55) comportant des registres adaptés à enregistrer des variables modifiées au cours de l'exécution dudit programme. a random access memory (55) comprising registers adapted to record modified variables during the execution of said program. 30. Appareil numérique comportant des moyens adaptés à mettre en oeuvre le procédé de codage selon l'une quelconque des revendications 1 à 20, et/ou des moyens adaptés à mettre en oeuvre le procédé de décodage selon l'une quelconque des revendications 21 à 23. Digital apparatus comprising means adapted to implement the coding method according to any one of claims 1 to 20, and / or means adapted to implement the decoding method according to any one of claims 21 to 23. 31. Appareil numérique comportant le dispositif de codage selon l'une quelconque des revendications 24 à 26, et/ou le dispositif de décodage selon l'une quelconque des revendications 27 à 29.  31. Digital apparatus comprising the coding device according to any one of claims 24 to 26, and / or the decoding device according to any one of claims 27 to 29.
FR9712420A 1997-09-30 1997-10-06 Digital images coding and decoding method e.g. for gray level images, color images Withdrawn FR2769454A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR9712420A FR2769454A1 (en) 1997-10-06 1997-10-06 Digital images coding and decoding method e.g. for gray level images, color images
EP98402336A EP0905982A3 (en) 1997-09-30 1998-09-23 Method and device for coding and decoding data, notably sequences of digital images

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR9712420A FR2769454A1 (en) 1997-10-06 1997-10-06 Digital images coding and decoding method e.g. for gray level images, color images

Publications (1)

Publication Number Publication Date
FR2769454A1 true FR2769454A1 (en) 1999-04-09

Family

ID=9511861

Family Applications (1)

Application Number Title Priority Date Filing Date
FR9712420A Withdrawn FR2769454A1 (en) 1997-09-30 1997-10-06 Digital images coding and decoding method e.g. for gray level images, color images

Country Status (1)

Country Link
FR (1) FR2769454A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3733038A1 (en) * 1987-09-30 1989-04-20 Siemens Ag Process and circuit arrangement for picture data reduction for digital television signals
US5241395A (en) * 1989-08-07 1993-08-31 Bell Communications Research, Inc. Adaptive transform coding using variable block size
EP0720385A2 (en) * 1994-12-27 1996-07-03 Sharp Kabushiki Kaisha Video encoder with motion area extraction
EP0725363A2 (en) * 1995-01-31 1996-08-07 Canon Kabushiki Kaisha Image compression apparatus and method
US5563718A (en) * 1993-11-30 1996-10-08 Polaroid Corporation Image coding by use of discrete cosine transforms

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3733038A1 (en) * 1987-09-30 1989-04-20 Siemens Ag Process and circuit arrangement for picture data reduction for digital television signals
US5241395A (en) * 1989-08-07 1993-08-31 Bell Communications Research, Inc. Adaptive transform coding using variable block size
US5563718A (en) * 1993-11-30 1996-10-08 Polaroid Corporation Image coding by use of discrete cosine transforms
EP0720385A2 (en) * 1994-12-27 1996-07-03 Sharp Kabushiki Kaisha Video encoder with motion area extraction
EP0725363A2 (en) * 1995-01-31 1996-08-07 Canon Kabushiki Kaisha Image compression apparatus and method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
STROBACH P: "QUADTREE-STRUCTURED RECURSIVE PLANE DECOMPOSITION CODING OF IMAGES", IEEE TRANSACTIONS ON SIGNAL PROCESSING, vol. 39, no. 6, 1 June 1991 (1991-06-01), pages 1380 - 1397, XP000235043 *

Similar Documents

Publication Publication Date Title
EP0310175B1 (en) Coding device for digital video signals, and decoding device therefor
JPH07504541A (en) Fractal coding method and system for data
EP0331236A1 (en) Method and device for coding digital video signals and decoding device therefor
FR2760872A1 (en) PROCESS FOR OPTIMIZING THE COMPRESSION OF IMAGE DATA, WITH AUTOMATIC SELECTION OF COMPRESSION CONDITIONS
EP0448491A1 (en) Method of coding and transmitting digital images of an image sequence with at least two quality levels and corresponding devices
FR2846835A1 (en) Data e.g. digital image coding process for digital camera and photocopier, involves selecting coding mode based on coding costs calculated according to same throughput-distortion bias for overall image
EP1603341A1 (en) Method and device for image interpolation systems using motion estimation and compensation
FR2849982A1 (en) Coded digital image decoding method, involves decoding image to preset resolution based on determined preset resolution quantity of data, and selecting decoded image based on relation between selected and preset resolutions
FR2792150A1 (en) Video image digital signal coding-decoding method, storing signal sub signal decompressed images first position and performing iterative process to determine optimum decoding techniques
EP0545475B1 (en) Method and apparatus for synthesizing texture signals
EP0322058B1 (en) Arrangement for regulating the transmission speed of at least two components of digital video signals
FR2769454A1 (en) Digital images coding and decoding method e.g. for gray level images, color images
EP1812903A1 (en) Method of coding wavelet-coded images with data rate control and corresponding coding device and computer program
FR2934453A1 (en) ERROR MASKING METHOD AND DEVICE
FR3057130B1 (en) METHOD OF ENCODING AN IMAGE, DECODING METHOD, DEVICES, TERMINAL EQUIPMENT AND COMPUTER PROGRAMS
EP0524871B1 (en) Method of adaptive hybrid signal coding
FR2776411A1 (en) Method and device for coding and decoding sequence of digital image data
FR2766033A1 (en) Compressed data coding-decoding method
WO2022263297A1 (en) Methods and devices for decoding at least part of a data stream, computer program and associated data streams
FR2848765A1 (en) Digital image JPEG signal data configuration determination procedure determines minimum data rate reduction for resolution as function of signal quality
EP0427653A1 (en) System for the compression of digital images belonging to a sequence of images using adaptive quantisation with psycho-visual transformation function
FR3137240A1 (en) Method for segmenting a plurality of data, coding method, decoding method, corresponding devices, systems and computer program
WO2004112398A1 (en) Method and device for encoding and decoding a video image sequence
FR2761553A1 (en) Image data compression and decompression method
FR2817697A1 (en) Video data processing technique creates hierarchical segmented movement field

Legal Events

Date Code Title Description
ST Notification of lapse