FR2766034A1 - Compressed data coding-decoding method - Google Patents

Compressed data coding-decoding method Download PDF

Info

Publication number
FR2766034A1
FR2766034A1 FR9708648A FR9708648A FR2766034A1 FR 2766034 A1 FR2766034 A1 FR 2766034A1 FR 9708648 A FR9708648 A FR 9708648A FR 9708648 A FR9708648 A FR 9708648A FR 2766034 A1 FR2766034 A1 FR 2766034A1
Authority
FR
France
Prior art keywords
coded
blocks
block
data
coding
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.)
Pending
Application number
FR9708648A
Other languages
French (fr)
Inventor
Isabelle Amonou
Felix Henry
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 FR9708648A priority Critical patent/FR2766034A1/en
Priority to EP98401708A priority patent/EP0891100A1/en
Priority to JP10208625A priority patent/JP2000196460A/en
Publication of FR2766034A1 publication Critical patent/FR2766034A1/en
Pending 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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

The coding-decoding method operates on a set of data representing physical quantities, the set being comprised of sub-sets fn. For each sub-set it is divided into blocks of data to be coded, a reference set is divided into source blocks and then, for each block of data to be coded, a predetermined number of source blocks in the reference sub-set are selected. The method then determines a transformation between the source blocks selected and the block to be coded.

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 données. The present invention relates, in general, to a method and a device for encoding data, as well as to a method and a device for decoding data. Data encoding and decoding aims in particular to compress and decompress data.

Des données compressées peuvent être mémorisées en occupant une place mémoire réduite par rapport aux données initiales non compressées, ou peuvent être transmises plus rapidement, ou avec un débit plus faible, que les données initiales non compressées. Compressed data can be stored in a reduced memory space compared to the uncompressed initial data, or can be transmitted faster, or at a lower rate, than the uncompressed initial data.

Ces données sont a priori quelconques et représentent des grandeurs physiques. Dans des applications privilégiées, on considère plus particulièrement le codage et décodage d'image, puisque les images sont connues pour occuper une grande place mémoire et nécessiter un débit élevé, ou un temps de transmission important, lorsque l'on souhaite les transmettre. These data are a priori arbitrary and represent physical quantities. In preferred applications, image coding and decoding are more particularly considered, since images are known to occupy a large memory space and require a high bit rate, or a significant transmission time, when it is desired to transmit them.

De nombreux procédés de codage d'image existent actuellement. Many methods of image coding currently exist.

Parmi ceux-ci, les procédés de codage progressif codent les données de manière progressive, par exemple par itérations successives, et la précision de codage augmente au fur et à mesure des itérations de codage.Among these, the progressive coding methods code the data progressively, for example by successive iterations, and the coding precision increases as the coding iterations increases.

Le codage progressif des données permet la transmission progressive des données codées. Dans le cas d'une image, il est possible de construire en cours de transmission de l'image une version approchée de l'image transmise. La version approchée est construite à partir des données déjà reçues sans attendre que toutes les données relatives à l'image aient été transmises. L'image reçue est graduellement améliorée au fur et à mesure que les données sont transmises. Progressive data coding allows progressive transmission of coded data. In the case of an image, it is possible to construct during the transmission of the image an approximate version of the transmitted image. The approximate version is constructed from the data already received without waiting for all the data relating to the image to have been transmitted. The received image is gradually improved as the data is transmitted.

La transmission progressive permet à un utilisateur de visualiser rapidement la version approchée de l'image. L'utilisateur peut interrompre la transmission en cours si la version approchée de l'image est suffisante ou au contraire si l'image n'est pas celle souhaitée. Progressive transmission allows a user to quickly view the approximate version of the image. The user can interrupt the transmission in progress if the approximate version of the image is sufficient or on the contrary if the image is not the one desired.

Par exemple, le codage JPEG (Joint Picture Expert Group) est une méthode de codage par blocs fondé sur des transformations en cosinus discret, suivi d'une compression par quantification et codage à longueur variable. Le codage JPEG peut être progressif selon un mode spécifique appelé HJPEG (Hierarchic Joint Picture Expert Group). For example, JPEG coding (Joint Picture Expert Group) is a block coding method based on discrete cosine transformations, followed by compression by quantization and variable length coding. JPEG coding can be progressive according to a specific mode called HJPEG (Hierarchic Joint Picture Expert Group).

Le codage HJPEG est relativement long et complexe à mettre en oeuvre, car il est fondé sur des calculs de transformations, en l'occurrence transformation en cosinus discret. De même, le décodage nécessite des calculs de même complexité et longueur. The HJPEG coding is relatively long and complex to implement, because it is based on transformation calculations, in this case transformation in discrete cosine. Likewise, decoding requires calculations of the same complexity and length.

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, qui permettent un codage et un décodage plus simples, et donc plus rapides, tout en présentant un taux de compression de données au moins équivalent aux taux de la technique antérieure. The present invention aims to remedy the drawbacks of the prior art, by providing a data coding method and device, as well as the corresponding decoding method and device, which allow simpler and therefore faster coding and decoding, while having a data compression rate at least equivalent to the rates of the prior art.

A cette fin, I'invention propose un procédé de codage d'un ensemble de données représentatives de grandeurs physiques,
caractérisé en ce qu'il comporte, L'étape de:
- division de l'ensemble en blocs de données à coder,
puis les étapes suivantes, réalisées itérativement un nombre prédéterminé de fois:
- construction d'un ensemble de référence,
- division de l'ensemble de référence en blocs source,
et, pour chacun des blocs de données à coder:
- sélection d'un nombre prédéterminé de blocs source dans ledit ensemble de référence,
- détermination d'une transformation entre les blocs source sélectionnés et le bloc à coder.
To this end, the invention proposes a method of coding a set of data representative of physical quantities,
characterized in that it comprises, the step of:
- division of the set into data blocks to be coded,
then the following steps, performed iteratively a predetermined number of times:
- construction of a reference set,
- division of the reference set into source blocks,
and, for each of the data blocks to be coded:
- selection of a predetermined number of source blocks in said reference set,
- 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,
caractérisé en ce qu'il comporte:
- des moyens de division de l'ensemble en blocs de données à coder,
- des moyens de construction d'ensemble de référence,
- des moyens de division d'ensemble de référence en blocs source,
- des moyens de sélection d'un nombre prédéterminé de blocs source dans chacun des ensembles de référence, pour 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 coding a set of data representative of physical quantities,
characterized in that it comprises:
means for dividing the set into data blocks to be coded,
- reference assembly construction means,
- means for dividing the reference set into source blocks,
means for selecting a predetermined number of source blocks in each of the reference sets, for 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.

L'invention se situe dans le domaine du codage et décodage progressif avec pertes de données, notamment d'images numériques. Le codage est réalisé par bloc. The invention relates to the field of progressive coding and decoding with loss of data, in particular digital images. Coding is carried out by block.

L'invention permet une compression et une décompression rapide des données. L'invention est plus particulièrement destinée à la transmission des données compressées. Dans ce cadre, le procédé comporte en outre l'étape de transmission de la transformation déterminée pour chacun des blocs de données. The invention allows rapid compression and decompression of data. The invention is more particularly intended for the transmission of compressed data. In this context, the method also includes the step of transmitting the transformation determined for each of the data blocks.

Selon une caractéristique préférée, il est recherché, pour chacun des blocs de données à coder si une mise en correspondance du bloc à coder avec l'un des blocs source respecte un critère de correspondance. Le bloc est alors codé au moyen d'une transformation seulement si le critère n'est pas satisfait. According to a preferred characteristic, it is sought, for each of the data blocks to be coded if a mapping of the block to be coded with one of the source blocks respects a matching criterion. The block is then coded by means of a transformation only if the criterion is not satisfied.

Le codage par mise en correspondance de bloc est rapide et nécessite peu de bits. Le décodage est également très rapide. Block matching coding is fast and requires few bits. Decoding is also very fast.

Le critère de correspondance de l'étape de mise en correspondance comporte une mesure d'une première distance entre le bloc à coder et le bloc source. Ce type de critère est simple à mettre en oeuvre. The matching criterion of the matching step comprises a measurement of a first distance between the block to be coded and the source block. This type of criterion is simple to implement.

Selon une autre caractéristique préférée, un ensemble de données à coder est construit à chaque itération de codage, préalablement au codage proprement dit. According to another preferred characteristic, a set of data to be coded is constructed at each coding iteration, prior to the coding proper.

A la première itération, cet ensemble est construit par soustraction d'une moyenne de l'ensemble de données représentatives de grandeurs physiques audit ensemble de données représentatives de grandeurs physiques. At the first iteration, this set is constructed by subtracting an average of the set of data representative of physical quantities from said set of data representative of physical quantities.

A partir de la deuxième itération, cet ensemble est construit par soustraction de l'ensemble à coder à l'itération précédente à un ensemble de données reconstruit à partir des transformations déterminées à l'itération précédente. From the second iteration, this set is constructed by subtracting the set to be coded in the previous iteration from a set of data reconstructed from the transformations determined in the previous iteration.

Ainsi, L'ensemble de données à coder à chacune des itérations résulte d'une différence. Par exemple dans le cas d'une image, une image de différence est généralement codée avec une plus grande précision que l'image d'origine. Thus, the set of data to be coded at each of the iterations results from a difference. For example in the case of an image, a difference image is generally coded with greater precision than the original image.

Selon une caractéristique préférée, 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. Cette distance est une différence, par exemple l'erreur quadratique, entre les valeurs des données du bloc à coder et les valeurs de son approximation calculée en appliquant la transformation aux blocs source. Ce type de distance est simple et rapide à calculer. According to a preferred characteristic, the transformation minimizes a second distance between the block to be coded and its approximation calculated by applying the transformation to the selected source blocks. This distance is a difference, for example the square error, between the values of the data of the block to be coded and the values of its approximation calculated by applying the transformation to the source blocks. This type of distance is simple and quick to calculate.

Selon une autre caractéristique préférée, la transformation est une approximation multilinéaire, qui permet un codage rapide et précis. Pour des applications spécifiques, la transformation peut être 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 another preferred characteristic, the transformation is a multilinear approximation, which allows fast and precise coding. For specific applications, the transformation can be a multilinear approximation combined with a geometric transformation, or a polynomial on the values of the coefficients of the source blocks.

Selon des caractéristiques de l'invention, pour la première itération de codage de l'ensemble à coder, ledit au moins un ensemble de référence est un ensemble prédéterminé, et, à partir de la deuxième itération, ledit au moins un ensemble de référence est l'ensemble qui a été préalablement codé puis décodé à l'itération précédente. L'ensemble de référence est ainsi déterminé de manière simple. According to characteristics of the invention, for the first coding iteration of the set to be coded, said at least one reference set is a predetermined set, and, from the second iteration, said at least one reference set is the set which was previously coded and then decoded in the previous iteration. The reference set is thus determined in a simple manner.

Pour augmenter la précision et la vitesse de codage, les blocs source sont sélectionnés dans une partie de l'ensemble de référence qui dépend de la partie dans laquelle est situé le bloc à coder dans l'ensemble en cours de codage. To increase the accuracy and speed of coding, the source blocks are selected from a part of the reference set which depends on the part in which the block to be coded is located in the set being coded.

Pour simplifier la mise en oeuvre, les blocs source ont une taille qui est déterminée en fonction de la taille du bloc à coder, par exemple les blocs source ont une taille multiple d'un facteur F de celle du bloc à coder et sont sous-échantillonnés du facteur F, où F est un entier, ou les blocs source ont la même taille que le bloc à coder. To simplify the implementation, the source blocks have a size which is determined as a function of the size of the block to be coded, for example the source blocks have a size multiple of a factor F of that of the block to be coded and are sub- sampled by the factor F, where F is an integer, or the source blocks have the same size as the block to be coded.

