WO2014053791A1 - Procédé de codage d'une matrice, notamment d'une matrice représentative d'une image fixe ou vidéo - Google Patents

Procédé de codage d'une matrice, notamment d'une matrice représentative d'une image fixe ou vidéo Download PDF

Info

Publication number
WO2014053791A1
WO2014053791A1 PCT/FR2013/052369 FR2013052369W WO2014053791A1 WO 2014053791 A1 WO2014053791 A1 WO 2014053791A1 FR 2013052369 W FR2013052369 W FR 2013052369W WO 2014053791 A1 WO2014053791 A1 WO 2014053791A1
Authority
WO
WIPO (PCT)
Prior art keywords
value
values
initial
reference value
matrix
Prior art date
Application number
PCT/FR2013/052369
Other languages
English (en)
Inventor
Than Marc-Eric Gervais
Bruno Loubet
Nicolas BESSOU
Original Assignee
I-CES (Innovative Compression Engineering Solutions)
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 I-CES (Innovative Compression Engineering Solutions) filed Critical I-CES (Innovative Compression Engineering Solutions)
Priority to EP13801611.8A priority Critical patent/EP2904707A1/fr
Priority to US14/433,224 priority patent/US9628806B2/en
Priority to CA2887366A priority patent/CA2887366C/fr
Priority to BR112015007461A priority patent/BR112015007461A8/pt
Priority to KR1020157011903A priority patent/KR102067612B1/ko
Priority to IN3760DEN2015 priority patent/IN2015DN03760A/en
Priority to JP2015535097A priority patent/JP6367202B2/ja
Publication of WO2014053791A1 publication Critical patent/WO2014053791A1/fr

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3059Digital compression and data reduction techniques where the original information is represented by a subset or similar information, e.g. lossy compression
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • 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/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/65Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience

