EP2997662A1 - Method for encoding, compressed images in particular, in particular by "range coder" or arithmetic compression - Google Patents

Method for encoding, compressed images in particular, in particular by "range coder" or arithmetic compression

Info

Publication number
EP2997662A1
EP2997662A1 EP14733670.5A EP14733670A EP2997662A1 EP 2997662 A1 EP2997662 A1 EP 2997662A1 EP 14733670 A EP14733670 A EP 14733670A EP 2997662 A1 EP2997662 A1 EP 2997662A1
Authority
EP
European Patent Office
Prior art keywords
symbol
model
symbols
encoding
models
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
EP14733670.5A
Other languages
German (de)
French (fr)
Inventor
Than Marc-Eric GERVAIS
Bruno Loubet
Nicolas BESSOU
Yves GUIMIOT
Mickael PETIT FILS
Sebastien ROQUES
Original Assignee
Sas 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 Sas I-Ces (innovative Compression Engineering Solutions) filed Critical Sas I-Ces (innovative Compression Engineering Solutions)
Publication of EP2997662A1 publication Critical patent/EP2997662A1/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/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • 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/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/4006Conversion to or from arithmetic code
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/48Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using compressed domain processing techniques other than decoding, e.g. modification of transform coefficients, variable length coding [VLC] data or run-length data
    • 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
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • 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/93Run-length coding

Definitions

  • the present invention relates mainly to the field of entropic binary coding, more particularly coding using encoding models of the "range encoder" type, that is to say using intervals, or arithmetic.
  • Encoders of the range encoder or arithmetic type allow lossless encoding of a sequence of symbols. These symbols can be of any type, including alphanumeric characters or punctuation characters. In the case of compression methods of an image, the symbols are numbers resulting from the prior compression of said image, for example by differential compression or wavelet compression, generally preceded by a colorimetric transformation.
  • An entropic binary coding makes it possible to reduce the number of bits necessary to encode a signal, here represented by the sequence of symbols to be encoded, without loss of the content thereof.
  • the level of reduction depends on the probability of occurrence of the symbols in the signal.
  • the so-called "arithmetic” and “range encoder” encodings use probability models in which each symbol is associated with a probability.
  • the theoretical number of bits needed to encode the symbol is, in the context of a "Range Coder” encoder or arithmetic encoding, --log2 (P), where P is the probability of occurrence of this symbol in the signal.
  • An encoder of the range encoder or arithmetic encoder type shall always have, when encoding or decoding a symbol, a probability model comprising one or more symbols and their probability of occurrence, including at least the current symbol. .
  • the probability of the symbol is used to encode.
  • the decoded data is identical to the input data
  • the encoding time is as short as possible
  • the decoding time is as short as possible.
  • the object of the invention is to propose an encoding method which makes it possible to obtain a code whose weight is lower than that generally obtained using a single model, and whose processing times are shorter than those generally obtained with multiple models.
  • such an entropic binary coding method for a series of symbols using at least two models, each model being associated with a membership criterion comprising steps in which:
  • said sequence is scanned to determine; for each symbol, the encoding model to which it belongs, according to said membership criteria; then,
  • said sequence is scanned again by encoding each symbol successively according to the model to which it belongs;
  • the series is scanned beforehand to determine the membership criteria for each of the models.
  • the membership of a current symbol in a model is determined according to a membership function calculated from one or several symbols preceding said current symbol in the following. Since each symbol may be a number, preferably a base number, the membership function may be the average of absolute values of a given number of reference symbols, preferably four reference symbols, immediately preceding said current symbol in the following.
  • the list is advantageously preceded by a sufficient number of arbitrary symbols, the value of each being preferably zero.
  • the criterion for belonging to one of the models may be a lower limit for a range covered by the model and the comparison of the average of the preceding symbols with said limit. Since the limits of each of the models are arranged in increasing order, the difference between two successive limits advantageously increases when the value of said limits increases. To determine the limit of each model one can:
  • the invention also relates to a method for compressing a media of the image, video or sound type, characterized in that it uses an encoding method according to the invention.
  • a method of compressing an image preferentially applies to compressed symbols of the image, each corresponding to a box of a matrix, the sequence being formed by placing said symbols on line. For putting symbols online, for each line one can go through a line in a first direction and then the next line, if necessary, in the opposite direction of the first one.
  • an entropy binary decoding method for a series of symbols using at least two models and encoded using a method according to the invention is characterized in that:
  • FIG. 1 illustrates a layer of an image to which a method according to the invention is applied
  • Figure 2 illustrates a submatrix, said LH 3rd level, coefficients, in base 10, resulting from transformation of the image of Figure 1 wavelet, followed by quantization and a rounded ;
  • FIG. 3 illustrates the on-line method of the coefficients of the matrix of FIG. 2, so as to form a sequence of symbols to be processed by the method according to the invention
  • FIG. 4 illustrates a table giving for each model used the value of a corresponding lower limit
  • FIG. 5 is a graphical representation of the table of FIG. 4;
  • FIG. 6 is a table representing the set of base values corresponding to the symbols of the sequence and for each value its number of occurrences in the sequence, and hence its probability in the context of a single model;
  • FIG. 7 is a graphical representation of the table of FIG. 6;
  • FIG. 8 is a table representing, for each value, its number of occurrences in each of the models.
  • FIG. 1 illustrates, in the form of an image, the luminance Y component resulting from this colorimetric transformation.
  • a wavelet transform CDF 5/3 in two dimensions using fixed-point numbers is first applied to the image 1.
  • Figure 2 illustrates a LHQ matrix corresponding to a said subarray LH 3rd level resulting from this wavelet transformation, which was then quantized by a coefficient of 3.53, then rounded to the nearest integer.
  • This wavelet transformation is performed for each level in two dimensions: a vertical pass, then a horizontal pass.
  • the vertical wavelet transformation generates a so-called matrix of details, or matrix H, and a matrix called approximation, or matrix L.
  • the application of a horizontal wavelet pass to the matrix L generates a matrix of details LH and an approximation matrix LL.
  • the application of a vertical wavelet transition to matrix H generates two matrices of details HL and HH. Recursively, new wavelet levels are then applied to the successive LL approximation matrices. Thus, the third level is the LH LH matrix type matrix obtained at the 3rd level wavelet. Once the LH matrix is obtained, it is. quantifies by a factor of 3.53 and then rounds its values to obtain the LHQ matrix.
  • the LHQ matrix has 40 columns and 30 rows, ie 1200 values each corresponding to a symbol to be encoded.
  • the 1200 values are put in line, that is to say that a sequence S of the 1200 values is constituted.
  • the setting in line is as illustrated in FIG. 3, the first line of the matrix LHQ being traversed from left to right, then the second from right to left, so that in the following S the last value of the first row of the LHQ matrix precedes the last value of the second row. More generally, a line being traveled in one direction, the next line is traveled in the opposite direction.
  • a DV deviation ie an average dispersion, of the values around the mean M is calculated.
  • This dispersion is calculated as the average of the absolute values of the differences between the values V (n) of each symbol Sn of signal and the average M; in the illustrated example,
  • the larger the signal to be coded the greater the number of models. This is an input parameter that can depend on the amount of information in the signal. In the illustrated example, we chose to use 5 models.
  • this criterion In order to associate each Sn symbol with a model, it is necessary to define a " membership criterion that can be compared with the previously calculated limits ⁇ ( ⁇ )." In addition, this criterion must be identical to the encoding and decoding. , so that the same model is applied to the same symbol, so that the value returned from this symbol during the decoding is the same as its initial value.For this purpose, the membership criterion is chosen as a function of symbol values. preceding the current symbol, that is to say, to encode or decode, the encoding and the decoding being carried out without loss, the values preceding the current symbol will be identical to the compression and the decompression. the same criterion of belonging to these same values at the time of encoding and decoding will affect the same model to the current symbol.
  • the values after wavelet are assumed centered or almost centered on zero; in fact, the average M is substantially equal to zero.
  • the function determining the membership criterion chosen is an average of the absolute values of the four symbols immediately preceding the current symbol, rounded to four decimal places.
  • the number of preceding symbols used may be different, but sufficient to limit the influence of a too deviant value of the others, which would generate an untimely change of model, and advantageously a power of 2, to facilitate its binary notation.
  • the number of decimals may also be different from 4, but advantageously a power of 2, to facilitate its binary notation.
  • the criterion of belonging to a model is thus determined by the formula:
  • the size of the moving average T being equal to 4, that is to say the number of preceding symbols taken into account for its calculation, n 'varying from 1 to 4.
  • the moving average mm (n) is calculated with a precision given in parameter, here four decimal places, which is identical to the encoding and the decoding.
  • Each symbol Sn of value V (n) belongs to the largest model m whose lower limit l (m) is less than or equal to the moving average of the previous absolute values mm (n): l (m) ⁇ mm (n).
  • the table Tab2 illustrated in FIG. 6, presents the number of occurrences of each value V (n) in the signal S.
  • FIG. 7 is the graphical representation. Note that the null value is over-represented. The use of a single model would therefore be particularly inappropriate.
  • the table Tab3, illustrated in FIG. 8, presents the number of occurrences of each value V (n) in each model M.
  • an encoder of the "range encoder” or arithmetic type is applied to the values of this model. For that we calculate first the number of occurrences of each symbol Sn in this model m and we deduce a probability of appearance of this symbol in this model m.
  • the signal is scanned in the direction of increasing indices n, as defined above with reference to FIG. 3.
  • the model to which it belongs is determined according to the membership criterion defined above.
  • This model is then used in the chosen encoder by example an encoder type "range encoder” or arithmetic.
  • range encoder or arithmetic.
  • an encoder of a type different from that chosen for another model it is also possible to choose an encoder of a type different from that chosen for another model.
  • the first symbols to be encoded being preceded by a number of symbols insufficient to calculate the membership criterion
  • the signal is preceded by a number of arbitrary values sufficient for this calculation.
  • the signal is preceded by four values, arbitrarily chosen as zero; these values make it possible to calculate the membership criterion of the first four symbols S1-S4 to be encoded.
  • a file F containing the binary code C obtained by the encoding of the signal S is created.
  • all the information necessary for decoding, in particular in the header of the file is provided in a file header.
  • the decoding For the decoding, one recovers the limits of the models, by simple reading or recalculation, then one determines the membership of a symbol Sn to decode to a model in the same way as for the encoding, from the symbols previously decoded without loss, then we use the model found to decode the symbol.
  • the first symbols to be decoded being preceded by a number of symbols insufficient to calculate the membership criterion
  • the code corresponding to the encoded S signal is preceded by a number of characters. arbitrary values sufficient for this calculation. These values are identical to those used for encoding.
  • the code is preceded by four values, arbitrarily chosen as zero; these values make it possible to calculate the membership criterion of the first four symbols SI -S4 to be decoded.
  • the binary coder used is a perfect encoder encoding each symbol Sn according to its probability P (Sn) on -log 2 (P (Sn)) bits, P (Sn) being its probability according to the model provided.
  • P (Sn) probability of the symbols, equal to the number of occurrences of this symbol divided by the number of symbols for this model
  • the total weight is therefore the sum of the weights of the symbols coded with each of these models, namely:

Abstract

Method for encoding a string of symbols using several models of the arithmetic or range coder type and comprising steps where: - each model is associated with a belonging criterion symbol, - the string is traversed so as to determine, for each symbol, the encoding model to which it belongs as a function of the criteria; then, - a probability of occurrence of each symbol in the corresponding model is determined; then, - the string is traversed while encoding each symbol successively; and, - a file is constructed on the basis of the code thus obtained.

Description

PROCEDE POUR ENCODER, NOTAMMENT DES IMAGES COMPRESSEES, NOTAMMENT PAR "RANGE CODER" OU COMPRESSION ARITHMETIQUE  METHOD FOR ENCODING, IN PARTICULAR COMPRESSED IMAGES, IN PARTICULAR "RANGE CODER" OR ARITHMETIC COMPRESSION
La présente invention se rapporte principalement au domaine des codages binaires entropique, plus particulièrement des codages utilisant des modèles d'encodage du type « range coder », c'est-à-dire utilisant des intervalles, ou arithmétique. The present invention relates mainly to the field of entropic binary coding, more particularly coding using encoding models of the "range encoder" type, that is to say using intervals, or arithmetic.
Les encodeurs du type range coder ou arithmétique permettent d'encoder sans perte une suite de symboles. Ces symboles peuvent être de tout type, notamment de caractères alphanumériques ou des caractères de ponctuation. Dans le cas de procédés de compression d'une image, les symboles sont des nombres résultant de la compression préalable de ladite image, par exemple par une compression différentielle ou une compression par ondelettes, généralement précédée d'une transformation côlorimétrique. Encoders of the range encoder or arithmetic type allow lossless encoding of a sequence of symbols. These symbols can be of any type, including alphanumeric characters or punctuation characters. In the case of compression methods of an image, the symbols are numbers resulting from the prior compression of said image, for example by differential compression or wavelet compression, generally preceded by a colorimetric transformation.
Un codage binaire dit entropique permet de réduire le nombre de bits nécessaires pour coder un signal, ici représenté par la suite des symboles à encoder, sans perte sur le contenu de celui-ci. Le niveau de réduction dépend de la probabilité d'occurrence des symboles dans le signal. En particulier, les codages dits « arithmétique » et « range coder » utilisent des modèles de probabilité au sein desquels chaque symbole est associé à une probabilité. Le nombre théorique de bits nécessaires pour coder le symbole est, dans le cadre d' un codeur de type « Range Coder » ou codage arithmétique, -log2(P), où P est la probabilité d' occurrence de ce symbole dans le signal. An entropic binary coding makes it possible to reduce the number of bits necessary to encode a signal, here represented by the sequence of symbols to be encoded, without loss of the content thereof. The level of reduction depends on the probability of occurrence of the symbols in the signal. In particular, the so-called "arithmetic" and "range encoder" encodings use probability models in which each symbol is associated with a probability. The theoretical number of bits needed to encode the symbol is, in the context of a "Range Coder" encoder or arithmetic encoding, --log2 (P), where P is the probability of occurrence of this symbol in the signal.
Un codeur du type range coder ou codeur arithmétique doit toujours avoir, lors de l' encodage ou du décodage d' un symbole, un modèle de probabilité comprenant un ou plusieurs symboles, ainsi que leur probabilité d' occurrence, dont au moins le symbole courant. La probabilité du symbole est utilisée pour Γ encoder. Pour encoder un même signal, plusieurs modèles de probabilité sont possibles. Le plus adapté est le modèle pour lequel le signal est le plus compressé, c' est-à-dire pour lequel le code résultant de l' encodage a le poids le plus faible. An encoder of the range encoder or arithmetic encoder type shall always have, when encoding or decoding a symbol, a probability model comprising one or more symbols and their probability of occurrence, including at least the current symbol. . The probability of the symbol is used to encode. To encode the same signal, several probability models are possible. The most suitable is the model for which the signal is the most compressed, that is, for which the code resulting from the encoding has the lowest weight.
Pour qu' un codage binaire soit performant, il faut que : For a binary coding to be efficient, it is necessary that:
- Les données décodées soient identiques aux données d' entrée ;  - The decoded data is identical to the input data;
- Le poids des données compressées soit le plus faible possible ;  - The weight of the compressed data is as low as possible;
- Le temps d' encodage soit le plus court possible ;  - The encoding time is as short as possible;
- Le temps de décodage soit le plus court possible.  - The decoding time is as short as possible.
Ceci dépend de deux facteurs principaux : This depends on two main factors:
- Le codage en lui-même, qui doit, pour une probabilité P donnée coder le symbole sur un nombre de bits le plus proche possible de -log2(P), tout en restituant le même symbole au décodage si on lui fournit le même modèle ;  - The coding itself, which must, for a given probability P code the symbol on a number of bits as close as possible to -log2 (P), while restoring the same symbol decoding if it provides the same model ;
- Le calcul des modèles, qui doit permettre de fournir le modèle le plus adapté à chacun des symboles, tout en étant le plus rapide possible ;  - The calculation of the models, which must make it possible to provide the most suitable model for each of the symbols, while being as fast as possible;
On peut ainsi utiliser un modèle pour tout le signal. On obtient alors un niveau de compression proche de l' entropie de Shannon. A l' opposé, certains encodeurs utilisent des modèles totalement adaptatifs, comme le procédé PPMd, de l'anglais : "Prédiction by Partial Matching, escape method D". Dans ce cas, les modèles sont établis au fur et à mesure de l'encodage. Ces encodeurs permettent d'obtenir de multiples modèles, adaptés pour chaque symbole, mais les durées de traitement sont beaucoup plus longues. One can thus use a model for all the signal. This results in a compression level close to Shannon 's entropy. On the other hand, some encoders use fully adaptive models, such as the PPMd method, of "Prediction by Partial Matching, escape method D". In this case, the models are established as and when the encoding. These encoders allow to obtain multiple models, adapted for each symbol, but the processing times are much longer.
L'invention a pour but de proposer un procédé d'encodage qui permet d'obtenir un code dont le poids est plus faible que celui généralement obtenu à l'aide d'un modèle unique, et dont les durées de traitement soient plus courtes que celles généralement obtenues avec des modèles multiples. The object of the invention is to propose an encoding method which makes it possible to obtain a code whose weight is lower than that generally obtained using a single model, and whose processing times are shorter than those generally obtained with multiple models.
Dans le cadre de la compression multimédia, on constate qu'après transformation du signal, par exemple par des méthodes dites d'ondelettes, les valeurs faibles sont généralement proches les unes des autres, de même que les valeurs les plus élevées sont plus proches les unes des autres. In the context of multimedia compression, it can be seen that after signal transformation, for example by so-called wavelet methods, the low values are generally close to one another, just as the highest values are closer to each other. each other.
Selon l'invention, un tel procédé de codage binaire entropique pour une suite de symboles utilisant au moins deux modèles, chaque modèle étant associé à un critère d'appartenance, comprenant des étapes lors desquelles : According to the invention, such an entropic binary coding method for a series of symbols using at least two models, each model being associated with a membership criterion, comprising steps in which:
- on parcourt ladite suite pour déterminer; pour chaque symbole, le modèle d'encodage auquel il appartient, en fonction desdits critères d'appartenance ; puis,  said sequence is scanned to determine; for each symbol, the encoding model to which it belongs, according to said membership criteria; then,
- pour chaque modèle et pour chaque symbole on détermine une probabilité d'occurrence du symbole dans le modèle ; puis,  for each model and for each symbol, a probability of occurrence of the symbol in the model is determined; then,
- on parcourt de nouveau ladite suite en encodant chaque symbole successivement en fonction du modèle auquel il appartient ; et, ' said sequence is scanned again by encoding each symbol successively according to the model to which it belongs; and, '
- on stocke les modèles ou des informations permettant de les reconstituer, et, le code binaire ainsi obtenu. - Stores the models or information to reconstruct them, and the resulting binary code.
Avantageusement, on parcourt préalablement la série pour déterminer les critères d'appartenance à chacun des modèles.  Advantageously, the series is scanned beforehand to determine the membership criteria for each of the models.
De préférence, l'appartenance d'un symbole courant à un modèle est déterminée selon une fonction d'appartenance calculée à partir d'un ou plusieurs symboles précédant ledit symbole courant dans la suite. Chaque symbole pouvant être un nombre, de préférence un nombre en base 10, la fonction d'appartenance peut être la moyenne de valeurs absolues d'un nombre donné de symboles de référence, de préférence quatre symboles de référence, précédant immédiatement ledit symbole courant dans la suite. Preferably, the membership of a current symbol in a model is determined according to a membership function calculated from one or several symbols preceding said current symbol in the following. Since each symbol may be a number, preferably a base number, the membership function may be the average of absolute values of a given number of reference symbols, preferably four reference symbols, immediately preceding said current symbol in the following.
Pour le calcul de la fonction d'appartenance on fait avantageusement précéder la liste d'un nombre suffisant de symboles arbitraires, la valeur de chacun étant de préférence nulle. For the calculation of the membership function, the list is advantageously preceded by a sufficient number of arbitrary symbols, the value of each being preferably zero.
Le critère d'appartenance à un des modèles peut être une limite inférieure pour un intervalle couvert par le modèle et la comparaison de la moyenne des symboles précédant avec ladite limite. Les limites de chacun des modèles étant rangées dans un ordre croissant, la différence entre deux limites successives augmente avantageusement lorsque la valeur desdites limites augmente. Pour déterminer la limite de chaque modèle on peut : The criterion for belonging to one of the models may be a lower limit for a range covered by the model and the comparison of the average of the preceding symbols with said limit. Since the limits of each of the models are arranged in increasing order, the difference between two successive limits advantageously increases when the value of said limits increases. To determine the limit of each model one can:
- calculer la moyenne des valeurs des symboles de la suite ; puis,  - calculate the average of the values of the symbols of the suite; then,
- calculer la valeur de la différence entre la valeur maximale et la moyenne d'une part et la moyenne et la valeur minimale d'autre part parmi les valeurs de symboles de la suite, et en déduire une distance égale au maximum parmi ces deux ; puis,  calculating the value of the difference between the maximum value and the mean on the one hand and the average and the minimum value on the other hand among the symbol values of the sequence, and deducting a distance equal to the maximum of these two; then,
- calculer une déviation égale à la moyenne des valeurs absolues des différences entre chaque élément du signal et la moyenne de la suite ; puis,  calculate a deviation equal to the average of the absolute values of the differences between each element of the signal and the average of the sequence; then,
- calculer un espacement selon la formule :  - calculate a spacing according to the formula:
puis, then,
- calculer la limite entre les moyennes mobiles pour chacun des modèles successifs selon la formule suivante : L'invention porte aussi sur un procédé de compression d'un média du type image, vidéo ou son, caractérisé en ce qu'il utilise un procédé d'encodage selon l'invention. Un procédé de compression d'une image s'applique préférentiellement à des symboles compressés de l'image, chacun correspondant à une case d'une matrice, la suite étant formée par la mise en ligne desdits symboles. Pour la mise en ligne des symboles, pour chaque ligne on peut parcourir une ligne dans un premier sens puis la ligne suivante, s'il y a lieu, dans le sens inverse du premier. - calculate the limit between the moving averages for each of the successive models according to the following formula: The invention also relates to a method for compressing a media of the image, video or sound type, characterized in that it uses an encoding method according to the invention. A method of compressing an image preferentially applies to compressed symbols of the image, each corresponding to a box of a matrix, the sequence being formed by placing said symbols on line. For putting symbols online, for each line one can go through a line in a first direction and then the next line, if necessary, in the opposite direction of the first one.
Selon un autre objet de l'invention, un procédé de décodage binaire entropique pour une suite de symboles utilisant au moins deux modèles et encodée à l'aide d'un procédé selon l'invention est caractérisé en ce que : According to another object of the invention, an entropy binary decoding method for a series of symbols using at least two models and encoded using a method according to the invention is characterized in that:
- on extrait chacun des modèles utilisés à l'encodage,  - we extract each of the models used to the encoding,
- on extrait ou recalcule les critères d'appartenance à chacun de ces modèles, et,  - the criteria for belonging to each of these models are extracted or recalculated, and
- on utilise les mêmes critères d'appartenance qu'à l'encodage pour décoder chaque symbole à l'aide du modèle utilisé à l'encodage.  - we use the same membership criteria as the encoding to decode each symbol using the template used in the encoding.
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 : Several embodiments of the invention will be described below, by way of non-limiting examples, with reference to the appended drawings in which:
- la figure 1 illustre une couche d'une image à laquelle est appliquée un procédé selon l'invention ;  FIG. 1 illustrates a layer of an image to which a method according to the invention is applied;
- la figure 2 illustre une sous-matrice, dite LH de 3 eme niveau, de coefficients, en base 10, résultant d'une transformation de l'image de la figure 1 par ondelettes, suivie d'une quantification et d'un arrondi ;- Figure 2 illustrates a submatrix, said LH 3rd level, coefficients, in base 10, resulting from transformation of the image of Figure 1 wavelet, followed by quantization and a rounded ;
- la figure 3 illustre la méthode de mise en ligne des coefficients de la matrice de la figure 2, de façon à former une suite de symboles à traiter par le procédé selon l'invention ; - la figure 4 illustre un tableau donnant pour chaque modèle utilisé la valeur d'une limite inférieure correspondante ; FIG. 3 illustrates the on-line method of the coefficients of the matrix of FIG. 2, so as to form a sequence of symbols to be processed by the method according to the invention; FIG. 4 illustrates a table giving for each model used the value of a corresponding lower limit;
- la figure 5 est une représentation graphique du tableau de la figure 4 ; FIG. 5 is a graphical representation of the table of FIG. 4;
- la figure 6 est un tableau représentant l'ensemble des valeurs en base 10 correspondant aux symboles de la suite et pour chaque valeur son nombre d'occurrences dans la suite, et donc sa probabilité dans le cadre d'un modèle unique ; FIG. 6 is a table representing the set of base values corresponding to the symbols of the sequence and for each value its number of occurrences in the sequence, and hence its probability in the context of a single model;
- la figure 7 est une représentation graphique du tableau de la figure 6 ; et,  FIG. 7 is a graphical representation of the table of FIG. 6; and,
- la figure 8 est un tableau représentant, pour chaque valeur son nombre d'occurrences dans chacun des modèles.  FIG. 8 is a table representing, for each value, its number of occurrences in each of the models.
Pour illustrer un exemple de procédé selon l'invention, on utilise une image d'origine dont les pixels sont disposés selon 320 colonnes et 240 lignes et codés avec trois composantes R (rouge), G (vert) et B (bleu). Cette image a ensuite subi une transformation colorimétrique du type Y, Cb, Cr. La figure 1 illustre sous forme d'une image, la composante Y de luminance résultant de cette transformation colorimétrique. To illustrate an exemplary method according to the invention, an original image is used whose pixels are arranged in 320 columns and 240 lines and coded with three components R (red), G (green) and B (blue). This image then underwent a colorimetric transformation of the type Y, Cb, Cr. FIG. 1 illustrates, in the form of an image, the luminance Y component resulting from this colorimetric transformation.
Une transformation par ondelettes CDF 5/3 en deux dimensions utilisant des nombres à virgule fixe est d'abord appliquée à l'image 1. La figure 2 illustre une matrice LHQ correspondant à une sous-matrice dite LH de 3ème niveau résultant de cette transformation par ondelettes à laquelle a ensuite été appliquée une quantification par un coefficient égal à 3,53, puis un arrondi à l'entier le plus proche. Cette transformation par ondelettes est effectuée pour chaque niveau en deux dimensions : une passe verticale, puis une passe horizontale. La transformation par ondelettes verticale génère une matrice dite de détails, ou matrice H, et une matrice dite d'approximation, ou matrice L. L'application d'une passe d'ondelettes horizontale à la matrice L génère une matrice de détails LH et une matrice d'approximation LL. L'application d'une passe d'ondelettes verticale à la matrice H génère deux matrices de détails HL et HH. On applique ensuite récursivement de nouveaux niveaux d'ondelettes aux matrices d'approximation LL successives. Ainsi, la matrice LH de troisième niveau est la matrice de type LH obtenue lors du 3e niveau d'ondelettes. Une fois la matrice LH obtenue, on la. quantifie par un facteur 3,53 puis on arrondit ses valeurs pour obtenir la matrice LHQ. A wavelet transform CDF 5/3 in two dimensions using fixed-point numbers is first applied to the image 1. Figure 2 illustrates a LHQ matrix corresponding to a said subarray LH 3rd level resulting from this wavelet transformation, which was then quantized by a coefficient of 3.53, then rounded to the nearest integer. This wavelet transformation is performed for each level in two dimensions: a vertical pass, then a horizontal pass. The vertical wavelet transformation generates a so-called matrix of details, or matrix H, and a matrix called approximation, or matrix L. The application of a horizontal wavelet pass to the matrix L generates a matrix of details LH and an approximation matrix LL. The application of a vertical wavelet transition to matrix H generates two matrices of details HL and HH. Recursively, new wavelet levels are then applied to the successive LL approximation matrices. Thus, the third level is the LH LH matrix type matrix obtained at the 3rd level wavelet. Once the LH matrix is obtained, it is. quantifies by a factor of 3.53 and then rounds its values to obtain the LHQ matrix.
La matrice LHQ comporte 40 colonnes et 30 lignes, soit 1200 valeurs correspondant chacune à un symbole à encoder. Pour appliquer le traitement selon l'invention, on met les 1200 valeurs en ligne, c'est-à-dire que l'on constitue une suite S des 1200 valeurs. Dans l'exemple illustré, la mise en ligne se fait comme illustré à la figure 3, la première ligne de la matrice LHQ étant parcourue de gauche à droite, puis la deuxième de droite à gauche, de sorte que dans la suite S la dernière valeur de la première ligne de la matrice LHQ précède la dernière valeur de la deuxième ligne. Plus généralement, une ligne étant parcourue dans un sens, la ligne suivante est parcourue dans le sens inverse. On obtient ainsi un signal formé par la suite de N symboles Sn, n entier variant de 1 à N, avec N=1200, chaque symbole Sn ayant une valeur notée V(n). The LHQ matrix has 40 columns and 30 rows, ie 1200 values each corresponding to a symbol to be encoded. In order to apply the treatment according to the invention, the 1200 values are put in line, that is to say that a sequence S of the 1200 values is constituted. In the illustrated example, the setting in line is as illustrated in FIG. 3, the first line of the matrix LHQ being traversed from left to right, then the second from right to left, so that in the following S the last value of the first row of the LHQ matrix precedes the last value of the second row. More generally, a line being traveled in one direction, the next line is traveled in the opposite direction. Thus, a signal formed by the sequence of N symbols Sn, n integer ranging from 1 to N, is obtained with N = 1200, each Sn symbol having a value denoted V (n).
Dans l'exemple illustré, pour déterminer les modèles à appliquer au signal S, on pratique d'abord une analyse de ce signal. In the example illustrated, in order to determine the models to be applied to the signal S, an analysis of this signal is first carried out.
On calcule d'abord une moyenne arithmétique M de toutes les valeurs du signal, selon la formule : An arithmetic mean M of all the values of the signal is first calculated according to the formula:
On détermine ensuite la valeur minimale Min[V(n)] et la valeur maximale Max[V(n)] ; soit, dans l'exemple illustré :  The minimum value Min [V (n)] and the maximum value Max [V (n)] are then determined; in the illustrated example,
Min[V(n)] = -42  Min [V (n)] = -42
Max[V(n)] =35 On en déduit une distance D, où D est égale à un maximum parmi la valeur de la différence entre la moyenne M et valeur minimale du signal Min[V(n)] d'une part et la valeur de la différence entre la valeur maximale du signal Max[V(n)] et la moyenne M d'autre part; soit, dans l'exemple illustré : Max [V (n)] = 35 A distance D is deduced, where D is equal to a maximum of the value of the difference between the mean M and minimum value of the signal Min [V (n)] on the one hand and the value of the difference between the maximum value the signal Max [V (n)] and the average M on the other hand; in the illustrated example,
On calcule ensuite une déviation DV, c'est-à-dire une dispersion moyenne, des valeurs autour de la moyenne M. Cette dispersion est calculée comme la moyenne des valeurs absolue des différences entre les valeurs V(n) de chaque symbole Sn du signal et la moyenne M ; soit, dans l'exemple illustré : Then a DV deviation, ie an average dispersion, of the values around the mean M is calculated. This dispersion is calculated as the average of the absolute values of the differences between the values V (n) of each symbol Sn of signal and the average M; in the illustrated example,
On calcule ensuite un espacement E entre les modèles. Dans l'exemple illustré, cet espacement est calculé selon la formule : An E spacing between the models is then calculated. In the example shown, this spacing is calculated according to the formula:
Avantageusement, plus le signal à coder est large, plus le nombre de modèles est élevé. Il s'agit d'un paramètre d'entrée pouvant dépendre de la quantité d'information présente dans le signal. Dans l'exemple illustré, on a choisi d'utiliser 5 modèles.  Advantageously, the larger the signal to be coded, the greater the number of models. This is an input parameter that can depend on the amount of information in the signal. In the illustrated example, we chose to use 5 models.
On définit, pour chaque modèle numéroté de 0 à 4, une borne inférieure à partir de laquelle le symbole pourra appartenir à ce modèle. De préférence, plus le modèle concernera des variations faibles, plus les seuils seront proches les uns des autres. On définit ainsi la formule suivante pour calculer, dans le cadre de l'exemple, les limites inférieures de chaque modèle : For each model numbered from 0 to 4, we define a lower bound from which the symbol can belong to this model. Preferably, the more the model will concern small variations, the more the thresholds will be close to each other. We thus define the following formula to calculate, within the framework of the example, the lower limits of each model:
Où m est le numéro d'un modèle parmi les 5, m prenant les valeurs entières 0 à 4. Les valeurs inférieures ainsi calculées sont répertoriées au tableau Tabl, représenté à la figure 4 et illustrées sur le graphique de la figure 5. Where m is the number of a model among the 5, m taking integer values 0 to 4. The lower values thus calculated are listed in the table Tabl, shown in FIG. 4 and illustrated in the graph of FIG.
Afin d'associer chaque symbole Sn à un modèle, il convient de définir un "critère d'appartenance qufpmsse être comparé aux limites Γ(ϊη) précédemment calculées. En outre, il faut que ce critère soit identique à l'encodage et au décodage, afin que le même modèle soit appliqué au même symbole, de sorte que la valeur restituée de ce symbole lors du décodage soit la même que sa valeur initiale. Dans ce but, le critère d'appartenance est choisi comme une fonction de valeurs de symboles précédant le symbole courant, c'est-à-dire à encoder ou décoder. L'encodage et le décodage s'effectuant sans perte, les valeurs précédant le symbole courant seront identiques à la compression et la décompression. Ainsi, l'application d'un même critère d'appartenance à ces mêmes valeurs à l'encodage et au décodage affectera le même modèle au symbole courant. In order to associate each Sn symbol with a model, it is necessary to define a " membership criterion that can be compared with the previously calculated limits Γ (ϊη)." In addition, this criterion must be identical to the encoding and decoding. , so that the same model is applied to the same symbol, so that the value returned from this symbol during the decoding is the same as its initial value.For this purpose, the membership criterion is chosen as a function of symbol values. preceding the current symbol, that is to say, to encode or decode, the encoding and the decoding being carried out without loss, the values preceding the current symbol will be identical to the compression and the decompression. the same criterion of belonging to these same values at the time of encoding and decoding will affect the same model to the current symbol.
Dans l'exemple illustré, les valeurs après ondelettes sont supposées centrées ou presque centrées sur zéro ; en effet, la moyenne M est sensiblement égale à zéro. De ce fait, la fonction déterminant le critère d'appartenance choisie est une moyenne des valeurs absolues des quatre symboles précédant immédiatement le symbole courant, arrondie à quatre décimales. Le nombre de symboles précédant utilisés peut être différent, mais suffisant pour limiter l'influence d'une valeur trop déviante des autres, qui engendrerait un changement intempestif de modèle, et avantageusement une puissance de 2, pour faciliter sa notation binaire. Le nombre de décimales peut aussi être différent de 4, mais avantageusement une puissance de 2, pour faciliter sa notation binaire. In the example shown, the values after wavelet are assumed centered or almost centered on zero; in fact, the average M is substantially equal to zero. As a result, the function determining the membership criterion chosen is an average of the absolute values of the four symbols immediately preceding the current symbol, rounded to four decimal places. The number of preceding symbols used may be different, but sufficient to limit the influence of a too deviant value of the others, which would generate an untimely change of model, and advantageously a power of 2, to facilitate its binary notation. The number of decimals may also be different from 4, but advantageously a power of 2, to facilitate its binary notation.
Le critère d'appartenance à un modèle, dans l'exemple illustré, est donc déterminé par la formule : The criterion of belonging to a model, in the example illustrated, is thus determined by the formula:
Où, la taille de la moyenne mobile T étant égale à 4, c'est-à-dire au nombre de symboles précédant pris en compte pour son calcul, n' variant de 1 à 4.  Where, the size of the moving average T being equal to 4, that is to say the number of preceding symbols taken into account for its calculation, n 'varying from 1 to 4.
Ceci permet de sélectionner un modèle adéquat pour chaque symbole Sn. La moyenne mobile mm(n) est calculée avec une précision donnée en paramètre, ici quatre décimales, qui est identique à l'encodage et au décodage. This makes it possible to select a suitable model for each symbol Sn. The moving average mm (n) is calculated with a precision given in parameter, here four decimal places, which is identical to the encoding and the decoding.
Chaque symbole Sn de valeur V(n) appartient au plus grand modèle m dont la limite inférieure l(m) est inférieure ou égale à la moyenne mobile des valeurs absolues précédentes mm(n) : l(m) <mm(n). Each symbol Sn of value V (n) belongs to the largest model m whose lower limit l (m) is less than or equal to the moving average of the previous absolute values mm (n): l (m) <mm (n).
Le tableau Tab2, illustré à la figure 6, présente le nombre d'occurrences de chaque valeur V(n) dans le signal S. La figure 7 en est la représentation graphique. On remarque que la valeur nulle y est sur-représentée. L'utilisation d'un modèle unique serait donc particulièrement inadaptée. The table Tab2, illustrated in FIG. 6, presents the number of occurrences of each value V (n) in the signal S. FIG. 7 is the graphical representation. Note that the null value is over-represented. The use of a single model would therefore be particularly inappropriate.
Le tableau Tab3, illustré à la figure 8, présente le nombre d'occurrences de chaque valeur V(n) dans chaque modèle M. The table Tab3, illustrated in FIG. 8, presents the number of occurrences of each value V (n) in each model M.
A l'issue de la sélection d'un modèle m pour chaque symbole Sn, on applique un encodeur du type « range coder » ou arithmétique aux valeurs de ce modèle. Pour cela on calcule d'abord le nombre des occurrences de chaque symbole Sn dans ce modèle m et on en déduit une probabilité d'apparition de ce symbole dans ce modèle m. At the end of the selection of a model m for each symbol Sn, an encoder of the "range encoder" or arithmetic type is applied to the values of this model. For that we calculate first the number of occurrences of each symbol Sn in this model m and we deduce a probability of appearance of this symbol in this model m.
Pour l'encodage, on parcourt le signal dans le sens des indices n croissants, tel que défini précédemment en référence à la figure 3. Pour chaque symbole, on détermine le modèle auquel il appartient, selon le critère d'appartenance défini précédemment. On utilise ensuite ce modèle dans l'encodeur choisi, par exemple un encodeur de type « range coder » ou arithmétique. Pour chaque modèle on peut aussi choisir un encodeur d'un type différent de celui choisi pour un autre modèle. - For encoding, the signal is scanned in the direction of increasing indices n, as defined above with reference to FIG. 3. For each symbol, the model to which it belongs is determined according to the membership criterion defined above. This model is then used in the chosen encoder by example an encoder type "range encoder" or arithmetic. For each model it is also possible to choose an encoder of a type different from that chosen for another model. -
Les premiers symboles à encoder étant précédés d'un nombre de symboles insuffisant pour calculer le critère d'appartenance, on fait précéder le signal d'un nombre de valeurs arbitraires suffisant pour ce calcul. Ainsi, dans l'exemple illustré, on fait précéder le signal de quatre valeurs, arbitrairement choisies nulles ; ces valeurs permettent le calcul du critère d'appartenance des quatre premiers symboles S1-S4 à encoder. The first symbols to be encoded being preceded by a number of symbols insufficient to calculate the membership criterion, the signal is preceded by a number of arbitrary values sufficient for this calculation. Thus, in the example illustrated, the signal is preceded by four values, arbitrarily chosen as zero; these values make it possible to calculate the membership criterion of the first four symbols S1-S4 to be encoded.
Avantageusement, on crée un fichier F contenant le code binaire C obtenu par l'encodage du signal S. Pour permettre le décodage du code binaire C, on dispose dans un entête du fichier, l'ensemble des informations nécessaires au décodage, notamment, dans l'exemple illustré : Advantageously, a file F containing the binary code C obtained by the encoding of the signal S is created. To enable the decoding of the binary code C, all the information necessary for decoding, in particular in the header of the file, is provided in a file header. the illustrated example:
- le nombre de modèles ;  - the number of models;
- la moyenne M ;  - the average M;
- la déviation DV  - the DV deviation
- le nombre d'éléments précédant à utiliser pour le calcul de la moyenne mobile mm, sous forme de puissance de deux ; et,  the number of elements preceding to be used for the calculation of the moving average mm, in the form of a power of two; and,
- La précision à utiliser pour le calcul de la moyenne mobile, sous forme de puissance de deux.  - The precision to be used for the calculation of the moving average, in the form of a power of two.
Pour le décodage, on récupère les limites des modèles, par simple lecture ou recalcul, puis on détermine l'appartenance d'un symbole Sn à décoder à un modèle de la même manière que pour l'encodage, à partir des symboles précédemment décodés sans perte, puis on utilise le modèle trouvé pour décoder le symbole. De la même façon qu'à l'encodage, les premiers symboles à décoder étant précédés d'un nombre de symboles insuffisant pour calculer le critère d'appartenance, on fait précéder le code, correspondant au signal S encodé, d'un nombre de valeurs arbitraires suffisant pour ce calcul. Ces valeurs sont identiques à celles utilisées pour l'encodage. Ainsi, dans l'example illustré, on fait précéder le code de quatre valeurs, arbitrairement choisies nulles ; ces valeurs permettent le calcul du critère d'appartenance des quatre premiers symboles SI -S4 à décoder. For the decoding, one recovers the limits of the models, by simple reading or recalculation, then one determines the membership of a symbol Sn to decode to a model in the same way as for the encoding, from the symbols previously decoded without loss, then we use the model found to decode the symbol. In the same way as in encoding, the first symbols to be decoded being preceded by a number of symbols insufficient to calculate the membership criterion, the code corresponding to the encoded S signal is preceded by a number of characters. arbitrary values sufficient for this calculation. These values are identical to those used for encoding. Thus, in the illustrated example, the code is preceded by four values, arbitrarily chosen as zero; these values make it possible to calculate the membership criterion of the first four symbols SI -S4 to be decoded.
On calcule des valeurs de poids théoriques avec les hypothèses suivantes :Theoretical weight values are calculated with the following assumptions:
• On néglige le poids des modèles et autres informations d' en-tête nécessaires pour décoder le signal ; et • We neglect the weight of models and other header information needed to decode the signal; and
• Le codeur binaire utilisé est un codeur parfait codant chaque symbole Sn en fonction de sa probabilité P(Sn) sur -log2(P(Sn)) bits, P(Sn) étant sa probabilité selon le modèle fourni. • The binary coder used is a perfect encoder encoding each symbol Sn according to its probability P (Sn) on -log 2 (P (Sn)) bits, P (Sn) being its probability according to the model provided.
On utilise pour le calcul théorique les notations suivantes : The following notations are used for the theoretical calculation:
• P(Sn) : probabilité des symboles, égale au nombre d'occurrences de ce symbole divisé par le nombre de symboles pour ce modèle ;  • P (Sn): probability of the symbols, equal to the number of occurrences of this symbol divided by the number of symbols for this model;
'N(Sn) nombre d'occurrences du symbole Sn ' N (Sn) number of occurrences of the Sn symbol
Ainsi, chaque symbole rencontré pèsera en. théorie -log2(P(Sn)), l'ensemble des symboles s dans le cadre d'un modèle donné pèsera donc : Thus, each symbol encountered will weigh in. -log 2 (P (Sn)), the set of symbols s in the context of a given model will therefore weigh:
- N(Sn) x log2(P(Sn)). N (Sn) x log 2 (P (Sn)).
Dans le cas d'espèce les symboles sont compris entre -42 et 35, le poids théorique de l'ensemble des symboles dans le cadre du modèle unique illustré par le tableau Tab2 est : Avec les valeurs ci-dessus, on obtient un poids de Pmodèle unique = 1941 bits. In the case in point, the symbols are between -42 and 35, the theoretical weight of all the symbols in the context of the single model illustrated by the table Tab2 is: With the values above, we obtain a weight of P single model = 1941 bits.
Dans le cadre de la séparation en 5 modèles, on utilise la même formule, en calculant la probabilité par rapport au nombre de symboles du modèle courant. On obtient alors : In the framework of the separation into 5 models, we use the same formula, by calculating the probability with respect to the number of symbols of the current model. We then obtain:
• Modèle 0 : 300 bits ;  • Model 0: 300 bits;
• Modèle 2 : 92 bits ;  • Model 2: 92 bits;
• Modèle 3 : 505 bits ;  • Model 3: 505 bits;
• Modèle 4 : 588 bits ;  • Model 4: 588 bits;
• Modèle 5 : 34 bits :  • Model 5: 34 bits:
Le poids total est donc la somme des poids des symboles codés avec chacun de ces modèles, soit : The total weight is therefore the sum of the weights of the symbols coded with each of these models, namely:
P 5 modèles = 300 + 92 + 505 +588 +34 = 1519 bits. P 5 models = 300 + 92 + 505 +588 +34 = 1519 bits.
On a gagné, selon ces hypothèses de calcul, 422 bits par rapport au modèle unique. Le gain prévisible est d'autant plus grand que le nombre de symboles à encoder est plus important. En outre, plus il y de symboles différents dans un signal, plus il peut être avantageux d'augmenter le nombre de modèles utilisés. According to these calculation assumptions, we have gained 422 bits compared to the single model. The predictable gain is even greater than the number of symbols to be encoded is greater. In addition, the more different symbols in a signal, the more it may be advantageous to increase the number of models used.
Bien sûr, l'invention n'est pas limitée aux exemples qui viennent d'être décrits. Of course, the invention is not limited to the examples which have just been described.