Selon d'autres caractéristiques, le bloc à coder est de taille prédéterminée, ce qui est simple à mettre en oeuvre, ou la taille du bloc à coder diminue au fur et à mesure des itérations, ce qui augmente la précision de codage à chaque itération. En effet, les blocs de taille variable permettent un codage qui s'adapte au contenu de l'image, et par conséquence un codage plus précis de cette dernière. According to other characteristics, the block to be coded is of predetermined size, which is simple to implement, or the size of the block to be coded decreases as iterations progress, which increases the coding precision at each iteration. . Indeed, the blocks of variable size allow coding which adapts to the content of the image, and consequently a more precise coding of the latter.

Dans un autre aspect, I'invention propose un procédé de décodage d'un ensemble de données codées représentatives de grandeurs physiques,
L'ensemble de données étant codé par une suite d'ensembles de codage qui comportent chacun des représentations codées de blocs de données, chacun des blocs étant codé au moyen d'une transformation entre des blocs source sélectionnés dans un ensemble de référence et le bloc,
caractérisé en ce qu'il comporte, pour chacun des ensembles de codage successivement, et pour chacun des blocs, L'étape d'application de la transformation aux blocs source pour décoder le bloc.
In another aspect, the invention proposes a method for decoding a set of coded data representative of physical quantities,
The data set being coded by a series of coding sets which each include coded representations of data blocks, each of the blocks being coded by means of a transformation between selected source blocks in a reference set and the block ,
characterized in that it comprises, for each of the coding sets successively, and for each of the blocks, the step of applying the transformation to the source blocks to decode the block.

Corrélativement, I'invention propose un dispositif de décodage d'un ensemble de données codées représentatives de grandeurs physiques,
L'ensemble étant codé par une suite d'ensembles de codage qui comportent chacun des représentations codées de blocs de données de l'ensemble de données, chacun des blocs étant codé au moyen d'une transformation entre des blocs source sélectionnés dans un ensemble de référence et le bloc,
caractérisé en ce qu'il comporte des moyens d'application de la transformation aux blocs source, pour chacun des ensembles de codage successivement et pour chacun des blocs, pour reconstruire le bloc.
Correlatively, the invention proposes a device for decoding a set of coded data representative of physical quantities,
The set being coded by a series of coding sets which each include coded representations of data blocks of the data set, each of the blocks being coded by means of a transformation between source blocks selected from a set of reference and block,
characterized in that it comprises means for applying the transformation to the source blocks, for each of the coding sets successively and for each of the blocks, for reconstructing the block.

Le procédé et le dispositif de décodage permettent d'obtenir des avantages analogues à ceux du procédé et du dispositif de codage. The method and the decoding device make it possible to obtain advantages analogous to those of the method and the coding device.

Selon une caractéristique préférée, le procédé comporte une étape de recherche pour déterminer si le bloc est codé par mise en correspondance de blocs, préalablement au décodage par application d'un transformation. According to a preferred characteristic, the method includes a search step to determine whether the block is coded by matching blocks, prior to decoding by applying a transformation.

En cas de réponse positive à l'étape de recherche, le bloc est décodé par recopie d'un bloc source déterminé par la mise en correspondance de blocs. Ce décodage est donc particulièrement simple et rapide. In the event of a positive response to the search step, the block is decoded by copying a source block determined by the matching of blocks. This decoding is therefore particularly simple and rapid.

Dans le cas où le codage a été effectué sur des ensembles construits par des différences, le procédé de décodage comporte en outre, pour la première itération, I'addition d'une moyenne à l'ensemble résultant de l'application de la transformation aux bloc source pour chacun des blocs, et, à partir de la deuxiéme itération, I'addition de l'ensemble résultant du décodage à l'itération précédente et de l'ensemble résultant de l'application de la transformation aux bloc source pour chacun des blocs. In the case where the coding has been carried out on sets constructed by differences, the decoding method further comprises, for the first iteration, the addition of an average to the set resulting from the application of the transformation to source block for each of the blocks, and, from the second iteration, the addition of the set resulting from the decoding to the previous iteration and of the set resulting from the application of the transformation to the source block for each of the blocks.

Les caractéristiques et avantages de la présente invention apparaîtront plus clairement à la lecture d'un mode préféré de réalisation illustré par les dessins ci-joints, dans lesquels:
- la figure 1 représente de manière schématique un dispositif de codage de données selon l'invention,
- la figure 2 représente de manière schématique un dispositif de décodage de données selon l'invention,
- la figure 3 représente un mode de réalisation du dispositif de codage de données selon l'invention,
- la figure 4 représente un mode de réalisation du dispositif de décodage de données selon l'invention,
- la figure 5 est un algorithme de codage de données selon un premier mode de réalisation de l'invention,
- la figure 6 représente schématiquement des itérations de codage selon l'invention,
- la figure 7 est une image divisée en blocs au cours de son codage selon l'invention,
- la figure 8 est une image divisée en blocs au cours de son codage selon l'invention,
- les figures 9a à 9f représentent des blocs à coder et des blocs source associés
- la figure 10 est un algorithme de décodage de données selon le premier mode de réalisation de l'invention,
- la figure 11 représente schématiquement des itérations de décodage selon l'invention,
- la figure 12 est un algorithme de codage de données selon un deuxième mode de réalisation de l'invention,
- la figure 13 représente schématiquement des itérations de codage selon le deuxième mode de réalisation de l'invention,
- la figure 14 représente schématiquement des itérations de décodage selon le deuxième mode de réalisation de l'invention,
- la figure 15 est un algorithme de codage de données selon un troisième mode de réalisation de l'invention,
- la figure 16 est un algorithme de décodage de données selon le troisième mode de réalisation de l'invention,
- la figure 17 est un algorithme de codage de données selon un quatrième mode de réalisation de l'invention,
- la figure 18 représente schématiquement une étape de l'algorithme de la figure 17,
- la figure 19 représente schématiquement des itérations de codage selon le quatrième mode de réalisation de l'invention,
- ia figure 20 est un algorithme de décodage de données selon le quatriéme mode de réalisation de l'invention, et
- la figure 21 représente schématiquement des itérations de décodage selon le quatrième mode de réalisation de l'invention.
The characteristics and advantages of the present invention will appear more clearly on reading a preferred embodiment illustrated by the attached drawings, in which:
FIG. 1 schematically represents a data coding device according to the invention,
FIG. 2 schematically represents a device for decoding data 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 schematically represents iterations of coding according to the invention,
FIG. 7 is an image divided into blocks during its coding according to the invention,
FIG. 8 is an image divided into blocks during its coding according to the invention,
- Figures 9a to 9f show blocks to be coded and associated source blocks
FIG. 10 is a data decoding algorithm according to the first embodiment of the invention,
FIG. 11 schematically represents iterations of decoding according to the invention,
FIG. 12 is a data coding algorithm according to a second embodiment of the invention,
FIG. 13 schematically represents iterations of coding according to the second embodiment of the invention,
FIG. 14 schematically represents iterations of decoding according to the second embodiment of the invention,
FIG. 15 is a data coding algorithm according to a third embodiment of the invention,
FIG. 16 is a data decoding algorithm according to the third embodiment of the invention,
FIG. 17 is a data coding algorithm according to a fourth embodiment of the invention,
FIG. 18 schematically represents a step in the algorithm of FIG. 17,
FIG. 19 schematically represents iterations of coding according to the fourth embodiment of the invention,
FIG. 20 is a data decoding algorithm according to the fourth embodiment of the invention, and
- Figure 21 shows schematically iterations of decoding according to the fourth 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 non-coded data. The source 1 comprises for example a memory means, such as random access memory, hard disk, floppy disk, compact disc, for memorizing non-coded data, this memory means being associated with a suitable reading means for reading the data there. Means for storing the data in the memory means can also be provided.

La source 1 peut être par exemple un appareil photographique numérique dans le cas d'un signal représentatif d'une image fixe, ou une caméra numérique délivrant une séquence d'image. Dans ce dernier cas, chaque image de la séquence peut être codée comme une image fixe, indépendamment des autre images de la séquence, ou la séquence est codée comme un signal à trois dimensions (deux dimensions spatiales et une dimension temporelle). The source 1 can for example be a digital camera in the case of a signal representative of a still image, or a digital camera delivering an image sequence. In the latter case, each image in the sequence can be coded as a still image, independently of the other images in the sequence, or the sequence is coded as a three-dimensional signal (two spatial dimensions and one temporal dimension).

Des moyens 3 utilisateurs de données codées sont reliés en sortie 27 du dispositif de codage 2. Means 3 users of coded data are connected at 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 means for storing coded data, and / or means for transmitting the coded data.

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 coded 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 at the input 52 of the decoding device 5. The means 4 comprise for example coded data memory means, and / or means for receiving the coded data 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. Means 6 users of decoded data are connected to the output 57 of the decoding device 5. The user means 6 are for example means for viewing images.

Le dispositif de codage et le dispositif de décodage peuvent être intégrés dans un même appareil numérique, par exemple un appareil photographique numérique muni d'un écran de visualisation. The coding device and the decoding device can be integrated into the same digital camera, for example a digital photographic camera provided with a display screen.

Un mode de réalisation de dispositif de codage de données 2 est représenté à la figure 3. An embodiment of the 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 codage,
- une mémoire vive (RAM) 25 pour mémoriser dans des registres des paramètres modifiés au cours de l'exécution de l'algorithme de codage, et
- une mémoire tampon de sortie 26, également reliée à la sortie 27 du dispositif.
The coding device 2 comprises a data and address bus 20 to which are connected:
an input buffer memory 21, also connected to 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 below,
a controller 24 for implementing the coding algorithm,
a random access memory (RAM) 25 for storing in registers parameters modified during the execution of the coding algorithm, and
- an output buffer memory 26, also connected to 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. An embodiment of a data decoding device 5 is shown in FIG. 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.
the decoding device 5 comprises a data and address bus 50 to which are connected:
an input buffer memory 51, also connected to input 52 of the device, for temporarily storing the data to be coded,
a read only memory (ROM) 53 in which is stored a decoding algorithm which will be explained below,
a controller 54 for implementing the decoding algorithm,
a random access memory (RAM) 55 for storing in registers parameters modified during the execution of the decoding algorithm, and
- an output buffer memory 56, also connected to 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 algorithmes correspondants. The operation of the coding 2 and decoding 5 devices will be detailed during the description of the corresponding algorithms.

Selon le mode de réalisation choisi et représenté aux figures 5 et 6,
I'invention s'applique au codage d'un ensemble de données représentatives de grandeurs physiques qui est une image numérique f, ici une image à niveau de gris, comportant à titre d'exemple 128x96 pixels à 256 niveaux.
According to the embodiment chosen and represented in FIGS. 5 and 6,
The invention applies to the coding of a set of data representative of physical quantities which is a digital image f, here a gray level image, comprising for example 128 × 96 pixels at 256 levels.

L'algorithme représenté à la figure 5 comporte des étapes El à E15 qui réalisent le codage de l'image numérique. Globalement, comme représenté à la figure 6, L'image est codée de manière progressive, selon plusieurs itérations de codage. Le résultat de codage de chaque itération peut être transmis, de sorte que l'image codée est transmise de manière progressive, avec un débit limité. The algorithm represented in FIG. 5 comprises steps E1 to E15 which carry out the coding of the digital image. Overall, as shown in FIG. 6, the image is coded progressively, according to several coding iterations. The coding result of each iteration can be transmitted, so that the coded image is transmitted gradually, with a limited bit rate.

L'étape El est une initialisation à laquelle la source 1 fournit une image à coder f au dispositif de codage 2. Un nombre entier M, explicité dans la suite, est déterminé en fonction de la taille de l'image. Un nombre d'itération de codage N est également déterminé. Les paramètres M et N peuvent être prédéterminés ou réglés par un utilisateur. Step E1 is an initialization to which the source 1 supplies an image to be coded f to the coding device 2. An integer M, explained below, is determined as a function of the size of the image. A number of coding iterations N is also determined. The parameters M and N can be predetermined or adjusted by a user.

L'étape suivante E2 est une division de l'image considérée f en le nombre M de blocs A1 à AM de pixels adjacents Dans ce mode de réalisation, les blocs A1 à AM 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 f into the number M of blocks A1 to AM of adjacent pixels. In this embodiment, the blocks A1 to AM are adjacent, without overlap. In a variant not shown, the blocks can overlap, to limit the block effects on decoding, to the detriment of the compression rate.