Definitions

  • the present invention relates to the field of the coding of numerical values arranged in matrix, in particular in the case where this matrix is a two-dimensional matrix, representing the pixels of an image.
  • the main constraints of the compression methods are, on the one hand, to reduce as much as possible, by compressing it, the volume, measured in bytes, of an initial digital file and, on the other hand, to restore a file the most as close as possible to the original file.
  • Some compression methods make it possible to restore exactly the initial values. This is the case of DPCM modulation.
  • an origin value i.e. the first value of the initial digital file
  • each other value is replaced by its difference with the value that precedes it in the initial file.
  • the numbers corresponding to the differences are generally smaller than those corresponding to the initial values, which makes it possible to obtain a compressed file.
  • To restore an initial value it suffices to add the difference corresponding to the previous initial value, that is to say that one adds between them the differences of successive values with the original value.
  • This compression mode therefore applies to a linear sequence, that is to say extending in one dimension, of numerical values; the same goes for a two-dimensional matrix of numerical values, consisting of rows and columns, this mode compression that can be applied to each row of the matrix successively; the same applies regardless of the number of dimensions of a matrix, the compression mode that can be applied to each row (or equivalent in the corresponding dimension) of the matrix.
  • each image is done in blocks of 8 ⁇ 8 pixels, and in each block, line by line, from the first to the eighth.
  • Such a method often results in lineage and / or pixelation of the rendered image.
  • the aim of the invention is to propose a simple and powerful compression method which makes it possible to combine the advantages of a greater compression ratio than that of the single DPCM method, while retaining the advantages of a differential coding, without propagation. at the same time as it avoids or significantly reduces the risk of lineage and / or pixelation specific to the processes of the prior art.
  • a method for coding successive layers of an initial matrix in a compressed matrix and its restitution in a restored matrix, each cell of the initial matrix containing a respective initial digital value; each cell of the compressed matrix containing a respective compressed digital value corresponding to the respective initial digital value; each cell of the restored matrix containing a respective restored digital value corresponding to the respective initial digital value; characterized in that to process, i.e., compress, at least one initial value of an initial box, one chooses, among the lines passing through said box, as a path of travel for the compression of said initial value, the one which, estimated from returned values previously calculated, has the smallest variation.
  • Such a method may comprise at least one layer for which, for an initial value to be processed of said layer, the corresponding compressed value is determined by calculating a difference between said value to be processed and a reference value previously determined and neighboring, preferably the nearest neighbor, the box provided to contain the returned value corresponding to said value to be processed on one of the lines passing through said box.
  • the lines passing through the cell intended to contain the returned value corresponding to said value to be processed comprise a value that can potentially be a reference value, for all combinations of potential values taken two by two, for a first of said reference values.
  • a variation is calculated equal to the difference between said first value and another previously calculated, restored value located on a same third line that said first value, said third line being parallel to the second line, and said other value being at a same distance from the first value as the second value is from the value to be processed, the selected reference value being the second value for which said variation is the weaker.
  • the reference value for which the path gives the smallest variation that is to say that the first reference value is chosen if the second variation is smaller in absolute value than the first variation, or, that the second reference value is chosen if the first variation is smaller in absolute value than the second variation.
  • At least one layer preferably a base layer, for which, for an initial value to be processed of said layer, the corresponding compressed value is determined by calculating a difference between the initial value and a reference value equal to one. previously rendered value returned, belonging to either the same row or the same column, as said value to be processed.
  • the reference value is calculated from a pair of framing values that have already been processed and disposed of on both sides. another of said value, for which the restored value is calculated from a reference value to the decompression calculated from the same pair of previously restored values.
  • the pair whose variation, equal to the difference between the corresponding restituted values of previously restored values, is chosen to calculate the reference value has the lowest absolute value.
  • the reference value for this layer is advantageously the arithmetic mean between the two values of the chosen framing torque and, where appropriate, the reference value to the decompression is the arithmetic mean between the values restored of the values of the framing couple;
  • the reference value for this layer may alternatively be the arithmetic mean between the two initial values corresponding to that of the chosen framing pair.
  • an original initial value whose compressed value and the value restored are equal to said original initial value, said restored original value serving as a reference value, direct or indirect, for the treatment of the other initial values.
  • a quantization table is applied to the difference between the initial value processed and the reference value, in order to calculate the compressed value and the value returned.
  • the quantization table used being defined from previously computed returned values.
  • a threshold below which a first quantization table is applied and beyond which a second quantization table is applied.
  • one table or another is used depending on whether the initial value to be treated belongs to one layer or another.
  • Each cell can represent a pixel of an image.
  • Figure 1 is a partial illustration of an initial matrix, representing the upper right corner of an image, as well as those of the corresponding compressed matrix and error matrix;
  • Figures 2 to 5 each illustrate a cell layer among the cells of the initial matrix;
  • FIGS. 6 and 7 illustrate two quantization tables respectively for dark and light values of the image, usable during the compression of the values of the base layer
  • FIGS. 8 and 9 illustrate two quantization tables respectively for dark and clear values of the image, usable during the compression of the values of the secondary layers.
  • FIGS 10 to 14 illustrate algorithms used in the method according to the invention.
  • the original image is represented in the figures by an initial matrix M.
  • This matrix can be that of the values of a monochrome image, if the original image is monochrome, or one of the matrices making it possible to reconstitute a color image, if the original image is in color.
  • the initial matrix M may represent, for each pixel, the brightness of the Red, Green or Blue, in the case of an initial image in RGB notation; it can represent values composed of luminance Y, in the case of an initial image in notation YCbCr.
  • the values of the initial matrix M are between 0 and 255.
  • the matrix may be the representation of a raw image or of an image that has already undergone a colorimetric transformation.
  • line we will call “line”, the lines represented horizontally in the figures and “columns”, the lines represented vertically; of course, whether horizontal or vertical, the lines are treated indifferently according to the method.
  • each cell Cmn of the initial matrix M is indexed by its line number m and its column number n and contains a corresponding initial value Vmn, indexed in the same way.
  • the initial matrix M corresponds a compressed matrix MC and a matrix MR restored after decompression of the compressed matrix MC.
  • each value Vmn of the initial matrix M corresponds a respective compressed value VCmn and a restored value VRmn, each in a respective cell CCmn, CRmn of same indices.
  • FIG. 1 thus illustrates the initial matrix M, the compressed matrix MC and the restored matrix MR obtained, starting from the initial matrix M, by the method according to the invention described with reference to FIGS. 10 to 14;
  • FIG. 1 also illustrates an error matrix ME consisting of the differences between the restored values and the initial values.
  • the method according to the invention allows the successive encoding of successive layers of values, from a Voo origin value contained in a Coo origin cell at the top left of the initial matrix M.
  • the encoding of a value of d a given layer only depends on previously encoded layers or previously encoded values of its own layer.
  • the method uses four layers, a base layer and three secondary layers.
  • the values of the cells belonging to the base layer are represented in bold in the matrix M; in FIG. 3, the values of the cells belonging to the first secondary layer are represented in bold in the matrix M; in FIG. 4, the values of the cells belonging to the second secondary layer are represented in bold in the matrix M; and, in FIG. 5, the values of the cells belonging to the third secondary layer are represented in bold in the matrix M.
  • the cells that compose it are regularly distributed in the matrix.
  • the base layer is encoded using a first lossless differential encoding algorithm, followed by a first quantization; the secondary layers are encoded using a second predictive algorithm, itself followed by a second quantization.
  • Two quantization tables TB1, TB2 are used for quantization of the basecoat values.
  • Two other tables TS1, TS2 are used for the quantification of the values of the secondary layers.
  • a first table TB1, TS1 is assigned to quantize the dark values; the values being considered as dark below a threshold value equal to 40, out of 255.
  • the second tables TB2, TS2 are assigned to the clear values, that is to say from 40 to 255.
  • the Choosing the value 40 for the threshold value is arbitrary, determined by a better rendering of the darker colors.
  • the first tables TBl and TSl assign to the dark values of the quantifications less severe, corresponding to a division by 2 for the base layer and a division by 4 for the secondary layers, against a division by 3 (TB2) and 5 or 8 (TS2) respectively for clear values.
  • Degradations ie errors between the returned value and the initial value are generally more noticeable in dark areas than in bright areas; such an arrangement, allowing to have less losses in the dark areas is particularly advantageous.
  • the remainder of the present description explains, with reference to FIGS. 11 to 14, how one determines whether a value is estimated to be light or dark.
  • the first column contains a difference to be quantified D
  • the second column contains, for each difference D, the corresponding compressed VC value
  • the third column contains the corresponding value restored DR of the difference D.
  • the number of layers defines a pitch p, q of the base layer, i.e. a distance between the cells belonging to the first layer.
  • the pitch p along the lines and the pitch q according to the columns are equal, with:
  • the cells of the base layer have as indices:
  • n 4 z, with z> 0 and,
  • the base cells thus constitute a mesh among the cells of the initial matrix M, from which the compressed values of the other cells are calculated.
  • an encoding that is little or no destructive relative to the encoding of the other cells thus, regularly distributed values throughout the image are restored sufficiently close to the initial values to maintain a quality impression. while being able to afford greater compression of the values of the secondary layers.
  • the upper left corner shown corresponds to a mesh; with for each of the cells represented:
  • FIGS. 10 to 14 Each of these figures represents the computation of a compressed value VCmn, ie a step in the constitution of the compressed matrix MC, especially in function of the initial values Vmn, of the initial matrix M, but also as a function of VR restored values of previously compressed values.
  • Figures 11 and 12 each illustrate the compression of a respective value among those of the base layer cells.
  • Figures 13 and 14 each illustrate the compression of a respective value among those of the cells of the first secondary layer.
  • the compression / reproduction method according to the invention retains the value Voo of the Coo origin cell, identified in FIG. 10, so that in the illustrated example, we have:
  • the VRoo rendered origin value is a reference, directly or indirectly, for the calculation of the other compressed values VCmn or restored VRmn.
  • the Co4 cell belongs to the base layer. Apart from the special case of the Voo value, the value V04 is the first to be compressed.
  • the value returned, already calculated, of the nearest lower index on the same row or column is taken as the reference value.
  • the reference value being less than 40 the value Vo4 is treated as a dark value and therefore the first table TB1 is used.
  • the same procedure is applied to the initial value V4o of the cell C4o of the initial matrix M.
  • the same procedure can then be applied to all the initial values Vo, 4z and V4y, o.
  • the C44 cell belongs to the base layer.
  • the value returned, already calculated, of the nearest lower index on the same row or column is taken as the reference value.
  • two values answer potentially to this definition, one VRo4 in the box CRo4, the other VR4o in the box CR4o of the matrix MR.
  • the application of the method according to the invention to cells of a secondary layer of the initial matrix M will now be described with reference to FIGS. 13 and 14.
  • the cells of each secondary layer are all surrounded by cells of the lower index layer (in the case of FIG. 13), or by cells of the same layer themselves framed by cells of the lower index layer (the case of FIG. 14),
  • a reference value is chosen as an average value between the values of a framing pair; a framing pair being a pair of previously computed returned values contained in two adjacent cells, on either side of the cell being processed, in the restored matrix MR, aligned on the same line m or on the same column not.
  • This average is in this example rounded to the nearest integer.
  • the compression reference value W22 is then calculated from the original values located in the equivalent cells:
  • the restituted values are used to calculate the following restituted values, to determine, if necessary, the direction of the decompression for each value to be restored, and to determine the quantization table that will be used as a function of the chosen threshold value.
  • the compressed matrix MC thus contains in itself all the information necessary for the restitution.
  • Such an arrangement can also be advantageously used for a video game, particularly for a game played "online", in which fast sessions can be chained at high frequency; a treatment of only one zone of the image, or a slowing down of the action, would be detrimental to the pleasure of the player, to the success of his actions; the treatment of successive layers distributed in the image, each layer being transmitted and displayed as soon as it is processed, avoids these disadvantages.
  • the corresponding compressed values can be calculated from the average values restored with the same mn indices as the framing pair, and the values returned from these same values.
  • the origin cell may be any other cell of the initial matrix, so that the row and / or column numbers may take negative values, the compression principle according to the invention is not affected.
  • a compression method according to the invention is applicable to any type of matrix, in particular to that corresponding to large amounts of data, for example statistical data.
  • the invention is applicable to matrices of greater dimensions; in particular, a video can be represented by a three-dimensional matrix, the third dimension representing time.
  • Such a compression method is, moreover, particularly suitable for use in the processing of massive data, for example meteorological data, which can be represented in the form of a matrix with two or more dimensions.
  • the base layer has its own quantization tables and the quantization tables used for the compression of the secondary layers are identical for all the secondary layers.
  • the quantization tables used for the compression of the secondary layers are identical for all the secondary layers.
  • the order of processing of the initial values in each layer can be changed. They can be processed by rows or by successive columns, or in another order. It can also be expected that a layer treatment will begin before the previous layer treatment is completed.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Investigating Or Analysing Biological Materials (AREA)
  • Organic Low-Molecular-Weight Compounds And Preparation Thereof (AREA)

Abstract

Procédé de compression différentielle des valeurs d'une matrice, dans lequel la cellule de référence est choisie de sorte que la différence entre la valeur initiale, contenue dans une cellule à compresser, et la valeur décompressée de la cellule de référence soit minimale.

Description