Claims

Revendications claims
1. Procédé de codage binaire entropique pour une suite (S) de symboles (Sn) utilisant au moins deux modèles (m), chaque modèle étant associé à un critère d'appartenance, comprenant des étapes lors desquelles : An entropy binary coding method for a sequence (S) of symbols (Sn) using at least two models (m), each model being associated with a membership criterion, comprising steps in which:
- on parcourt ladite suite pour déterminer, pour chaque symbole, le modèle d'encodage (m) auquel il appartient, en fonction desdits critères d'appartenance ; puis,  said sequence is scanned to determine, for each symbol, the encoding model (m) to which it belongs, according to said membership criteria; then,
- pour chaque modèle et pour chaque symbole on détermine une probabilité d'occurrence (P) du symbole dans le modèle ; puis,  for each model and for each symbol, a probability of occurrence (P) of the symbol in the model is determined; then,
- on parcourt de nouveau ladite suite en encodant chaque symbole successivement en fonction du modèle auquel il appartient ; et,  said sequence is scanned again by encoding each symbol successively according to the model to which it belongs; and,
- on stocke les modèles ou des informations permettant de les reconstituer, et, le code binaire ainsi obtenu.  - Stores the models or information to reconstruct them, and the resulting binary code.
2. Procédé d'encodage selon la revendication 1, caractérisé en ce que l'on parcourt préalablement la série pour déterminer les critères d'appartenance à chacun des modèles 2. Encoding method according to claim 1, characterized in that the series is scanned beforehand to determine the membership criteria for each of the models.
3. Procédé d'encodage selon l'une des revendications 1 ou 2, caractérisé en ce que l'appartenance d'un symbole courant (Sn) à un modèle est déterminée selon une fonction d'appartenance mm(n) calculée à partir d'un ou plusieurs symboles (Sn-4 - Sn-1) précédant ledit symbole courant dans la suite. 3. Encoding method according to one of claims 1 or 2, characterized in that the membership of a current symbol (Sn) to a model is determined according to a membership function mm (n) computed from one or more symbols (S n-4 - S n-1 ) preceding said current symbol in the following.
4. Procédé d'encodage selon l'une des revendications 1 à 3, caractérisé en ce que chaque symbole est un nombre, de préférence un nombre en base 10. 4. Encoding method according to one of claims 1 to 3, characterized in that each symbol is a number, preferably a base number 10.
5. Procédé d'encodage selon les revendications 2 et 3, caractérisé en ce que la fonction d'appartenance est la moyenne (mm) de valeurs absolues d'un nombre donné de symboles de référence, de préférence quatre symboles de référence (Sn-4 - Sn-1), précédant immédiatement ledit symbole courant dans la suite. 5. Encoding method according to claims 2 and 3, characterized in that the membership function is the average (mm) of absolute values a given number of reference symbols, preferably four reference symbols (S n-4 - S n-1 ), immediately preceding said current symbol in the following.
6. Procédé d'encodage selon la revendication 4, caractérisé en ce que pour le calcul de la fonction d'appartenance on fait précéder la liste d'un nombre suffisant de symboles arbitraires, la valeur de chacun étant de préférence nulle. 6. Encoding method according to claim 4, characterized in that for calculating the membership function is preceded by the list of a sufficient number of arbitrary symbols, the value of each being preferably zero.
7. Procédé selon la revendication 5 ou 6, caractérisé en ce que le critère d'appartenance d'un symbole courant à un des modèles est une limite inférieure l(m) de l'intervalle couvert par le modèle et la comparaison de la moyenne (mm) des valeurs absolues des symboles précédant ledit symbole courant. 7. A method according to claim 5 or 6, characterized in that the criterion of belonging of a current symbol to one of the models is a lower limit l (m) of the interval covered by the model and the comparison of the average (mm) absolute values of symbols preceding said current symbol.
8. Procédé selon la revendication 7, caractérisé en ce que les limites de chacun des modèles étant rangées dans un ordre croissant, la différence entre deux limites successives augmente lorsque la valeur desdites limites augmente. 8. The method of claim 7, characterized in that the limits of each of the models being arranged in an increasing order, the difference between two successive limits increases when the value of said limits increases.
9. Procédé d'encodage selon la revendication 7 ou 8, caractérisé en ce que pour déterminer la limite l(m) : 9. Encoding method according to claim 7 or 8, characterized in that for determining the limit l (m):
- on calcule la moyenne des valeurs des symboles de la suite ; puis, the average value of the symbols of the sequence is calculated; then,
- on calcule la différence entre la valeur maximale et la moyenne d'une part et la moyenne et la valeur minimale d'autre part parmi les valeurs de symboles de la suite, et on en déduit une distance (D) égale au maximum parmi ces deux ; puis, the difference between the maximum value and the average is calculated on the one hand and the mean and the minimum value on the other hand among the symbol values of the sequence, and a distance (D) equal to the maximum of these values is deduced therefrom; two; then,
- on calcule une déviation (DV) égale à la moyenne des valeurs absolues des différences entre chaque élément du signal et la moyenne de la suite ; puis,  a deviation (DV) equal to the average of the absolute values of the differences between each element of the signal and the average of the sequence is calculated; then,
- on calcul un espacement (E) selon la formule : a spacing (E) is calculated according to the formula:
puis,  then,
- On calcule la limite l(m) entre les moyennes mobiles pour chacun des modèles (m) successifs selon la formule suivante : - The limit l (m) between the moving averages for each successive model (m) is calculated according to the following formula:
10. Procédé de compression d'un média du type image, vidéo ou son, caractérisé en ce qu'il utilise un procédé d'encodage selon l'une des revendications 4 à 9. 10. A method of compressing a media of the image, video or sound type, characterized in that it uses an encoding method according to one of claims 4 to 9.
11. Procédé de compression d'une image selon la revendication 10, caractérisé en ce qu'il s'applique à des symboles compressés de ladite image, chacun correspondant à une case d'une matrice, la suite étant formée par la mise en ligne desdits symboles. 11. A method of compressing an image according to claim 10, characterized in that it applies to compressed symbols of said image, each corresponding to a box of a matrix, the rest being formed by the setting on line said symbols.
12. Procédé de compression selon la revendication 1 1, caractérisé en ce que pour la mise en ligne Mes symboles, pour chaqué ligne on parcourt la ligne dans un premier sens puis la ligne suivante, s'il y a lieu, dans le sens inverse du premier. 12. A method of compression according to claim 1 1, characterized in that for putting online My symbols, for each line we walk the line in a first direction and then the next line, if necessary, in the opposite direction from the first.
13. Procédé de décodage binaire entropique pour une suite de symboles utilisant au moins deux modèles et encodée à l'aide d'un procédé selon l'une des revendications précédentes, caractérisé en ce que : An entropy binary decoding method for a symbol sequence using at least two models and encoded by a method according to one of the preceding claims, characterized in that:
- on extrait chacun des modèles utilisés à l'encodage,  - we extract each of the models used to the encoding,
- on extrait ou recalcule les critères d'appartenance à chacun de ces modèles, et,  - the criteria for belonging to each of these models are extracted or recalculated, and
- on utilise les mêmes critères d'appartenance qu'à l'encodage pour décoder chaque symbole à l'aide du modèle utilisé à l'encodage.  - we use the same membership criteria as the encoding to decode each symbol using the template used in the encoding.
EP14733670.5A 2013-05-17 2014-05-14 Method for encoding, compressed images in particular, in particular by "range coder" or arithmetic compression Pending EP2997662A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1354479A FR3005816B1 (en) 2013-05-17 2013-05-17 METHOD FOR ENCODING, ESPECIALLY COMPRESSED IMAGES, IN PARTICULAR BY "RANGE CODER" OR ARITHMETIC COMPRESSION.
PCT/FR2014/000106 WO2014184452A1 (en) 2013-05-17 2014-05-14 Method for encoding, compressed images in particular, in particular by "range coder" or arithmetic compression