Selon une première variante de ce mode de réalisation représentée à la figure 7, 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 8, 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 shown in FIG. 7, the blocks all have the same predetermined size, and are for example square blocks of 32 × 32 pixels in the case of the 128 × 96 pixel image. The image division is uniform throughout the image. According to a second variant represented in FIG. 8, the size of the blocks, while being predetermined, depends on the location of the blocks in the image: in a determined area of the image, for example a central area capable of containing more details, the blocks are smaller than at 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 then be coded more finely than the rest of the image.

Deux tailles différentes de blocs sont représentées à la figure 8 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 de l'image à coder. Two different block sizes are shown in Figure 8 32x32 and 16x16 pixels. However, a higher number of sizes can be envisaged for specific applications, in particular if it is known that the quantity of information varies greatly from one zone to another of the image to be coded.

Dans tous les cas, la division de l'image a pour résultat un ensemble de M blocs A1 à AM, mémorisés en mémoire 25. Les blocs A1 à AM 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 all cases, the division of the image results in a set of M blocks A1 to AM, stored in memory 25. The blocks A1 to AM will be compressed, or coded, one after the other, in order any. This order is preferably predetermined and is then the order in which the blocks will then 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 locate the blocks and to associate the identification, 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 une initialisation d'un paramètre n à un, pour commencer la première itération de codage. L'étape E3 est suivie de l'étape E4 à laquelle une image supplémentaire g0 est considérée en tant qu'image de référence pour la première itération de codage. L'image supplémentaire g0 est quelconque, par exemple une image uniformément grise. Step E2 is followed by step E3, which is an initialization of a parameter n to one, to start the first iteration of coding. Step E3 is followed by step E4 in which an additional image g0 is considered as a reference image for the first coding iteration. The additional image g0 is arbitrary, for example a uniformly gray image.

L'étape E4 est suivie de l'étape E5 qui est une initialisation d'un paramètre m à 1, pour considérer le premier bloc A1 dans l'image f. Step E4 is followed by step E5 which is an initialization of a parameter m to 1, to consider the first block A1 in image f.

L'étape suivante E6 est la division d'une image 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 Arn. 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 dans 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. Selon un mode préféré de réalisation qui est plus particulièrement pris en compte ici, L'image de référence g.1 est l'image codée puis décodée selon l'invention au cours de l'itération précédent l'itération de codage en cours, sauf pour la première itération, pour laquelle l'image de référence g0 est prédéterminée. The next step E6 is the division of a reference image into blocks of adjacent pixels, stored in memory 25. The size of the blocks depends on the size of the blocks to be coded Arn. Preferably, the blocks of the reference images are F2 times larger than the blocks to be coded, where F is an integer for example equal to two, which makes it possible to exploit many details in 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 coded. According to a variant that is simpler to implement, the blocks of the reference images have the same size as the blocks to be coded. According to a preferred embodiment which is more particularly taken into account here, the reference image g.1 is the coded and then decoded image according to the invention during the iteration preceding the coding iteration in progress, except for the first iteration, for which the reference image g0 is predetermined.

L'étape E6 est suivie de l'étape E7 qui est la sélection de blocs source Dni,rn,i à Dn-1.m,K dans l'image de référence relativement au bloc à coder
Arnd de l'image f.
Step E6 is followed by step E7 which is the selection of source blocks Dni, rn, i to Dn-1.m, K in the reference image relative to the block to be coded
Image arnd f.

Le nombre K de blocs source est prédéterminé, et vaut par exemple 4. En variante, le nombre K est un paramètre de réglage de l'algorithme. Les blocs source sont sélectionnés par leur emplacement dans l'image de référence g1 en fonction de l'emplacement du bloc à coder Arn dans l'image f. The number K of source blocks is predetermined, and is for example equal to 4. As a variant, the number K is a parameter for adjusting the algorithm. The source blocks are selected by their location in the reference image g1 as a function of the location of the block to be coded Arn in the image f.

De manière générale, les blocs source sont sélectionnés dans une région de l'image de référence qui dépend de la région du bloc à coder dans l'image considérée. De préférence, les deux régions sont similaires, c'est-à-dire que la superposition de l'image considérée et de l'image de référence conduit au recouvrement partiel du bloc à coder et des blocs source.In general, the source blocks are selected in a region of the reference image which depends on the region of the block to be coded in the image considered. Preferably, the two regions are similar, that is to say that the superposition of the image considered and of the reference image leads to partial overlapping of the block to be coded and of the source blocks.

Les figures 9a à 9f représentent différents exemples de sélection de blocs source. Dans chacune des figures 9a à 9f, le bloc à coder Arn de l'image considérée f a été superposé aux blocs source Dn 1,m,1 à Dn1,rnA de l'image source gon 1. Dans les six exemples, on considère quatre blocs source de même taille que le bloc à coder Arn.  Figures 9a to 9f show different examples of source block selection. In each of FIGS. 9a to 9f, the block to be coded Arn of the image considered has been superimposed on the source blocks Dn 1, m, 1 to Dn1, rnA of the source image gon 1. In the six examples, four are considered source blocks of the same size as the Arn coding block.

A la figure 9a, le bloc à coder Arn est dans une partie centrale de l'image f ; les quatre blocs source sont adjacents et le bloc à coder est globalement centré sur l'ensemble des quatre blocs source sélectionnés. In FIG. 9a, the block to be coded Arn is in a central part of the image f; the four source blocks are adjacent and the block to be coded is generally centered on all of the four selected source blocks.

Aux figures 9b à 9e, le bloc à coder Arn se trouve sur un bord de l'image représenté par une ligne en trait pointillé. Deux des blocs source recouvrent partiellement les deux autres blocs source, de sorte que le bloc à coder recouvre une partie de chacun des blocs source. In FIGS. 9b to 9e, the block to code Arn is located on an edge of the image represented by a line in dotted lines. Two of the source blocks partially overlap the other two source blocks, so that the block to be coded covers part of each of the source blocks.

A la figure 9f, le bloc à coder Arn est dans un coin de l'image, et les quatre blocs source se recouvrent partiellement, de sorte que le bloc à coder recouvre une partie de chacun des blocs source. In FIG. 9f, the block to be coded Arn is in a corner of the image, and the four source blocks partially overlap, so that the block to be coded covers part of each of the source blocks.

En variante, lorsque le bloc à coder est sur un bord ou dans un coin de l'image, les quatre blocs source sont adjacents, et deux ou trois des blocs source sont tronqués et complétés soit par un complément uniformément gris, soit par un complément déterminé par extension de l'image par exemple par symétrie ou par périodisation de l'image. As a variant, when the block to be coded is on an edge or in a corner of the image, the four source blocks are adjacent, and two or three of the source blocks are truncated and completed either by a uniformly gray complement or by a complement determined by extension of the image for example by symmetry or by periodization of the image.

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

Selon un mode préféré de réalisation, la transformation est une approximation multilinéaire, de la forme : Tn,m = { anm,k, bnm } permettant de construire le bloc ARn,m = #k ( an,mn,k x Dn-1,mk) + bn,m.  According to a preferred embodiment, the transformation is a multilinear approximation, of the form: Tn, m = {anm, k, bnm} making it possible to construct the block ARn, m = #k (an, mn, kx Dn-1, 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-1,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 Arn à l'itération n. La fonction an m k s'applique à chacun des pixels du bloc Dn-1,m,kt, ce qui revient ici à multiplier tous les pixels par le coefficient an m k-
Les fonctions, ici les coefficients, an,m,k et bn,rn sont déterminées pour minimiser une distance d(Am, ARn,m) entre le bloc à coder Arn et le bloc reconstruit ARnm à l'itération n 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-1, m, k and of norm less than unity, and bn, m is a gray level shift function, here a constant function, or coefficient, for the block to be coded Arn at iteration n. The function an mk applies to each of the pixels of the block Dn-1, m, kt, which here amounts to multiplying all the pixels by the coefficient an m k-
The functions, here the coefficients, an, m, k and bn, rn are determined to minimize a distance d (Am, ARn, m) between the block to be coded Arn and the reconstructed block ARnm at iteration n 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 n,rn,k et bn,m sont discrétisées et un nombre limité de valeurs possibles pour les coefficients n,rn.k est testé. Par exemple, chaque coefficient an,m,k peut prendre deux valeurs entières, une valeur positive et la valeur opposée. 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. According to an embodiment which is simple to implement, the functions n, rn, k and bn, m are discretized and a limited number of possible values for the coefficients n, rn.k is tested. For example, each coefficient an, m, k can take two integer values, a positive value and the opposite value. All combinations of coefficients an, m, k are tested, and for each combination, the coefficient bn, m is chosen to minimize the distance considered.

La distance est calculée entre les niveaux de gris du bloc à coder Arn et les niveaux de gris du bloc ARn,rn résultant de l'application de l'approximation aux blocs source Dn-1,m,1 à Dn 1,m,K.  The distance is calculated between the gray levels of the block to be coded Arn and the gray levels of the block ARn, rn resulting from the application of the approximation to the source blocks Dn-1, m, 1 to Dn 1, 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 Arn et le bloc reconstruit en appliquant la transformation Tn,rn aux blocs source. The distance can be the absolute value of the sum of the differences, or the mean square error, or the absolute value of the largest difference, calculated between the source block Arn and the reconstructed block by applying the transformation Tn, rn to the blocks source.

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 Arn et les niveaux de gris du bloc ARn,m résultant de l'application de la transformation aux blocs source Dn-1,m,1 a Dn-1,m,K. In a preferred embodiment, the distance is the mean square error calculated between the gray levels of the block to be coded Arn and the gray levels of the block ARn, m resulting from the application of the transformation to the source blocks Dn-1 , m, 1 a Dn-1, m, K.

La combinaison Tn,m = n,rn,k , bn,m} qui minimise la distance est mémorisée à l'étape E9 dans la mémoire 25 du dispositif de codage 2 (figure 3) en tant que forme compressée du bloc Arn. L'ensemble des blocs compressés {Tn,rn} relatifs à l'image f et déterminés à l'itération n forme une image compressée hn.  The combination Tn, m = n, rn, k, bn, m} which minimizes the distance is stored in step E9 in the memory 25 of the coding device 2 (FIG. 3) as a compressed form of the block Arn. The set of compressed blocks {Tn, rn} relative to the image f and determined at the iteration n forms a compressed image hn.

Selon d'autres modes de réalisation
- la transformation combine une approximation multilinéaire calculées 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 calculated 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 precise results, while taking longer to calculate.

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

Lorsque le bloc qui vient d'être codé est le dernier de l'image f,
L'étape ElO est suivie de l'étape E12 qui est la transmission de l'image compressée hn Cette transmission est une étape de la transmission progressive de l'image codée et permettra au dispositif de décodage de décoder une approximation de l'image, comme exposé dans la suite.
When the block which has just been coded is the last of the image f,
The step E10 is followed by the step E12 which is the transmission of the compressed image hn. This transmission is a step of the progressive transmission of the coded image and will allow the decoding device to decode an approximation of the image, as discussed below.

L'étape suivante E13 est un test pour vérifier si toutes les itérations de codage de l'image f ont été effectuées. Si ce n'est pas le cas, L'étape E13 est suivie de l'étape E14 qui est la construction de l'image décompressée 9n
L'application de chacune des transformations Tn,m précédemment déterminées aux blocs source reconstruit chacun des blocs ARnm, dont la totalité forme l'image décodée gn. L'image gn est mémorisée en mémoire 25 pour être utilisée comme image de référence à l'itération suivante n+1.
The next step E13 is a test to check whether all the iterations of coding of the image f have been carried out. If this is not the case, step E13 is followed by step E14 which is the construction of the decompressed image 9n
The application of each of the transformations Tn, m previously determined to the source blocks reconstructs each of the blocks ARnm, the whole of which forms the decoded image gn. The image gn is stored in memory 25 to be used as a reference image for the following iteration n + 1.

L'étape E14 est suivie de l'étape E15 pour incrémenter le paramètre n de une unité. L'étape E15 est suivie de l'étape E5 précédemment décrite. Step E14 is followed by step E15 to increment the parameter n by one. Step E15 is followed by step E5 previously described.