PROCEDE DE CODAGE D'UNE MATRICE, NOTAMMENT D'UNE MATRICE REPRESENTATIVE D'UNE IMAGE FIXE OU VIDEO.
La présente invention se rapporte au domaine du codage de valeurs numériques disposées en matrice, notamment dans le cas où cette matrice est une matrice à deux dimensions, représentant les pixels d'une image.
Les contraintes principales des procédés de compression sont, d'une part, de réduire le plus possible, en le comprimant, le volume, mesuré en octets, d'un fichier numérique initial et, d'autre part, de restituer un fichier le plus proche possible du fichier initial.
Certains procédés de compression permettent de restituer exactement les valeurs initiales. C'est le cas de la modulation DPCM. Selon ce procédé, une valeur origine, c'est-à-dire la première valeur du fichier numérique initial, est conservée, puis chaque autre valeur est remplacée par sa différence avec la valeur qui la précède dans le fichier initial. Les nombres correspondant aux différences sont généralement plus petits que ceux correspondant aux valeurs initiales, ce qui permet d'obtenir un fichier compressé. Pour restituer une valeur initiale, il suffit de rajouter la différence correspondante à la valeur initiale précédente, c'est-à-dire que l'on additionne entre elles les différences de valeurs successives avec la valeur d'origine. Ce mode de compression s'applique donc à une suite linéaire, c'est-à-dire s'étendant selon une seule dimension, de valeurs numériques ; il en va de même pour une matrice à deux dimensions de valeurs numériques, formée de lignes et de colonnes, ce mode de compression pouvant s'appliquer à chaque ligne de la matrice successivement ; il en va de même quelle que soit le nombre de dimensions d'une matrice, le mode de compression pouvant être appliqué à chaque ligne (ou l'équivalent dans la dimension correspondante) de la matrice.
Il est admis que c'est la réduction la plus importante des écarts entre deux valeurs initiales qui permet d'obtenir un ratio de compression le plus important possible. C'est ainsi que la modulation DPCM a été introduite. Néanmoins, le taux de compression obtenu par la méthode DPCM reste faible. L'idée d'appliquer une compression complémentaire au fichier des différences parait donc séduisante. Cependant, les erreurs induites par cette nouvelle compression se cumulent en même temps que, lors de la restitution, on additionne entre elles les différences successives avec la valeur d'origine. Selon le procédé ADPCM (Adaptative DPCM), on compense partiellement ces erreurs en utilisant un algorithme sensé prédire ces erreurs. Cette méthode reste insatisfaisante au regard des taux de compressions qu'il est souhaitable d'atteindre.
Par ailleurs, dans le cas d'une matrice représentant une image, fixe ou vidéo, le traitement de chaque image se fait par blocs de 8 x 8 pixels, et dans chaque bloc, ligne par ligne, de la première à la huitième. Un tel procédé résulte souvent en un lignage et/ou une pixellisation de l'image restituée.
L'invention a pour but de proposer un procédé de compression simple et puissant qui permette de cumuler les avantages d'un taux de compression plus important que celui du seul procédé DPCM, tout en en conservant les avantages d'un codage différentiel, sans propagation d'erreurs, en même temps qu'il évite ou réduit notablement le risque de lignage et/ou de pixellisation propre aux procédés de l'art antérieur. Un procédé selon l'invention, pour le codage par couches successives d'une matrice initiale en une matrice compressée et sa restitution en une matrice restituée, chaque cellule de la matrice initiale contenant une valeur numérique initiale respective ; chaque cellule de la matrice compressée contenant une valeur numérique compressée respective correspondant à la valeur numérique initiale respective; chaque cellule de la matrice restituée contenant une valeur numérique restituée respective correspondant à la valeur numérique initiale respective ; caractérisé en ce que pour traiter, c'est-à-dire compresser, au moins une valeur initiale d'une case initiale, on choisit, parmi les lignes passant par ladite case, comme chemin de parcours pour la compression de ladite valeur initiale, celui qui, estimé à partir de valeurs restituées précédemment calculées, présente la plus faible variation.
Un tel procédé peut comprendre au moins une couche pour laquelle, pour une valeur initiale à traiter de ladite couche, la valeur compressée correspondante est déterminée en calculant une différence entre ladite valeur à traiter et une valeur restituée de référence précédemment déterminée et voisine, de préférence la plus proche voisine, de la case prévue pour contenir la valeur restituée correspondant à ladite valeur à traiter sur une des lignes passant par la ladite case. Lorsque plusieurs des lignes passant par la cellule prévue pour contenir la valeur restituée correspondant à ladite valeur à traiter comprennent une valeur pouvant potentiellement être une valeur de référence, pour toutes les combinaisons de valeurs potentielles prises deux à deux, pour une première desdites valeurs de référence potentielles, située sur une première desdites lignes et une deuxième desdites valeurs de référence potentielles, située sur une deuxième desdites lignes, on calcule une variation égale à la différence entre ladite première valeur et une autre valeur restituée, précédemment calculée, située sur une même troisième ligne que ladite première valeur, ladite troisième ligne étant parallèle la deuxième ligne, et ladite autre valeur étant à une même distance de la première valeur que la deuxième valeur l'est de la valeur à traiter, la valeur de référence choisie étant la deuxième valeur pour laquelle ladite variation est la plus faible. Si les matrices sont à deux dimensions et lorsqu'il existe au moins deux valeurs de référence possibles, l'une sur la même ligne, l'autre sur la même colonne pour la valeur à traiter de la deuxième couche, le choix de la valeur de référence se fait en :
- calculant une première variation entre la première valeur de référence potentielle ayant le même numéro de colonne que la valeur traitée et la valeur restituée ayant même numéro de ligne que cette première valeur de référence potentielle et même indice de colonne que la deuxième valeur de référence potentielle ; et,
- calculant une deuxième variation entre la deuxième valeur de référence potentielle ayant le même indice de ligne que la valeur traitée et la valeur restituée ayant même numéro de colonne que cette deuxième valeur de référence potentielle et même numéro de ligne ladite première valeur de référence potentielle ; puis,
- choisissant la valeur de référence pour laquelle le chemin de parcours donne la variation la plus faible, c'est-à-dire que l'on choisit la première valeur de référence si la deuxième variation est inférieure en valeur absolue à la première variation, ou, que l'on choisit la deuxième valeur de référence si la première variation est inférieure en valeur absolue à la deuxième variation.
Il existe avantageusement au moins une couche, de préférence une couche de base, pour laquelle, pour une valeur initiale à traiter de ladite couche, la valeur compressée correspondante est déterminée en calculant une différence entre la valeur initiale et une valeur de référence égale à une valeur restituée précédemment calculée, appartenant soit à la même ligne, soit à la même colonne, que celle ladite valeur à traiter.
De préférence, il existe au moins une couche, pour laquelle, pour une valeur initiale à traiter, la valeur de référence est calculée à partir d'un couple encadrant de valeurs initiales ayant déjà été traitées et disposées de part et d'autre de ladite valeur, pour laquelle la valeur restituée est calculée à partir d'une valeur de référence à la décompression calculée à partir du couple encadrant équivalent de valeurs précédemment restituées. A titre de variante, il existe au moins une couche pour laquelle, pour une valeur initiale à traiter de ladite couche, la valeur de référence est calculée à partir d'un couple encadrant de valeurs restituées ayant déjà été traitées et disposées de part et d'autre de ladite valeur, pour laquelle la valeur restituée est calculée à partir d'une valeur de référence à la décompression calculée à partir du couple même couple de valeurs précédemment restituées. Au titre d'une autre variante, il existe au moins une couche pour laquelle, pour une valeur initiale à traiter de ladite couche, la valeur compressée correspondante est déterminée en calculant une différence entre la valeur initiale courante et une valeur de référence déterminée à partir d'un couple encadrant de valeurs restituées précédemment déterminées, le couple encadrant choisi étant celui dont la différence entre les deux valeurs dudit couple, c'est-à-dire la variation, est la plus faible. Dans l'un ou l'autre des cas, s'il existe au moins deux couples encadrants, on choisit pour calculer la valeur de référence le couple dont la variation, égale à la différence entre les valeurs restituées correspondantes de valeurs restituées précédemment déterminées, présente la valeur absolue la plus faible.
La valeur de référence pour cette couche est avantageusement la moyenne arithmétique entre les deux valeurs du couple encadrant choisi et, le cas échéant, la valeur de référence à la décompression est la moyenne arithmétique entre les valeurs restituées des valeurs du couple encadrant ; La valeur de référence pour cette couche peut alternativement être la moyenne arithmétique entre les deux valeurs initiales correspondant à celle du couple encadrant choisi.
Avantageusement, selon le procédé, il existe une valeur initiale d'origine dont la valeur compressée et la valeur restituée sont égales à ladite valeur initiale d'origine, ladite valeur d'origine restituée servant de valeur de référence, directe ou indirecte, pour le traitement des autres valeurs initiales.
Selon un mode préféré de l'invention, on applique une table de quantification à la différence entre la valeur initiale traitée et la valeur de référence, pour calculer la valeur compressée et la valeur restituée. De préférence, il existe plusieurs tables de quantifications utilisables, la table de quantification utilisée étant définie à partir de valeurs restituées précédemment calculées. Avantageusement, il existe un seuil, en deçà duquel on applique une première table de quantification et au-delà duquel on applique une deuxième table de quantification. De préférence, selon que la valeur initiale à traiter appartient à une couche ou une autre, on utilise une table ou une autre.
Chaque cellule peut représenter un pixel d'une image.
Plusieurs modes d'exécution de l'invention seront décrits ci-après, à titre d'exemples non limitatifs, en référence aux dessins annexés dans lesquels : La figure 1 est une illustration partielle d'une matrice initiale, représentant l'angle supérieur droit d'une image, ainsi que ceux de la matrice compressée et de la matrice d'erreur correspondantes ; Les figures 2 à 5 illustrent chacune une couche de cellules parmi les cellules de la matrice initiale ;
Les figures 6 et 7 illustrent deux tables de quantification respectivement pour des valeurs sombres et claires de l'image, utilisables lors de la compression des valeurs de la couche de base ;
Les figures 8 et 9 illustrent deux tables de quantification respectivement pour des valeurs sombres et claires de l'image, utilisables lors de la compression des valeurs des couches secondaires ; et,
Les figures 10 à 14 illustrent des algorithmes utilisés dans le procédé selon l'invention.
Un procédé selon l'invention va être décrit dans son application à la compression numérique d'une image. Dans cet exemple, l'image d'origine est représentée aux figures par une matrice M initiale. Cette matrice peut être celle des valeurs d'une image monochrome, si l'image d'origine est monochrome, ou bien l'une des matrices permettant de reconstituer une image en couleur, si l'image d'origine est en couleur. Dans le cas d'une image en couleur, la matrice initiale M peut représenter, pour chaque pixel, la luminosité du Rouge, du Vert ou du Bleu, dans le cas d'une image initiale en notation RVB ; elle peut représenter des valeurs composées de luminance Y, dans le cas d'une image initiale en notation YCbCr. Les valeurs de la matrice initiale M sont comprises entre 0 et 255. Ainsi, la matrice peut être la représentation d'une image brute ou bien celle d'une image ayant déjà subi une transformation colorimétrique. Dans la description qui va suivre, on nommera « ligne », les lignes représentées horizontalement aux figures et « colonnes », les lignes représentées verticalement ; bien sûr, qu'elles soient horizontales ou verticales, les lignes sont traitées indifféremment selon le procédé.
Dans la description qui va suivre, chaque cellule Cmn de la matrice initiale M est indicée par son numéro de ligne m et son numéro de colonne n et contient une valeur initiale correspondante Vmn, indicée de la même façon. A la matrice M initiale, correspond une matrice MC compressée et une matrice MR restituée après décompression de la matrice MC compressée. A chaque valeur Vmn de la matrice initiale M correspond une valeur compressée VCmn et une valeur restituée VRmn respectives, chacune dans une cellule CCmn, CRmn respective de mêmes indices. Pour simplifier la description, le procédé selon l'invention sera appliqué seulement à l'angle supérieur gauche de la matrice initiale M, donc à l'angle supérieur gauche de l'image correspondante ; par facilité de langage, on assimilera par la suite le coin de chaque matrice à la matrice correspondante, dont il est l'illustration. La figure 1 illustre donc la matrice initiale M, la matrice compressée MC et la matrice restituée MR obtenues, à partir de la matrice initiale M, par le procédé selon l'invention décrit en référence aux figures 10 à 14 ; la figure 1 illustre aussi une matrice d'erreur ME constituée des différences entre les valeurs restituées et les valeurs initiales. Le procédé selon l'invention permet le codage successif de couches successives de valeurs, à partir d'une valeur origine Voo contenue dans une cellule origine Coo la plus en haut à gauche de la matrice initiale M. L'encodage d'une valeur d'une couche donnée ne dépend que des couches précédemment encodées ou des valeurs précédemment encodées de sa propre couche. Dans l'exemple illustré, le procédé utilise quatre couches, une couche de base et trois couches secondaires. A la figure 2, les valeurs des cellules appartenant à la couche de base sont représentées en gras dans la matrice M ; à la figure 3, les valeurs des cellules appartenant à la première couche secondaire sont représentées en gras dans la matrice M ; à la figure 4, les valeurs des cellules appartenant à la deuxième couche secondaire sont représentées en gras dans la matrice M ; et, à la figure 5, les valeurs des cellules appartenant à la troisième couche secondaire sont représentées en gras dans la matrice M. On note que, pour chaque couche, les cellules qui la composent sont régulièrement réparties dans la matrice.
Dans l'exemple illustré, la couche de base est encodée à l'aide d'un premier algorithme d'encodage différentiel sans perte, suivi d'une première quantification ; les couches secondaires sont encodées à l'aide d'un deuxième algorithme, prédictif, lui-même suivi d'une deuxième quantification. Deux tables de quantification TBl, TB2 sont utilisées pour la quantification des valeurs de la couche de base. Deux autres tables TSl, TS2 sont utilisées pour la quantification des valeurs des couches secondaires. Ces tables sont partiellement représentées aux figures 6 à 9. Les tables ne sont que partiellement représentées à ces figures. Notamment, elles ne présentent que des valeurs d'écart positives et inférieures à 13 ou 14, selon le cas ; néanmoins, une table complète comprend de préférence des valeurs négatives et, dans le cas d'une image codée sur huit bits, permet l'encodage d'écarts D dont les valeurs sont comprises entre -255 et +255. Pour chaque type de couche, une première table TBl, TSl est affectée à quantification des valeurs sombres ; les valeurs étant considérées comme sombres en deçà d'une valeur de seuil égale à 40, sur 255. Les deuxièmes tables TB2, TS2 sont affectées aux valeurs claires, c'est-à-dire à partir de 40 jusqu'à 255. Le choix de la valeur 40 pour la valeur de seuil est arbitraire, déterminée par un meilleur rendu des couleurs les plus sombres. Les premières tables TBl et TSl affectent aux valeurs sombres des quantifications moins sévères, correspondant à une division par 2 pour la couche de base et à une division par 4 pour les couches secondaires, contre une division par 3 (TB2) et 5 ou 8 (TS2) respectivement pour les valeurs claires. Les dégradations, c'est-à- dire les erreurs entre valeur restituée et valeur initiale sont généralement plus perceptibles dans les zones sombres que dans les zones claires ; une telle disposition, permettant d'avoir des pertes moindres dans les zones sombres est donc particulièrement avantageuse. La suite de la présente description explique, en référence aux figures 11 à 14, comment on détermine si une valeur est estimée claire ou sombre.
Pour chaque table, la première colonne contient un écart à quantifier D, la deuxième colonne contient, pour chaque écart D, la valeur VC compressée correspondante, et, la troisième colonne contient la valeur correspondante restituée DR de l'écart D.
Le nombre de couches définit un pas p, q de la couche de base, c'est-à-dire une distance entre les cellules appartenant à la première couche. Dans l'exemple illustré, le pas p selon les lignes et le pas q selon les colonnes sont égaux, avec :
q = p =
Figure imgf000010_0001
où « i » est le nombre de couches du procédé.
Dans l'exemple décrit, il y a quatre couches, soient la couche de base et les trois couches secondaires, c'est à dire que :
p = q = 2(4-2) = 4.
Ainsi, les cellules de la couche de base ont pour indices :
m = 4 y, avec y > 0
n = 4 z, avec z > 0 et,
(y,z)≠ (o,o) Les cellules de base constituent donc un maillage parmi les cellules de la matrice initiale M, à partir duquel sont calculées les valeurs compressées des autres cellules. En utilisant pour les valeurs des cellules de base un encodage peu ou pas destructif relativement à l'encodage des autres cellules, on conserve ainsi, régulièrement réparties dans toute l'image, des valeurs restituées suffisamment proches des valeurs initiales pour conserver une impression de qualité voulue, tout en pouvant se permettre une compression plus importante des valeurs des couches secondaires. Dans l'exemple illustré, le coin supérieur gauche représenté, correspond à une maille ; avec pour chacune des cellules représentées :
m < 4 et n < 4
On va maintenant décrire le procédé selon l'invention en référence aux figures 10 à 14. Chacune de ces figures représente le calcul d'une valeur compressée VCmn, c'est à dire une étape dans la constitution de la matrice compressée MC, notamment en fonction des valeurs initiales Vmn, de la matrice initiale M, mais aussi en fonction de valeurs restituées VR de valeurs précédemment compressées. Les figures 11 et 12 illustrent chacune la compression d'une valeur respective parmi celles des cellules de la couche de base. Les figures 13 et 14 illustrent chacune la compression d'une valeur respective parmi celles des cellules de la première couche secondaire.
Le procédé de compression/restitution selon l'invention, conserve la valeur Voo de la cellule origine Coo, identifiée à la figure 10, de sorte que dans l'exemple illustré, on a :
Voo = VCoo = VRoo = 25
La valeur origine restituée VRoo est une référence, directement ou indirectement, pour le calcul des autres valeurs compressées VCmn ou restituées VRmn. On va maintenant décrire, en référence à la figure 11, l'application du procédé selon l'invention à la cellule Co4 de la matrice initiale M, plus particulièrement à la valeur Vo4=32 que contient la cellule Co4. La cellule Co4 appartient à la couche de base. A part le cas particulier de la valeur Voo, la valeur V04 est la première à être compressée.
Selon le premier algorithme, on prend pour valeur de référence la valeur restituée, déjà calculée, d'indice inférieur la plus proche sur la même ligne ou la même colonne. Dans le cas d'espèce, la valeur de référence est forcément la valeur VRoo = 25. La valeur de référence étant inférieure à 40, on traite la valeur Vo4 comme une valeur sombre et on utilise donc la première table TB1. On calcule ensuite la différence Do4 = Vo4-VRoo = +7 entre la valeur initiale à traiter Vo4 et la valeur de référence VRoo ; on déduit de la table TB 1 et de la différence Do4 = +7, la valeur compressée VCo4 = +3 et la différence restituée DRo4 = +6. On obtient ensuite la valeur restituée VRo4 = VRoo + DRo4 = 25 + 6 = 31, en additionnant la différence restituée DRo4 à la valeur de référence VRoo. La même procédure est appliquée à la valeur initiale V4o de la cellule C4o de la matrice initiale M. La même procédure peut ensuite être appliquée à toutes les valeurs initiales Vo,4z et V4y,o.
On va maintenant décrire, en référence à la figure 12, l'application du procédé selon l'invention à la cellule C44 de la matrice initiale M, plus particulièrement à la valeur V44=55 que contient la cellule C44. La cellule C44 appartient à la couche de base.
Selon le premier algorithme, on prend pour valeur de référence la valeur restituée, déjà calculée, d'indice inférieur la plus proche sur la même ligne ou la même colonne. Dans le cas d'espèce, deux valeurs répondent potentiellement à cette définition, l'une VRo4 dans la case CRo4, l'autre VR4o dans la case CR4o de la matrice MR.
Afin de faire un choix entre les deux valeurs de référence potentielles :
- on calcule la variation DVm = VRo4 - VRoo = +6 entre la première valeur de référence potentielle VRo4 ayant le même indice de colonne n=4 que la valeur V44 traitée et la valeur restituée VRoo ayant même indice de ligne m=o que cette première valeur de référence potentielle VRo4 et même indice de colonne n=o que la deuxième valeur de référence potentielle VR4o ; et,
- on calcule la variation DVn = VR4o - VRoo = +24 entre la deuxième valeur de référence potentielle VR4o ayant le même indice de ligne m=4 que la valeur V44 traitée et la valeur restituée VRoo ayant même indice de colonne n=o que cette deuxième valeur de référence potentielle VR4o et même indice de ligne m=o que la première valeur de référence potentielle VRo4 ; puis,
- on détermine un sens de parcours de la matrice, c'est-à-dire une direction selon laquelle sera choisie la valeur de référence, parallèlement à la variation la plus faible ; dans le cas d'espèce, la variation la plus faible est celle DVm, selon la ligne d'indice m=o, de sorte que l'on choisit la valeur de référence de même indice de ligne m que la valeur V44 traitée, de sorte que la valeur de référence choisie est la valeur VR4o, dans la case CR4o de la matrice restituée MR. Dans le cas de la figure 12, la plus faible variation est DVm = +6 ; la valeur de référence est donc la valeur VR4o = 49. La valeur de référence étant supérieure à 40, on traite la valeur V44 comme une valeur claire et on utilise donc la deuxième table TB2. On calcule la différence D44 = V44-VR4o = +6 entre la valeur initiale à traiter V44 et la valeur de référence VR4o ; on déduit de la table TB2 et de la différence D44 = +6, la valeur compressée VCo4 = +2 et la différence restituée DR44 = +6. On obtient ensuite la valeur restituée VR44 = VR4o + DR44 = 55, en additionnant la différence restituée DR44 à la valeur de référence VR4o.
On va maintenant décrire, en référence aux figures 13 et 14, l'application du procédé selon l'invention à des cellules d'une couche secondaire de la matrice initiale M. Les cellules de chaque couche secondaire sont toutes encadrées par des cellules de la couche d'indice inférieur (cas de la figure 13), ou par des cellules de la même couche elles-mêmes encadrées par des cellules de la couche d'indice inférieur (cas de la figure 14),
Pour le traitement des couches secondaires, on choisit pour valeur de référence, une valeur moyenne entre les valeurs d'un couple encadrant ; un couple encadrant étant un couple de valeurs restituées précédemment calculées contenues dans deux cases les plus voisines, de part et d'autre de la cellule en cours de traitement, dans la matrice restituée MR, alignées sur la même ligne m ou sur la même colonne n. Cette moyenne est dans cet exemple arrondie à l'entier le plus proche.
La figure 13 illustre plus particulièrement le traitement de la valeur Vo2=29 que contient la cellule Co2, appartenant à la première couche secondaire SM1 de la matrice initiale M.
Dans le cas d'espèce, la valeur moyenne Wo2 est calculée entre les valeurs originales Voo, Vo4 précédemment calculées contenues dans deux cases les plus voisines Coo, Co4, de part et d'autre de la cellule en cours de traitement CRo2, alignées sur la même ligne d'indice m=o ; aucun couple encadrant n'existant sur la colonne d'indice n=2. On déduit de ce raisonnement, la valeur de référence :
Wo2 - (Voo+Vo4)/2 = 28 De la même manière, on calcule la valeur de référence à la décompression WRo2, c'est-à-dire utilisée lors de la restitution, entre les valeurs restituées correspondantes VRoo et VRo4 contenues dans les cases CRoo et CRo4, pour obtenir la valeur de référence à la décompression :
WRo2 = (VRoo+VRo4)/2 = 28
Les valeurs de référence à la compression et à la décompression ayant été obtenues avec des valeurs différentes, on calcule la différence Do2 = Vo2 - Wo2 = +1 entre la valeur initiale Vo2 en cours de traitement et la valeur de référence à la décompression WRo2. La valeur de référence WRo2 étant inférieure à 40, elle est traitée comme une valeur sombre, à l'aide de la première table TS1 ; on déduit de la table TS1 la valeur compressée ¥002=0 ; puis la différence restituée DRo2=+0 et ensuite la valeur restituée :
VRo2 = WRo2 + DRo2 = 28 + 0 = +28
La figure 14 illustre plus particulièrement le traitement de la valeur V22=41 que contient la cellule C22, appartenant aussi à la première couche secondaire SM1 de la matrice initiale M.
Dans le cas d'espèce, il existe deux couples encadrants potentiels (VRo2, VR42) et (VR2o, VR24) de valeurs restituées. De façon similaire à ce qui a été décrit en référence à la figure 12, afin de choisir la valeur de référence, on détermine d'abord le sens de parcours en fonction des valeurs restituées voisines précédemment calculées présentant la plus faible variation DV ; dans le cas des couches secondaires, on choisit le couple encadrant dont les valeurs présentent la plus faible variation DV. Dans le cas d'espèce :
DVm = VR24 - VR2o = +10, et
DVn = VR24 - Vro2 = +24,
où DVm représente la variation selon la ligne d'indice m=2 et DVn selon la colonne d'indice n=2. La variation DVm, selon la ligne, étant la plus faible, C'est donc le couple encadrant (VR2o, VR24) des valeurs situées sur la même ligne d'indice m=2 que la valeur en cours de traitement qui est choisi pour calculer la valeur de référence à la décompression WR22 :
WR22 = (VR2o+VR24)/2 = (33+ 43) / 2 = 38
La valeur de référence à la compression W22 est alors calculée à partir des valeurs originales situées dans les cellules équivalentes :
W22 = (V2o + V24)/2 = (33 + 42) / 2 = 37,5 arrondi à .38
Comme dans le cas précédemment décrit en référence à la figure 13, on calcule la différence D22 = V22 - W22 = +3 entre la valeur initiale V22 en cours de traitement et la valeur de référence W22. La valeur de référence à la décompression WR22 étant inférieure à 40, elle est traitée comme une valeur sombre, à l'aide de la première table TS1 ; on déduit de la table TS1 la valeur compressée VC22=+1 ; puis la différence restituée DR22=+4 et ensuite la valeur restituée :
VR22 = WR22 + DR22 = 38 + 4 = +42 Les mêmes procédures, précédemment décrites en référence aux figures 13 et 14, sont applicables à chacune des valeurs des couches secondaires.
On note que pour chaque valeur à restituer VR, les valeurs de référence et la condition de clarté étant déterminées à partir des valeurs précédemment restituées VR de la matrice restituée MR. Autrement dit, les valeurs restituées servent à calculer les valeurs restituées suivantes, à déterminer s'il y a lieu le sens de parcours de la décompression pour chaque valeur à restituer, et, à déterminer la table de quantification qui sera utilisée en fonction de la valeur de seuil choisie. La matrice compressée MC contient donc en elle-même toutes les informations nécessaires à la restitution. En outre, comme particulièrement illustré aux figures 2 et 3, il est possible d'effectuer la compression couche après couche. Ainsi, dès que chacune des valeurs d'une couche est compressée, il est possible de les transmettre, par exemple sous la forme d'une sous-matrice SMCo à un dispositif pour leur restitution, par exemple un écran d'ordinateur. Cela permet d'afficher, même si c'est avec une définition moindre, la totalité de l'image, sans attendre que l'ensemble des couches ait été traité. Cela permet pour l'utilisateur qui veut visualiser une image fixe d'avoir l'impression d'un traitement plus rapide ; pour celui qui regarde une vidéo, cela permet une plus grande fluidité. Particulièrement dans le cas d'une vidéo visualisée en streaming, notamment lorsque la bande passante est passagèrement insuffisante pour le traitement complet d'une image avant l'affichage de la suivante, cela évite l'effet de pixellisation qui apparaît avec un traitement, comme dans certains procédés d'encodage, tel le H264.
Une telle disposition peut aussi être avantageusement utilisée pour un jeu vidéo, particulièrement pour un jeu joué « en ligne », dans lequel des séances rapides peuvent s 'enchaîner à haute fréquence ; un traitement d'une zone seulement de l'image, ou un ralentissement de l'action, y serait préjudiciable au plaisir du joueur, voir à la réussite de ses actions ; le traitement de couches successives réparties dans l'image, chaque couche étant transmise puis affichée aussitôt qu'elle est traitée, permet d'éviter ces inconvénients.
Dans les cas illustrés par le traitement de la valeur Vo2, en référence à la figure 13, ou de la valeur V22, en référence à la figure 14, et à titre de variante, les valeurs compressées correspondantes peuvent être calculées à partir de la moyenne des valeurs restituées de mêmes indices mn que le couple encadrant, et, les valeurs restituées à partir de ces mêmes valeurs. Dans ce mode de réalisation de l'invention, on donc : pour V02 : Wo2 = W 02 = (VRoo+VRo4)/2 = (25+3 \)I2 = 28 puis, Do2 = Vo2 - Wo2 = +1 et D o2 = 0
d'où, VRo2 = WRo2 + DRo2 = 28 + 0 = +28 et, pour V22 : W22 = WR22 = (VR2o+VR24)/2 = (33+43)72 = 38 puis, D22 = V22 - W22 = +3 et DR22
d'où, VR22 = W22 + DR22 les valeurs Wo2 et W22 étant calculées comme précédemment décrit en référence aux figures 13 et 14.
Bien sûr, l'invention n'est pas limitée aux exemples qui viennent d'être décrits.
Ainsi, au lieu d'être dans l'angle supérieur gauche de la matrice initiale, la cellule origine peut être une quelconque autre cellule de la matrice initiale, de sorte que les numéros de lignes et/ou de colonnes peuvent prendre des valeurs négatives, le principe de compression selon l'invention n'en étant pas affecté.
De plus, si l'exemple précédemment donné décrit la compression d'une matrice dont chaque cellule représente un pixel d'une image, une méthode de compression selon l'invention est applicable à tout type de matrice, notamment à celle correspondant à de grandes quantités de données, par exemple des données statistiques. De même, si l'exemple correspondant à une matrice à deux dimensions, symbolisées l'une par les lignes, et l'autre par des colonnes, l'invention est applicable à des matrices de dimensions supérieures ; notamment, une vidéo peut être représentée par une matrice à trois dimensions, la troisième dimension représentant le temps. Un tel procédé de compression est, par ailleurs, particulièrement adapté à être utilisé pour le traitement de données massives, par exemple des données météorologiques, pouvant être représentées sous forme de matrice à deux dimensions ou plus. Dans l'exemple illustré, la couche de base possède ses propres tables de quantifications et les tables de quantification utilisées pour la compression des couches secondaires sont identiques pour toutes les couches secondaires. Bien entendu, sans que ces exemples soient limitatifs, il est aussi possible de prévoir des tables de quantification propres à chaque couche secondaire, ou même une unique table de quantification valable pour toutes les couches, y compris la couche de base.
L'ordre de traitement des valeurs initiales dans chaque couche peut être changé. Elles peuvent être traitées par lignes ou par colonnes successives, ou bien dans un autre ordre. Il peut aussi être prévu qu'un traitement d'une couche débute avant que le traitement de la couche précédente soit terminé.

