FR2862450A1 - Coding/decoding digital signals for digital images having signals block divided transferred then sub band quantized using symbol groups/construction entropic code group/code group sets - Google Patents
Coding/decoding digital signals for digital images having signals block divided transferred then sub band quantized using symbol groups/construction entropic code group/code group sets Download PDFInfo
- Publication number
- FR2862450A1 FR2862450A1 FR0313420A FR0313420A FR2862450A1 FR 2862450 A1 FR2862450 A1 FR 2862450A1 FR 0313420 A FR0313420 A FR 0313420A FR 0313420 A FR0313420 A FR 0313420A FR 2862450 A1 FR2862450 A1 FR 2862450A1
- Authority
- FR
- France
- Prior art keywords
- group
- data blocks
- quantization
- symbol
- coding
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/63—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Description
1 28624501 2862450
La présente invention concerne d'une manière générale le codage et le décodage de signal numérique. The present invention generally relates to digital signal coding and decoding.
Le codage a pour but de compresser le signal, ce qui permet de transmettre, respectivement mémoriser, le signal numérique en réduisant le temps de transmission, ou le débit de transmission, respectivement en réduisant la place mémoire utilisée. The purpose of the coding is to compress the signal, which makes it possible to transmit or memorize, respectively, the digital signal by reducing the transmission time, or the transmission rate, respectively by reducing the memory space used.
L'invention se situe dans le domaine de la compression avec perte de signaux numériques. The invention lies in the field of lossy compression of digital signals.
On considère plus particulièrement le codage et le décodage d'image numérique. More particularly, digital image coding and decoding is considered.
Une mode de codage connu d'image numérique est le codage selon la norme JPEG, par exemple décrit dans l'ouvrage de W.B. Pennebaker et J.L. Mitchell, intitulé JPEG: Still image data compression standard , Van Nostrand Reinhold, 1993. A known digital image encoding mode is JPEG encoding, for example described in W. B. Pennebaker and J. L. Mitchell, entitled JPEG: Still image data standard compression, Van Nostrand Reinhold, 1993.
La présente invention vise à fournir un procédé et un dispositif de 25 codage d'image qui permettent d'obtenir un rapport taux de compression sur distorsion qui est supérieur à celui de la technique antérieure. It is an object of the present invention to provide an image coding method and apparatus which provides a compression ratio over distortion which is higher than that of the prior art.
A cette fin, l'invention propose un procédé de codage d'un signal numérique représentatif de grandeurs physiques comportant les étapes de: 30 - division du signal en blocs de données, - transformation en sous bandes de fréquence des blocs de données, - quantification des blocs de données transformés, pour former des blocs de symboles de quantification, caractérisé en ce qu'il comporte les étapes de: 2 2862450 - formation de groupes de symboles de quantification en fonction du rang de chaque symbole dans son bloc respectif, - construction d'un mode de codage entropique pour chaque groupe de symboles de quantification, - codage de chaque groupe par son codeur entropique respectif. To this end, the invention proposes a method of encoding a digital signal representative of physical quantities comprising the steps of: dividing the signal into data blocks, transforming the data blocks into frequency sub-bands; transformed data blocks for forming blocks of quantization symbols, characterized in that it comprises the steps of: 2 2862450 - formation of quantization symbol groups according to the rank of each symbol in its respective block, - construction an entropy coding mode for each group of quantization symbols, - encoding each group by its respective entropy coder.
L'invention permet d'utiliser un codeur entropique pour tous les symboles du signal numérique qui se trouvent au même rang dans les différents blocs formés dans le signal. De plus, le codeur entropique utilisé est construit spécifiquement pour chaque groupe de symboles. Ainsi, le taux de compression est maximal. The invention makes it possible to use an entropic coder for all the symbols of the digital signal which are at the same rank in the different blocks formed in the signal. In addition, the entropy encoder used is constructed specifically for each group of symbols. Thus, the compression ratio is maximum.
Selon une caractéristique préférée, la transformation est une transformation DCT des blocs de données. Ce type de transformation est couramment utilisé, notamment pour les images numériques. According to a preferred characteristic, the transformation is a DCT transformation of the data blocks. This type of transformation is commonly used, especially for digital images.
Selon une caractéristique préférée, la construction d'un mode de 15 codage entropique pour chaque groupe comporte pour un groupe donné : - calcul de la distribution du groupe, - construction d'un mode de codage entropique pour le groupe en fonction de sa distribution. According to a preferred characteristic, the construction of an entropy coding mode for each group comprises for a given group: calculation of the group distribution, construction of an entropy coding mode for the group as a function of its distribution.
Cela permet de tenir compte de la statistique particulière du groupe. This makes it possible to take into account the particular statistics of the group.
Selon une caractéristique préférée, le codage entropique est un codage arithmétique. Ce type de codage donne des résultats expérimentaux satisfaisant tout en étant simple à mettre en oeuvre. According to a preferred characteristic, the entropy coding is an arithmetic coding. This type of coding gives satisfactory experimental results while being simple to implement.
L'invention a également trait à un procédé de décodage d'un signal numérique codé par le procédé précédemment présenté, caractérisé en ce qu'il 25 comporte les étapes de: - construction d'un mode de décodage entropique respectivement associé à chacun des groupes, - décodage entropique des symboles de chacun des groupes, - formation de blocs de symboles, en fonction du groupe respectif de 30 chaque symbole. The invention also relates to a method for decoding a digital signal encoded by the previously presented method, characterized in that it comprises the steps of: - construction of an entropy decoding mode respectively associated with each of the groups entropy decoding of the symbols of each of the groups; formation of symbol blocks according to the respective group of each symbol.
Selon un mode de réalisation, l'invention concerne un procédé caractérisé en ce qu'il comporte les étapes de: - première division du signal en blocs de données, 3 2862450 - première transformation en sous bandes de fréquence des blocs de données, - première quantification des blocs de données transformés, pour former des blocs de symboles de quantification, - construction d'un mode de codage entropique pour chaque groupe de symboles de quantification, - seconde division du signal en blocs de données, - seconde transformation en sous bandes de fréquence des blocs de données, - seconde quantification des blocs de données transformés, pour former des blocs de symboles de quantification, - codage de chaque groupe par son codeur entropique respectif. According to one embodiment, the invention relates to a method characterized in that it comprises the steps of: - first division of the signal into data blocks, 3 2862450 - first transformation into frequency sub-bands of the data blocks, - first quantizing the transformed data blocks, to form quantization symbol blocks, - constructing an entropy encoding mode for each quantization symbol group, - dividing the signal into data blocks, - second transforming into subbands. frequency of the data blocks, - second quantization of the transformed data blocks, to form quantization symbol blocks, - coding of each group by its respective entropy coder.
Dans ce mode de réalisation, l'espace mémoire nécessaire est réduit, puisque les résultats des étapes de division, transformation et quantification ne sont pas mémorisés. In this embodiment, the necessary memory space is reduced, since the results of the division, transformation and quantization steps are not stored.
Corrélativement, l'invention concerne un dispositif de codage d'un signal numérique représentatif de grandeurs physiques comportant: - des moyens de division du signal en blocs de données, - des moyens de transformation en sous bandes de fréquence des blocs de données, - des moyens de quantification des blocs de données transformés, pour former des blocs de symboles de quantification, caractérisé en ce qu'il comporte: - des moyens de formation de groupes de symboles de quantification en fonction du rang de chaque symbole dans son bloc respectif, - des moyens de construction d'un mode de codage entropique pour chaque groupe de symboles de quantification, - des moyens de codage de chaque groupe par son codeur entropique 30 respectif. Correlatively, the invention relates to a device for coding a digital signal representative of physical quantities comprising: means for dividing the signal into data blocks, means for transforming the data blocks into frequency sub-bands, quantization means for the transformed data blocks, for forming blocks of quantization symbols, characterized in that it comprises: means for forming quantization symbol groups as a function of the rank of each symbol in its respective block; means for constructing an entropy encoding mode for each group of quantization symbols; means for encoding each group by its respective entropy coder.
L'invention concerne aussi un dispositif de décodage. The invention also relates to a decoding device.
Les dispositifs selon l'invention comportent des moyens de mise en oeuvre des caractéristiques précédemment exposées. The devices according to the invention comprise means for implementing the characteristics previously described.
4 2862450 Le dispositif de codage, le procédé et le dispositif de décodage présentent des avantages analogues à ceux précédemment présentés. The coding device, the method and the decoding device have advantages similar to those previously presented.
L'invention concerne aussi un appareil numérique incluant le dispositif selon l'invention ou des moyens de mise en oeuvre du procédé selon l'invention. The invention also relates to a digital apparatus including the device according to the invention or means for implementing the method according to the invention.
Cet appareil numérique est par exemple un appareil photographique numérique, un caméscope numérique, un scanner, une imprimante, un photocopieur, un télécopieur. Les avantages du dispositif et de l'appareil numérique sont identiques à ceux précédemment exposés. This digital camera is for example a digital camera, a digital camcorder, a scanner, a printer, a photocopier, a fax machine. The advantages of the device and the digital device are identical to those previously exposed.
Un moyen de stockage d'information, lisible par un ordinateur ou par un 10 microprocesseur, intégré ou non au dispositif, éventuellement amovible, mémorise un programme mettant en oeuvre le procédé selon l'invention. An information storage means, readable by a computer or by a microprocessor, integrated or not into the device, possibly removable, stores a program implementing the method according to the invention.
Un programme d'ordinateur lisible par un microprocesseur et comportant une ou plusieurs séquence d'instructions est apte à mettre en oeuvre les procédés selon l'invention. A computer program readable by a microprocessor and comprising one or more sequences of instructions is able to implement the methods according to the invention.
Les caractéristiques et avantages de la présente invention apparaîtront plus clairement à la lecture d'un mode préféré de réalisation illustré par les dessins ci-joints, dans lesquels: - la figure 1 représente un mode de réalisation d'un dispositif mettant 20 en oeuvre l'invention, - la figure 2 représente un dispositif de codage selon l'invention et un dispositif de décodage correspondant, - la figure 3 représente un premier mode de réalisation de procédé de codage selon l'invention, - la figure 4 représente un exemple de signal à traiter selon l'invention, - la figure 5 représente un exemple de signal à traiter selon l'invention, - la figure 6 représente un mode de réalisation de procédé de décodage selon l'invention, - la figure 7 représente un second mode de réalisation de procédé de 30 codage selon l'invention. The features and advantages of the present invention will become more apparent upon reading a preferred embodiment illustrated by the accompanying drawings, in which: FIG. 1 shows an embodiment of a device implementing FIG. FIG. 2 represents a coding device according to the invention and a corresponding decoding device; FIG. 3 represents a first embodiment of coding method according to the invention; FIG. signal to be processed according to the invention; FIG. 5 represents an exemplary signal to be processed according to the invention; FIG. 6 represents an embodiment of a decoding method according to the invention; FIG. embodiment of coding method according to the invention.
Selon le mode de réalisation choisi et représenté à la figure 1, un dispositif mettant en oeuvre l'invention est par exemple un microordinateur 10 connecté à différents périphériques, par exemple une caméra numérique 107 (ou 2862450 un scanner, ou tout moyen d'acquisition ou de stockage d'image) reliée à une carte graphique et fournissant des informations à traiter selon l'invention. According to the embodiment chosen and shown in FIG. 1, a device embodying the invention is for example a microcomputer 10 connected to different peripherals, for example a digital camera 107 (or 2862450 a scanner, or any means of acquisition or image storage) connected to a graphics card and providing information to be processed according to the invention.
Le dispositif 10 comporte une interface de communication 112 reliée à un réseau 113 apte à transmettre des données numériques à traiter ou inversement à transmettre des données traitées par le dispositif. Le dispositif 10 comporte également un moyen de stockage 108 tel que par exemple un disque dur. Il comporte aussi un lecteur 109 de disque 110. Ce disque 110 peut être une disquette, un CD-ROM ou un DVD-ROM, par exemple. Le disque 110 comme le disque 108 peuvent contenir des données traitées selon l'invention ainsi que le ou les programmes mettant en oeuvre l'invention qui, une fois lu par le dispositif 10, sera stocké dans le disque dur 108. Selon une variante, le programme permettant au dispositif de mettre en oeuvre l'invention, pourra être stocké en mémoire morte 102 (appelée ROM sur le dessin). En seconde variante, le programme pourra être reçu pour être stocké de façon identique à celle décrite précédemment par l'intermédiaire du réseau de communication 113. The device 10 comprises a communication interface 112 connected to a network 113 able to transmit digital data to be processed or conversely to transmit data processed by the device. The device 10 also comprises a storage means 108 such as for example a hard disk. It also includes a disk drive 110 110. This disk 110 may be a diskette, a CD-ROM or a DVD-ROM, for example. The disk 110 as the disk 108 may contain data processed according to the invention as well as the program or programs implementing the invention which, once read by the device 10, will be stored in the hard disk 108. According to a variant, the program allowing the device to implement the invention, can be stored in ROM 102 (called ROM in the drawing). In the second variant, the program can be received to be stored in a manner identical to that previously described via the communication network 113.
Le dispositif 10 est relié à un microphone 111. Les données à traiter selon l'invention seront dans ce cas du signal audio. The device 10 is connected to a microphone 111. The data to be processed according to the invention will in this case be an audio signal.
Ce même dispositif possède un écran 104 permettant de visualiser les données à traiter ou de servir d'interface avec l'utilisateur qui peut ainsi paramétrer certains modes de traitement, à l'aide du clavier 114 ou de tout autre moyen (souris par exemple). This same device has a screen 104 making it possible to display the data to be processed or to interface with the user who can thus set up certain modes of treatment, using the keyboard 114 or by any other means (mouse for example) .
L'unité centrale 100 (appelée CPU sur le dessin) exécute les instructions relatives à la mise en oeuvre de l'invention, instructions stockées dans la mémoire morte 102 ou dans les autres éléments de stockage. Lors de la mise sous tension, les programmes de traitement stockés dans une mémoire non volatile, par exemple la ROM 102, sont transférés dans la mémoire vive RAM 103 qui contiendra alors le code exécutable de l'invention ainsi que des registres pour mémoriser les variables nécessaires à la mise en oeuvre de l'invention. The CPU 100 (called the CPU in the drawing) executes the instructions relating to the implementation of the invention, instructions stored in the read-only memory 102 or in the other storage elements. At power-up, the processing programs stored in a non-volatile memory, for example the ROM 102, are transferred into the RAM RAM 103 which will then contain the executable code of the invention as well as registers for storing the variables. necessary for the implementation of the invention.
De manière plus générale, un moyen de stockage d'information, lisible par un ordinateur ou par un microprocesseur, intégré ou non au dispositif, éventuellement amovible, mémorise un programme mettant en oeuvre le procédé selon l'invention. More generally, an information storage means, readable by a computer or by a microprocessor, integrated or not into the device, possibly removable, stores a program implementing the method according to the invention.
Le bus de communication 101 permet la communication entre les différents éléments inclus dans le micro-ordinateur 10 ou reliés à lui. La représentation du bus 101 n'est pas limitative et notamment l'unité centrale 100 est susceptible de communiquer des instructions à tout élément du micro- ordinateur 10 directement ou par l'intermédiaire d'un autre élément du micro-ordinateur 10. The communication bus 101 allows communication between the various elements included in the microcomputer 10 or connected to it. The representation of the bus 101 is not limiting and in particular the central unit 100 is able to communicate instructions to any element of the microcomputer 10 directly or through another element of the microcomputer 10.
En référence à la figure 2, un mode de réalisation de dispositif de codage 2 selon l'invention est destiné à coder un signal numérique dans le but de le compresser. Le dispositif de codage est intégré dans un appareil, qui est par exemple un appareil photographique numérique, un caméscope numérique, un scanner, une imprimante, un photocopieur, un télécopieur, un système de gestion de base de données ou encore un ordinateur. Referring to Figure 2, an embodiment of coding device 2 according to the invention is for coding a digital signal for the purpose of compressing it. The coding device is integrated in a device, which is for example a digital camera, a digital video camera, a scanner, a printer, a photocopier, a fax machine, a database management system or a computer.
Une image à coder IM est mémorisée dans une mémoire 1. Le 15 dispositif de codage reçoit l'image IM. An image to be encoded IM is stored in a memory 1. The encoder receives the IM image.
Le dispositif de codage 2 comporte: - des moyens 20 de division du signal en blocs de données, - des moyens 21 de transformation en sous bandes de fréquence des blocs de données, - des moyens 22 de quantification des blocs de données transformés, pour former des blocs de symboles de quantification. The coding device 2 comprises: means 20 for dividing the signal into data blocks, means 21 for transforming the data blocks into frequency sub-bands, means 22 for quantizing the transformed data blocks to form quantization symbol blocks.
Selon l'invention, le dispositif de codage selon l'invention comporte en outre: - des moyens 23 de formation de groupes de symboles de quantification en fonction du rang de chaque symbole dans son bloc respectif, - des moyens 24 de construction d'un mode de codage entropique pour chaque groupe de symboles de quantification, - des moyens 25 de codage de chaque groupe par son codeur entropique respectif. According to the invention, the coding device according to the invention further comprises: - means 23 for forming groups of quantization symbols according to the rank of each symbol in its respective block, - means 24 for constructing a entropic coding mode for each group of quantization symbols; means 25 for coding each group by its respective entropy coder.
Le fonctionnement du dispositif de codage est détaillé dans la suite à l'aide d'algorithmes. The operation of the coding device is detailed below using algorithms.
L'image codée peut être transmise par un module de transmission 3 dont le fonctionnement est classique vers un dispositif de décodage 4. En 7 2862450 variante, l'image codée est simplement mémorisée pour être décodée ultérieurement. The coded picture can be transmitted by a transmission module 3 whose operation is conventional to a decoding device 4. In a variant, the coded picture is simply stored for later decoding.
Le dispositif de décodage 4 comporte: - des moyens 40 de construction d'un mode de décodage entropique 5 respectivement associé à chacun des groupes, - des moyens 41 de décodage entropique des symboles de chacun des groupes, - des moyens 42 de formation de blocs de symboles, en fonction du groupe respectif de chaque symbole. The decoding device 4 comprises: means 40 for constructing an entropy decoding mode 5 respectively associated with each of the groups; means 41 for decoding entropy symbols of each of the groups; means 42 for forming blocks. of symbols, depending on the respective group of each symbol.
Le fonctionnement du dispositif de décodage est détaillé dans la suite à l'aide d'un algorithme. The operation of the decoding device is detailed below using an algorithm.
Le dispositif de décodage 4 fournit une image décodée IM' à un dispositif 5 de visualisation d'image. The decoding device 4 provides a decoded picture IM 'to an image display device 5.
II est à noter que le dispositif de codage et le dispositif de décodage 15 peuvent être intégrés dans un même appareil, par exemple l'ordinateur 10 de la figure 1. It should be noted that the coding device and the decoding device 15 can be integrated in the same device, for example the computer 10 of FIG.
La figure 3 représente un premier mode de réalisation de procédé de codage d'une image, selon l'invention. Ce procédé est mis en oeuvre dans le 20 dispositif de codage et comporte des étapes El à E24. FIG. 3 represents a first embodiment of an image coding method, according to the invention. This method is implemented in the coding device and comprises steps E1 to E24.
Le procédé est réalisé sous la forme d'un algorithme qui peut être mémorisé en totalité ou en partie dans tout moyen de stockage d'information capable de coopérer avec le microprocesseur. Ce moyen de stockage est lisible par un ordinateur ou par un microprocesseur. Ce moyen de stockage est intégré ou non au dispositif, et peut être amovible. Par exemple, il peut comporter une bande magnétique, une disquette ou un CD-ROM (disque compact à mémoire figée). The method is embodied in the form of an algorithm that can be stored in whole or in part in any information storage means capable of cooperating with the microprocessor. This storage means is readable by a computer or a microprocessor. This storage means is integrated or not to the device, and can be removable. For example, it may comprise a magnetic tape, a floppy disk or a CD-ROM (compact disk with frozen memory).
L'étape El est une division en blocs B; de l'image à coder. De manière générale, un bloc est un ensemble d'échantillons de l'image. Par exemple, des 30 blocs carrés adjacents de taille prédéterminée 8x8 pixels sont formés dans l'image. Bien entendu, d'autres tailles de blocs sont possibles. Step E1 is a division into blocks B; of the image to be coded. In general, a block is a set of samples of the image. For example, adjacent square blocks of predetermined size 8x8 pixels are formed in the image. Of course, other block sizes are possible.
L'étape suivante E2 est une initialisation à laquelle un premier bloc est considéré. The next step E2 is an initialization to which a first block is considered.
8 2862450 L'étape suivante E3 est une transformation linéaire ou non linéaire du bloc courant B. Par exemple, une transformation en cosinus discrète, dite DCT d'après l'anglais Discrete Cosine Transform, est appliquée au bloc courant. En variante, une transformation en ondelettes discrète est appliquée au bloc courant. The next step E3 is a linear or non-linear transformation of the current block B. For example, a discrete cosine transformation, called DCT according to the English Discrete Cosine Transform, is applied to the current block. Alternatively, a discrete wavelet transformation is applied to the current block.
L'étape E3 comporte en outre une transformation du signal bidimensionnel et un signal monodimensionnel. Pour cela, de manière préférentielle, le bloc B; est parcouru selon un ordre en zig-zag. Cette technique, appelée zig zag scan , est décrite dans le document intitulé Digital image compression techniques de M. Rabbani et P.W. Jones, dans SPIE Opt. Eng. Press, Bellingham, Washington, 1991. The step E3 further comprises a transformation of the two-dimensional signal and a one-dimensional signal. For this, preferably, the block B; is traveled in a zig-zag order. This technique, called zig zag scan, is described in the document entitled Digital image compression techniques of M. Rabbani and P.W. Jones, in SPIE Opt. Eng. Press, Bellingham, Washington, 1991.
Comme représenté à la figure 4, dans le bloc B; à 8x8 coefficients, on considère les diagonales de coefficients orientées d'en bas à gauche vers en haut à droite. Le parcours commence en haut à gauche. Les diagonales sont parcourues soit d'en bas à gauche vers en haut à droite, soit dans le sens inverse. Pour une diagonale donnée, le sens de parcours est le sens opposé à celui de la diagonale précédente. As shown in FIG. 4, in block B; at 8x8 coefficients, we consider the diagonals of coefficients oriented from bottom left to top right. The route starts at the top left. The diagonals are covered either from bottom left to top right, or in the opposite direction. For a given diagonal, the direction of travel is the opposite direction to that of the previous diagonal.
En suivant ce sens de parcours, les coefficients sont rangés dans un vecteur V; à une dimension contenant 64 coefficients. Following this direction of travel, the coefficients are arranged in a vector V; one-dimensional containing 64 coefficients.
En variante, comme représenté à la figure 5, le bloc B; est parcouru ligne par ligne, de gauche à droite et de haut en bas, pour former un vecteur V'; à une dimension contenant également 64 coefficients. Alternatively, as shown in Figure 5, the block B; is traveled line by line, from left to right and from top to bottom, to form a vector V '; dimension also containing 64 coefficients.
L'étape suivante E4 est une quantification du vecteur courant V. Tous les échantillons du bloc sont divisés par un pas de quantification Q, puis arrondis à l'entier le plus proche. Le résultat est une liste de 64 coefficients entiers signés. The next step E4 is a quantization of the current vector V. All the samples of the block are divided by a quantization step Q, then rounded to the nearest integer. The result is a list of 64 signed integer coefficients.
Le pas de quantification est soit prédéterminé, soit sélectionné par l'utilisateur. II peut être le même pour tous les échantillons ou différent pour chaque échantillon du vecteur. The quantization step is either predetermined or selected by the user. It may be the same for all samples or different for each sample of the vector.
Les valeurs ainsi obtenues sont transformées en symboles de quantification. Une valeur non nulle représente son propre symbole de quantification. Lorsqu'un ou plusieurs coefficients sont nuls, ils sont remplacés par un symbole de quantification spécifique RX, où l'entier x est le nombre de coefficients consécutifs nuls. The values thus obtained are transformed into quantization symbols. A non-zero value represents its own quantization symbol. When one or more coefficients are zero, they are replaced by a specific quantization symbol RX, where the integer x is the number of null consecutive coefficients.
9 2862450 Si le dernier coefficient obtenu correspond à une suite de zéros, il n'est pas pris en compte. 9 2862450 If the last coefficient obtained corresponds to a series of zeros, it is not taken into account.
Par exemple, soit V; le vecteur suivant: V; = [12,3 2,5 -6,0 -0,1 4,1 3, 2 -80,0 4,9 18,4 -26,8 2,3 -6,7 0,4 0,1 -0,2 0,5] Avec un pas de quantification de 10, le vecteur quantifié QV; est le suivant: QV; = [1 0 -1 0 0 0 -8 0 2 -3 0 -1 0 0 0 0] Après transformation des valeurs obtenues en symboles de 10 quantification, on obtient le vecteur SQV; suivant: SQV; = [1 RI -1 R3 -8 RI 2 -3 RI -1] En variante, il est possible de ne pas regrouper les zéros successifs ensemble et de coder chacun d'eux indépendamment des autres. For example, let V be; the following vector: V; = [12.3 2.5 -6.0 -0.1 4.1 3, 2 -80.0 4.9 18.4 -26.8 2.3 -6.7 0.4 0.1 - 0.2 0.5] With a quantization step of 10, the quantized vector QV; is the following: QV; = [1 0 -1 0 0 0 -8 0 2 -3 0 -1 0 0 0 0] After transforming the obtained values into quantization symbols, the vector SQV is obtained; next: SQV; = [1 RI -1 R3 -8 RI 2 -3 RI -1] Alternatively, it is possible not to group the successive zeros together and to code each of them independently of the others.
L'étape suivante E5 est une initialisation à laquelle deux variables entières M et n sont initialisées à zéro. La variable M représente le nombre de symboles de quantification contenus dans le vecteur quantifié courant SQV;. La variable n représente l'indice d'un groupe courant dans lequel est classé le symbole de quantification courant. The next step E5 is an initialization in which two integer variables M and n are initialized to zero. The variable M represents the number of quantization symbols contained in the current quantized vector SQV; The variable n represents the index of a current group in which the current quantization symbol is classified.
L'étape suivante E6 est un test pour déterminer si les symboles de 20 quantification du bloc courant sont tous nuls. Si la réponse est positive, alors cette étape est suivie de l'étape E13 qui est décrite dans la suite. The next step E6 is a test to determine if the quantization symbols of the current block are all null. If the response is positive, then this step is followed by step E13 which is described below.
Si la réponse est négative à l'étape E6, alors cette étape est suivie de l'étape E7 qui est une initialisation à laquelle un premier symbole de quantification est considéré dans le vecteur quantifié courant SQV;. If the answer is negative in step E6, then this step is followed by step E7, which is an initialization at which a first quantization symbol is considered in the current quantized vector SQV.
L'étape suivante E8 est l'affectation du symbole courant au groupe de symboles courant G. A l'étape suivante E9, la variable n est incrémentée de une unité pour considérer le groupe de symbole suivant. The next step E8 is the assignment of the current symbol to the current symbol group G. In the next step E9, the variable n is incremented by one unit to consider the next symbol group.
L'étape suivante E10 est l'incrémentation de la variable M de une 30 unité. The next step E10 is the incrementation of the variable M by one unit.
L'étape suivante E11 est un test pour déterminer si le symbole de quantification courant est le dernier du vecteur quantifié courant SQV;. Si la réponse est négative, alors cette étape est suivie de l'étape E12 à laquelle le 2862450 symbole de quantification suivant est considéré. L'étape E12 est suivie de l'étape E8 précédemment décrite. The next step E11 is a test to determine if the current quantization symbol is the last of the current quantized vector SQV; If the answer is negative, then this step is followed by step E12 at which the next quantization symbol 2862450 is considered. Step E12 is followed by step E8 previously described.
Lorsque la réponse est positive à l'étape El 1 cette étape est suivie de l'étape E13 qui est la mémorisation de la valeur de la variable M associée au 5 bloc courant. When the response is positive in step El 1 this step is followed by step E13 which is the storage of the value of the variable M associated with the current block.
L'étape E13 est suivie de l'étape E14 qui est un test pour déterminer si le bloc courant est le dernier bloc à traiter. Si la réponse est négative, alors cette étape est suivie de l'étape E15 à laquelle un bloc suivant est considéré. L'étape E15 est suivie de l'étape E3 précédemment décrite. Step E13 is followed by step E14 which is a test to determine if the current block is the last block to be processed. If the answer is negative, then this step is followed by step E15 to which a next block is considered. Step E15 is followed by step E3 previously described.
Lorsque tous les blocs ont été traités, l'étape E14 est suivie de l'étape E16 à laquelle on considère le premier groupe de symboles de quantification. When all the blocks have been processed, step E14 is followed by step E16 in which the first group of quantization symbols is considered.
L'étape suivante E17 est le calcul de la distribution du groupe de symboles courant Gn. Pour cela, l'histogramme du groupe est déterminé, c'est-à-dire le nombre de symboles du groupe ayant la même valeur, pour chaque valeur possible. The next step E17 is the calculation of the distribution of the current symbol group Gn. For this, the histogram of the group is determined, that is to say the number of symbols of the group having the same value, for each possible value.
L'étape suivante E18 est la construction d'un codeur entropique pour le groupe courant. Pour cela, on utilise par exemple un codeur de Huffman. La probabilité d'apparition de chaque symbole est calculée en divisant le nombre d'apparition de chaque symbole dans le groupe par le nombre de symboles du groupe. Un code est ensuite affecté à chaque symbole. La structure et la longueur du code dépendent de la probabilité d'apparition du symbole. The next step E18 is the construction of an entropy encoder for the current group. For this purpose, for example, a Huffman coder is used. The probability of occurrence of each symbol is calculated by dividing the number of occurrences of each symbol in the group by the number of symbols in the group. A code is then assigned to each symbol. The structure and length of the code depend on the likelihood of the symbol appearing.
Dans un mode préféré de réalisation, le codage utilisé est un codage arithmétique. In a preferred embodiment, the coding used is an arithmetic coding.
II est à noter que des informations destinées à construire ultérieurement le décodeur associé sont écrites dans le fichier compressé contenant les données représentant l'image. Par exemple, pour un codeur de Huffman, on écrit dans le fichier compressé soit le code associé à chaque symbole, soit les probabilités d'apparition de chaque symbole permettant au décodeur de reconstruire les codes. It should be noted that information intended to subsequently build the associated decoder is written in the compressed file containing the data representing the image. For example, for a Huffman coder, one writes in the compressed file either the code associated with each symbol, or the probabilities of appearance of each symbol allowing the decoder to reconstruct the codes.
L'étape suivante E19 est le codage des symboles du groupe courant Gn par le codeur entropique précédemment construit. Le résultat est un train de bits qui est écrit dans le fichier compressé contenant les données de codage de l'image. The next step E19 is the coding of the symbols of the current group Gn by the previously constructed entropy coder. The result is a bit stream that is written to the compressed file containing the encoding data of the image.
11 2862450 L'étape E19 est suivie de l'étape E20 qui est un test pour déterminer si le groupe courant est le dernier groupe à traiter. Si la réponse est négative, alors cette étape est suivie de l'étape E21 à laquelle un groupe suivant est considéré. L'étape E21 est suivie de l'étape El 7 précédemment décrite. Step E19 is followed by step E20 which is a test to determine if the current group is the last group to be processed. If the answer is negative, then this step is followed by step E21 to which a next group is considered. Step E21 is followed by step El 7 previously described.
Lorsque tous les groupes ont été traités, l'étape E20 est suivie de l'étape E22 à laquelle est calculée la distribution du signal M représentant l'ensemble des valeurs de la variable M associées aux blocs. On rappelle que la variable M représente le nombre de symboles de quantification respectivement contenus dans chacun des blocs. When all the groups have been processed, the step E20 is followed by the step E22 at which the distribution of the signal M representing the set of values of the variable M associated with the blocks is calculated. It is recalled that the variable M represents the number of quantization symbols respectively contained in each of the blocks.
L'étape suivante E23 est la construction d'un codeur entropique pour le signal M à partir de sa distribution précédemment déterminée. Dans un mode préférée de réalisation, le codeur entropique est un codeur arithmétique. En variante, un codeur de Huffman est utilisé. Des informations destinées à construire le décodeur associé sont également écrites dans le fichier compressé. The next step E23 is the construction of an entropic coder for the signal M from its previously determined distribution. In a preferred embodiment, the entropy encoder is an arithmetic encoder. Alternatively, a Huffman encoder is used. Information for constructing the associated decoder is also written to the compressed file.
L'étape suivante E24 est le codage du signal M par le codeur entropique précédemment construit. Le résultat est un train de bits qui est écrit dans le fichier compressé contenant les données de codage de l'image. The next step E24 is the coding of the signal M by the previously constructed entropy coder. The result is a bit stream that is written to the compressed file containing the encoding data of the image.
La figure 6 représente un mode de réalisation de procédé de 20 décodage d'une image, selon l'invention. Ce procédé est mis en oeuvre dans le dispositif de décodage et comporte des étapes E30 à E48. Fig. 6 shows an embodiment of an image decoding method according to the invention. This method is implemented in the decoding device and comprises steps E30 to E48.
Le procédé est réalisé sous la forme d'un algorithme qui peut être mémorisé en totalité ou en partie dans tout moyen de stockage d'information capable de coopérer avec le microprocesseur. Ce moyen de stockage est lisible par un ordinateur ou par un microprocesseur. Ce moyen de stockage est intégré ou non au dispositif, et peut être amovible. Par exemple, il peut comporter une bande magnétique, une disquette ou un CD-ROM (disque compact à mémoire figée). The method is embodied in the form of an algorithm that can be stored in whole or in part in any information storage means capable of cooperating with the microprocessor. This storage means is readable by a computer or a microprocessor. This storage means is integrated or not to the device, and can be removable. For example, it may comprise a magnetic tape, a floppy disk or a CD-ROM (compact disk with frozen memory).
L'étape E30 est la construction de décodeur entropique du signal M. 30 Cette construction est réalisée à partir des informations contenues dans le fichier compressé. The step E30 is the construction of the entropic decoder of the signal M. This construction is carried out on the basis of the information contained in the compressed file.
L'étape suivante E31 est le décodage entropique des symboles du signal M. Le résultat est mémorisé en mémoire. The next step E31 is the entropy decoding of the symbols of the signal M. The result is stored in memory.
12 2862450 L'étape suivante E32 est une initialisation à laquelle un premier groupe de symboles de quantification est considéré. The next step E32 is an initialization to which a first group of quantization symbols is considered.
L'étape suivante E33 est la construction de décodeur entropique du groupe courant G. Cette construction est réalisée à partir des informations 5 contenues dans le fichier compressé. The next step E33 is the construction of the entropic decoder of the current group G. This construction is carried out on the basis of the information contained in the compressed file.
L'étape suivante E34 est le décodage entropique des symboles du groupe courant. The next step E34 is the entropy decoding of the symbols of the current group.
L'étape E34 est suivie de l'étape E35 qui est un test pour déterminer si le groupe courant est le dernier groupe à traiter. Si la réponse est négative, alors cette étape est suivie de l'étape E36 à laquelle un groupe suivant est considéré. L'étape E36 est suivie de l'étape E33 précédemment décrite. Step E34 is followed by step E35 which is a test to determine if the current group is the last group to be processed. If the answer is negative, then this step is followed by step E36 to which a next group is considered. Step E36 is followed by step E33 previously described.
Lorsque tous les groupes ont été traités, l'étape E35 est suivie de l'étape E37 à laquelle un premier bloc est considéré. When all groups have been processed, step E35 is followed by step E37 at which a first block is considered.
L'étape suivante E38 est la sélection d'un premier groupe de symboles. Une variable m est initialisée à la valeur zéro. La variable m est utilisée pour compter le nombre de symboles décodés dans le bloc courant. The next step E38 is the selection of a first group of symbols. A variable m is initialized to the value zero. The variable m is used to count the number of decoded symbols in the current block.
L'étape suivante E39 est la sélection d'un premier symbole de quantification dans le groupe courant. The next step E39 is the selection of a first quantization symbol in the current group.
L'étape suivante E40 est un test pour déterminer si le nombre m de symboles déjà décodés dans le bloc courant est égal au nombre M de symboles à décoder dans le bloc courant. Si la réponse est négative, alors cette étape est suivie de l'étape E41 à laquelle le symbole courant est décodé et inséré dans le bloc décodé. Si le symbole décodé est de la forme RX, alors x zéros sont insérés. Sinon, la valeur du symbole est insérée. The next step E40 is a test to determine whether the number m of symbols already decoded in the current block is equal to the number M of symbols to be decoded in the current block. If the answer is negative, then this step is followed by step E41 at which the current symbol is decoded and inserted into the decoded block. If the decoded symbol is of the form RX, then x zeros are inserted. Otherwise, the value of the symbol is inserted.
L'étape suivante E42 est une incrémentation du nombre m de une unité pour signifier qu'un symbole a été décodé. The next step E42 is an incrementation of the number m of one unit to signify that a symbol has been decoded.
A l'étape suivante E43, le groupe suivant est considéré. At the next step E43, the next group is considered.
A l'étape suivante E44, un symbole de quantification suivant dans le groupe courant est considéré. In the next step E44, a next quantization symbol in the current group is considered.
L'étape E44 est suivie de l'étape E40 précédemment décrite. Step E44 is followed by step E40 previously described.
Lorsque la réponse est positive à l'étape E40, alors tous les symboles du bloc courant ont été décodés. Cette étape est suivie de l'étape E45 qui est la déquantification du bloc courant. Chaque valeur précédemment obtenue est multipliée par le pas de quantification Q. 13 2862450 L'étape suivante E46 est la transformation du bloc déquantifié mono-dimensionnel en un bloc bi-dimensionnel de 8x8 coefficients DCT. Pour cela, une opération dite zig-zag scan inverse est effectuée sur le bloc obtenu à l'étape précédente. When the answer is positive in step E40, then all the symbols of the current block have been decoded. This step is followed by the step E45 which is the dequantization of the current block. Each previously obtained value is multiplied by the quantization step Q. The next step E46 is the transformation of the one-dimensional dequantized block into a two-dimensional block of 8 × 8 DCT coefficients. For this, an operation called zig-zag reverse scan is performed on the block obtained in the previous step.
Le bloc ainsi décodé est placé dans l'image décodée. The thus decoded block is placed in the decoded picture.
L'étape suivante E47 est un test pour déterminer si le bloc courant est le dernier bloc à traiter. Si la réponse est négative, alors cette étape est suivie de l'étape E48 à laquelle un bloc suivant est considéré. The next step E47 is a test to determine if the current block is the last block to be processed. If the answer is negative, then this step is followed by step E48 at which a next block is considered.
L'étape E48 est suivie de l'étape E38 précédemment décrite. Step E48 is followed by step E38 previously described.
Lorsque la réponse est positive à l'étape E47, le décodage de l'image est terminé. When the answer is positive in step E47, the decoding of the image is completed.
La figure 7 représente un second mode de réalisation de procédé de codage d'une image, selon l'invention. Ce procédé est mis en oeuvre dans le 15 dispositif de codage et comporte des étapes E101 à E131. FIG. 7 represents a second embodiment of an image coding method, according to the invention. This method is implemented in the coding device and comprises steps E101 to E131.
Le procédé est réalisé sous la forme d'un algorithme qui peut être mémorisé en totalité ou en partie dans tout moyen de stockage d'information capable de coopérer avec le microprocesseur. Ce moyen de stockage est lisible par un ordinateur ou par un microprocesseur. Ce moyen de stockage est intégré ou non au dispositif, et peut être amovible. Par exemple, il peut comporter une bande magnétique, une disquette ou un CD-ROM (disque compact à mémoire figée). The method is embodied in the form of an algorithm that can be stored in whole or in part in any information storage means capable of cooperating with the microprocessor. This storage means is readable by a computer or a microprocessor. This storage means is integrated or not to the device, and can be removable. For example, it may comprise a magnetic tape, a floppy disk or a CD-ROM (compact disk with frozen memory).
Les étapes E101 à E114 formant la première partie du procédé sont respectivement similaires aux étapes E1 à E14 précédemment décrites, à 25 l'exception de l'étape E108. The steps E101 to E114 forming the first part of the method are respectively similar to the steps E1 to E14 previously described, with the exception of the step E108.
L'étape E101 est une division en blocs B; de l'image à coder. Step E101 is a division into blocks B; of the image to be coded.
L'étape suivante E102 est une initialisation à laquelle un premier bloc est considéré. The next step E102 is an initialization to which a first block is considered.
L'étape suivante E103 est une transformation linéaire ou non linéaire du bloc courant B. Par exemple, une transformation en cosinus discrète, dite DCT d'après l'anglais Discrete Cosine Transform, est appliquée au bloc courant. En variante, une transformation en ondelettes discrète est appliquée au bloc courant. The next step E103 is a linear or non-linear transformation of the current block B. For example, a discrete cosine transformation, called DCT according to the English Discrete Cosine Transform, is applied to the current block. Alternatively, a discrete wavelet transformation is applied to the current block.
14 2862450 L'étape E103 comporte en outre une transformation du signal bidimensionnel et un signal monodimensionnel. Pour cela, de manière préférentielle, le bloc B; est parcouru selon un ordre en zig-zag. Step E103 further comprises a transformation of the two-dimensional signal and a one-dimensional signal. For this, preferably, the block B; is traveled in a zig-zag order.
L'étape suivante E104 est une quantification du vecteur courant V. Le 5 résultat est un vecteur quantifié SQV;. The next step E104 is a quantization of the current vector V. The result is a quantized vector SQV.
L'étape suivante E105 est une initialisation à laquelle deux variables entières M et n sont initialisées à zéro. La variable M représente le nombre de symboles de quantification contenus dans le vecteur quantifié courant SQV;. La variable n représente l'indice d'un groupe courant dans lequel est classé le symbole de quantification courant. The next step E105 is an initialization in which two integer variables M and n are initialized to zero. The variable M represents the number of quantization symbols contained in the current quantized vector SQV; The variable n represents the index of a current group in which the current quantization symbol is classified.
L'étape suivante E106 est un test pour déterminer si les symboles de quantification du bloc courant sont tous nuls. Si la réponse est positive, alors cette étape est suivie de l'étape E113 qui est décrite dans la suite. The next step E106 is a test to determine if the quantization symbols of the current block are all null. If the answer is positive, then this step is followed by step E113 which is described below.
Si la réponse est négative à l'étape E106, alors cette étape est suivie 15 de l'étape E107 qui est une initialisation à laquelle un premier symbole de quantification est considéré dans le vecteur quantifié courant SQV;. If the answer is negative at step E106, then this step is followed by step E107 which is an initialization at which a first quantization symbol is considered in the current quantized vector SQV.
A l'étape suivante E108, on considère un groupe courant Gn et son histogramme est incrémenté. L'histogramme est le nombre de symboles du groupe ayant la même valeur, pour chaque valeur possible. Le nombre associé au symbole de quantification courant est incrémenté de une unité dans l'histogramme du groupe courant. In the following step E108, a current group Gn is considered and its histogram is incremented. The histogram is the number of symbols in the group with the same value, for each possible value. The number associated with the current quantization symbol is incremented by one unit in the histogram of the current group.
A l'étape suivante E109, la variable n est incrémentée de une unité pour considérer le groupe de symbole suivant. In the next step E109, the variable n is incremented by one unit to consider the next symbol group.
L'étape suivante E110 est l'incrémentation de la variable M de une 25 unité. L'étape suivante El11 est un test pour déterminer si le symbole de The next step E110 is the incrementation of the variable M by one unit. The next step El11 is a test to determine if the symbol of
quantification courant est le dernier du vecteur quantifié courant SQV;. Si la réponse est négative, alors cette étape est suivie de l'étape E112 à laquelle le symbole de quantification suivant est considéré. L'étape E112 est suivie de l'étape E108 précédemment décrite. current quantization is the last of the quantized current vector SQV; If the answer is negative, then this step is followed by step E112 at which the next quantization symbol is considered. Step E112 is followed by step E108 previously described.
Lorsque la réponse est positive à l'étape El11 cette étape est suivie de l'étape E113 qui est la mémorisation de la valeur de la variable M associée au bloc courant. When the answer is positive in step El11 this step is followed by step E113 which is the storage of the value of the variable M associated with the current block.
2862450 L'étape E113 est suivie de l'étape E114 qui est un test pour déterminer si le bloc courant est le dernier bloc à traiter. Si la réponse est négative, alors cette étape est suivie de l'étape E115 à laquelle un bloc suivant est considéré. L'étape E115 est suivie de l'étape E103 précédemment décrite. Step E113 is followed by step E114 which is a test to determine if the current block is the last block to be processed. If the answer is negative, then this step is followed by step E115 to which a next block is considered. Step E115 is followed by step E103 previously described.
Lorsque tous les blocs ont été traités, l'étape E114 est suivie de l'étape E116. When all blocks have been processed, step E114 is followed by step E116.
Le résultat de la première partie du procédé est l'histogramme de chacun des groupes G et le nombre de symboles à coder dans chacun des groupes. Seules ces valeurs sont mémorisées. Il est à noter que les vecteurs quantifiés ne sont pas mémorisés, ce qui permet de travailler avec une mémoire réduite. The result of the first part of the method is the histogram of each of the groups G and the number of symbols to be encoded in each of the groups. Only these values are stored. It should be noted that the quantized vectors are not memorized, which makes it possible to work with a reduced memory.
La seconde partie du procédé comportant les étapes E116 à E131 est maintenant décrite. The second part of the process comprising steps E116 to E131 is now described.
L'étape E116 est la construction d'un codeur entropique chacun des groupes. Pour cela, on utilise par exemple un codeur de Huffman. La probabilité d'apparition de chaque symbole est calculée en divisant le nombre d'apparition de chaque symbole dans le groupe par le nombre de symboles du groupe. Un code est ensuite affecté à chaque symbole. La structure et la longueur du code dépendent de la probabilité d'apparition du symbole. Step E116 is the construction of an entropic encoder for each of the groups. For this purpose, for example, a Huffman coder is used. The probability of occurrence of each symbol is calculated by dividing the number of occurrences of each symbol in the group by the number of symbols in the group. A code is then assigned to each symbol. The structure and length of the code depend on the likelihood of the symbol appearing.
Dans un mode préféré de réalisation, le codage utilisé est un codage arithmétique. In a preferred embodiment, the coding used is an arithmetic coding.
II est à noter que des informations destinées à construire ultérieurement le décodeur associé sont écrites dans le fichier compressé contenant les données représentant l'image. It should be noted that information intended to subsequently build the associated decoder is written in the compressed file containing the data representing the image.
L'étape E117 est une division en blocs B; de l'image à coder. Step E117 is a division into B blocks; of the image to be coded.
L'étape suivante E118 est une initialisation à laquelle un premier bloc est considéré. The next step E118 is an initialization to which a first block is considered.
L'étape suivante E119 est une transformation linéaire ou non linéaire du bloc courant B. Par exemple, une transformation en cosinus discrète, dite DCT d'après l'anglais Discrete Cosine Transform, est appliquée au bloc courant. En variante, une transformation en ondelettes discrète est appliquée au bloc courant. The next step E119 is a linear or non-linear transformation of the current block B. For example, a discrete cosine transformation, called DCT according to the English Discrete Cosine Transform, is applied to the current block. Alternatively, a discrete wavelet transformation is applied to the current block.
16 2862450 L'étape E119 comporte en outre une transformation du signal bidimensionnel et un signal monodimensionnel. Pour cela, de manière préférentielle, le bloc B; est parcouru selon un ordre en zig-zag. Step E119 further comprises a two-dimensional signal transformation and a one-dimensional signal. For this, preferably, the block B; is traveled in a zig-zag order.
L'étape suivante E120 est une quantification du vecteur courant V;. Le 5 résultat est un vecteur quantifié SQV;. The next step E120 is a quantization of the current vector V; The result is a quantized vector SQV;
L'étape suivante E121 est une initialisation à laquelle la variable entière n est initialisée à zéro. La variable n représente l'indice d'un groupe courant dans lequel est classé le symbole de quantification courant. The next step E121 is an initialization in which the integer variable n is initialized to zero. The variable n represents the index of a current group in which the current quantization symbol is classified.
L'étape suivante E122 est un test pour déterminer si les symboles de 10 quantification du bloc courant sont tous nuls. Si la réponse est positive, alors cette étape est suivie de l'étape E127 qui est décrite dans la suite. The next step E122 is a test to determine if the quantization symbols of the current block are all null. If the answer is positive, then this step is followed by the step E127 which is described below.
Si la réponse est négative à l'étape E122, alors cette étape est suivie de l'étape E123 qui est une initialisation à laquelle un premier symbole de quantification est considéré dans le vecteur quantifié courant SQV;. If the answer is negative in step E122, then this step is followed by step E123 which is an initialization at which a first quantization symbol is considered in the current quantized vector SQV;
L'étape suivante E124 est le codage entropique du symbole courant. Le codeur entropique qui est utilisé est celui qui a été déterminé à l'étape E116 pour le groupe G auquel appartient le symbole courant. Le groupe G, et son codeur entropique associé sont déterminés par la valeur n courante. The next step E124 is the entropy coding of the current symbol. The entropic coder that is used is that determined in step E116 for the group G to which the current symbol belongs. The group G, and its associated entropy coder are determined by the current value n.
L'étape suivante E125 est un test pour déterminer si le symbole de quantification courant est le dernier du vecteur quantifié courant SQV;. Si la réponse est négative, alors cette étape est suivie de l'étape E126 à laquelle le symbole de quantification suivant est considéré. La variable n est incrémenté de une unité pour considérer le groupe suivant. L'étape E126 est suivie de l'étape E124 précédemment décrite. The next step E125 is a test to determine if the current quantization symbol is the last of the quantized current vector SQV; If the answer is negative, then this step is followed by step E126 at which the next quantization symbol is considered. The variable n is incremented by one unit to consider the next group. Step E126 is followed by step E124 previously described.
Lorsque la réponse est positive à l'étape E125 cette étape est suivie de l'étape E127 qui est un test pour déterminer si le bloc courant est le dernier bloc à traiter. Si la réponse est négative, alors cette étape est suivie de l'étape E128 à laquelle un bloc suivant est considéré. L'étape E128 est suivie de l'étape E119 précédemment décrite. When the response is positive in step E125 this step is followed by step E127 which is a test to determine if the current block is the last block to be processed. If the answer is negative, then this step is followed by step E128 to which a next block is considered. Step E128 is followed by step E119 previously described.
Lorsque la réponse est positive à l'étape E127 cette étape est suivie de l'étape E129 à laquelle est calculée la distribution du signal M représentant l'ensemble des valeurs de la variable M associées aux blocs. On rappelle que la variable M représente le nombre de symboles de quantification respectivement contenus dans chacun des blocs. When the response is positive in step E127, this step is followed by step E129 in which the distribution of the signal M representing the set of values of the variable M associated with the blocks is calculated. It is recalled that the variable M represents the number of quantization symbols respectively contained in each of the blocks.
17 2862450 L'étape suivante E130 est la construction d'un codeur entropique pour le signal M à partir de sa distribution précédemment déterminée. Dans un mode préférée de réalisation, le codeur entropique est un codeur arithmétique. En variante, un codeur de Huffman est utilisé. Des informations destinées à construire le décodeur associé sont également écrites dans le fichier compressé. The following step E130 is the construction of an entropic coder for the signal M from its previously determined distribution. In a preferred embodiment, the entropy encoder is an arithmetic encoder. Alternatively, a Huffman encoder is used. Information for constructing the associated decoder is also written to the compressed file.
L'étape suivante E131 est le codage du signal M par le codeur entropique précédemment construit. Le résultat est un train de bits qui est écrit dans le fichier compressé contenant les données de codage de l'image. The next step E131 is the coding of the signal M by the previously constructed entropy coder. The result is a bit stream that is written to the compressed file containing the encoding data of the image.
Le décodage de l'image codée selon ce mode de réalisation est identique au décodage précédemment décrit. The decoding of the coded image according to this embodiment is identical to the decoding previously described.
Bien entendu, la présente invention n'est nullement limitée aux modes de réalisation décrits et représentés, mais englobe, bien au contraire, toute variante à la portée de l'homme du métier. Of course, the present invention is not limited to the embodiments described and shown, but encompasses, on the contrary, any variant within the scope of the skilled person.
Claims (2)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0313420A FR2862450B1 (en) | 2003-11-17 | 2003-11-17 | CODING AND DECODING DIGITAL SIGNAL |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0313420A FR2862450B1 (en) | 2003-11-17 | 2003-11-17 | CODING AND DECODING DIGITAL SIGNAL |
Publications (2)
Publication Number | Publication Date |
---|---|
FR2862450A1 true FR2862450A1 (en) | 2005-05-20 |
FR2862450B1 FR2862450B1 (en) | 2006-04-21 |
Family
ID=34508515
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR0313420A Expired - Fee Related FR2862450B1 (en) | 2003-11-17 | 2003-11-17 | CODING AND DECODING DIGITAL SIGNAL |
Country Status (1)
Country | Link |
---|---|
FR (1) | FR2862450B1 (en) |
-
2003
- 2003-11-17 FR FR0313420A patent/FR2862450B1/en not_active Expired - Fee Related
Non-Patent Citations (6)
Title |
---|
DOVSTAM K: "Video Coding in H.26L", MASTER OF SCIENCE THESIS, ROYAL INSTITUTE OF TECHNOLOGY, STOCKHOLM, SWEDEN, April 2000 (2000-04-01), pages 1 - 83, XP002285240, Retrieved from the Internet <URL:ftp://ftp.it.kth.se/Reports/DEGREE-PROJECT-REPORTS/000601-Kristofer-Dovstam.pdf> [retrieved on 20040617] * |
KUROKI Y ET AL: "Redesigning of JPEG statistical model in the lossy mode fitting distribution of DCT coefficients", IMAGE PROCESSING, 2000. PROCEEDINGS. 2000 INTERNATIONAL CONFERENCE ON, vol. 3, 10 September 2000 (2000-09-10), pages 825 - 828, XP010529595 * |
MEMON N: "Adaptive coding of DCT coefficients by Golomb-Rice codes", IMAGE PROCESSING, 1998. ICIP 98. PROCEEDINGS. 1998 INTERNATIONAL CONFERENCE ON CHICAGO, IL, USA 4-7 OCT. 1998, LOS ALAMITOS, CA, USA,IEEE COMPUT. SOC, US, 4 October 1998 (1998-10-04), pages 516 - 520, XP010308805, ISBN: 0-8186-8821-1 * |
MRAK M ET AL: "Comparison of context-based adaptive binary arithmetic coders in video compression", EC-VIPE-MC 2003, 4TH EURASIP CONFERENCE FOCUSED ON VIDEO IMAGE PROCESSING AND MULTIMEDIA COMMUNICATIONS, 2-5 JULZ 2003, ZAGREB, CROATIA, vol. 1, 2 July 2003 (2003-07-02), pages 277 - 286, XP010650143 * |
REED E C ET AL: "Efficient coding of DCT coefficients by joint position-dependent encoding", ACOUSTICS, SPEECH AND SIGNAL PROCESSING, 1998. PROCEEDINGS OF THE 1998 IEEE INTERNATIONAL CONFERENCE ON SEATTLE, WA, USA 12-15 MAY 1998, NEW YORK, NY, USA,IEEE, US, 12 May 1998 (1998-05-12), pages 2817 - 2820, XP010279416, ISBN: 0-7803-4428-6 * |
TU C ET AL: "Context-Based Entropy Coding of Block Transform Coefficients for Image Compression", IEEE TRANSACTIONS ON IMAGE PROCESSING, vol. 11, no. 11, November 2002 (2002-11-01), pages 1271 - 1283, XP002285239 * |
Also Published As
Publication number | Publication date |
---|---|
FR2862450B1 (en) | 2006-04-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7196641B2 (en) | System and method for audio data compression and decompression using discrete wavelet transform (DWT) | |
FR2842983A1 (en) | TRANSCODING OF DATA | |
FR2835366A1 (en) | Method and device for the forming of a reduced compressed digital signal | |
US20030185453A1 (en) | Producing and encoding rate-distortion information allowing optimal transcoding of compressed digital image | |
WO1997010676A1 (en) | Hybrid waveform and model-based encoding and decoding of image signals | |
FR2826227A1 (en) | Coded digital signal processing method for computer, printer, involves decoding and retrieving internal zones contained entirely in selected portion of coded digital signal | |
FR2816154A1 (en) | INSERTION OF ADDITIONAL INFORMATION INTO DIGITAL DATA | |
FR2846835A1 (en) | Data e.g. digital image coding process for digital camera and photocopier, involves selecting coding mode based on coding costs calculated according to same throughput-distortion bias for overall image | |
FR2755818A1 (en) | DIGITAL SIGNAL CODING BY DECOMPOSITION IN FREQUENCY SUB-BANDS AND VECTOR QUANTIFICATION IN FINISED STATES | |
FR2849982A1 (en) | Coded digital image decoding method, involves decoding image to preset resolution based on determined preset resolution quantity of data, and selecting decoded image based on relation between selected and preset resolutions | |
FR2825224A1 (en) | METHOD AND DEVICE FOR COMPRESSING AND / OR INDEXING DIGITAL IMAGES | |
FR2782861A1 (en) | GEOMETRIC TRANSCODING OF A DIGITAL SIGNAL | |
FR2816138A1 (en) | DECODING OF DIGITAL DATA | |
FR2862450A1 (en) | Coding/decoding digital signals for digital images having signals block divided transferred then sub band quantized using symbol groups/construction entropic code group/code group sets | |
FR2812506A1 (en) | ALARM METHOD AND DEVICE DURING THE PROGRESSIVE DECODING OF A DIGITAL IMAGE CODED WITH A REGION OF INTEREST | |
FR2862449A1 (en) | Coding/decoding digital signals for image compression having signals divided/entropic code found then symbols number determined quantification steps then signals generated/coded | |
FR2835665A1 (en) | CODING AND DECODING OF DIGITAL SIGNALS | |
WO2018065687A1 (en) | Method for encoding an image and associated decoding method, devices, terminal equipment and computer programs | |
FR2831729A1 (en) | Digital signal processing method e.g. for video signals, involves determining minimum distance between two samples and between copies of one sample and other sample | |
FR2832875A1 (en) | Method and device for coding and decoding of digital signal, in particular for still images with compression | |
Olanda et al. | Tiling of the wavelet lowpass subbands for progressive browsing of images | |
FR2846836A1 (en) | Data e.g. video coding method, involves estimating number of coefficients that are to be coded according to criterion of coding and performing approximation of coefficients taken on estimation number and in order of calculation | |
FR2790898A1 (en) | Digital image compression technique includes division of signal into sub-bands and target blocks for encoding by selection criteria | |
FR2834832A1 (en) | Fixed image/sound/video lossy digital signal compression having each element occurrences determined/null occurrences modified and associated rate function calculated following occurrence number | |
FR2801743A1 (en) | Physical magnitudes representation digital signal coding by organizing second blocks of in set of 2D data and entropy coding in one coding mode of combined together data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ST | Notification of lapse |
Effective date: 20140731 |