Dans le cas où n=N, c'est-à-dire pour la dernière itération de codage de l'image f, il n'est pas nécessaire ici de reconstruire l'image gN.In the case where n = N, that is to say for the last iteration of coding of the image f, it is not necessary here to reconstruct the image gN.

Lorsque la réponse à l'étape E13 est positive, toutes les itérati pour coder tous les blocs de l'image à coder. Le codage est ainsi plus rapide, puisque la sélection des blocs source n'est effectuée qu'une seule fois par itération ; les distorsions introduites par le codage seront cependant plus grandes qu'avec le mode de réalisation précédemment décrit. When the response to step E13 is positive, all the iterations for coding all the blocks of the image to be coded. Coding is thus faster, since the selection of the source blocks is carried out only once per iteration; the distortions introduced by the coding will however be greater than with the embodiment described above.

En référence aux figures 10 et 11, le premier mode de réalisation d'algorithme de décodage progressif d'image numérique compressée comporte des étapes E20 à E30. L'étape E20 est une initialisation à laquelle le paramètre n est initialisé à 1, pour la première itération de décodage. With reference to FIGS. 10 and 11, the first embodiment of the algorithm for progressive decoding of compressed digital image comprises steps E20 to E30. Step E20 is an initialization at which the parameter n is initialized to 1, for the first decoding iteration.

A l'étape suivante E21, une image supplémentaire g0 est considérée en tant qu'image source pour la première itération de décodage. L'image supplémentaire g0 est identique à celle considérée à l'étape E4 précédemment décrite, et est par exemple une image uniformément grise. In the next step E21, an additional image g0 is considered as a source image for the first decoding iteration. The additional image g0 is identical to that considered in step E4 previously described, and is for example a uniformly gray image.

A partir de l'étape suivante E22, on considère la forme compressée hn de l'image. L'étape E22 est la lecture de la forme compressée hnl et 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. From the next step E22, the compressed form hn of the image is considered. Step E22 is the reading of the compressed form hnl and 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 in 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 g1 en blocs de pixels adjacents, qui sont les blocs source mémorisés en mémoire 55. The following step E23 is the division of the reference image g1 into blocks of adjacent pixels, which are the source blocks stored in memory 55.

L'étape E23 est identique à l'étape E6. L'étape suivante E24 est la sélection de blocs source Dn-1,m,1 à Dn 1 m K dans l'image de référence gn-1, relativement au bloc à reconstruire ARnrn de l'image à décompresser hn L'image de référence est sélectionnée de la même manière que pour le codage. Selon le mode préféré de réalisation, L'image de référence gn-1 est l'image décodée précédent l'image hn Les blocs source sont sélectionnés de la même manière que pour le codage, avec les mêmes variantes possibles.Step E23 is identical to step E6. The next step E24 is the selection of source blocks Dn-1, m, 1 to Dn 1 m K in the reference image gn-1, relative to the block to be reconstructed ARnrn of the image to be decompressed hn The image of reference is selected in the same way as for coding. According to the preferred embodiment, the reference image gn-1 is the decoded image preceding the image hn. The source blocks are selected in the same way as for coding, with the same possible variants.

L'étape E24 est suivie de l'étape E25 à laquelle la transformation Tn,rn définie par les paramètres an m k et bn,rn est appliquée aux blocs source Dn 1,m,1 à Dn-1,m,K sélectionnés à l'étape précédente E24, selon la formule:
ARn,m = zk ( an,m,k X Dn-l,m,k) + bn,m
L'étape E25 a pour résultat le bloc décompressé ARn,m mémorisé en mémoire 55.
Step E24 is followed by step E25 in which the transformation Tn, rn defined by the parameters an mk and bn, rn is applied to the source blocks Dn 1, m, 1 to Dn-1, m, K selected at l 'previous step E24, according to the formula:
ARn, m = zk (an, m, k X Dn-l, m, k) + bn, m
Step E25 results in the decompressed block ARn, m stored in memory 55.

L'étape suivante E26 est un test pour déterminer si le bloc qui vient d'être décompressé est le dernier de l'image en cours de décompression. Si ce n'est pas le cas, L'étape E26 est suivie de l'étape E27 à laquelle le paramètre m est incrémenté de une unité pour considérer le bloc suivant. L'étape E27 est suivie de l'étape E24 précédemment décrite. The next step E26 is a test to determine whether the block which has just been decompressed is the last of the image being decompressed. If this is not the case, step E26 is followed by step E27 in which the parameter m is incremented by one unit to consider the next block. Step E27 is followed by step E24 previously described.

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

L'étape suivante E29 est un test pour déterminer si toutes les itérations ont été effectuées. S'il reste au moins une itération à effectuer, L'étape
E29 est suivie de l'étape E30 à laquelle le paramètre n est incrémenté de une unité, pour passer à l'itération suivante. L'étape E30 est suivie de l'étape E22 précédemment décrite.
The next step E29 is a test to determine whether all the iterations have been carried out. If there is at least one iteration to complete, Step
E29 is followed by step E30 in which the parameter n is incremented by one, to go to the next iteration. Step E30 is followed by step E22 previously described.

Ainsi, L'image g1 est tout d'abord reconstruite, puis l'image g2, et ainsi de suite, comme représenté à la figure 11, ce qui permet une construction progressive de l'image décodée, chaque itération permettant d'obtenir une image comportant plus de détails qu'à l'itération précédente. Thus, the image g1 is first of all reconstructed, then the image g2, and so on, as shown in FIG. 11, which allows a progressive construction of the decoded image, each iteration making it possible to obtain a image with more details than in the previous iteration.

Un autre mode de réalisation du procédé de codage selon l'invention est représenté aux figures 12 et 13 sous la forme d'un algorithme comportant des étapes E31 à E45 mémorisé en mémoire 23 (figure 3). Another embodiment of the coding method according to the invention is represented in FIGS. 12 and 13 in the form of an algorithm comprising steps E31 to E45 stored in memory 23 (FIG. 3).

Dans ce mode de réalisation, la taille des blocs à coder diminue, et le nombre de blocs à coder augmente corrélativement, à chaque té ration de codage, de manière à coder des détails de plus en plus fins.  In this embodiment, the size of the blocks to be coded decreases, and the number of blocks to be coded increases correspondingly, at each coding time, so as to code increasingly fine details.

Les étapes E31 à E45 sont respectivement analogues aux étapes
El à E15 décrites en référence à la figure 5 Les différences par rapport au mode de réalisation précédent sont les suivantes:
- L'étape d'initialisation E31 inclut l'initialisation du paramètre n à un, correspondant à la première itération de codage.
Steps E31 to E45 are respectively analogous to steps
E1 to E15 described with reference to FIG. 5 The differences compared to the previous embodiment are as follows:
- The initialization step E31 includes the initialization of the parameter n to one, corresponding to the first coding iteration.

- L'étape E32 de division de l'image f a pour résultat des blocs, dont la taille tn diminue, et le nombre augmente, au fur et à mesure des itérations successives,
- L'étape E33 est un test pour déterminer si le paramètre n vaut un, correspondant à la première itération si la réponse est positive, L'étape E33 est suivie de l'étape E34, sinon, L'étape E33 est suivie de l'étape E35,
- L'étape E45 est suivie de l'étape E32 de division de l'image f.
The step E32 of dividing the image fa for the result of the blocks, the size tn of which decreases, and the number increases, as and when successive iterations,
- Step E33 is a test to determine if the parameter n is equal to one, corresponding to the first iteration if the response is positive, Step E33 is followed by step E34, otherwise, Step E33 is followed by l 'step E35,
- Step E45 is followed by step E32 of dividing the image f.

Comme représenté à la figure 13, la première itération de codage a pour but de calculer un premier jeu de transformations {T1,m}, chacune de ces transformations correspondant au codage d'un bloc de l'image f à partir de blocs source de l'image g0. Les transformations sont appliquées aux blocs sources de l'image 90 pour déterminer l'image g1. As shown in FIG. 13, the aim of the first coding iteration is to calculate a first set of transformations {T1, m}, each of these transformations corresponding to the coding of a block of the image f from source blocks of image g0. The transformations are applied to the source blocks of image 90 to determine the image g1.

La seconde itération de codage a pour but de calculer un second jeu de transformations {T2m}, chacune de ces transformations correspondant au codage d'un bloc de l'image f à partir de blocs source de l'image g1. Les blocs de l'image f ont, pour cette itération, une taille inférieure à celle des blocs considérés à l'itération précédente. Corrélativement, les blocs source ont également une taille inférieure à ceux de l'itération précédente. Les transformations sont appliquées aux blocs sources de l'image g1 pour déterminer l'image g2
La troisième itération utilise l'image g2 comme image de référence, et un jeu de transformations T3,rn} est déterminé entre des blocs de l'image f et des blocs source de l'image g2, la taille des blocs à coder et des blocs de référence étant diminuée par rapport à l'itération précédente. Cette itération permet de calculer l'image g3.
The purpose of the second coding iteration is to calculate a second set of transformations {T2m}, each of these transformations corresponding to the coding of a block of the image f from source blocks of the image g1. The blocks of the image f have, for this iteration, a size smaller than that of the blocks considered in the previous iteration. Correlatively, the source blocks also have a size smaller than those of the previous iteration. The transformations are applied to the source blocks of image g1 to determine the image g2
The third iteration uses the image g2 as the reference image, and a set of transformations T3, rn} is determined between blocks of image f and source blocks of image g2, the size of the blocks to be coded and reference blocks being decreased from the previous iteration. This iteration makes it possible to calculate the image g3.

L'algorithme de décodage correspondant à ce mode de réalisation est identique à celui représenté à la figure 10. La figure 14 représente les itérations successives de décodage. A la première itération de décodage, le premier jeu de transformations i,rn} est appliqué aux blocs respectifs, ayant la première taille prédéterminée t1 , de l'image g0. L'image g1 est ainsi reconstruite. The decoding algorithm corresponding to this embodiment is identical to that represented in FIG. 10. FIG. 14 represents the successive iterations of decoding. At the first iteration of decoding, the first set of transformations i, rn} is applied to the respective blocks, having the first predetermined size t1, of the image g0. Image g1 is thus reconstructed.

L'image g1 est divisée en blocs ayant la seconde taille prédéterminée t2, puis le second jeu de transformations est appliqué aux blocs de l'image g1, pour former l'image g2, et ainsi de suite. The image g1 is divided into blocks having the second predetermined size t2, then the second set of transformations is applied to the blocks of the image g1, to form the image g2, and so on.

Les images reconstruites au fur et à mesure des itérations contiennent des détails de plus en plus fins. The images reconstructed as iterations contain increasingly fine details.

Un autre mode de réalisation de procédé de codage selon l'invention est représenté à la figure 15, et comporte des étapes E51 à E691 mémorisées en mémoire 23 (figure 3). Par rapport au premier mode de réalisation, ce mode de réalisation consiste à rechercher tout d'abord, pour chaque bloc à coder, s'il peut être codé par mise en correspondance avec le bloc de l'image de référence qui a la même taille et qui occupe la même position dans l'image. Si ce codage est possible, le bloc est codé par mise en correspondance de bloc sinon, le bloc est codé au moyen d'une transformation déterminée comme dans le premier mode de réalisation. Another embodiment of the coding method according to the invention is shown in FIG. 15, and includes steps E51 to E691 stored in memory 23 (FIG. 3). Compared to the first embodiment, this embodiment consists in firstly finding, for each block to be coded, whether it can be coded by matching with the block of the reference image which has the same size. and which occupies the same position in the image. If this coding is possible, the block is coded by block matching otherwise, the block is coded by means of a determined transformation as in the first embodiment.

Les étapes E51 à E56 sont identiques aux étapes El à E6 précédemment décrites en référence au premier mode de réalisation (figure 5). Steps E51 to E56 are identical to steps E1 to E6 previously described with reference to the first embodiment (FIG. 5).