Claims

Revendications
1. Procédé de codage par couches (MSB, MSI, MS2, MS3...) successives d'une matrice initiale (M) en une matrice compressée (MC) et sa restitution en une matrice restituée (MR),
- chaque cellule (Cmn) de la matrice initiale contenant une valeur numérique initiale (Vmn) respective ;
- chaque cellule (CCmn) de la matrice compressée (MC) contenant une valeur numérique compressée (VCmn) respective correspondant à la valeur numérique initiale respective (Vmn) ;
- chaque cellule (CRmn) de la matrice restituée (MR) contenant une valeur numérique restituée (VRmn) respective correspondant à la valeur numérique initiale respective (Vmn) ;
caractérisé en ce que pour traiter, c'est-à-dire compresser, au moins une valeur initiale (Vmn) d'une case initiale (Cmn) on choisit, parmi les lignes passant par ladite case, comme chemin de parcours pour la compression de ladite valeur initiale, celui qui, estimé à partir de valeurs restituées (VR) précédemment calculées, présente la variation (DV) dont la valeur absolue est la plus faible.
2. Procédé selon la revendication 1, caractérisé en ce qu'il comprend au moins une couche (MSB) pour laquelle, pour une valeur initiale (Vmn) à traiter de ladite couche, la valeur compressée (VCmn) correspondante est déterminée en calculant une différence (Dmn) entre ladite valeur à traiter et une valeur restituée de référence (VR) précédemment déterminée et voisine, de préférence la plus proche voisine, de la case (CRmn) prévue pour contenir la valeur restituée correspondant à ladite valeur à traiter (Vmn), ladite voisine étant en outre sur une des lignes passant par la ladite case (CRmn).
3. Procédé selon la revendication 2, caractérisée en ce que lorsque plusieurs des lignes passant par la cellule (CRmn) prévue pour contenir la valeur restituée correspondant à ladite valeur à traiter (Vmn) comprennent une valeur pouvant potentiellement être une valeur de référence, pour toutes les combinaisons de valeurs potentielles prises deux à deux, pour une première desdites valeurs de référence potentielles, située sur une première desdites lignes et une deuxième desdites valeurs de référence potentielles, située sur une deuxième desdites lignes, on calcule une variation (DV) égale à la différence entre ladite première valeur et une autre valeur restituée, précédemment calculée, située sur une même troisième ligne que ladite première valeur, ladite troisième ligne étant parallèle la deuxième ligne, et ladite autre valeur étant à une même distance de la première valeur que la deuxième valeur l'est de la valeur à traiter, la valeur de référence choisie étant la deuxième valeur pour laquelle ladite variation est la plus faible.
4. Procédé selon la revendication 2 ou 3,
caractérisé en ce que les matrices sont à deux dimensions et lorsqu'il existe au moins deux valeurs de référence possibles, l'une sur la même ligne (m), l'autre sur la même colonne (n) pour la valeur (Vmn) à traiter de la couche (MSB), le choix de la valeur de référence se fait en :
- calculant une première variation (DVm) entre la première valeur de référence potentielle ayant le même numéro de colonne (n) que la valeur (Vmn) traitée et la valeur restituée ayant même numéro de ligne que cette première valeur de référence potentielle et même indice de colonne que la deuxième valeur de référence potentielle ; et,
- calculant la deuxième variation (DVn) entre la deuxième valeur de référence potentielle ayant le même indice de ligne (m) que la valeur (Vmn) traitée et la valeur restituée ayant même numéro de colonne que cette deuxième valeur de référence potentielle et même numéro de ligne ladite première valeur de référence potentielle ; puis,
- choisissant la valeur de référence pour laquelle le chemin de parcours donne la variation la plus faible, c'est-à-dire que l'on choisit la première valeur de référence, sur la même colonne (n), si la deuxième variation (DVn) est inférieure en valeur absolue à la première variation (DVm), ou, que l'on choisit la deuxième valeur de référence, sur la même ligne (m), si la première variation (DVm) est inférieure en valeur absolue à la deuxième variation (DVn).
5. Procédé selon la revendication 3 ou 4, caractérisé en ce qu'il existe au moins une couche, de préférence une couche de base (MSB), pour laquelle, pour une valeur initiale (V2y, 2z) à traiter de ladite couche, la valeur compressée (VCnm) correspondante est déterminée en calculant une différence (Dmn) entre la valeur initiale (Vmn) et une valeur de référence égale à une valeur restituée précédemment calculée, appartenant soit à la même ligne (m), soit à la même colonne (n), que celle ladite valeur à traiter.
6. Procédé selon l'une des revendications 1 à 5, caractérisé en ce qu'il existe au moins une couche (MSI, MS2, MS3...), pour laquelle, pour une valeur initiale à traiter (Vmn), la valeur de référence (Wmn) est calculée à partir d'un couple encadrant de valeurs initiales (Vo2, V42 ; V2o, V24) ayant déjà été traitées et disposées de part et d'autre de ladite valeur (Vmn), pour laquelle la valeur restituée (VRmn) est calculée à partir d'une valeur de référence à la décompression (WRmn) calculée à partir du couple encadrant équivalent de valeurs précédemment restituées (VRo2, VR42 ; VR2o, VR24).
7. Procédé selon l'une des revendications 1 à 5, caractérisé en ce qu'il existe au moins une couche (MSI, MS2, MS3...), pour laquelle, pour une valeur initiale à traiter (Vmn), la valeur de référence (Wmn) est calculée à partir d'un couple encadrant de valeurs restituées (VRo2, VR42 ; VR2o, VR24) ayant déjà été traitées et disposées de part et d'autre de ladite valeur (Vmn), pour laquelle la valeur restituée (VRmn) est calculée à partir d'une valeur de référence à la décompression (WRmn) calculée à partir du couple même couple de valeurs précédemment restituées (VRo2, VR42 ; VR2o, VR24).
8. Procédé selon l'une des revendications 6 ou 7, caractérisé en ce que s'il existe au moins deux couples encadrants (Vo2, V42 ; V2o, V24 ; ou ; VRo2, VR42 ; VR2o, VR24) on choisit pour calculer la valeur de référence (W22,WR22) le couple dont la variation (DVmn), égale à la différence entre les valeurs restituées correspondantes (VRo2, VR42 ; VR2o, VR24) de valeurs restituées précédemment déterminées, présente la valeur absolue la plus faible.
9. Procédé selon la revendication 6,
caractérisé en ce que la valeur de référence (Wmn) est la moyenne arithmétique entre les deux valeurs du couple encadrant choisi (V2o, V24 ; VR2o, VR24) et, le cas échéant, la valeur de référence (WRmn) à la décompression est la moyenne arithmétique entre les (VR2o, VR24) valeurs restituées des valeurs du couple encadrant.
10. Procédé selon l'une des revendications 1 à 8,
caractérisé en ce qu'il existe une valeur initiale d'origine (Voo) dont la valeur compressée (VCoo) et la valeur restituée (VRoo) sont égales à ladite valeur initiale d'origine (Voo), ladite valeur d'origine restituée (VRoo) servant de valeur de référence, directe ou indirecte, pour le traitement des autres valeurs initiales (Vmn).
11. Procédé selon l'une des revendications 1 à 9,
caractérisé en ce que on applique une table (TB 1, TB2, TS1, TS2) de quantification à la différence (Dmn) entre la valeur initiale traitée (Vmn) et la valeur de référence, pour calculer la valeur compressée (VCmn) et la valeur restituée (VRmn).
12. Procédé selon la revendication 10,
Caractérisé en ce qu'il existe plusieurs tables de quantifications utilisables (TBl, TB2, TSl, TS2), la table de quantification utilisée étant définie à partir de valeurs restituées précédemment calculées.
13. Procédé selon la revendication 12,
caractérisé en ce que la table de quantification est choisie en fonction de la valeur de référence (WRmn) uniquement.
14. Procédé selon la revendication 13,
caractérisé en ce qu'il existe une valeur seuil sur la valeur de référence (WRmn), en deçà duquel on applique une première table de quantification (TBl, TSl) et au-delà duquel on applique une deuxième table de quantification (TB2, TS2).
15. Procédé selon l'une des revendications 10 ou 11,
caractérisé en ce que selon que la valeur initiale appartient à une couche (MSB) ou une autre (MSI, MS2, MS3), on utilise une table (TB) ou une autre (TS).
16. Procédé selon l'une des revendications 1 à 12,
caractérisé en ce que chaque cellule (Cmn, CCmn, CRmn) représente un pixel d'une image.
17. Procédé selon l'une des revendications 1 à 13,
caractérisé en ce que la matrice initiale est de dimension supérieure ou égale à 3.
PCT/FR2013/052369 2012-10-05 2013-10-07 Procédé de codage d'une matrice, notamment d'une matrice représentative d'une image fixe ou vidéo WO2014053791A1 (fr)