Publications (1)

Publication Number Publication Date
EP2997662A1 true EP2997662A1 (en) 2016-03-23

Family

ID=49474514

Family Applications (1)

Application Number Title Priority Date Filing Date
EP14733670.5A Pending EP2997662A1 (en) 2013-05-17 2014-05-14 Method for encoding, compressed images in particular, in particular by "range coder" or arithmetic compression

Country Status (9)

Country Link
US (1) US9743117B2 (en)
EP (1) EP2997662A1 (en)
JP (1) JP6526629B2 (en)
KR (1) KR102169462B1 (en)
CN (1) CN105594128B (en)
BR (1) BR112015028798A2 (en)
CA (1) CA2949914A1 (en)
FR (1) FR3005816B1 (en)
WO (1) WO2014184452A1 (en)

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0686076A (en) * 1992-08-31 1994-03-25 Sony Corp Data transmitter
JP3302229B2 (en) * 1994-09-20 2002-07-15 株式会社リコー Encoding method, encoding / decoding method and decoding method
US5748786A (en) * 1994-09-21 1998-05-05 Ricoh Company, Ltd. Apparatus for compression using reversible embedded wavelets
US6549666B1 (en) * 1994-09-21 2003-04-15 Ricoh Company, Ltd Reversible embedded wavelet system implementation
US6141446A (en) * 1994-09-21 2000-10-31 Ricoh Company, Ltd. Compression and decompression system with reversible wavelets and lossy reconstruction
US6873734B1 (en) * 1994-09-21 2005-03-29 Ricoh Company Ltd Method and apparatus for compression using reversible wavelet transforms and an embedded codestream
US6229927B1 (en) * 1994-09-21 2001-05-08 Ricoh Company, Ltd. Reversible embedded wavelet system implementation
US5867602A (en) * 1994-09-21 1999-02-02 Ricoh Corporation Reversible wavelet transform and embedded codestream manipulation
US5881176A (en) * 1994-09-21 1999-03-09 Ricoh Corporation Compression and decompression with wavelet style and binary style including quantization by device-dependent parser
JPH09121359A (en) * 1995-10-26 1997-05-06 Hitachi Ltd Picture coding and decoding methods
JPH09275559A (en) * 1996-04-04 1997-10-21 Canon Inc Coding method and its device
AUPO472897A0 (en) * 1997-01-22 1997-02-20 Canon Information Systems Research Australia Pty Ltd A method for digital image compression
US7065253B2 (en) * 1999-09-03 2006-06-20 Intel Corporation Wavelet zerotree coding of ordered bits
EP1466175A4 (en) * 2001-08-06 2008-04-09 Exelixis Inc SPHKs AS MODIFIERS OF THE p53 PATHWAY AND METHODS OF USE
US7882421B2 (en) * 2004-05-06 2011-02-01 Seyfullah Halit Oguz Method and apparatus for joint source-channel map decoding
WO2009027606A1 (en) * 2007-08-24 2009-03-05 France Telecom Encoding/decoding by symbol planes with dynamic calculation of probability tables
JP5914962B2 (en) * 2010-04-09 2016-05-11 ソニー株式会社 Image processing apparatus and method, program, and recording medium
JP5676744B2 (en) * 2010-04-13 2015-02-25 フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン Entropy coding

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO2014184452A1 *