L'étape E56 est suivie de l'étape E57 qui est un test pour déterminer si le bloc à coder courant Arn a été codé par mise en correspondance de bloc à l'itération précédente. Ce test est réalisé sur un indicateur In 1 mX par exemple un bit mis à la valeur un si le bloc Am est codé par mise en correspondance de bloc à 'itération n-l.  Step E56 is followed by step E57 which is a test for determining whether the block to be coded current Arn has been coded by block mapping to the previous iteration. This test is carried out on an indicator In 1 mX for example a bit set to the value one if the block Am is coded by block matching at 'iteration n-l.

Si la réponse est positive, L'étape E58 est suivie de l'étape E59, à laquelle un indicateur In m est mémorisé à l'étape E59, pour indiquer que le bloc considéré est codé par mise en correspondance de bloc. Cet indicateur est par exemple un bit mis à la valeur un. L'indicateur In,m représente l'information de codage, à l'itération n, du bloc Arn.  If the answer is positive, step E58 is followed by step E59, in which an indicator In m is stored in step E59, to indicate that the block considered is coded by block matching. This indicator is for example a bit set to the value one. The indicator In, m represents the coding information, at iteration n, of the block Arn.

Si la réponse est négative à l'étape E58, cette dernière est suivie de l'étape E60 à laquelle le bloc à coder courant Arn est codé par mise en correspondance de bloc: il est recherché dans l'image de référence gn-1 le bloc ARn 1 m de même taille et ayant la même position dans l'image. If the answer is negative in step E58, the latter is followed by step E60 in which the current block to be coded Arn is coded by block matching: it is sought in the reference image gn-1 on ARn block 1 m of the same size and having the same position in the image.

L'étape suivante E61 est un test pour vérifier si un critère est respecté. Ce critère consiste ici à vérifier si une distance calculée entre le bloc à coder Arn et le bloc de correspondance ARn ,m est inférieure à un seuil prédéterminé. Si la réponse est positive, un indicateur Inm est mémorisé à l'étape E59, pour indiquer que le bloc considéré est codé par mise en correspondance de bloc. Cet indicateur est par exemple un bit mis à la valeur un. L'indicateur In,m représente l'information de codage, à l'itération n, du bloc Arn.  The next step E61 is a test to check whether a criterion is met. This criterion here consists in verifying whether a distance calculated between the block to be coded Arn and the correspondence block ARn, m is less than a predetermined threshold. If the response is positive, an indicator Inm is stored in step E59, to indicate that the block considered is coded by block matching. This indicator is for example a bit set to the value one. The indicator In, m represents the coding information, at iteration n, of the block Arn.

L'étape E59 est suivie des étapes E65 à E691, respectivement identiques aux étapes E10 à E15 précédemment décrites. Step E59 is followed by steps E65 to E691, respectively identical to steps E10 to E15 previously described.

Si la réponse est négative à l'étape E61, c'est-à-dire si le codage par mise en correspondance de bloc ne donne pas un résultat satisfaisant, L'étape
E61 est suivie des étapes E62 à E691, respectivement identiques aux étapes
E7 à E15 précédemment décrites. L'étape E63 a pour résultat une transformation Tn,m. . L'indicateur Inm est mis à la valeur zéro et est associé à chaque transformation Tn,m.
If the answer is negative in step E61, that is to say if the coding by block matching does not give a satisfactory result, The step
E61 is followed by steps E62 to E691, respectively identical to steps
E7 to E15 previously described. Step E63 results in a transformation Tn, m. . The indicator Inm is set to zero and is associated with each transformation Tn, m.

En variante, les deux modes de réalisation précédents sont combinés on essaie tout d'abord de coder les blocs par mise en correspondance de blocs, et ensuite, si ce premier codage n'est pas possible, au moyen d'une transformation ; les étapes de codage par détermination d'une transformation incluent alors la variation de la taille du bloc à coder au fur et à mesure des itérations. Dans ce cas, les étapes E57 et E58 sont inutiles, puisque la taille des blocs varie d'une itération à la suivante. L'étape E56 est alors suivie directement par l'étape E60 de mise en correspondance de bloc.  As a variant, the two preceding embodiments are combined, first of all we try to code the blocks by matching blocks, and then, if this first coding is not possible, by means of a transformation; the coding steps by determining a transformation then include varying the size of the block to be coded as iterations progress. In this case, steps E57 and E58 are useless, since the size of the blocks varies from one iteration to the next. Step E56 is then followed directly by step E60 of block matching.

Le procédé de décodage correspondant au codage de la figure 15 est représenté à la figure 16 et comporte des étapes E70 à E91 mémorisées en mémoire 53 du dispositif 5 (figure 4). The decoding method corresponding to the coding in FIG. 15 is shown in FIG. 16 and includes steps E70 to E91 stored in memory 53 of the device 5 (FIG. 4).

Les étapes E70 à E73 sont respectivement identiques aux étapes
E20 à E23 décrites en référence à la figure 9.
Steps E70 to E73 are respectively identical to steps
E20 to E23 described with reference to Figure 9.

L'étape suivante E74 est un test pour déterminer si le bloc en cours de reconstruction ARnm a été codé par mise en correspondance de blocs. Le test consiste à analyser la valeur de l'indicateur In,m et à rechercher si l'indicateur Inm est à la valeur un. The next step E74 is a test to determine whether the block under reconstruction ARnm has been coded by matching of blocks. The test consists in analyzing the value of the indicator In, m and in searching if the indicator Inm is at value one.

Si la réponse est positive, alors l'étape suivante E75 consiste à lire dans l'image de référence gn n-1 le bloc de correspondance ARn1m et à recopier ce bloc en tant que bloc décodé ARnm. La reconstruction du bloc ARnm est donc très rapide, puisqu'il s'agit d'une copie de bloc. L'étape E75 est suivie des étapes E78 à E91 qui sont respectivement identiques aux étapes E25 à E30 précédemment décrite (figure 9). If the response is positive, then the following step E75 consists in reading from the reference image gn n-1 the correspondence block ARn1m and in copying this block as a decoded block ARnm. The reconstruction of the ARnm block is therefore very fast, since it is a block copy. Step E75 is followed by steps E78 to E91 which are respectively identical to steps E25 to E30 previously described (FIG. 9).

Si la réponse à l'étape E74 est négative, L'étape E74 est suivie des étapes E76 à E91 qui sont respectivement identiques aux étapes E24 à E30 précédemment décrite (figure 9). If the response to step E74 is negative, step E74 is followed by steps E76 to E91 which are respectively identical to steps E24 to E30 previously described (FIG. 9).

Un autre mode de réalisation de procédé de codage selon l'invention est représenté aux figures 17 à 19, et comporte des étapes E101 à E115 mémorisées en mémoire 23 (figure 3). Par rapport au premier mode de réalisation, ce mode de réalisation consiste à travailler à chaque itération sur des différences d'images et à ne coder que les détails supplémentaires par rapport à l'itération précédente. Another embodiment of the coding method according to the invention is shown in FIGS. 17 to 19, and includes steps E101 to E115 stored in memory 23 (FIG. 3). Compared to the first embodiment, this embodiment consists in working at each iteration on image differences and in coding only the additional details compared to the previous iteration.

Les étapes ElOl et E102 sont identiques aux étapes El et E2 précédemment décrites (figure 5). The steps E101 and E102 are identical to the steps E1 and E2 previously described (FIG. 5).

L'étape suivante E103 est le calcul de la valeur moyenne M1 à MM de chacun des blocs A1 à AM de l'image f, et la soustraction, pixel par pixel, de cette valeur moyenne Mrn à chacun des blocs Arn. L'étape E103 a pour résultat une image f1, comme représenté à la figure 18. L'image z0 des valeurs moyennes a une forme compressée ho comportant la valeur moyenne M1 à MM de chacun des blocs Arn. La forme compressée ho est mémorisée et /ou transmise pour être utilisée lors du décodage. The next step E103 is the calculation of the average value M1 to MM of each of the blocks A1 to AM of the image f, and the subtraction, pixel by pixel, of this average value Mrn to each of the blocks Arn. Step E103 results in an image f1, as shown in FIG. 18. The image z0 of the mean values has a compressed form ho comprising the mean value M1 to MM of each of the blocks Arn. The compressed form ho is stored and / or transmitted for use during decoding.

L'étape E103 est suivie de l'étape E104 qui est la division en blocs A 1 à Al.M de l'image f'.  Step E103 is followed by step E104 which is the division into blocks A 1 to Al.M of the image f '.

En variante, les étapes E103 et E104 sont supprimées, et on travaille directement sur l'image f, comme dans les réalisations précédentes. As a variant, the steps E103 and E104 are deleted, and one works directly on the image f, as in the previous embodiments.

L'étape suivante E105 est une initialisation d'un paramètre n à un, pour commencer la première itération de codage. Une image supplémentaire g0 est considérée en tant qu'image de référence pour la première itération de codage. L'image supplémentaire g0 est quelconque, par exemple une image uniformément noire dans le cas où on travaille sur des différences d'images. The next step E105 is an initialization of a parameter n to one, to start the first iteration of coding. An additional image g0 is considered as a reference image for the first coding iteration. The additional image g0 is arbitrary, for example a uniformly black image in the case where we are working on image differences.

Une image f, est égale à l'image f1. An image f, is equal to the image f1.

L'étape E105 est suivie de l'étape E106 qui est une initialisation d'un paramètre m à 1, pour considérer le premier bloc An 1 dans l'image à coder à l'itération n, soit l'image f'n. Step E105 is followed by step E106 which is an initialization of a parameter m to 1, to consider the first block An 1 in the image to be coded at iteration n, ie the image f'n.

L'étape suivante E107 est la division de l'image de référence gn-1 en blocs de pixels adjacents, mémorisés en mémoire 25. The next step E107 is the division of the reference image gn-1 into blocks of adjacent pixels, stored in memory 25.

L'étape E107 est suivie de l'étape E108 qui est ia sélection de blocs source Dn.î,rn,î à Dn-1,m,K dans l'image de référence relativement au bloc à coder An,rn de l'image à coder f'n. Step E107 is followed by step E108 which is the selection of source blocks Dn.î, rn, î to Dn-1, m, K in the reference image relative to the block to be coded An, rn of l image to code f'n.

L'étape E108 est suivie de l'étape E109, à laquelle une transformation Tn,m entre les blocs source sélectionnés et le bloc à coder est calculée. La transformation Tn,m qui minimise la distance d(Anm, ARn,m) est mémorisée dans la mémoire 25 du dispositif de codage 2 (figure 3) en tant que forme compressée du bloc Ans. L'ensemble des blocs compressés {Tn,m} déterminés à l'itération n forme une image compressée hn. Step E108 is followed by step E109, at which a transformation Tn, m between the selected source blocks and the block to be coded is calculated. The transformation Tn, m which minimizes the distance d (Anm, ARn, m) is stored in the memory 25 of the coding device 2 (FIG. 3) as a compressed form of the block Ans. The set of compressed blocks {Tn, m} determined at iteration n forms a compressed image hn.

L'étape suivante E110 est un test pour vérifier si m est égal à M, c'est-à-dire si le bloc qui vient d'être codé est le dernier de l'image courante f'n. The next step E110 is a test to check if m is equal to M, that is to say if the block which has just been coded is the last of the current image f'n.

S'il reste au moins un bloc à coder dans l'image fn, L'étape E110 est suivie par l'étape El Il à laquelle le paramètre m est incrémenté de une unité, pour considérer le bloc suivant dans l'image f'n. L'étape El Il est suivie de l'étape
E107 précédemment décrite.
If at least one block remains to be coded in the image fn, the step E110 is followed by the step El II in which the parameter m is incremented by one, to consider the next block in the image f ' not. The El Il stage is followed by the stage
E107 previously described.

Lorsque le bloc qui vient d'être codé est le dernier de l'image f'n,
L'étape E110 est suivie de l'étape E112 qui est la transmission de l'image compressée hn. Cette transmission est une étape de la transmission progressive de l'image codée et permettra au dispositif de décodage de décoder une approximation de l'image, comme exposé dans la suite.
When the block which has just been coded is the last of the image f'n,
Step E110 is followed by step E112 which is the transmission of the compressed image hn. This transmission is a step in the progressive transmission of the coded image and will allow the decoding device to decode an approximation of the image, as explained below.