Priority Applications (7)

Application Number Priority Date Filing Date Title
EP13801611.8A EP2904707A1 (fr) 2012-10-05 2013-10-07 Procédé de codage d'une matrice, notamment d'une matrice représentative d'une image fixe ou vidéo
US14/433,224 US9628806B2 (en) 2012-10-05 2013-10-07 Method of coding a matrix, in particular a matrix representative of a fixed or video image
CA2887366A CA2887366C (fr) 2012-10-05 2013-10-07 Procede de codage d'une matrice, notamment d'une matrice representative d'une image fixe ou video
BR112015007461A BR112015007461A8 (pt) 2012-10-05 2013-10-07 método de codificação de uma matriz, em particular, uma matriz representativa de uma imagem fixa ou vídeo
KR1020157011903A KR102067612B1 (ko) 2012-10-05 2013-10-07 메트릭스, 특히 정지 또는 비디오 이미지의 메트릭스 표현의 코딩 방법
IN3760DEN2015 IN2015DN03760A (fr) 2012-10-05 2013-10-07
JP2015535097A JP6367202B2 (ja) 2012-10-05 2013-10-07 マトリクス,特に静止画像又はビデオ画像を表すマトリクスを符号化する方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1259484 2012-10-05
FR1259484A FR2996706A1 (fr) 2012-10-05 2012-10-05 Procede de codage d'une matrice, notamment d'une matrice representative d'une image fixe ou video.

