FR2805941A1 - Procede et dispositif de codage entropique - Google Patents

Procede et dispositif de codage entropique Download PDF

Info

Publication number
FR2805941A1
FR2805941A1 FR0002700A FR0002700A FR2805941A1 FR 2805941 A1 FR2805941 A1 FR 2805941A1 FR 0002700 A FR0002700 A FR 0002700A FR 0002700 A FR0002700 A FR 0002700A FR 2805941 A1 FR2805941 A1 FR 2805941A1
Authority
FR
France
Prior art keywords
coefficient
coding
value
bit
pass
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
Application number
FR0002700A
Other languages
English (en)
Other versions
FR2805941B1 (fr
Inventor
David Bouchard
Cruz Diego Santa
Raphael Grosbois
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to FR0002700A priority Critical patent/FR2805941B1/fr
Priority to US09/796,455 priority patent/US7062095B2/en
Publication of FR2805941A1 publication Critical patent/FR2805941A1/fr
Application granted granted Critical
Publication of FR2805941B1 publication Critical patent/FR2805941B1/fr
Anticipated expiration legal-status Critical
Expired - Fee Related 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/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

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

Abstract

Un procédé d'ordonnancement des bits dans un mot d'état (s[c]) de N bits adapté à représenter l'état d'un coefficient (c) lors d'un codage entropique en plusieurs passes du coefficient est adapté à modifier la valeur du dernier bit N-1 du mot d'état (s [c]), représentatif du signe du mot d'état (s [c]), en fonction de la significance du coefficient (c).Un procédé de codage entropique en plusieurs passes de codage d'un coefficient (c) utilisant ce mot d'état (s [c]) comprend une étape de comparaison (E11) de la valeur du mot d'état (s [c]) avec la valeur 0 afin de déterminer si une première condition est vérifiée et une étape d'application (E13, E18) de la première passe de codage au coefficient (c) lorsque la première condition est vérifiée.

Description

La présente invention concerne un procédé d'ordonnancement des bits dans un mot d'état adapté à représenter l'état d'un coefficient lors d'un codage entropique en plusieurs passes de ce coefficient.
Elle concerne également un procédé et un dispositif de codage entropique utilisant ce procédé d'ordonnancement. L'invention s'inscrit plus particulièrement dans le domaine de la compression signaux numériques, utilisée couramment pour le transfert ou le stockage ces signaux. présente invention s'applique en particulier à la compression d'images fixes plus spécifiquement, elle se situe dans le domaine du codage entropique selon la norme JPEG 2000. De manière classique, lors de la compression d'une image selon la norme JPEG 2000, on effectue tout d'abord, si nécessaire, une transformée couleur afin de décomposer l'image, par exemple, en une composante luminance et deux composantes de couleur. Cette transformée couleur est suivie d'une transformée ondelettes qui permet de décomposer une image en sous-bandes de fréquence à différents niveaux de résolution. Cette transformation spectrale en ondelettes est suivie d'une étape de quantification dans laquelle les coefficients sont quantifiés.
Le codage entropique est ensuite appliqué à l'ensemble des blocs de coefficients quantifiés. premier module de codage entropique permet coder proprement les blocs de coefficients quantifiés et de génerer des informations sur le rapport débit / distorsion pour chaque bloc. Un second module de codage entropique permet de former une suite de données binaires (en anglais bitstream) à partir des blocs de coefficients codes et des caractéristiques débit / distorsion requises. Dans le premier module de codage entropique, chaque coefficient quantifié est codé par plan de bits, chaque plan de bits étant lui-même codé en trois passes successives de codage passe de propagation de la significance, une passe de raffinement de la magnitude, et une passe de normalisation. Dans chaque plan de bits, chaque coefficient n'est visité qu'une seule fois. Afin d'appliquer chaque passe de codage correctement, une information d'etat pour chaque coefficient est conservée dans un tableau de mots d'état. Chaque mot d'état, de longueur N bits, est associé à un coefficient et donne un certain nombre d'informations concernant le coefficient en cours de codage : le coefficient est-il significatif ?, a-t-il déjà été codé lors d'une passe de codage ?, les coefficients voisins sont-ils significatifs ?, ... Ainsi, chaque mot d'état comporte au moins un bit indiquant si le coefficient est significatif, un bit, appelé dans la suite de la description bit de codage, indiquant si le coefficient a été codé lors d'une première passe de codage entropique et des bits indiquant respectivement que des coefficients voisins du coefficient sont significatifs lorsque la valeur de ces bits est égale à 1. chaque passe de codage entropique, lorsque l'on souhaite connaître la valeur de l'un ou l'autre de ces bits du mot d'état associé au coefficient, la méthode usuelle consiste à masquer le mot d'état contenant le bit à extraire, et à comparer ce mot après masquage avec la valeur d'un mot dont seul le bit considéré serait égal à 1. Le but de la présente invention est d'optimiser le codage entropique d'un bloc de coefficients utilisant des mots d'état associés aux coefficients, en réduisant notamment le nombre d'opérations nécessaires pour accéder à la valeur des différents bits des mots d'état et réaliser codage entropique. A cet effet, la présente invention vise tout d'abord procédé d'ordonnancement des bits dans un mot d'état de N bits adapté à représenter l'état d'un coefficient lors d'un codage entropique en plusieurs passes dudit coefficient le mot d'état comportant au moins un bit indiquant si le coefficient est significatif, un bit de codage indiquant si le coefficient a été codé lors d'une première passe de codage entropique et des bits indiquant respectivement que des coefficients voisins dudit coefficient sont significatifs lorsque la valeur desdits bits est égale à 1.
Selon l'invention, on choisit le dernier bit N-1 du mot d'état pour indiquer ' le coefficient est significatif, la valeur dudit dernier bit N-1 étant représentative du signe du mot d'état.
Ainsi, le choix du dernier bit N-1 du mot d'état pour indiquer si le coefficient est significatif permet d'accéder très rapidement à cette information, par simple détermination du signe du mot d'état.
Selon une caractéristique préférée de l'invention, on choisit l'avant-dernier bit N-2 du mot d'état comme bit de codage.
Ce bit de codage, utilisé fréquemment lors des différentes passes de codage entropique du coefficient, est ainsi placé en avant-dernière position dans le d'état, de telle sorte qu'on peut accéder rapidement à sa valeur par une simple comparaison de la valeur du mot d'état à une valeur de seuil.
Selon une autre caractéristique préférée de l'invention, l'indication fournie par la valeur du bit de codage dépend de la valeur du dernier bit N-1 du mot d'état.
La corrélation des valeurs du bit de codage et du dernier bit N-1 permet de borner la valeur du mot d'état du coefficient par une seule valeur au lieu de deux, ce qui se traduit par une réduction du nombre de tests à effectuer pour connaître les valeurs des bits de codage et du dernier bit N-1. Selon une caractéristique avantageuse de l'invention, mot d'état indique que le coefficient a été codé lors d'une première passe codage entropique lorsque la valeur du bit de codage est égale à la valeur dernier bit N-1.
Lorsqu'on applique des passes successives de codage à un coefficient, les conditions à respecter pour pouvoir réaliser passes de codage incluent généralement le fait que le coefficient n'ait pas déjà été codé lors d'une première passe de codage entropique. Cette condition implique alors que dans le mot d'état associé au coefficient la valeur du bit de codage et la valeur du dernier bit N-1 soient alternées. En pratique, la valeur du dernier bit N-1 égale à zéro indique que le coefficient n'est pas significatif et la valeur du dernier bit N-1 égale à 1 indique le coefficient est significatif.
Avant le début du codage entropique des coefficients, les mots d'état de chaque coefficient sont initialisés facilement en mettant à zéro l'ensemble des bits de ces mots d'état. Selon un autre aspect, l'invention concerne également un procédé de codage entropique en plusieurs passes d'un coefficient, utilisant un mot d'état de N bits adapté à représenter l'état du coefficient lors codage entropique, le mot d'état comportant au moins un bit indiquant si coefficient est significatif, un bit de codage indiquant si le coefficient a été code lors d'une première passe de codage entropique et des bits indiquant respectivement que des coefficients voisins dudit coefficient sont significatifs lorsque la valeur des bits est égale à 1. Selon l'invention, on choisit le dernier bit N-1 du mot d'état pour indiquer si le coefficient est significatif, la valeur dudit dernier bit N-1 étant représentative du signe du mot d'état. Ce procédé de codage entropique, utilisant ainsi procédé d'ordonnancement conforme au premier aspect de l'invention, peut etre mis en oeuvre de manière optimale. Le bit indiquant si le coefficient est significatif ou non etant placée en dernière position du mot d'état, il est facile d'accéder à sa valeur le signe du mot d'état. Selon une caractéristique préférée de l'invention, coefficient étant codé dans une première passe de codage si une première condition est vérifiée, la première condition étant que le coefficient n'est pas significatif et moins un des coefficients voisins du coefficient est significatif, le procédé codage comprend les étapes suivantes - comparaison de la valeur du mot d'état associé audit coefficient avec la valeur zéro pour déterminer si la première condition est vérifiée ou non ; - application de la première passe de codage au coefficient lorsque la première condition est vérifiée. Ainsi, grâce à l'ordonnancement optimal des bits dans le mot d'etat, la vérification de la première condition du codage entropique peut s'effectuer simplement par une comparaison de la valeur du mot d'état associé coefficient avec la valeur zéro. Selon une caractéristique avantageuse de l'invention, le procédé codage comprend en outre une étape de mise à jour de la valeur du dernier N-1 du mot d'état indiquant si le coefficient a été trouvé significatif lors de la première passe de codage entropique. Le mot d'état associé au coefficient est ainsi mis à jour pour conserver les informations de codage entropique du coefficient. Selon une autre caractéristique préférée de l'invention, le procédé codage comprend une étape de mise à jour de la valeur du bit codage du d'état indiquant si le coefficient a été codé lors d'une premiere passe de codage entropique. Cette étape de mise à jour du bit de codage permet de conserver dans le mot d'état associé au coefficient l'information relative à son codage et qui sera utilisée dans des passes ultérieures de codage entropique.
Selon une caractéristique particulièrement pratique de l'invention, et simple à mettre en oeuvre, la valeur du dernier bit N-1 égale à zéro indique que le coefficient n'est pas significatif et la valeur du dernier bit N-1 égale à 1 indique que le coefficient est significatif, et à l'étape de comparaison, la première condition est vérifiée si la valeur du mot d'état est strictement supérieure à zéro. Selon une caractéristique avantageuse de l'invention, le procède de codage comprend en outre une étape de mise à jour des valeurs de bit mots d'état associés à des coefficients voisins dudit coefficient, lorsque coefficient a été trouvé significatif lors de la première passe de codage entropique. Cette étape de mise à jour permet de modifier les mots d'état des coefficients voisins afin d'optimiser leur codage. Selon une autre caractéristique avantageuse de l'invention, procedé de codage comprend une étape de mise à jour des valeurs de bit mots d'état associés à des coefficients voisins dudit coefficient lorsque coefficient a été trouvé significatif et négatif lors de la première passe de codage entropique.
Comme précédemment, des informations utiles au codage ultérieur des coefficients voisins sont stockées dans les mots d'état associés aux coefficients voisins. Selon une autre caractéristique préférée de l'invention, un coefficient étant codé dans une deuxième passe de codage si une deuxième condition est vérifiée, la deuxième condition étant que le coefficient est significatif et qu'il n'a pas été codé lors d'une première passe de codage, le procedé de codage comprend les étapes suivantes - comparaison de la valeur du mot d'état associé audit coefficient avec une valeur de seuil pour déterminer si la deuxième condition est vérifiée ou ; et - application de la deuxième passe de codage au coefficient lorsque la deuxième condition est vérifiée. Une simple comparaison de la valeur du mot d'état avec une valeur de seuil permet de connaître en fait la valeur du dernier bit N-1 et du bit de codage du mot d'état et d'appliquer correctement la deuxième passe de codage.
De manière particulièrement pratique, la valeur du dernier N-1 égale à zéro indique que le coefficient n'est pas significatif et la valeur du dernier N-1 égale à 1 indique que le coefficient est significatif, le d'état indique le coefficient a été codé lors d'une première passe codage lorsque valeur de l'avant-dernier bit N-2 est égale à la valeur du dernier bit N -1 et, à l'étape de comparaison, la deuxième condition est vérifiée la valeur du mot d'état est inférieure ou égale à -2""2.
De manière analogue, selon une autre caractéristique préférée de l'invention un coefficient étant codé dans une troisième passe de codage si une troisième condition est vérifiée, la troisième condition étant que le coefficient n'est pas significatif et qu'il n'a pas été codé lors d'une première passe de codage, procédé de codage comprend les étapes suivantes - comparaison de la valeur du mot d'état associé audit coefficient avec valeur de seuil pour déterminer si la troisième condition est vérifiée ou non ; et - application de la troisième passe de codage au coefficient lorsque la troisième condition est vérifiée.
Comme précédemment, de manière particulièrement pratique, la valeur du dernier bit N-1 égale à zéro indique que le coefficient 'est pas significatif et la valeur du dernier bit N-1 égale à 1 indique que le coefficient est significatif, le mot d'état indique que le coefficient a été codé lors d'une première passe de codage lorsque la valeur de l'avant dernier bit N-2 est égale à la valeur du dernier bit N-1 et, à l'étape de comparaison, la troisième condition est vérifiée si la valeur du mot d'état est supérieur ou égale à 2N-2.
Comme précédemment, la troisième passe de codage entropique peut être mise en oeuvre facilement après une simple comparaison de la valeur du mot d'état associé au coefficient avec une valeur de seuil.
Selon une autre caractéristique préférée de l'invention, le codage entropique en plusieurs passes étant appliqué successivement à différents plans de bit d'un coefficient, le procédé de codage comprend - une étape de réinitialisation du mot d'état associé audit coefficient après codage d'un plan de bit dudit coefficient, dans laquelle seule la valeur du bit codage est réinitialisée.
manière pratique, afin d'obtenir des valeurs alternées du bit de codage et du dernier bit N-1 du mot d'état lorsque le coefficient n'a pas déjà été codé lors d'une première passe de codage, à l'étape de réinitialisation, on lit la valeur du dernier N-1 du mot d'état et on inscrit une valeur inverse dans le de codage du d'état.
Selon une autre aspect de l'invention, elle concerne également dispositif de codage entropique en plusieurs passes d'un coefficient, utilisant mot d'état de N bits adapté à représenter l'état du coefficient lors du codage entropique, le mot d'état comportant au moins un bit indiquant si le coefficient est significatif, un bit de codage indiquant si le coefficient a été codé lors d'une première passe de codage entropique et des bits indiquant respectivement que des coefficients voisins dudit coefficient sont significatifs lorsque la valeur desdits bits est égale à 1, un coefficient étant codé dans une première passe de codage si une première condition est vérifiée, la première condition étant que le coefficient n'est pas significatif et qu'au moins un des coefficients voisins dudit coefficient est significatif.
Selon l'invention, la valeur du bit N-1 du mot d'état, représentative du signe du mot d'état, indique si le coefficient est significatif, et le dispositif codage entropique comprend des moyens de comparaison de la valeur du d'état associé audit coefficient avec la valeur zéro pour déterminer si la première condition est vérifiée ou non ; et des moyens d'application adaptés à appliquer une première passe de codage au coefficient lorsque la première condition est vérifiée.
La présente invention concerne également un dispositif de traitement de signal numérique, un appareil photographique numérique, imprimante numérique, une caméra numérique, un photocopieur, et ordinateur adaptés à mettre en oeuvre le procédé d'ordonnancement et/ou le procédé de codage entropique conformes à la présente invention. Les caractéristiques et avantages de dispositif de codage, ce dispositif de traitement de signal numérique, cet appareil photographique numérique, cette imprimante numérique, cette caméra numérique, ce photocopieur et cet ordinateur sont analogues à ceux décrits précédemment pour les procédés d'ordonnancement et de codage entropique conformes à l'invention. L'invention vise également un programme d'ordinateur comportant des séquences d'instructions ou des portions de codes logiciels adaptées à mettre en oeuvre un procédé d'ordonnancement et/ou un procédé de codage entropique conformes à l'invention.
L'invention concerne aussi un support d'informations du type disquette ou compact disque (CD) mémorisant un programme d'ordinateur. D'autres particularités et avantages l'invention apparaîtront encore dans la description ci-après.
Aux dessins annexés, donnés à titre d'exemples non limitatifs - la figure 1 illustre une chaîne de codage selon la norme JPEG 2000-, - la figure 2 représente schématiquement un bloc de coefficients à coder après décomposition spectrale d'une image numérique ; - la figure 3 est un algorithme représentant une passe de propagation de la significance lors du codage d'un bloc de coefficients ; - les figures 3a et 3b illustrent la mise à jour du mot d'état associé au coefficient après une passe de propagation de la significance ; - les figures 4 et 5 illustrent la mise à jour des mots d'état de coefficients voisins d'un coefficient après la passe de propagation de la significance ; - la figure 6 est un algorithme représentant une passe de raffinement de la magnitude appliquée lors du codage bloc de coefficients ; - la figure 6a illustre la mise à jour mot d'état associé au coefficient après la passe de raffinement de la magnitude ; - la figure 7 est un algorithme illustrant passe de normalisation lors du codage d'un bloc de coefficients ; - les figures 7a, 7b et 7c illustrent la mise jour du mot d'état associé coefficient après la passe de normalisation ; et - la figure 8 illustre un ordinateur adapté à mettre en ceuvre les procédés d'ordonnancement et de codage conformes à l'invention.
On va décrire tout d'abord en référence à la figure 1, une chaîne de codage entropique selon la norme JPEG 2000, appliqué à une image numérique. Bien entendu, la présente invention peut s'appliquer au codage d'un signal numérique quelconque, à une ou plusieurs dimensions.
Dans ce mode particulier de réalisation, le signal numérique est de dimension 2, formé d'une suite d'échantillons numériques représentant une image. échantillons numériques sont par exemple octets, chaque valeur d'octet représentant un pixel d'une image.
Une étape de transformation couleur E1 éventuellement effectuée tout d'abord sur l'image afin de séparer les composantes de luminance composantes couleur.
étape de transformation spectrale E2 est ensuite appliquée sur l'ensemble coefficients. Dans cet exemple, une transformation discrète en ondelettes (en anglais Discret Wavelet Transform ou DWT) permet de décomposer le signal numérique en sous-bandes de fréquence. Cette décomposition en sous-bandes d'une image est bien connue, et nous rappelons ci-dessous brièvement, en référence à la figure 2, les différentes étapes d'analyse mises en oeuvre. Un premier bloc d'analyse reçoit le signal d'image et le filtre à travers deux filtres numériques, respectivement passe-bas et passe-haut, selon une première direction, par exemple horizontale. Après passage dans des décimateurs par deux, les signaux filtrés résultants sont à leur tour filtrés par deux filtres, respectivement passe-bas et passe-haut selon une seconde direction, par exemple verticale. Chaque signal est à nouveau passé dans un décimateur par deux. On obtient alors en sortie de ce premier bloc d'analyse, quatre sous-bandes LL,, LH,, HL, et HH, de résolution la plus élevée dans la décomposition.
La sous-bande LL, comporte les composantes de basse fréquence selon les deux directions du signal d'image. La sous-bande LH, comporte les composantes de basse fréquence selon une première direction et de haute fréquence selon une deuxième direction du signal d'image I. La sous- bande HL, comporte les composantes de haute fréquence selon la première direction et les composantes de basse fréquence selon la seconde direction. Enfin, la sous-bande HH, comporte les composantes de haute fréquence selon les deux directions. second bloc d'analyse filtre à son tour la sous-bande LL, pour fournir de la meure manière quatre sous-bandes LL2, LH2, HL2, obtient ainsi sept sous-bandes et deux niveaux résolution. Bien entendu nombre de niveaux de résolution, et par conséquent de sous- bandes, peut être choisi différemment, et par exemple être égal ' trois niveaux de résolution avec dix sous-bandes.
pourrait également décomposer les sous-bandes HL, LH et HH en sous-bandes de résolution inférieure. Après l'application de cette transformation spectrale, les coefficients sont quantifiés dans une étape de quantification E3. Un codage entropique est ensuite appliqué à ces coefficients quantifiés afin d'obtenir l'image compressée. Ce codage entropique se décompose en deux étapes successives - la première étape de codage entropique E4 permet de coder entropiquement les coefficients quantifiés de la sous-bande et de construire un train de bits anglais bitstream) associé à chaque bloc de coefficients.
Lors de cette première étape de codage entropique E4, on génère également caractéristiques de débit I distorsion.
- la seconde étape de codage entropique E5 permet de regrouper l'ensemble des trains de bits obtenus pour chaque bloc de coefficients et de générer l'image compressée à partir de ces trains de bits et des caractéristiques de débit / distorsion. Lors de la première étape de codage entropique E4, chaque coefficient quantifié est codé successivement par plan de bits, chaque plan de bits étant lui-même codé en trois passes successives une passe de propagation de la significance, une passe de raffinement de la magnitude, et une passe de normalisation.
Afin d'appliquer correctement les différentes passes codage entropique, il est nécessaire de conserver pour chaque coefficient bloc une information d'etat sur ce coefficient.
cet effet, et conformément à l'invention, un d'état est associé à chaque coefficient, afin de mémoriser cette information d'état.
Ce mot d'état a une longueur de N bits, chaque bit permettant de conserver une information en fonction de sa valeur. Dans cet exemple, et de manière non limitative, les mots d'état associés à chacun des coefficients ont une longueur de 32 bits.
Bien entendu, des mots d'état de longueur inférieure, égale par exemple à 16 bits, ou de longueur supérieure pourraient également être utilisés. Ainsi, à chaque coefficient c d'un bloc de coefficients est associé un mot d'état s[c].
L'ensemble de ces mots d'état s[c] est mémorisé dans un tableau de mots d'état. va décrire ci-après l'ordonnancement des bits d'un mot d'état s[c] associé a un coefficient c appartenant à un bloc de coefficients correspondant à la sous-bande LH, issue de la décomposition spectrale telle qu'illustrée à la figure 2. Bien entendu, le procédé de codage entropique décrit ci-après s'applique à n'importe quelles sous-bandes de coefficients spectraux.
Ici, le coefficient considéré c a huit coefficients voisins dans le bloc de coefficients appelés a, b, d, e, f, g, h et i. Selon l'invention, les bits du mot d'état s[c] sont ordonnancés de la manière suivante en référence à la figure 2 illustrant un bloc - le bit 31, c'est-à-dire le dernier bit N-1 du mot d'état s[c], indique si le coefficient a été trouvé significatif.
De manière usuelle dans cette notation binaire, le dernier bit du mot d'état, c'est à dire ici le bit 31, est représentatif signe de ce mot d'état. Dans cet exemple de réalisation, et manière non limitative, la valeur du dernier bit 31 égale à 0 indique coefficient c n'est pas significatif, et la valeur de ce dernier bit 31 égale a 1 indique que le coefficient c est significatif.
- le bit 30, c'est à dire l'avant-dernier N-2 du mot d'état s[c] indique si le coefficient a déjà été codé dans une premiere passe de codage du plan de bits courant, c'est-à-dire ici dans une passe de propagation de la significance.
Ce bit 30, appelé dans la suite bit de codage, permet pour chaque plan de bits, de conserver une information sur le codage du coefficient dans la première passe de propagation de la significance.
L'indication fournie par la valeur de ce bit de codage 30 dépend de la valeur du dernier bit 31 du mot d'état s[c].
De préférence, afin de faciliter l'accès à la valeur du mot d'état, ce mot d'état s[c] indique que le coefficient c a été codé lors d'une première passe de codage entropique lorsque la valeur du bit de codage 30 est égale à la valeur du dernier bit 31.
Réciproquement, le mot d'état s[c] indique que le coefficient c n'a pas été codé lors de la première passe de codage entropique lorsque les valeurs du bit de codage 30 et du dernier bit 31 sont alternées.
Ainsi, dans cet exemple, si le bit 31 égal à zéro alors une valeur de zéro pour le bit de codage 30 indique que coefficient a été codé lors de la passe de la propagation de la significance. Une valeur de 1 pour ce bit de codage 30 indique qu'il n'a pas été codé.
Réciproquement, si le bit 31 est égal à alors une valeur de zéro pour le bit de codage 30 indique que le coefficient pas été codé lors de la passe de la propagation de la significance. valeur de 1 pour le bit de codage 30 indique réciproquement qu'il a été code.
Les bits 13 à 29 de ce mot d'état ne sont pas utilisés et ont une valeur égale à zéro.
- le bit 12 indique si le coefficient situé immédiatement à gauche du coefficient considéré c, est significatif et négatif, - le bit 11 indique si le coefficient situé immédiatement à droite du coefficient considéré c, est significatif et négatif, - le bit 10 indique si le coefficient a, situé immédiatement au dessus du coefficient considéré c, est significatif et négatif, - le bit 9 indique si le coefficient b, situé immédiatement en dessous du coefficient considéré c, est significatif et négatif, - le bit 8 indique si le coefficient considéré c a été codé par la passe de raffinement de la magnitude dans un plan de bits précédent.
Ce bit 8 n'est pas utilisé dans les tests effectués lors des différentes passes de codage pour savoir si le coefficient doit être codé ou non. En revanche, il est utilisé lors de la passe de raffinement de la magnitude, dans la primitive de codage elle-même.
- le bit 7 indique si le coefficient situé immédiatement à gauche du coefficient considéré c, est significatif, - le bit 6 indique si le coefficient situé immédiatement à droite du coefficient considéré c, est significatif, - le bit 5 indique si le coefficient a, situé immédiatement au dessus du coefficient considéré c, est significatif, - le bit 4 indique si le coefficient b, situé immédiatement en dessous du coefficient considéré c, est significatif, - le bit 3 indique si le coefficient f, situé en haut et à gauche du coefficient considéré c, est significatif, - le bit 2 indique si le coefficient situé en haut et à droite du coefficient considéré c, est significatif, - le bit 1 indique si le coefficient ' situé en bas et à gauche du coefficient considéré c, est significatif, et - le bit 0 indique si le coefficient g, situé en bas et à droite du coefficient considéré c, est significatif.
mot d'état s[c] est utilisé lors du codage entropique d'un coefficient c et permet de savoir si le coefficient est significatif, s'il a déjà été codé, si ses voisins directs sont significatifs, ou significatifs et négatifs, ...
On va décrire tout d'abord en référence à la figure 3, une première passe de codage entropique, correspondant ici à une passe de propagation de la significance dans la norme JPEG 2000.
Un coefficient est codé dans cette première passe de codage si une première condition est vérifiée.
Pour cette première passe de propagation de la significance, un coefficient c codé s'il n'est pas significatif et si au moins un des coefficients voisins est significatif.
Cette première condition se traduit dans le mot d'état s[c] associé au coefficient par le fait que le dernier bit 31 de ce mot d'état s[c] est égal à zéro, et qu'au moins un des bits 0, 1, 2, 3, 4, 5, 6, 7 est égal à 1.
Or, dans le cas présent, le bit 30 et le bit 8 mot d'état s[c] ne peuvent avoir une valeur autre que zéro, car la passe propagation de la significance et la passe de raffinement de la magnitude ont pas encore été effectuées.
De plus, les bits 13 à 29 ne sont pas utilisés et ont donc une valeur égale à zéro.
Enfin, les bits de 9 à 12 sont une "spécialisation" des bits de 4 à 7, c'est à dire par exemple si l'un des bits 9 à 12 est égal à 1, alors le bit correspondant à 7 le sera également.
Le dernier bit 31 du mot d'état s[c] correspondant au bit du signe du mot, on peut extraire sa valeur en effectuant une simple comparaison du mot d'état avec la valeur zéro.
plus, si au moins un des bits de 0 à 7 est non nul, la valeur absolue du d'état s[c] sera strictement supérieure à zéro.
conséquent, pour déterminer si la première condition est vérifiée, il suffit tester si le mot d'état s[c] est strictement supérieur à zéro. La passe de la propagation de la significance comporte tout d'abord une première étape d'initialisation E10 dans laquelle on considère le premier coefficient c bloc de coefficients à coder.
Le procedé de codage comporte ensuite une étape de comparaison E11 de valeur du mot d'état s[c] avec la valeur zéro. Si la valeur du mot d'état s[c] n' pas strictement positive, on considère dans une étape E12 le coefficient suivant. Sinon, mot d'état étant strictement supérieur à zéro, on applique une première passe codage au coefficient puisque la première condition est vérifiée.
Dans cette passe de propagation de la significance, on utilise une primitive ZC (Zero-Coding). Cette primitive est décrite dans le texte de référence de la norme JPEG 2000 (JPEG 2000 Vérification model text reference). Elle consiste à coder le coefficient considéré c à l'aide d'un contexte qui va être obtenu en fonction de la significance de ses coefficients voisins.
Cette primitive ZC est bien connue et ne sera pas explicitée en détail ci-après.
Quel que soit le résultat de cette primitive ZC à l'issue de l'étape de codage E13, le coefficient c est considéré comme ayant été codé dans la passe de propagation de la significance et le bit de codage 30 de son mot d'état s[c] doit donc être mis à jour.
La mise à jour de ce bit de codage 30 dépend de la valeur du dernier bit 31 du mot d'état s[c].
On vérifie dans une étape de test E14 si le coefficient c, à l'issue de l'étape de codage , a été codé à 1.
Dans la negative, cela signifie que le coefficient c n'a pas été trouvé significatif.
La valeur du dernier bit 31 du mot d'état s[c] ne change donc pas et reste égale à 0.
Dans une étape de mise à jour E15, on met simplement la valeur du bit de codage 30 à 0. Cette mise à jour de la valeur du bit de codage 30 est illustrée à figure 3a dans laquelle on constate que la valeur du bit de codage 30 du d'état s[c] est mise à 0, les autres valeurs des bits du mot d'état s[c] demeurant inchangées. à l'issue de l'étape de test E14, le coefficient a été codé à 1, en déduit que coefficient c a été trouvé significatif.
Dans ce cas, le dernier bit 31 de son mot d'état s[c] doit prendre la valeur 1. coefficient c ayant en outre été codé lors de cette passe de propagation la significance, la valeur du bit de codage 30 du mot d'état s[c] doit être égalisée avec la valeur du dernier bit 31, c'est-à-dire mise à 1. Cette étape de mise à jour E16 est illustrée à la figure 3b dans laquelle on constate que la valeur du dernier bit 31 et du bit de codage 30 sont mises à 1. Si à l'issue du test E14 la primitive ZC retourne la valeur 1, le coefficient c étant significatif, les valeurs des bits des mots d'état de ses coefficients voisins doivent également être mises à jour par une primitive SU (Significance Update). mise à jour des valeurs des mots d'état suivant la primitive sera décrite ulterieurement en référence à la figure 4. Ensuite, la première passe de propagation de la significance comporte une deuxième primitive SC (Sign Coding) mise en oeuvre dans étape de codage E18 et qui permet de coder le signe du coefficient c fonction des coefficients voisins immédiats (verticaux et horizontaux) lorsque coefficient c a été trouvé significatif. On considère, dans une étape de test E19, le résultat de cette primitive SC. le résultat de cette opération de codage E18 est égal à 1, cela signifie que coefficient a été trouvé négatif et une primitive SGNU (Sign Update) est mise en ceuvre dans une étape E20 afin de mettre à jour les mots d'état des coefficients voisins verticaux et horizontaux. Après avoir traité le coefficient c, on passe au coefficient suivant dans une étape E12 (c=c+1).
On vérifie dans une étape de test E21 si on n'a pas atteint la fin du bloc de coefficients à coder (en anglais ou End of Block), et dans la négative, on réitère les étapes E11 à E21 pour coefficient suivant c+1 du bloc à coder. En référence à la figure 4, la primitive SU (Significance Update) est adaptée à mettre à jour la significance coefficient c dans les mots d'état associés à ses coefficients voisins.
En effet, lorsqu'un coefficient trouvé significatif, les mots d'état des coefficients voisins dans le bloc doivent être mis à jour afin de refléter ce nouvel état. Dans l'exemple illustré ici, dans lequel le coefficient concerné c a huit coefficients voisins dans le bloc de coefficients considéré, on met à jour pour chacun de ces coefficients voisins le concerné parmi les huit premiers bits, de 0 à 7, de leurs mots d'état.
Ainsi, par exemple le bit 0 du d'état s[f], du coefficient voisin f situé en haut et à gauche du coefficient c cours de codage va être mis à 1, le bit 1 du mot d'état s[h] du coefficient voisin situé en haut et à droite du coefficient c en cours de codage va être mis à , et ainsi de suite pour chacun des autres coefficients voisins a, b, d, e, g et i coefficient c.
De même, comme illustré à la figure 5, à l'issue de la primitive de codage du signe du coefficient, il convient également de mettre à jour le signe de ce coefficient c dans les mots d'état des coefficients voisins.
Les bits des mots d'état indiquant signe des coefficients voisins correspondent dans chaque mot d'état aux bits 10, 11 et 12.
Plus précisément, le bit 9 du mot d'etat s[a] du coefficient voisin a, situé au dessus du coefficient c en cours de codage est mis à 1.
De même, le bit 10 du mot d'état s[b] du coefficient voisin b, situé en dessous du coefficient c en cours de codage être mis à 1.
De manière analogue, le bit 11 du mot d'état s[d] du coefficient d, situé immédiatement à gauche du coefficient c en cours de codage, est également mis à 1 et le bit 12 du mot d'état s[e] du coefficient voisin e, situé immédiatement à droite du coefficient c en cours de codage, est également mis à 1.
La première passe de codage entropique réalisée les mises à jour qui suivent également, le procédé de codage comporte deuxième passe codage dans laquelle le coefficient est codé si deuxième condition vérifiée.
Dans le codage entropique selon la norme JPEG 2000, la deuxième passe de codage est une passe de raffinement de la magnitude, qui est appliquée sur le coefficient lorsque celui-ci est significatif et n'a pas été codé lors la première passe de codage, c'est à dire la passe propagation de la significance.
Cette deuxième condition est remplie lorsque le d'état s[c] associé coefficient c à coder a une valeur du dernier bit 31 égale à 1 et une valeur bit de codage 30 égale à 0.
Par conséquent, puisque le dernier bit 31 est égal à 1, la valeur du mot d'état s[c] doit être négative. De plus, l'avant-dernier bit 30 doit être égal à 0, les bits de 13 à 29 sont toujours égaux à 0 et les bits de 0 à 12 peuvent prendre importe quelle valeur.
Les valeurs possibles du mot d'état s[c] pour le coefficient c à coder sont donc toujours inférieures à -2 "-2 ou N est la longueur du mot d'état, ici égale ' 32.
En référence à la figure 6, lors de la passe de raffinement de la magnitude, et après une étape E30 d'initialisation de cette passe de codage en considérant le premier coefficient c, une étape de comparaison E31 consiste à comparer la valeur du mot d'état s[c] du coefficient c avec une valeur de seuil égale ici à -23o.
Cette simple comparaison permet de déterminer si la deuxième condition vérifiée pour appliquer ou non la passe de raffinement de la magnitude le coefficient c.
Notons que grâce à l'invention, et à l'ordonnancement des bits dans le mot d'état s[c], une seule opération de comparaison permet d'accéder à la fois à la valeur des bits 31 et 30. Cette comparaison est plus rapide que les procédés usuels utilisés consistant à isoler les bits 31 et 30 ensembles et à les comparer à une valeur connue, qui nécessitent deux opérations au lieu d'une seule. A l'issue l'étape de comparaison E31, si la valeur du mot d'état s[c] est supérieure à valeur de seuil -23 , on passe dans une étape E32 au coefficient suivant. A contrario, si la valeur du mot d'état s[c] est inférieure ou égale à la valeur de seuil -23 , en déduit que la condition pour appliquer la deuxième passe de codage entropique est vérifiée et une étape E33 de codage proprement dite est mise en oeuvre. Cette étape de codage E33 consiste à appliquer la primitive MR (Magnitude Refinement) qui est décrite dans la norme JPEG 2000 Verification mode) text reference et ne sera pas explicitée dans la suite de la description. Elle permet de raffiner la valeur du coefficient c en fonction de la significance de ses coefficients voisins immédiats (verticaux et horizontaux), c'est à dire ici des coefficients a, b, d, e.
À l'issue cette passe de raffinement de la magnitude E33, une étape de mise à jour est mise en oeuvre pour mettre à jour le mot d'état s[c]. Cette étape de mise à jour E34 est illustrée à la figure 6a.
Elle consiste à modifier la valeur du bit 8 du mot d'état s[c] en lui attribuant une valeur égale à 1 signifiant que la passe de raffinement de la magnitude a déjà été appliquée au coefficient c dans un plan de bit précédent.
On considère ensuite dans une étape E32 le coefficient suivant c=c+1 et on vérifie dans une étape de test E35 si on n'a pas atteint la fin du bloc de coefficients à coder.
Les étapes E31 à E35 sont réitérées jusqu'à ce que la fin du bloc soit atteinte.
Le procédé de codage entropique selon la norme JPEG 2000 comporte ensuite une troisième passe de codage entropique, appelée passe de normalisation qui est mise en oeuvre si une troisième condition est vérifiée. Cette troisième condition est remplie lorsque coefficient c à coder n'est pas significatif et que ce coefficient n'a pas déjà codé lors d'une première passe de codage, c'est à dire lors de la passe de propagation de la significance.
Cette troisième condition s'exprime dans le mot d'état s[c] associé au coefficient c par le fait que le dernier bit 31 a une valeur egale à 0 et que l'avant-dernier 30, c'est à dire le bit de codage, a une valeur égale à 1.
dernier bit 31 ayant une valeur égale à 0 est équivalent au fait que la valeur mot d'état s[c] du coefficient c est positive nulle. De plus, tester si l'avant-dernier bit 30 a une valeur égale à 1 équivaut à tester si la valeur du mot d'état s[c] du coefficient c est supérieure ou égale à 2"-Z où N est la longueur du mot d'état s[c].
Ici, valeur de seuil est par conséquent égale à Apres une étape d'initialisation E40 dans laquelle on considère le premier coefficient c du bloc de coefficients à coder, on vérifie dans une étape de comparaison E41 si la valeur du mot d'état s[c] associé au coefficient à coder c est supérieure ou égale à cette valeur de seuil égale à<B>230.</B>
Dans la négative, on passe directement dans une étape E42 au coefficient suivant.
A contrario, si la valeur du mot d'état s[c] est superieure ou égale à la valeur de seuil 23 , on applique la troisième passe de codage au coefficient c.
Notons qu'ici encore, une simple opération de comparaison de la valeur du mot d'état s[c] avec une valeur de seuil 23 permet de déduire la valeur des deux bits 30 et 31 du mot d'état, et de déterminer ainsi si la troisième condition est vérifiée.
Une étape E43 est mise en oeuvre pour appliquer la passe de normalisation. Cette passe de normalisation est décrite en détail dans la norme JPEG 2000 Verification model test reference et n'a pas besoin d'être explicitée ici. Elle utilise les primitives ZC (Zero-Coding) et RLC (Run-Length Coding).
A l'issue de cette troisième passe de codage , une étape de test E44 permet de déterminer si le coefficient a été trouvé significatif. Dans la négative, avant d'appliquer le codage entropique à un plan de bits suivant du coefficient, on réinitialise le mot d'état s[c] associé au coefficient c après le codage.
Cette étape de réinitialisation consiste à réinitialiser la valeur du bit de codage 30 du mot d'état s[c] du coefficient c. Cependant, seule cette valeur doit être réinitialisée alors que la valeur du dernier bit 31 ne doit changer.
Or, la valeur du bit de codage 30 dépendant de celle dernier bit 31, il est nécessaire de lire tout d'abord dans une étape de lecture la valeur du dernier bit du mot d'état s[c] afin d'inscrire une valeur inverse dans le bit de codage 30 mot d'état s[c].
pratique, on vérifie dans une étape de lecture E45 si la valeur du dernier bit est égale à 1.
Dans la négative, on met la valeur du bit de codage à 1. Cette mise à jour du bit de codage 30 est illustrée à figure 7a. contrario, si la valeur du bit 31 est égale à 1 à l'issue de l'étape de lecture , on met alors la valeur du bit de codage 30 à zéro. Cette mise à jour est illustrée à la figure 7b.
Par ailleurs, si le coefficient a été trouvé significatif lors de l'étape de test E44, l'étape de mise à jour E17 des mots d'état des coefficients voisins est mise en oeuvre comme décrit précédemment en référence à la figure 4.
Une primitive de codage du signe SC (Sign Coding) est mise en ceuvre dans une étape de codage E18 de la même manière que précédemment.
On vérifie également dans une étape de test E19, si le résultat de cette primitive est égal à 1 ou non. Dans l'affirmative, c'est à dire lorsque le coefficient c a été trouvé négatif, une étape de mise à jour E20 est mise en oeuvre comme décrit précédemment en référence à la figure 5.
Ensuite, quel que soit le signe trouvé pour le coefficient à l'issue de l'étape de codage E18, une étape de mise à jour E48 de la valeur du bit 31 du mot d'état s[c] associé au coefficient c est mise en oeuvre comme illustrée à la figure 7c. Le coefficient c ayant été trouvé significatif 'l'issue du test E44, la valeur de ce bit 31 est mise à 1.
On réinitialise ensuite la valeur de l'avant dernier bit 30, c'est à dire le bit codage dans une étape E47 telle que décrite précédemment en référence à figure 7b.
valeur du bit 31 étant égale à 1, la valeur du bit de codage 30 est mise à zero de manière à signifier que le coefficient n'a pas déjà été codé lors d'une première passe de codage.
On considère ensuite dans une étape E42 coefficient c+1 dans la suite des coefficients à coder.
Une étape de test E49 permet de vérifier si coefficient suivant existe bien dans le bloc de coefficients à coder, et dans l'affirmative, on réitère pour ce coefficient suivant l'ensemble des étapes E41 à E48 jusqu'à ce qu'on atteigne la fin du bloc.
L'ensemble des étapes de codage sont réitérées ensuite pour chaque plan de bits des coefficients du bloc.
Grâce à l'invention, chaque passe de codage du procédé de codage entropique peut ainsi être réalisée en utilisant de simples opérations de comparaison de la valeur du mot d'état s[c] associé au coefficient c à coder avec des valeurs de seuil.
La figure 8 illustre un dispositif de codage entropique en plusieurs passes d'un coefficient adapté à mettre en oeuvre les procédé de d'ordonnancement et de codage décrits précédemment.
Dans cet exemple, le dispositif de codage est incorporé dans un ordinateur 50.
Bien entendu, il pourrait être incorporé dans tous types de dispositifs de traitement de signal numérique, et notamment dans un appareil photographique numérique, une imprimante numérique ou un photocopieur.
Afin de mettre en oeuvre l'invention, ce dispositif de codage comprend - des moyens de comparaison de la valeur du mot d'état s[c] associé au coefficient c avec la valeur zéro pour déterminer si la première condition de codage est vérifiée, - des moyens d'application la première passe de codage au coefficient c lorsque la première condition vérifiée, - des moyens de mise à jour de la valeur du dernier bit 31 du mot d'état s[c] indiquant si le coefficient a été trouvé significatif lors de la première passe de codage entropique, - des moyens de mise à jour la valeur du bit de codage 30 du mot d'état s[c] indiquant si le coefficient a eté codé lors d'une première passe de codage entropique, - des moyens de mise à jour des valeurs de bit des mots d'état associés à des coefficients voisins du coefficient c lorsque le coefficient a été trouvé significatif ou lorsque le coefficient a été trouvé significatif et négatif lors de la première passe de codage entropique, - des moyens de comparaison de la valeur du mot d'état s[c] associé au coefficient c avec une valeur de seuil, ici égale à -23 ou 23 , pour déterminer respectivement si une deuxième condition ou une troisième condition est vérifiée, - des moyens d'application d'une deuxième et d'une troisième passe de codage au coefficient c respectivement lorsque la deuxième ou troisième condition est vérifiée, et - des moyens de réinitialisation du mot d'état associé au coefficient c après le codage d'un plan de bits dudit coefficient.
L'ensemble de ces moyens du dispositif de codage sont incorporés dans un microprocesseur (CPU), une mémoire morte 52 comportant un programme pour mettre oeuvre le procédé d'ordonnancement et de codage entropique d'un signal numérique, et une mémoire vive 53 comportant des registres adaptés à enregistrer des variables modifiées au cours de l'exécution du programme.
Cette mémoire vive 53 (en anglais Random Access Memory ou RAM) comprend notamment des registres pour mémoriser les mots d'état s[a] ... s[c] ... s[i] associés aux différents coefficients a, ... c, ..., i au cours de l'exécution programme de codage.
microprocesseur 51, la mémoire morte 52 (Read Only Memory ou ROM) et mémoire vive 53 peuvent être intégrés à l'ordinateur 50 tel qu'illustré sur cette figure 8.
ordinateur 50 est connecté à différents périphériques, par exemple une caméra numérique 54, (ou bien un scanner), (ou tout autre moyen d'acquisition de stockage d'une image), fournissant des données numériques à coder conformément à la présente invention.
L'ordinateur 50 comporte en outre une interface 55 de communication reliée à un réseau 56 apte à transmettre des informations numériques à coder par l'ordinateur 50.
L'ordinateur 50 comporte également un moyen de stockage 57 tel que par exemple un disque dur. II comporte également un lecteur de disquette 58 adapté à lire une disquette 59. La disquette 59 et le disque dur 57 peuvent contenir données numériques à traiter selon le procédé codage conforme à 'invention, ainsi que le code d'exécution de l'invention une fois lu par l'ordinateur 50, sera stocké sur le disque dur 57.
Dans une variante, le programme permettant de mettre oeuvre le procédé de codage conforme à l'invention, pourra être stocké en mémoire morte 52. Selon une autre variante, ce programme pourra être reçu pour être stocké en mémoire morte 52 par l'intermédiaire du reseau de communication 56.
L'ordinateur 50 est relié à un microphone 60 par l'intermédiaire d'une carte entrée / sortie 61. Les données traitées seront dans cas un signal audio de dimension 1.
L'ordinateur 50 possède en outre un écran 62 permettant de visualiser informations à traiter ou permettant de servir d'interface avec l'utilisateur pourra paramétrer certains modes de codage, à l'aide du clavier 63 ou de tout autre moyen (souris par exemple). Le microprocesseur 51 va exécuter les instructions relatives à la mise en oeuvre de l'invention, instructions stockées dans la mémoire morte 52 ou dans les autres éléments de stockage.
Lors de la mise sous tension, les programmes et méthodes stockés dans une des mémoires non volatiles sont transférés dans la mémoire vive 53 qui contiendra alors le code exécutable de l'invention.
Bien entendu, les disquettes 59 peuvent être remplacées par tout support d'information tels que CD-ROM ou carte-mémoire.
Le bus de communication 64 permet la communication entre différents élements de l'ordinateur 50 ou liés à lui. La représentation du bus n'est pas limitative et notamment l'unité centrale 51 est susceptible communiquer les instructions à tout sous-élément de l'ordinateur directement par l'intermédiaire d'un autre sous-élément de l'ordinateur 50.
Bien entendu, de nombreuses modifications peuvent être apportées aux exemples de réalisation décrits ci-dessus sans sortir du cadre de l'invention.

Claims (1)

  1. <U>REVENDICATIONS</U> Procédé d'ordonnancement des bits dans un mot d'état (s[c]) de N bits adapté ' représenter l'état d'un coefficient (c) lors d'un codage entropique en plusieurs passes dudit coefficient (c), le mot d'état (s[c]) comportant moins un bit indiquant si le coefficient (c) est significatif, un bit de codage indiquant si coefficient (c) a été codé lors d'une première passe de codage entropique, et des bits indiquant respectivement que des coefficients voisins b, d, e, f, g, i) dudit coefficient (c) sont significatifs lorsque la valeur desdits bits est égale ' 1, caractérisé en ce qu'on choisit le dernier bit N-1 du mot d'état (s[c]) pour indiquer si le coefficient (c) est significatif, la valeur dudit dernier bit N-1 étant représentative du signe du mot d'état. Procédé d'ordonnancement conforme à la revendication 1, caractérisé ce qu'on choisit l'avant-dernier bit N-2 du mot d'état (s[c]) comme bit de codage. 3. Procédé d'ordonnancement conforme à l'une des revendications 1 ou 2, caractérisé en ce que l'indication fournie par la valeur du bit de codage dépend de la valeur du dernier bit N-1 du mot d'état (s[c]). 4. Procédé d'ordonnancement conforme à l'une des revendications 1 à 3, caractérisé en ce que le mot d'état (s[c]) indique que le coefficient (c) a été codé lors d'une première passe de codage entropique lorsque la valeur du bit de codage est égale à la valeur du dernier bit N-1. 5. Procédé d'ordonnancement conforme à l'une revendications 1 à 4, caractérisé en ce que la valeur du dernier bit N-1 égale 0 indique que le coefficient (c) n'est pas significatif et la valeur du dernier bit égale à 1 indique que le coefficient est significatif. 6. Procédé de codage entropique en plusieurs passes coefficient (c), utilisant un mot d'état (s[c]) de N bits adapté à représenter l'état dudit coefficient (c) lors du codage entropique, le mot d'état (s[c]) comportant moins un bit indiquant si le coefficient est significatif, un bit de codage indiquant si le coefficient a été codé lors d'une première passe de codage entropique, et des bits indiquant respectivement que des coefficients voisins (a, b, d, e, f, g, h, i) du coefficient (c) sont significatifs lorsque la valeur desdits bits est égale à , caractérisé en ce que la valeur du bit N-1 du mot d'état, représentatif du signe du d'état (s[c]), indique si ledit coefficient (c) est significatif. 7. Procédé de codage conforme à la revendication 6, coefficient étant codé dans une première passe de codage si une première condition est vérifiée, la première condition étant que le coefficient (c) n'est pas significatif et qu'au moins un des coefficients voisins (a, b, d, e, f, g, h, i) dudit coefficient (c) est significatif, caractérisé en ce qu'il comprend les étapes suivantes - comparaison (E11) de la valeur du mot d'état (s[c]) associé audit coefficient (c) avec la valeur 0 pour déterminer si la première condition vérifiée ou non ; et -application (E13, E18) de la première passe de codage coefficient (c) lorsque la première condition est vérifiée. 8. Procédé de codage conforme à la revendication 7, caractérisé en comprend une étape de mise à jour (E16) de la valeur du dernier bit N-1 du d'état (s[c]) indiquant si le coefficient (c) a été trouvé significatif lors de la première passe de codage entropique (E13). 9. Procédé de codage conforme à l'une des revendications 7 ou caractérisé en ce qu'il comprend une étape de mise à jour (E15, E16) de valeur du bit de codage du mot d'état (s[c]) indiquant si le coefficient (c) a codé lors d'une première passe de codage entropique (E13). 10. Procédé de codage conforme à la revendication 9, caractérisé en ce la mise à jour de la valeur du bit de codage dépend de la valeur dernier N-1 du mot d'état (s[c]). 11. Procédé de codage conforme à l'une des revendications 9 10, caractérisé en ce qu'à l'étape de mise à jour (E15, E16) de la valeur du de codage du mot d'état (s[c]), la valeur du bit de codage est égalisée avec valeur dernier bit N-1 lorsque le coefficient (c) a été codé lors d'une première passe codage (E13, E18). 12. Procédé de codage conforme à l'une des revendications 7 11, caractérisé en ce que la valeur du dernier bit N-1 égale à 0 indique que le coefficient (c) n'est pas significatif et la valeur du dernier bit -1 égale à 1 indique que le coefficient (c) est significatif, et en ce qu ' l'étape de comparaison (E11), la première condition est vérifiée si la valeur mot d'état (s[c]) est strictement supérieure à 0. 13. Procédé de codage conforme à l'une des revendications 7 à 12, caractérisé en ce qu'il comprend une étape de mise à jour (E1 des valeurs de bit des mots d'état (s[a], s[b], s[d], s[e], s[f], s[g], s[h], s[i]) associés à des coefficients voisins (a, b, d, e, f, g, h, i) dudit coefficient (c) lorsque coefficient (c) a été trouvé significatif lors de la première passe de codage entropique (E13, E1 14. Procédé de codage conforme à l'une des revendications 7 à 13, caractérisé en ce qu'il comprend une étape de mise à jour (E20) des valeurs de bit mots d'état (s[a], s[b], s[d], s[e]) associés à des coefficients voisins (a, b, d, dudit coefficient (c) lorsque le coefficient (c) a été trouvé significatif et négatif lors de la première passe de codage entropique (E13, E1 15. Procédé de codage conforme à l'une des revendications 7 à 14, un coefficient étant codé dans une deuxième passe de codage si une deuxième condition est vérifiée, la deuxième condition étant le coefficient (c) est significatif et qu'il n'a pas été codé lors d'une première passe de codage (E13, E18), caractérisé en ce qu'il comprend les étapes suivantes - comparaison (E31) de la valeur du mot d'état (s[c]) associé audit coefficient (c) avec une valeur de seuil pour déterminer si la deuxieme condition est vérifiée ou non ; et - application (E33) de la deuxième passe de codage coefficient (c) lorsque la deuxième condition est vérifiée. 16. Procédé de codage conforme à la revendication 15, caractérisé en ce que la valeur du dernier bit N-1 égale à 0 indique que le coefficient (c) n'est pas significatif et la valeur du dernier bit N-1 égale à 1 indique que le coefficient est significatif, en ce que le mot d'état (s[c]) indique que le coefficient (c) a été codé lors d'une première passe de codage (E13, E18) lorsque la valeur de l'avant-dernier bit N-2 est égale à la valeur du dernier bit -1 et, en ce qu'à l'étape de comparaison (E31), la deuxième condition est vérifiée si la valeur du mot d'état (s[c]) est inférieure ou égale à -2"-2. 17. Procédé de codage conforme à l'une des revendications 7 à 16, coefficient étant codé dans une troisième passe codage si une troisième condition est vérifiée, la troisième condition étant le coefficient (c) n'est pas significatif et qu'il n'a pas été codé lors d'une première passe de codage (E13, E18), caractérisé en ce qu'il comprend les étapes suivantes - comparaison (E41) de la valeur du mot d'état (s[c]) associé audit coefficient (c) avec une valeur de seuil pour déterminer si la troisième condition est vérifiée ou non ; et -application (E43) de la troisième passe de codage au coefficient (c) lorsque la troisième condition est vérifiée. 18. Procédé de codage conforme à la revendication 17, caractérisé en ce que la valeur du dernier bit N-1 égale à indique que le coefficient n'est pas significatif, et la valeur du dernier bit N-1 egale à 1 indique que le coefficient est significatif, en ce que le mot d'état (s[c]) indique que le coefficient a été codé lors d'une première passe de codage (E13, E18) lorsque la valeur de l'avant dernier bit N-2 est égale à la valeur du dernier bit N-1 et, en ce ' l'étape de comparaison (E41), la troisième condition est vérifiée si la valeur mot d'état (s[c]) est supérieure ou égale à 2N-2. 19. Procédé de codage conforme à l'une des revendications 6 à 18, le codage entropique en plusieurs passes étant appliqué successivement à différents plans de bits d'un coefficient (c), caractérisé en ce qui comprend - une étape de réinitialisation (E45 - E47) du d'état (s[c]) associé audit coefficient (c) après le codage d'un plan de bits dudit coefficient (c), dans laquelle seule la valeur du bit de codage est réinitialisée. 20. Procédé de codage conforme à la revendication 19, caractérisé en ce que l'indication fournie par la valeur du bit de codage dépend de la valeur du dernier bit N-1 du mot d'état (s[c]). 21. Procédé de codage conforme à la revendication 20, caractérisé en qu'à l'étape de réinitialisation (E45 - E47), on lit (E45) la valeur du dernier bit 1 du mot d'état (s[c]) et on inscrit (E46, E47) une valeur inverse dans le bit de codage du mot d'état (s[c]). 22. Dispositif de codage entropique en plusieurs passes d'un coefficient (c), utilisant un mot d'état (s[c]) de N bits adaptés à représenter l'état du coefficient lors du codage entropique, le mot d'état (s[c]) comportant au moins un bit indiquant si le coefficient (c) est significatif, un bit de codage indiquant si le coefficient (c) a été codé lors d'une première passe de codage entropique et bits indiquant respectivement que des coefficients voisins b, d, e, f, g, h, dudit coefficient (c) sont significatifs lorsque la valeur desdits bits est égale a 1, un coefficient étant codé dans une première passe codage si une première condition est vérifiée, la première condition étant que coefficient (c) est pas significatif et qu'au moins un des coefficients voisins b, d, e, f, g, i) dudit coefficient (c) est significatif, caractérisé en ce que valeur du bit -1 du mot d'état (s[c]) représentatif du signe du mot d'état (s[c]), indique si le coefficient (c) est significatif, et en ce que ledit dispositif de codage entropique comprend -des moyens de comparaison (51, 52, 53) de la valeur du mot d'état (s[c]) associé audit coefficient (c) avec la valeur 0 pour déterminer si première condition est vérifiée ou non ; et - des moyens d'application (51, 52, 53) adaptés à appliquer première passe de codage au coefficient (c) lorsque la première condition est vérifiée. Dispositif de codage conforme à la revendication 22, caractérisé ce qu'il comprend des moyens de mises à jour de la valeur dernier bit N-1 mot d'état (s[c]) indiquant si le coefficient (c) a été trouve significatif lors la première passe de codage entropique. Dispositif de codage conforme à l'une des revendications 22 ou 23, caractérisé en ce qu'il comprend des moyens de mise à jour (51, 52, 53) de la valeur du de codage du mot d'état (s[c]) indiquant si le coefficient a été codé lors d'une première passe de codage entropique_ 25. Dispositif de codage conforme à l'une des revendications à 24, caractérisé ce qu'il comprend des moyens de mise jour (51, 52, 53) valeurs bit des mots d'état (s[a]), s[b], s[d], s[e], s[f], s[g], s[h], s[i]) associés à des coefficients voisins (a, b, d, e, f, g, h, i) dudit coefficient (c) lorsque le coefficient (c) a été trouvé significatif lors de la première passe de codage entropique. 26. Dispositif de codage conforme à l'une des revendications 22 à 25, caractérisé en ce qu'il comprend des moyens de mise à jour (51, 52, des valeurs de bit des mots d'état (s[a], s[b], s[d], s[e]) associés à coefficients voisins (a, b, d, e) dudit coefficient (c) lorsque le coefficient (c) a trouvé significatif et négatif lors de la première passe de codage entropique. 27. Dispositif de codage conforme à l'une des revendications 22 à 26, un coefficient (c) étant codé dans une deuxième passe de codage si une deuxième condition est vérifiée, la deuxième condition étant que le coefficient (c) est significatif et qu'il n'a pas été codé lors d'une première passe de codage, caractérisé en ce qu'il comprend -des moyens de comparaison (51, 52, 53) de la valeur du mot d'état (s[c]) associé audit coefficient (c) avec une valeur de seuil pour déterminer si la deuxième condition est vérifiée ou non ; et - des moyens d'application (51, 52, 53) de la deuxième passe de codage coefficient (c) lorsque la deuxième condition est vérifiée. 28. Dispositif de codage conforme à l'une des revendications 22 27, un coefficient étant codé dans une troisième passe de codage si troisième condition est vérifiée, la troisième condition étant que le coefficient n'est pas significatif et qu'il n'a pas été codé lors d'une première passe codage, caractérisé en ce qu'il comprend - des moyens de comparaison (51, 52, 53) de la valeur du mot d'état (s[c]) associé audit coefficient (c) avec une valeur de seuil pour déterminer si la troisième condition est vérifiée ou non ; et - des moyens d'application (51, 52, 53) de la troisième passe de codage au coefficient (c) lorsque la troisième condition est vérifiée. 29. Dispositif de codage conforme à l'une des revendications 22 28, le codage entropique en plusieurs passes étant appliqué successivement différents plans de bits d'un coefficient (c), caractérisé en ce qu'il comprend -des moyens de réinitialisation (51, 52, 53) du mot d'état (s(c)) associé audit coefficient (c) après le codage d'un plan de bits dudit coefficient dans laquelle seule la valeur du bit de codage est réinitialisée. 30. Dispositif de codage conforme à l'une des revendications 22 à caractérisé en ce qu'il est incorporé dans un microprocesseur ), une memoire morte (52) étant adapté à mémoriser un programme pour coder entropiquement des coefficients (c), et une mémoire vive (53) comprenant des registres adaptés à mémoriser des variables modifiées lors de l'exécution du programme. 31. Ordinateur, caractérisé en ce qu'il comprend des moyens adaptés à mettre en oeuvre le procédé d'ordonnancement conforme à l'une des revendications 1 à 5. 32. Ordinateur, caractérisé en ce qu'il comprend des moyens adaptés en mettre en oeuvre le procédé de codage conforme à l'une des revendications 6 à 21. 33. Dispositif de traitement de signal numérique, caractérisé en ce qu'il comprend des moyens adaptés à mettre en oeuvre le procédé d'ordonnancement conforme à l'une des revendications 1 à 5. 34. Dispositif de traitement de signal numérique, caractérisé en ce qu'il comprend des moyens adaptés en mettre en oeuvre le procédé codage conforme à l'une des revendications 6 à 21. 35. Appareil photographique numérique, caractérisé ce qu'il comprend des moyens adaptés à mettre en oeuvre le procédé d'ordonnancement conforme à l'une des revendications 1 à 5. 36. Appareil photographique numérique, caractérisé en ce qu'il comprend des moyens adaptés en mettre en oeuvre le procédé de codage conforme à l'une des revendications 6 à 21. 37. Caméra numérique, caractérisée en ce qu'elle comprend des moyens adaptés à mettre en oeuvre le procédé d'ordonnancement conforme à l'une des revendications 1 à 5. 38. Caméra numérique, caractérisée en ce qu'elle comprend des moyens adaptés en mettre en #uvre le procédé de codage conforme à l'une des revendications 6 à 21. 39. Imprimante numérique, caractérisée en qu'elle comprend des moyens adaptés à mettre en #uvre le procède d'ordonnancement conforme à l' des revendications 1 à 5. Imprimante numérique, caractérisée en ce qu'elle comprend des moyens adaptés en mettre en #uvre le procédé de codage conforme à l'une des revendications 6 à 21. 41. Photocopieur, caractérisé en ce qu'il comprend des moyens adaptés à mettre en #uvre le procédé d'ordonnancement conforme à l'une des revendications 1 à 5. 42. Photocopieur, caractérisé en ce qu'il comprend des moyens adaptés en mettre en #uvre le procédé de codage conforme à l'une des revendications 6 à 21.
FR0002700A 2000-03-02 2000-03-02 Procede et dispositif de codage entropique Expired - Fee Related FR2805941B1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR0002700A FR2805941B1 (fr) 2000-03-02 2000-03-02 Procede et dispositif de codage entropique
US09/796,455 US7062095B2 (en) 2000-03-02 2001-03-02 Entropic encoding method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0002700A FR2805941B1 (fr) 2000-03-02 2000-03-02 Procede et dispositif de codage entropique

Publications (2)

Publication Number Publication Date
FR2805941A1 true FR2805941A1 (fr) 2001-09-07
FR2805941B1 FR2805941B1 (fr) 2002-08-09

Family

ID=8847656

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0002700A Expired - Fee Related FR2805941B1 (fr) 2000-03-02 2000-03-02 Procede et dispositif de codage entropique

Country Status (2)

Country Link
US (1) US7062095B2 (fr)
FR (1) FR2805941B1 (fr)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4111259B2 (ja) * 2001-09-25 2008-07-02 株式会社リコー 符号化装置、符号化方法、ソフトウェアプログラム、テーブルデータ並びに記録媒体
US7580578B1 (en) 2003-02-03 2009-08-25 Canon Kabushiki Kaisha Method and device for forming a compressed transcoded digital image signal
EP2348504B1 (fr) * 2009-03-27 2014-01-08 Huawei Technologies Co., Ltd. Procédé et dispositif de codage et de décodage

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2303030A (en) * 1995-07-03 1997-02-05 Ricoh Kk Data compression using reversible wavelet transforms and an embedded codestream
EP0914004A1 (fr) * 1997-10-29 1999-05-06 Ntec Media GmbH Système et méthode de codage pour la compression sans et avec pertes d'images fixes et animées

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5867602A (en) * 1994-09-21 1999-02-02 Ricoh Corporation Reversible wavelet transform and embedded codestream manipulation
US6723039B2 (en) * 2001-04-27 2004-04-20 The Foundry, Inc. Methods, systems and devices relating to implantable fluid pumps

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2303030A (en) * 1995-07-03 1997-02-05 Ricoh Kk Data compression using reversible wavelet transforms and an embedded codestream
EP0914004A1 (fr) * 1997-10-29 1999-05-06 Ntec Media GmbH Système et méthode de codage pour la compression sans et avec pertes d'images fixes et animées

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CHAI B -B ET AL: "Highly efficient codec based on significance-linked connected component analysis of wavelet coefficients", WAVELET APPLICATIONS OV, ORLANDO, FL, USA, 22-24 APRIL 1997, vol. 3078, Proceedings of the SPIE - The International Society for Optical Engineering, 1997, SPIE-Int. Soc. Opt. Eng, USA, pages 647 - 655, XP000964586, ISSN: 0277-786X *
SCHWARTZ E L ET AL: "IMPLEMENTATION OF COMPRESSION WITH REVERSIBLE EMBEDDED WAVELETS", PROCEEDINGS OF THE SPIE, 12 July 1995 (1995-07-12), XP002056278 *

Also Published As

Publication number Publication date
US20010046324A1 (en) 2001-11-29
US7062095B2 (en) 2006-06-13
FR2805941B1 (fr) 2002-08-09

Similar Documents

Publication Publication Date Title
FR2826227A1 (fr) Procede et dispositif de traitement d&#39;un signal numerique code
FR2835366A1 (fr) Procede et dispositif de formation d&#39;un signal numerique compresse reduit
FR2842691A1 (fr) Procede et dispositif de transformation d&#39;un signal numerique
FR2815748A1 (fr) Procede et dispositif de traitement et de decodage d&#39;un signal numerique code
FR2816154A1 (fr) Insertion d&#39;information supplementaire dans des donnees numeriques
FR2792150A1 (fr) Procedes et dispositis de codage et de decodage de signaux numeriques, et systemes les mettant en oeuvre
FR2825224A1 (fr) Procede et dispositif de compression et ou d&#39;indexation d&#39;images numeriques
FR2792432A1 (fr) Dispositif et procede de transformation de signal numerique
FR2805941A1 (fr) Procede et dispositif de codage entropique
FR2782861A1 (fr) Transcodage geometrique d&#39;un signal numerique
FR2792151A1 (fr) Procedes et dispositifs de codage et de decodage de signaux numeriques, et systemes les mettant en oeuvre
FR2872972A1 (fr) Procede et dispositif de transmission video entre un serveur et un client
FR2835665A1 (fr) Codage et decodage de signal numerique
WO2004039075A2 (fr) Desembrouillage adaptatif et progressif de flux audio
FR2929431A1 (fr) Procede et dispositif de classification des echantillons representatifs d&#39;un signal numerique d&#39;image
EP1307051A2 (fr) Procédé de copie de données numériques compressées.
WO2024121109A1 (fr) Procédé et dispositif de codage et décodage d&#39;images
WO2024121107A1 (fr) Procédé et dispositif de codage et décodage d&#39;images.
FR2831729A1 (fr) Codage et decodage de signal numerique
FR2787222A1 (fr) Procede et dispositif de transformation geometrique d&#39;une image dans un reseau de communication informatique
FR2862449A1 (fr) Codage et decodage de signal numerique
FR2914467A1 (fr) Procedes et dispositifs de codage et de decodage de signaux numeriques multidimensionnels.
FR2846837A1 (fr) Codage de donnees numeriques avec determination d&#39;un parcours parmi les donnees
FR2817697A1 (fr) Procede et dispositif de traitement d&#39;un ensemble de donnees representatives de grandeurs physiques
FR2832875A1 (fr) Codage et decodage de signal numerique

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20141128