L'étape suivante Eu 13 est un test pour vérifier si toutes les itérations de codage de l'image f ont été effectuées. Si ce n'est pas le cas, l'étape E113 est suivie de l'étape Eu 14 qui est la construction de l'image décompressée gn
L'application de chacune des transformations Tn,m précédemment déterminées aux blocs source reconstruit chacun des blocs ARnm, dont la totalité forme l'image décodée gn. L'image gn est mémorisée en mémoire 25 pour être utilisée comme image de référence à l'itération suivante n+1. L'image fn+1 à coder à l'itération suivante n+1 est déterminée en soustrayant l'image f'n à l'image gn.
The following step Eu 13 is a test to check whether all the iterations of coding of the image f have been carried out. If this is not the case, step E113 is followed by step Eu 14 which is the construction of the decompressed image gn
The application of each of the transformations Tn, m previously determined to the source blocks reconstructs each of the blocks ARnm, the whole of which forms the decoded image gn. The image gn is stored in memory 25 to be used as a reference image for the following iteration n + 1. The image fn + 1 to be coded in the next iteration n + 1 is determined by subtracting the image f'n from the image gn.

L'étape Eu 14 est suivie de l'étape E115 pour diviser l'image f'n+1 en blocs à coder An+1 1 à An+1,M. Ces blocs seront codés à l'itération suivante. Step Eu 14 is followed by step E115 to divide the image f'n + 1 into blocks to be coded An + 1 1 to An + 1, M. These blocks will be coded in the next iteration.

L'étape suivante E116 incrémente le paramètre n de une unité pour passer à l'itération suivante. L'étape E116 est suivie de l'étape E106 précédemment décrite. Dans le cas où n=N, c'est-à-dire pour la dernière itération de codage de l'image f, il n'est pas nécessaire ici de reconstruire l'image gN
Lorsque la réponse à l'étape Ex 13 est positive, toutes les itérations de codage de l'image f ont été réalisées.
The next step E116 increments the parameter n by one unit to go to the next iteration. Step E116 is followed by step E106 previously described. In the case where n = N, that is to say for the last iteration of coding of the image f, it is not necessary here to reconstruct the image gN
When the response to step Ex 13 is positive, all the iterations of coding of the image f have been carried out.

Dans ce mode de réalisation, les différents aspects de sélection de blocs source, de détermination des transformations sont identiques à ceux décrits pour les modes de réalisation précédents. In this embodiment, the different aspects of selecting source blocks and determining transformations are identical to those described for the previous embodiments.

Le procédé de décodage correspondant au codage de la figure 17 est représenté aux figures 20 et 21 et comporte des étapes E201 à E211 mémorisées en mémoire 53 du dispositif 5 (figure 4).  The decoding method corresponding to the coding in FIG. 17 is shown in FIGS. 20 and 21 and includes steps E201 to E211 stored in memory 53 of the device 5 (FIG. 4).

L'étape E201 est une initialisation à laquelle le paramètre n est initialisé à 1, pour la première itération de décodage. Step E201 is an initialization at which the parameter n is initialized to 1, for the first decoding iteration.

A l'étape suivante E202, une image supplémentaire g0 est considérée en tant qu'image source pour la première itération de décodage. In the next step E202, an additional image g0 is considered as a source image for the first decoding iteration.

L'image supplémentaire g0 est identique à celle considérée à l'étape E105 précédemment décrite, et est par exemple une image uniformément noire.The additional image g0 is identical to that considered in step E105 previously described, and is for example a uniformly black image.

L'image moyenne compressée ho est considérée.The compressed average image ho is considered.

L'étape suivante E203 est la lecture du fichier compressé hn, et 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 E203 is the reading of the compressed file hn, and 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 in compression, which avoids having to memorize and process an index, or coordinates, to locate the blocks.

L'étape suivante E204 est la division de l'image de référence g.1 en blocs de pixels adjacents, qui sont les blocs source mémorisés en mémoire 55. The next step E204 is the division of the reference image g.1 into blocks of adjacent pixels, which are the source blocks stored in memory 55.

L'étape E204 est identique à l'étape E107. L'étape suivante E205 est la sélection de blocs source Dni,rn,i à Dn-1,m,K dans l'image de référence gn-1, relativement au bloc à reconstruire ARnrn de l'image à décompresser gn. Step E204 is identical to step E107. The next step E205 is the selection of source blocks Dni, rn, i to Dn-1, m, K in the reference image gn-1, relative to the block to be reconstructed ARnrn of the image to be decompressed gn.

L'image de référence est déterminée de la même manière que pour le codage.The reference picture is determined in the same way as for coding.

Les blocs source sont sélectionnés de la même manière que pour le codage, avec les mêmes variantes possibles.The source blocks are selected in the same way as for coding, with the same possible variants.