Publications (1)

Publication Number Publication Date
WO2014053791A1 true WO2014053791A1 (fr) 2014-04-10

Family

ID=48170541

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2013/052369 WO2014053791A1 (fr) 2012-10-05 2013-10-07 Procédé de codage d'une matrice, notamment d'une matrice représentative d'une image fixe ou vidéo

Country Status (9)

Country Link
US (1) US9628806B2 (fr)
EP (1) EP2904707A1 (fr)
JP (1) JP6367202B2 (fr)
KR (1) KR102067612B1 (fr)
BR (1) BR112015007461A8 (fr)
CA (1) CA2887366C (fr)
FR (1) FR2996706A1 (fr)
IN (1) IN2015DN03760A (fr)
WO (1) WO2014053791A1 (fr)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018160155A1 (fr) * 2017-03-03 2018-09-07 Владимир Васильевич ХИЛЕНКО Procédé d'émission d'informations codées
FR3099975B1 (fr) 2019-08-13 2021-09-17 Qwoo Procédé de fourniture d’un contenu comportant au moins une image, format de fichier
GB2586516B (en) * 2019-08-23 2022-07-06 Imagination Tech Ltd Random accessible image data compression
FR3119959B1 (fr) 2021-02-17 2023-05-26 Qwoo Procédé de fourniture d’un contenu comportant au moins une image, format de fichier

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0732457B2 (ja) * 1987-01-13 1995-04-10 富士通株式会社 画像データ圧縮装置
JP3763163B2 (ja) * 1995-06-21 2006-04-05 ソニー株式会社 画像符号化伝送装置および画像符号化伝送方法
US7269220B2 (en) * 2002-07-16 2007-09-11 Broadcom Corporation Adaptive motion detection and control
US7050501B2 (en) * 2002-07-16 2006-05-23 Broadcom Corporation Digital noise reduction techniques
JP2004200959A (ja) * 2002-12-18 2004-07-15 Ricoh Co Ltd 符号列変換装置、画像編集システム、カメラシステム及びプログラム
BR112013010406A2 (pt) * 2010-11-02 2016-08-09 I Ces Innovative Compression Engineering Solutions método para compressão de valores digitais de arquivos de imagem, áudio e/ou vídeo
JP5582020B2 (ja) 2010-12-17 2014-09-03 株式会社Jvcケンウッド 動画像復号装置、動画像復号方法及び動画像復号プログラム
JP6171627B2 (ja) * 2013-06-28 2017-08-02 株式会社Jvcケンウッド 画像符号化装置、画像符号化方法、画像符号化プログラム、画像復号装置、画像復号方法および画像復号プログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SHI YUN Q ET AL: "3 Differential Coding", 25 March 2008, IMAGE AND VIDEO COMPRESSION FOR MULTIMEDIA ENGINEERING: FUNDAMENTALS, ALGORITHMS AND STANDARDS ED.2, CRC PRESS, PAGE(S) 1 - 21, ISBN: 978-0-8493-7364-0, XP002564915 *