Also Published As

Publication number Publication date
FR3005816A1 (en) 2014-11-21
FR3005816B1 (en) 2019-11-29
JP2016521927A (en) 2016-07-25
WO2014184452A1 (en) 2014-11-20
CA2949914A1 (en) 2014-11-20
CN105594128A (en) 2016-05-18
US9743117B2 (en) 2017-08-22
US20160073136A1 (en) 2016-03-10
JP6526629B2 (en) 2019-06-05
CN105594128B (en) 2019-04-12
KR102169462B1 (en) 2020-10-23
KR20160034851A (en) 2016-03-30
BR112015028798A2 (en) 2017-07-25

Similar Documents

Publication Publication Date Title
CN111093081A (en) Lossless image compression method and system
EP2183851A1 (en) Encoding/decoding by symbol planes with dynamic calculation of probability tables
FR2963190A1 (en) METHOD AND DEVICE FOR ENCODING AN IMAGE SEQUENCE
EP0389050A1 (en) Digital video signals encoding device
WO2000021035A1 (en) Method for compressing and encoding three-dimensional meshed network
EP3186967B1 (en) Method for choosing a compression algorithm depending on the image type
WO2005008886A2 (en) Digital image context compression
EP2997662A1 (en) Method for encoding, compressed images in particular, in particular by &#34;range coder&#34; or arithmetic compression
FR2825224A1 (en) METHOD AND DEVICE FOR COMPRESSING AND / OR INDEXING DIGITAL IMAGES
CN103413336A (en) Grid non-aligned double-JPEG-compression detecting method and device
Kumar et al. Enhanced interpolation-based AMBTC image compression using Weber’s law
CN115361559A (en) Image encoding method, image decoding method, image encoding device, image decoding device, and storage medium
EP2289172B1 (en) Method for enumeration of vectors in a regular lattice of points
Ibrahim et al. An enhanced fractal image compression integrating quantized quadtrees and entropy coding
EP3152903B1 (en) Adaptive precision and quantification of a wavelet transformed matrix
CN113810058A (en) Data compression method, data decompression method, device and electronic equipment
EP4014494A1 (en) Method for providing content comprising at least one image, and file format
EP0762658B1 (en) Method for coding vectorial digital data and associated decoding method
CN117221552A (en) Video compression method, video compression device and computer storage medium
CN117221546A (en) Compressed sensing image coding method and system based on Gaussian denoising
FR2879861A1 (en) Digital image compressing method for reducing memory space occupied by image, involves coding magnitude and number code by allocating word to values of magnitude or number code based on occurrences of value, and obtaining compressed image
WO2022175419A1 (en) Method for providing content comprising at least one image, and file format
El–said Efficient DCT–based image compression technique
WO2012080627A1 (en) Methods for encoding and decoding an n-ary value, and corresponding devices and computer program
Alzoubaidi et al. Adaptive-Quality Image Compression Algorithm

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20151215

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

AX Request for extension of the european patent

Extension state: BA ME

RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: SAS I-CES (INNOVATIVE COMPRESSION ENGINEERING SOLU

19U Interruption of proceedings before grant

Effective date: 20151217

19W Proceedings resumed before grant after interruption of proceedings

Effective date: 20160901

RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: COLIN, JEAN-CLAUDE

DAX Request for extension of the european patent (deleted)
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: EXAMINATION IS IN PROGRESS

17Q First examination report despatched

Effective date: 20210623

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: EXAMINATION IS IN PROGRESS

PUAJ Public notification under rule 129 epc

Free format text: ORIGINAL CODE: 0009425