L'étape E205 est suivie de l'étape E206 à laquelle la transformation Tn,rn définie par les paramètres an m k et bn,m est appliquée aux blocs source Dn- 1,m,1 à Dn1,rn,K sélectionnés à l'étape précédente E205, selon la formule: ARn,rn ( ( an,m,k X Dn-1,m,k ) + bn,m
L'étape E206 a pour résultat le bloc décompressé ARnm mémorisé en mémoire 55.
Step E205 is followed by step E206 in which the transformation Tn, rn defined by the parameters an mk and bn, m is applied to the source blocks Dn- 1, m, 1 to Dn1, rn, K selected at previous step E205, according to the formula: ARn, rn ((an, m, k X Dn-1, m, k) + bn, m
Step E206 results in the decompressed block ARnm stored in memory 55.

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

Lorsque tous les blocs de l'image en cours ont été décompressés,
L'étape E207 est suivie de l'étape E209 à laquelle l'image décompressée gn est reconstruite à partir des blocs ARn,m. L'approximation Zn de l'image à l'itération n est déterminée en additionnant l'image gn à l'approximation Zn-1 déterminée à l'itération précédente. L'approximation z, est par exemple affichée sur un écran, et/ou mémorisée. De manière générale, l'étape E209 est le transfert de l'image z, aux moyens utilisateurs 6.
When all the blocks of the current image have been decompressed,
Step E207 is followed by step E209 in which the decompressed image gn is reconstructed from the blocks ARn, m. The approximation Zn of the image at iteration n is determined by adding the image gn to the approximation Zn-1 determined in the previous iteration. The approximation z, is for example displayed on a screen, and / or stored. In general, step E209 is the transfer of the image z, to the user means 6.

L'étape suivante E210 est un test pour déterminer si toutes les itérations ont été effectuées. S'il reste au moins une itération à effectuer, l'étape
E210 est suivie de l'étape E211 à laquelle le paramètre n est incrémenté de une unité, pour passer à 'itération suivante. L'étape E21 1 est suivie de l'étape
E203 précédemment décrite.
The next step E210 is a test to determine whether all the iterations have been carried out. If at least one iteration remains, the step
E210 is followed by step E211 in which the parameter n is incremented by one, to go to the next iteration. Step E21 1 is followed by step
E203 previously described.

Ainsi, l'image z1 est tout d'abord reconstruite, puis l'image z2, et ainsi de suite, comme représenté à la figure 21, ce qui permet une construction progressive de l'image décodée, chaque itération permettant d'obtenir une image comportant plus de détails qu'à l'itération précédente. Thus, the image z1 is first of all reconstructed, then the image z2, and so on, as shown in FIG. 21, which allows a progressive construction of the decoded image, each iteration making it possible to obtain a image with more details than in the previous iteration.

L'invention a été décrite pour une image à niveaux de gris, c'est-àdire une image à une seule composante ; elle s'applique également à des images en couleurs comportant classiquement trois composantes. The invention has been described for a grayscale image, that is to say an image with a single component; it also applies to color images conventionally comprising 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 conventionally the red, green and blue components, or the components of luminance and chrominance. Each of these components is treated as exposed for a single component image.

Comme précisé plus haut, I'invention s'applique à une séquence d'image. Dans ce cas, chaque image de la séquence peut être codée comme une image fixe, indépendamment des autre images de la séquence, ou la séquence est codée comme un signal à trois dimensions (deux dimensions spatiales et une dimension temporelle).  As stated above, the invention applies to an image sequence. In this case, each image in the sequence can be coded as a still image, independently of the other images in the sequence, or the sequence is coded as a three-dimensional signal (two spatial dimensions and one temporal dimension).

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, quite the contrary, any variant within the reach of ordinary skill in the art.

Claims (38)

REVENDICATIONS 1. Procédé de codage d'un ensemble (f) de données représentatives de grandeurs physiques, 1. Method for coding a set (f) of data representative of physical quantities, caractérisé en ce qu'il comporte, L'étape de: characterized in that it comprises, the step of: - division (E2) de l'ensemble en blocs de données à coder (Am)  - division (E2) of the set into data blocks to be coded (Am) puis les étapes suivantes, réalisées itérativement un nombre prédéterminé de fois: then the following steps, performed iteratively a predetermined number of times: - construction (E4, E14) d'un ensemble de référence (gn-1), - construction (E4, E14) of a reference set (gn-1), - division (E6) de l'ensemble de référence (gn-1) en blocs source, - division (E6) of the reference set (gn-1) into source blocks, et, pour chacun des blocs de données à coder: and, for each of the data blocks to be coded: - sélection (E7) d'un nombre prédéterminé de blocs source (Dn-1,m,1, , 1,m,K) dans ledit ensemble de référence, selection (E7) of a predetermined number of source blocks (Dn-1, m, 1,, 1, m, K) in said reference set, - détermination (E8) d'une transformation (Tnm) entre les blocs source sélectionnés et le bloc à coder. - determination (E8) of a transformation (Tnm) between the selected source blocks and the block to be coded. 2. Procédé de codage selon la revendication 1, caractérisé en ce qu'il comporte en outre l'étape de transmission de la transformation déterminée pour chacun des blocs de données. 2. Coding method according to claim 1, characterized in that it further comprises the step of transmitting the transformation determined for each of the data blocks. 3. Procédé de codage d'un ensemble (f) de données représentatives de grandeurs physiques, 3. Method for coding a set (f) of data representative of physical quantities, caractérisé en ce qu'il comporte l'étape de: characterized in that it includes the step of: - division (E52) de l'ensemble en blocs de données à coder, - division (E52) of the set into data blocks to be coded, puis les étapes suivantes, réalisées itérativement un nombre prédéterminé de fois: then the following steps, performed iteratively a predetermined number of times: - construction (E54, E66) d'un ensemble de référence (g,.l),  - construction (E54, E66) of a reference set (g, .l), - division (E56) de l'ensemble de référence (gn-1) en blocs source, - division (E56) of the reference set (gn-1) into source blocks, et, pour chacun des blocs de données à coder: and, for each of the data blocks to be coded: - mise en correspondance (E57) du bloc à coder avec l'un des blocs source, et, si un critère de correspondance n'est pas satisfait (E58),  - matching (E57) of the block to be coded with one of the source blocks, and, if a matching criterion is not satisfied (E58), - sélection (E60) d'un nombre prédéterminé de blocs source (Dn 1,m,1, Dn 1,m,K) dans ledit ensemble de référence, - selection (E60) of a predetermined number of source blocks (Dn 1, m, 1, Dn 1, m, K) in said reference set, - détermination (E61) d'une transformation entre les blocs source sélectionnés et le bloc à coder. - determination (E61) of a transformation between the selected source blocks and the block to be coded. 4. Procédé de codage selon la revendication 3, caractérisé en ce qu'il comporte en outre l'étape de transmission, pour chacun des blocs de données, soit de l'indication que le bloc est codé par mise en correspondance de bloc, soit de la transformation déterminée pour le bloc de données. 4. Coding method according to claim 3, characterized in that it further comprises the step of transmitting, for each of the data blocks, either of the indication that the block is coded by block matching, or of the transformation determined for the data block. 5. Procédé de codage selon la revendication 3 ou 4, caractérisé en ce que le critère de correspondance de l'étape de mise en correspondance comporte une mesure d'une première distance entre le bloc à coder (Anm) et le bloc source (Dn 1,m,j).  5. Coding method according to claim 3 or 4, characterized in that the correspondence criterion of the matching step comprises a measurement of a first distance between the block to be coded (Anm) and the source block (Dn 1, m, j). 6. Procédé de codage d'un ensemble (f) de données représentatives de grandeurs physiques, 6. Method for coding a set (f) of data representative of physical quantities, caractérisé en ce qu'il comporte les étapes suivantes, réalisées itérativement un nombre prédéterminé de fois: characterized in that it comprises the following steps, carried out iteratively a predetermined number of times: - construction (E103, E114) d'un ensemble de données à coder (f'n). - construction (E103, E114) of a set of data to be coded (f'n). - détermination (E109) d'une transformation (Tnm) entre les blocs source sélectionnés et le bloc à coder. - determination (E109) of a transformation (Tnm) between the selected source blocks and the block to be coded. - sélection (E108) d'un nombre prédéterminé de blocs source (Dni,rn , Dn-l,m,K) dans ledit ensemble de référence,  - selection (E108) of a predetermined number of source blocks (Dni, rn, Dn-l, m, K) in said reference set, et, pour chacun des blocs de données à coder: and, for each of the data blocks to be coded: - division (E107) de l'ensemble de référence (gn-1) en blocs source, - division (E107) of the reference set (gn-1) into source blocks, - construction (E105, El 14) d'un ensemble de référence (gn-1), - construction (E105, El 14) of a reference set (gn-1), - division (E104, E115) de l'ensemble en blocs de données à coder (An,m), - division (E104, E115) of the set into data blocks to be coded (An, m), 7. Procédé de codage selon la revendication 6, caractérisé en ce que l'étape de construction d'un ensemble de données à coder comporte, à la première itération, la soustraction d'une moyenne de l'ensemble de données représentatives de grandeurs physiques audit ensemble de données représentatives de grandeurs physiques.  7. Coding method according to claim 6, characterized in that the step of constructing a set of data to be coded comprises, at the first iteration, subtracting an average from the set of data representative of physical quantities said set of data representative of physical quantities. 8. Procédé de codage selon la revendication 6, caractérisé en ce que l'étape de construction d'un ensemble de données à coder comporte, à partir de la deuxième itération, la soustraction de l'ensemble à coder à l'itération précédente à un ensemble de données reconstruit à partir des transformations déterminées à l'itération précédente. 8. Coding method according to claim 6, characterized in that the step of constructing a set of data to be coded comprises, from the second iteration, the subtraction of the set to be coded from the previous iteration from a set of data reconstructed from the transformations determined in the previous iteration. 9. Procédé de codage selon l'une quelconque des revendications 1 à 8, caractérisé en ce que la transformation minimise une seconde distance (d(Am, ARnrn), d(An,m, ARnrn)) entre le bloc à coder (Am, An m) et son approximation calculée en appliquant la transformation aux blocs source sélectionnés (Dn 1,m,1, Dn-1,m,K). 9. Coding method according to any one of claims 1 to 8, characterized in that the transformation minimizes a second distance (d (Am, ARnrn), d (An, m, ARnrn)) between the block to be coded (Am , An m) and its approximation calculated by applying the transformation to the selected source blocks (Dn 1, m, 1, Dn-1, m, K). 10. Procédé de codage selon l'une quelconque des revendications 1 à 9, caractérisé en ce que la transformation est une approximation multilinéaire. 10. Coding method according to any one of claims 1 to 9, characterized in that the transformation is a multilinear approximation. 11. Procédé de codage selon l'une quelconque des revendications 1 à 9, caractérisé en ce que la transformation est une approximation multilinéaire combinée avec une transformation géométrique. 11. Coding method according to any one of claims 1 to 9, characterized in that the transformation is a multilinear approximation combined with a geometric transformation. 12. Procédé de codage selon l'une quelconque des revendications 1 à 9, caractérisé en ce que la transformation est un polynôme sur les valeurs des coefficients des blocs source. 12. Coding method according to any one of claims 1 to 9, characterized in that the transformation is a polynomial on the values of the coefficients of the source blocks. 13. Procédé de codage selon l'une quelconque des revendications 6 à 12, 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 (Am, An,m) et les valeurs de son approximation (ARnm) calculée en appliquant la transformation aux blocs source. 13. Coding method according to any one of claims 6 to 12, characterized in that the calculation of the second distance comprises the calculation of a difference between the values of the data of the block to be coded (Am, An, m) and the values of its approximation (ARnm) calculated by applying the transformation to the source blocks. 14. Procédé de codage selon l'une quelconque des revendications 6 à 12, caractérisé en ce que la seconde distance est l'erreur quadratique moyenne calculée entre les valeurs du bloc à coder (Am, m) et les valeurs du bloc résultant de l'application de l'approximation aux blocs source (Dn.i,rn.i à Dn- 1 ,m.K) -  14. Coding method according to any one of claims 6 to 12, characterized in that the second distance is the mean square error calculated between the values of the block to be coded (Am, m) and the values of the block resulting from l of the approximation to the source blocks (Dn.i, rn.i to Dn- 1, mK) - 15. Procédé de codage selon l'une quelconque des revendications 1 à 14, caractérisé en ce que, pour la première itération de codage de l'ensemble à coder, ledit au moins un ensemble de référence (g0) est un ensemble prédéterminé. 15. Coding method according to any one of claims 1 to 14, characterized in that, for the first coding iteration of the set to be coded, said at least one reference set (g0) is a predetermined set. 16. Procédé de codage selon l'une quelconque des revendications 1 à 15, caractérisé en ce que, à partir de la deuxième itération, ledit au moins un ensemble de référence est l'ensemble (gn-1) qui a été préalablement codé puis décodé à l'itération précédente. 16. Coding method according to any one of claims 1 to 15, characterized in that, from the second iteration, said at least one reference set is the set (gn-1) which has been previously coded and then decoded on the previous iteration. 17. Procédé de codage selon l'une quelconque des revendications 1 à 16, caractérisé en ce que les blocs source (Dn-1,m,1 , Dn.1,rn,K) sont sélectionnés dans une partie de l'ensemble de référence (gn-1) qui dépend de la partie dans laquelle est situé le bloc à coder (Am) dans l'ensemble en cours de codage (f). 17. Coding method according to any one of claims 1 to 16, characterized in that the source blocks (Dn-1, m, 1, Dn.1, rn, K) are selected from a part of the set of reference (gn-1) which depends on the part in which the block to be coded (Am) is located in the assembly being coded (f). 18. Procédé de codage selon l'une quelconque des revendications 1 à 17, caractérisé en ce que les blocs source (Dn-1,m,k) ont une taille qui est déterminée en fonction de la taille du bloc à coder (Am)  18. Coding method according to any one of claims 1 to 17, characterized in that the source blocks (Dn-1, m, k) have a size which is determined as a function of the size of the block to be coded (Am) 19. Procédé de codage selon l'une quelconque des revendications 1 à 18, caractérisé en ce que les blocs source (Dni.rn,i , 1,m,K) ont une taille multiple d'un facteur F2 de celle du bloc à coder (Am) et sont souséchantillonnés du facteur F, où F est un entier. 19. Coding method according to any one of claims 1 to 18, characterized in that the source blocks (Dni.rn, i, 1, m, K) have a size multiple of a factor F2 of that of the block to code (Am) and are subsampled by the factor F, where F is an integer. 20. Procédé de codage selon l'une quelconque des revendications 1 à 18, caractérisé en ce que les blocs source (Dni,rn.i , Dn-1,m,K) ont la même taille que le bloc à coder (Am)  20. Coding method according to any one of claims 1 to 18, characterized in that the source blocks (Dni, rn.i, Dn-1, m, K) have the same size as the block to be coded (Am) 21. Procédé de codage selon l'une quelconque des revendications 1 à 20, caractérisé en ce que le bloc à coder (Am) est de taille prédéterminée. 21. Coding method according to any one of claims 1 to 20, characterized in that the block to be coded (Am) is of predetermined size. 22. Procédé de codage selon l'une quelconque des revendications 1 à 20, caractérisé en ce que la taille du bloc à coder (Am) diminue au fur et à mesure des itérations. 22. Coding method according to any one of claims 1 to 20, characterized in that the size of the block to be coded (Am) decreases as iterations progress. 23. Procédé de décodage d'un ensemble de données codées représentatives de grandeurs physiques, l'ensemble de données étant codé par une suite d'ensembles de codage (hn) qui comportent chacun des représentations codées de blocs de données (Tn,m), chacun des blocs étant codé au moyen d'une transformation (Tn,m) entre des blocs source sélectionnés dans un ensemble de référence et le bloc, 23. Method for decoding a set of coded data representative of physical quantities, the data set being coded by a series of coding sets (hn) which each include coded representations of data blocks (Tn, m) , each of the blocks being coded by means of a transformation (Tn, m) between source blocks selected from a reference set and the block, caractérisé en ce qu'il comporte, pour chacun des ensembles de codage successivement, et pour chacun des blocs, l'étape d'application (E25) de la transformation aux blocs source pour décoder le bloc (ARnm).  characterized in that it comprises, for each of the coding sets successively, and for each of the blocks, the step of applying (E25) the transformation to the source blocks to decode the block (ARnm). 24. Procédé de décodage d'un ensemble de données codées représentatives de grandeurs physiques, l'ensemble de données étant codé par une suite d'ensembles de codage (hn) qui comportent chacun des représentations codées de blocs de données (Tn,rn),  24. Method for decoding a set of coded data representative of physical quantities, the data set being coded by a series of coding sets (hn) which each include coded representations of data blocks (Tn, rn) , caractérisé en ce qu'il comporte, pour chacun des ensembles de codage successivement, et pour chacun des blocs, les étapes de: characterized in that it comprises, for each of the coding sets successively, and for each of the blocks, the steps of: - recherche (E74) si le bloc est codé par mise en correspondance de blocs, - search (E74) if the block is coded by matching of blocks, et, en cas de réponse négative, le bloc étant alors codé au moyen d'une transformation (Tn,m) entre des blocs source sélectionnés dans un ensemble de référence et le bloc: and, in the event of a negative response, the block then being coded by means of a transformation (Tn, m) between source blocks selected in a reference set and the block: - d'application (E77) de la transformation aux blocs source pour décoder le bloc. - application (E77) of the transformation to the source blocks to decode the block. 25. Procédé de décodage selon la revendication 24, caractérisé en ce que, en cas de réponse positive à l'étape de recherche, le bloc est décodé (E75) par recopie d'un bloc source déterminé par la mise en correspondance de blocs. 25. A decoding method according to claim 24, characterized in that, in the event of a positive response to the search step, the block is decoded (E75) by copying a source block determined by the matching of blocks. 26. Procédé de décodage selon l'une quelconque des revendications 23 à 25, caractérisé en ce qu'il comporte en outre, pour la première itération, I'addition d'une moyenne (ho) à l'ensemble résultant de l'application de la transformation aux bloc source pour chacun des blocs. 26. A decoding method according to any one of claims 23 to 25, characterized in that it also comprises, for the first iteration, the addition of an average (ho) to the set resulting from the application transformation to the source blocks for each of the blocks. 27. Procédé de décodage selon l'une quelconque des revendications 23 à 26, caractérisé en ce qu'il comporte en outre, à partir de la deuxième itération, l'addition de l'ensemble résultant du décodage à l'itération précédente et de l'ensemble résultant de l'application de la transformation aux bloc source pour chacun des blocs.  27. A decoding method according to any one of claims 23 to 26, characterized in that it also comprises, from the second iteration, the addition of the set resulting from the decoding to the previous iteration and of the set resulting from the application of the transformation to the source block for each of the blocks. 28. Dispositif de codage (2) d'un ensemble (f) de données représentatives de grandeurs physiques, 28. Coding device (2) for a set (f) of data representative of physical quantities, caractérisé en ce qu'il comporte (24): characterized in that it comprises (24): - des moyens de division de l'ensemble (f) en blocs de données à coder (Am), means for dividing the set (f) into data blocks to be coded (Am), - des moyens de construction d'ensemble de référence (9n.i)  - means of reference set construction (9n.i) - des moyens de division d'ensemble de référence (gn-1) en blocs source, - means for dividing the reference set (gn-1) into source blocks, - des moyens de sélection d'un nombre prédéterminé de blocs source (Dn 1,m,1, Dn 1,m,K) dans chacun des ensembles de référence (gn-1), pour chacun des blocs de données à coder (Am) et means for selecting a predetermined number of source blocks (Dn 1, m, 1, Dn 1, m, K) in each of the reference sets (gn-1), for each of the data blocks to be coded (Am ) and - des moyens de détermination d'une transformation (tam) entre les blocs source sélectionnés et le bloc à coder. means for determining a transformation (tam) between the selected source blocks and the block to be coded. 29. Dispositif de codage (2) selon la revendication 28, caractérisé en ce qu'il comporte des moyens de transmission (3) de la transformation déterminée pour chacun des blocs à coder. 29. Coding device (2) according to claim 28, characterized in that it comprises means (3) for transmitting the transformation determined for each of the blocks to be coded. 30. Dispositif de codage (2) d'un ensemble (f) de données représentatives de grandeurs physiques, 30. Coding device (2) for a set (f) of data representative of physical quantities, caractérisé en ce qu'il comporte (24): characterized in that it comprises (24): - des moyens de division de l'ensemble en blocs de données à coder (Am), means for dividing the set into data blocks to be coded (Am), - des moyens de construction d'ensemble de référence (9n-i),  - reference assembly construction means (9n-i), - des moyens de division d'ensemble de référence (gn-1) en blocs source, - means for dividing the reference set (gn-1) into source blocks, - des moyens de mise en correspondance, pour chacun des blocs de données à coder, du bloc à coder avec l'un des blocs source, et, si un critère de correspondance n'est pas satisfait, means for matching, for each of the data blocks to be coded, the block to be coded with one of the source blocks, and, if a correspondence criterion is not satisfied, - des moyens de sélection d'un nombre prédéterminé de blocs source (Dn-1,m,1 , Dn-1,m,K) dans chacun des ensembles de référence, pour chacun des blocs de données, et  means for selecting a predetermined number of source blocks (Dn-1, m, 1, Dn-1, m, K) in each of the reference sets, for each of the data blocks, 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 31. Dispositif de codage (2) selon la revendication 30, caractérisé en ce qu'il comporte des moyens de transmission (3), pour chacun des blocs à coder, soit de l'indication que le bloc est codé par mise en correspondance de bloc, soit de la transformation déterminée pour le bloc de données. 31. Coding device (2) according to claim 30, characterized in that it comprises transmission means (3), for each of the blocks to be coded, either of the indication that the block is coded by matching of block, or of the transformation determined for the data block. 32. Dispositif de codage (2) selon l'une quelconque des revendications 28 à 31, caractérisé en ce qu'il comporte en outre des moyens de construction d'ensemble de données à coder (f,).  32. Coding device (2) according to any one of claims 28 to 31, characterized in that it further comprises means for constructing a data set to be coded (f,). 33. Dispositif de codage selon l'une quelconque des revendications 28 à 32, caractérisé en ce que les moyens de division, construction, sélection et détermination sont incorporés dans  33. Coding device according to any one of claims 28 to 32, characterized in that the means of division, construction, selection and determination are incorporated in - un micro-contrôleur (24), - a microcontroller (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 variables modified during the execution of said program. 34. Dispositif de décodage (5) d'un ensemble de données codées représentatives de grandeurs physiques, l'ensemble étant codé par une suite d'ensembles de codage (hn) qui comportent chacun des représentations codées de blocs de données de l'ensemble de données, chacun des blocs étant codé au moyen d'une transformation entre des blocs source sélectionnés dans un ensemble de référence (go 1) et le bloc, 34. Decoding device (5) of a set of coded data representative of physical quantities, the set being coded by a series of coding sets (hn) which each include coded representations of data blocks of the set of data, each of the blocks being coded by means of a transformation between source blocks selected from a reference set (go 1) and the block, caractérisé en ce qu'il comporte des moyens (54) d'application de la transformation aux blocs source, pour chacun des ensembles de codage successivement et pour chacun des blocs, pour reconstruire le bloc (ARnm).  characterized in that it comprises means (54) for applying the transformation to the source blocks, for each of the coding sets successively and for each of the blocks, for reconstructing the block (ARnm). 35. 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 de l'ensemble de données, 35. Device for decoding (5) a set of data representative of physical quantities, the set being composed of subsets (hn) which each include coded representations of data blocks of the data set, caractérisé en ce qu'il comporte (54):  characterized in that it comprises (54): - des moyens de recherche, pour chacun des blocs (Am) si le bloc est codé par mise en correspondance de blocs, - search means, for each of the blocks (Am) if the block is coded by matching of blocks, et en cas de réponse négative, le bloc étant alors codé au moyen d'une transformation (Tn,m) entre des blocs source sélectionnés dans un ensemble de référence et le bloc: and in the event of a negative response, the block then being coded by means of a transformation (Tn, m) between source blocks selected in a reference set and the block: - des moyens d'application de la transformation aux blocs source pour reconstruire le bloc (ARn,m).  - means of applying the transformation to the source blocks to reconstruct the block (ARn, m). 36. Dispositif de décodage selon la revendication 34 ou 35, caractérisé en ce que les moyens d'application sont incorporés dans: 36. Decoding device according to claim 34 or 35, characterized in that the application means are incorporated in: - un micro-contrôleur (54), - a microcontroller (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 variables modified during the execution of said program. 37. Appareil numérique comportant des moyens adaptés à mettre en oeuvre le procédé de codage selon l'une quelconque des revendications 1 à 22, et/ou des moyens adaptés à mettre en oeuvre le procédé de décodage selon l'une quelconque des revendications 23 à 27. 37. Digital apparatus comprising means suitable for implementing the coding method according to any one of claims 1 to 22, and / or means suitable for implementing the decoding method according to any one of claims 23 to 27. 38. Appareil numérique comportant le dispositif de codage selon l'une quelconque des revendications 28 à 33, et/ou le dispositif de décodage selon l'une quelconque des revendications 34 à 36.  38. Digital apparatus comprising the coding device according to any one of claims 28 to 33, and / or the decoding device according to any one of claims 34 to 36.
FR9708648A 1997-07-08 1997-07-08 Compressed data coding-decoding method Pending FR2766034A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
FR9708648A FR2766034A1 (en) 1997-07-08 1997-07-08 Compressed data coding-decoding method
EP98401708A EP0891100A1 (en) 1997-07-08 1998-07-06 Method and device for coding and decoding data, notably digital images and sequences of digital images
JP10208625A JP2000196460A (en) 1997-07-08 1998-07-08 Method and device for encoding and decoding concerned digital image data and continued digital image data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR9708648A FR2766034A1 (en) 1997-07-08 1997-07-08 Compressed data coding-decoding method

Publications (1)

Publication Number Publication Date
FR2766034A1 true FR2766034A1 (en) 1999-01-15

Family

ID=9508997

Family Applications (1)

Application Number Title Priority Date Filing Date
FR9708648A Pending FR2766034A1 (en) 1997-07-08 1997-07-08 Compressed data coding-decoding method

Country Status (1)

Country Link
FR (1) FR2766034A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5416856A (en) * 1992-03-30 1995-05-16 The United States Of America As Represented By The Secretary Of The Navy Method of encoding a digital image using iterated image transformations to form an eventually contractive map
EP0749245A2 (en) * 1995-06-12 1996-12-18 ALCATEL ITALIA S.p.A. Method and equipment for coding and decoding a digital image

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5416856A (en) * 1992-03-30 1995-05-16 The United States Of America As Represented By The Secretary Of The Navy Method of encoding a digital image using iterated image transformations to form an eventually contractive map
EP0749245A2 (en) * 1995-06-12 1996-12-18 ALCATEL ITALIA S.p.A. Method and equipment for coding and decoding a digital image

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
GHARAVI-ALKHANSARI M ET AL: "FRACTAL-BASED TECHNIQUES FOR A GENERALIZED IMAGE CODING METHOD", PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON IMAGE PROCESSING (IC, AUSTIN, NOV. 13 - 16, 1994, vol. 3, 13 November 1994 (1994-11-13), INSTITUTE OF ELECTRICAL AND ELECTRONICS ENGINEERS, pages 122 - 126, XP000572262 *
JACQUIN A E: "IMAGE CODING BASED ON A FRACTAL THEORY OF ITERATED CONTRACTIVE IMAGE TRANSFORMATIONS", IEEE TRANSACTIONS ON IMAGE PROCESSING, vol. 1, no. 1, 1 January 1992 (1992-01-01), pages 18 - 30, XP000367530 *
LEPSOY S ET AL: "ATTRACTOR IMAGE COMPRESSION WITH A FAST NON-INTERATIVE DECODING ALGORITHM", IMAGE AND MULTIDIMENSIONAL SIGNAL PROCESSING, MINNEAPOLIS, APR. 27 - 30, 1993, vol. 5 OF 5, 27 April 1993 (1993-04-27), INSTITUTE OF ELECTRICAL AND ELECTRONICS ENGINEERS, pages V-337 - V-340, XP000437679 *
LIMIN WANG ET AL: "BLOCK TRANSFORM IMAGE CODING BY MULTISTAGE VECTOR QUANTIZATION WITH OPTIMAL BIT ALLOCATION", IEEE TRANSACTIONS ON COMMUNICATIONS, vol. 39, no. 9, 1 September 1991 (1991-09-01), pages 1360 - 1369, XP000271174 *

Similar Documents

Publication Publication Date Title
FR2835366A1 (en) Method and device for the forming of a reduced compressed digital signal
FR2826823A1 (en) Digital signal image processing method has coded digital words assembly with initial request for selected signal part/quantity signal determined and determined quantity digital words furnished.
FR2755818A1 (en) DIGITAL SIGNAL CODING BY DECOMPOSITION IN FREQUENCY SUB-BANDS AND VECTOR QUANTIFICATION IN FINISED STATES
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
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
FR2825224A1 (en) METHOD AND DEVICE FOR COMPRESSING AND / OR INDEXING DIGITAL IMAGES
EP0053064B1 (en) Digital transmission system with adaptive coding of sampled and orthogonally transformed analogue information
FR2766034A1 (en) Compressed data coding-decoding method
FR2816138A1 (en) DECODING OF DIGITAL DATA
FR2796778A1 (en) Method for block compression of fixed or moving digital image data, allowing real-time compression in videophone via computer networks
WO2006053842A1 (en) Method of coding wavelet-coded images with data rate control and corresponding coding device and computer program
FR2844935A1 (en) Transcoding of digital data coded according to a first coding mode to digital data coded according to a second coding mode, in particular for digital image
FR2766033A1 (en) Compressed data coding-decoding method
FR2776411A1 (en) Method and device for coding and decoding sequence of digital image data
FR3083662A1 (en) ROBUST COMPRESSION AND DECOMPRESSION OF DIGITAL IMAGES
FR2769454A1 (en) Digital images coding and decoding method e.g. for gray level images, color images
FR2835665A1 (en) CODING AND DECODING OF DIGITAL SIGNALS
FR2832875A1 (en) Method and device for coding and decoding of digital signal, in particular for still images with compression
WO2024121107A1 (en) Method and device for encoding and decoding images
FR2848765A1 (en) Digital image JPEG signal data configuration determination procedure determines minimum data rate reduction for resolution as function of signal quality
FR2805640A1 (en) Generation of thumbnail image from an image stored in compressed form in a database, uses storage of multiple sub-images of differing size and selects image nearest optimal display size for scaling
FR2846836A1 (en) Data e.g. video coding method, involves estimating number of coefficients that are to be coded according to criterion of coding and performing approximation of coefficients taken on estimation number and in order of calculation
FR2767987A1 (en) Digital signal coding and encoding
FR2805117A1 (en) Image compression digital word coding having sub assembly coding parameters selected and coded/decoded words evaluation made whilst value less than coding parameters and displaying characteristics.