Also Published As

Publication number Publication date
CA2887366C (fr) 2020-12-29
FR2996706A1 (fr) 2014-04-11
BR112015007461A8 (pt) 2021-06-01
US9628806B2 (en) 2017-04-18
IN2015DN03760A (fr) 2015-10-02
JP2016502297A (ja) 2016-01-21
JP6367202B2 (ja) 2018-08-01
EP2904707A1 (fr) 2015-08-12
KR102067612B1 (ko) 2020-02-11
CA2887366A1 (fr) 2014-04-10
KR20150068444A (ko) 2015-06-19
US20150237348A1 (en) 2015-08-20
BR112015007461A2 (pt) 2017-07-04

Similar Documents

Publication Publication Date Title
EP2904707A1 (fr) Procédé de codage d&#39;une matrice, notamment d&#39;une matrice représentative d&#39;une image fixe ou vidéo
US11632525B2 (en) Image processing method and filter array including wideband filter elements and narrowband filter elements
WO2015197945A1 (fr) Procédé de codage d&#39;une image numérique, procédé de décodage, dispositifs, et programmes d&#39;ordinateurs associés
EP3721616B1 (fr) Capteur d&#39;image haute dynamique
EP2446629A1 (fr) Procédés de codage et de décodage d&#39;images, dispositifs de codage et de décodage, et programme d&#39;ordinateur correspondants
EP3442228A1 (fr) Procédé de décodage d&#39;images
EP3075155B1 (fr) Procédé de codage et de décodage d&#39;images, dispositif de codage et de décodage d&#39;images et programmes d&#39;ordinateur correspondants
Lakshmi et al. Visually lossless compression for Bayer color filter array using optimized vector quantization
US8891894B2 (en) Psychovisual image compression
FR3024933A1 (fr) Procede de codage et de decodage d&#39;images, dispositif de codage et de decodage d&#39;images et programmes d&#39;ordinateur correspondants
WO2023285469A1 (fr) Procédé d&#39;encodage et décodage vidéo à faible latence
EP3152903B1 (fr) Précision adaptative et quantification d&#39;une matrice transformée par ondelettes
Bazhyna et al. Lossless and near lossless compression of real color filter array data
EP0675653A1 (fr) Circuit de quantification
CN107155111B (zh) 一种视频压缩方法及装置
CA2756884A1 (fr) Procede de traitement de fichier numerique notamment d&#39;images de type video et/ou audio
CA2576736C (fr) Procede de reduction de la taille d&#39;un fichier numerique audio, image ou video
CA2402344A1 (fr) Procede pour le codage d&#39;images
EP3272122A1 (fr) Codage d&#39;images par quantification vectorielle
FR3024006A1 (fr) Compression intra-image efficace
WO2008087305A2 (fr) Selection adaptive d&#39;un mode de codage image/trame dans le cadre d&#39;un transcodage mpeg2 - h. 264
CN110636308A (zh) 一种基于改进型游程编码的线阵图像数据压缩方式
EP2910024A1 (fr) Procede reversible pour transcrire un fichier code en un premier codage en un fichier code en un deuxieme codage.
FR3033116A1 (fr) Procede de selection d’une solution de placement des pixels d’une image en fonction du rendu visuel
FR2779256A1 (fr) Procede de simplification d&#39;image et application du dit procede a la segmentation et au codage d&#39;images

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13801611

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2887366

Country of ref document: CA

WWE Wipo information: entry into national phase

Ref document number: 14433224

Country of ref document: US

ENP Entry into the national phase

Ref document number: 2015535097

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

REG Reference to national code

Ref country code: BR

Ref legal event code: B01A

Ref document number: 112015007461

Country of ref document: BR

WWE Wipo information: entry into national phase

Ref document number: 2013801611

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: IDP00201502697

Country of ref document: ID

ENP Entry into the national phase

Ref document number: 20157011903

Country of ref document: KR

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 112015007461

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20150402