FR2905539A1 - Procede et dispositif de codage de signaux numeriques multidimensionnels - Google Patents

Procede et dispositif de codage de signaux numeriques multidimensionnels Download PDF

Info

Publication number
FR2905539A1
FR2905539A1 FR0653555A FR0653555A FR2905539A1 FR 2905539 A1 FR2905539 A1 FR 2905539A1 FR 0653555 A FR0653555 A FR 0653555A FR 0653555 A FR0653555 A FR 0653555A FR 2905539 A1 FR2905539 A1 FR 2905539A1
Authority
FR
France
Prior art keywords
values
sample
quantizer
samples
iteration
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
FR0653555A
Other languages
English (en)
Other versions
FR2905539B1 (fr
Inventor
Felix Henry
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Research Center France SAS
Original Assignee
Canon Research Center France SAS
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 Research Center France SAS filed Critical Canon Research Center France SAS
Priority to FR0653555A priority Critical patent/FR2905539B1/fr
Publication of FR2905539A1 publication Critical patent/FR2905539A1/fr
Application granted granted Critical
Publication of FR2905539B1 publication Critical patent/FR2905539B1/fr
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • H04N19/635Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by filter definition or implementation details
    • 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/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/149Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/19Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding using optimisation based on Lagrange multipliers

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

Ce procédé de codage d'un signal numérique multidimensionnel formé d'une pluralité d'échantillons inclut une phase itérative (E21 à E33) de détermination d'un quantificateur paramétrique. Cette phase comporte, lors d'au moins une itération, une étape d'estimation de valeurs de débit d'échantillons respectivement associées aux valeurs du quantificateur ayant une occurrence non nulle lors de l'itération précédente, cette étape d'estimation utilisant une technique d'estimation prédéterminée. Le procédé comporte en outre, lors de cette itération, une autre étape (E36, E37, E38) d'estimation de valeurs de débit d'échantillons respectivement associées aux valeurs du quantificateur qui ont une occurrence nulle lors de l'itération précédente, cette autre étape d'estimation utilisant une technique d'estimation différente de la technique d'estimation prédéterminée.

Description

1 La présente invention se rapporte à un procédé et à un dispositif de
codage de signaux numériques à plusieurs dimensions spatiales ou spatio-temporelles. Dans toute la suite, ces signaux sont dits multidimensionnels. Elle appartient au domaine général du traitement numérique des signaux et a plus précisément trait au filtrage, au codage et au décodage de signaux numériques multidimensionnels. A titre d'exemples nullement limitatifs, les signaux concernés peuvent représenter des images fixes (c'est-à-dire des signaux à deux dimensions spatiales) ou des vidéos (c'est-à-dire des signaux à trois dimensions : deux dimensions spatiales et une dimension temporelle) ou, plus généralement, des données multimédia. Par exemple, une image numérique provenant d'un appareil photo numérique est constituée d'un ensemble de N x M unités élémentaires d'image ou pixels, où N est la hauteur de l'image et M sa largeur. Cette image est codée avant d'être stockée en mémoire. Les données initiales, c'est-à-dire l'information représentative des pixels de l'image, sont organisées en un tableau bidimensionnel accessible, par exemple, ligne à ligne.
Une image numérique subit généralement une transformation préalablement à son codage. De même, lors du décodage d'une image numérique codée, l'image subit une transformation inverse. La transformation peut consister à appliquer un filtre à tout ou partie de l'image numérique. Un filtre peut être vu comme un produit de convolution entre le signal d'image et un vecteur prédéterminé permettant, pour chaque pixel de la région à laquelle il s'applique, de modifier sa valeur en fonction des valeurs des pixels avoisinants, affectées de coefficients. La présente invention apporte un perfectionnement à l'un des aspects de la technique de codage d'un signal numérique multidimensionnel que décrit la demande de brevet français déposée le 29 juillet 2005 sous le numéro 05 08149. 2905539 2 La technique de codage en question inclut un filtrage du signal numérique multidimensionnel. On rappelle ci-dessous les principaux aspects de ce filtrage, qui est utilisé par la présente invention dans un mode particulier de réalisation. H n'est cependant pas exclu que l'invention mette en oeuvre un autre 5 type de transformation, en lieu et place d'un tel filtrage. Ce filtrage, qui utilise une décomposition du signal en sous-bandes de fréquence, vise à réduire la quantité d'information présente dans les sous-bandes, de façon à améliorer la compression du signal en vue de son stockage ou de sa transmission. 10 Chaque échantillon filtré présente une valeur d'amplitude et une valeur d'orientation, toutes deux codées sous la forme de signaux appelés ci-après signaux d'amplitude et signaux d'orientation. Par "orientation", on entend ici une direction dans l'image (par exemple, ligne de pixels, ou colonne de pixels, ou diagonale de pixels). 15 Pour chacun des échantillons à filtrer, on simule un filtrage en appliquant au moins un filtre, du type passe-bas ou passe-haut, selon une pluralité d'orientations géométriques dans le signal numérique. La simulation résulte en une pluralité de valeurs de filtrage simulé de l'échantillon. Puis on sélectionne une valeur de filtrage à appliquer parmi les 20 valeurs de filtrage simulé en fonction d'un critère détaillé plus loin. On applique ainsi un filtrage selon l'orientation géométrique qui aura été déterminée comme la plus appropriée, de façon à augmenter les performances du filtrage. Un tel procédé de filtrage permet de tenir compte des variations 25 locales et notamment de l'orientation locale du flux du signal numérique tout en préservant la propriété de séparabilité du filtrage, c'est-à-dire que le filtrage peut être appliqué de façon indépendante sur les différentes dimensions du signal, par exemple, le long des lignes et le long des colonnes ou inversement. Ce filtrage présente en outre un certain nombre de caractéristiques 30 particulières avantageuses, dont certaines sont exposées ci-dessous. Choisir la valeur absolue la plus faible parmi la pluralité de valeurs de filtrage simulé d'un échantillon permet par exemple de diminuer la quantité 2905539 3 d'information produite par le filtrage, ce qui augmente les performances de compression de cet échantillon. A ce sujet, la quantité d'information présente dans les sous-bandes de fréquence traitées peut être mesurée par l'entropie, qu'on cherche à réduire. 5 On peut aussi choisir, parmi la pluralité de valeurs de filtrage simulé de l'échantillon, celle qui minimise le débit de transmission des échantillons filtrés et codés. On diminue ainsi également la quantité d'information produite par le filtrage. Selon encore une autre variante, c'est la valeur de filtrage qui 10 minimise les erreurs qu'on choisira, afin de minimiser notamment les erreurs de quantification des échantillons filtrés par rapport au signal d'origine. Pour faciliter l'opération de filtrage inverse effectuée au décodage, on peut associer lors du codage, à chaque échantillon filtré, une information représentative de l'orientation géométrique du filtre appliqué à cet échantillon. 15 Ce filtrage peut par exemple être appliqué successivement sur chacune des dimensions du signal numérique traité. Le filtrage d'échantillons peut mettre en oeuvre un schéma de filtrage particulièrement avantageux pour la présente invention, appelé schéma de "lifting" (en anglais "lifting schème"), avec par exemple au moins deux filtres, 20 qui peuvent être appliqués chacun à des échantillons différents, ce qui est économe en termes d'espace mémoire, étant donné que les échantillons sont remplacés au cours de leur filtrage. Quant au décodage d'un signal numérique multidimensionnel codé par une telle technique, il consiste principalement à obtenir une pluralité 25 d'échantillons filtrés, puis à appliquer un filtrage inverse à des échantillons filtrés, ce filtrage inverse étant réalisé sur un échantillon filtré selon l'orientation géométrique du filtre qui a été utilisée pour le filtrage de cet échantillon lors de son codage conformément à l'invention. Comme expliqué ci-dessus, l'orientation qui est choisie pour le 30 filtrage dépend d'un critère de choix prédéterminé portant sur la sortie du filtre. 2905539 4 Dans le cas où on choisit de minimiser le débit d'échantillons en sortie du filtre, il convient, en vue de minimiser ce débit, de connaître la distribution ou répartition statistique des signaux d'amplitude et d'orientation. Cependant, pour établir ces statistiques, il est nécessaire de 5 déterminer les signaux d'orientation. Or pour déterminer les signaux d'orientation et les statistiques, il convient justement de connaître les valeurs de débit. On connaît, notamment par le document US-A-5 321 776, une approche itérative permettant de contourner cette difficulté. Cette approche 10 consiste à attribuer à chaque échantillon un quantificateur paramétrique par itération successives, chaque itération conduisant à une nouvelle distribution des signaux. Un quantificateur paramétrique est un quantificateur dont les caractéristiques dépendent d'un ou plusieurs paramètres par exemple, un quantificateur scalaire est un quantificateur dont le paramètre est le pas de 15 quantification ; pour un quantificateur vectoriel, le paramètre est la taille du dictionnaire de quantification. Ainsi, une première statistique artificielle est donnée. Les orientations du filtrage sont attribuées en minimisant le débit d'échantillons à partir de cette statistique. Puis à chaque itération, une nouvelle statistique est déterminée à 20 partir des orientations précédemment attribuées, ce qui permet de calculer les nouvelles valeurs de débits, requises pour décider de la nouvelle attribution des orientations. Cette solution présente toutefois des inconvénients. Ainsi, lorsque les débits sont calculés à partir des statistiques de 25 l'itération précédente, il arrive que certains échantillons (d'amplitude ou d'orientation) se retrouvent avec un nombre d'occurrences nul. En conséquence, leur débit estimé pour l'itération suivante est un débit infini ; il n'y a donc aucune chance que ces échantillons soient sélectionnés lors de la minimisation de débit. 30 La présente invention a pour but de remédier aux inconvénients précités, en prévoyant un processus d'estimation, lors d'au moins une itération donnée, du débit des échantillons dont le nombre d'occurrences est nul à 2905539 5 l'itération précédente, de façon à améliorer la convergence du mécanisme itératif et, de façon plus générale, augmenter les performances du codage. Dans ce but, la présente invention propose un procédé de codage d'un signal numérique multidimensionnel formé d'une pluralité d'échantillons, 5 incluant une phase itérative de détermination d'un quantificateur paramétrique, cette phase comportant, lors d'au moins une itération, une étape d'estimation d'une pluralité de valeurs de débit d'échantillons respectivement associées aux valeurs du quantificateur qui ont une occurrence non nulle lors de l'itération précédente, cette étape d'estimation utilisant une technique d'estimation 10 prédéterminée, le procédé de codage étant remarquable en ce qu'il comporte en outre, lors de cette itération, une autre étape d'estimation d'une pluralité de valeurs de débit d'échantillons respectivement associées aux valeurs du quantificateur qui ont une occurrence nulle lors de l'itération précédente, cette autre étape d'estimation utilisant une technique d'estimation différente de la 15 technique d'estimation prédéterminée. Ainsi, l'invention permet de réduire le risque de convergence prématurée ou de divergence du mécanisme itératif. Plus généralement, l'invention permet d'augmenter le taux de compression des signaux numériques considérés et donc, de limiter le volume d'informations à mémoriser ou à 20 transmettre, tout en préservant la qualité des signaux. Dans un mode particulier de réalisation, l'autre étape d'estimation, lors de l'itération itération précitée, de valeurs de débit d'échantillons respectivement associées aux valeurs du quantificateur ayant une occurrence nulle lors de l'itération précédente, consiste à ajouter une valeur calculée à la 25 valeur maximale du débit des échantillons ayant une occurrence non nulle lors de l'itération précédente. Cela permet plus particulièrement d'éviter la divergence du mécanisme itératif. Cette valeur calculée peut être obtenue à partir d'une estimation de 30 l'expansion de la population des échantillons. En variante, la valeur calculée précitée peut être obtenue à partir d'une estimation de la dynamique des échantillons. 2905539 6 Ces deux dernières caractéristiques permettent d'éviter la convergence prématurée du mécanisme itératif. Selon une caractéristique particulière, le procédé de codage comporte en outre une étape d'optimisation du quantificateur paramétrique de 5 chacun desdits échantillons. Cette étape d'optimisation peut consister à minimiser le débit estimé pour chaque échantillon, de façon à obtenir un quantificateur paramétrique optimal pour ledit échantillon. L'optimisation du quantificateur paramétrique permet d'améliorer le 10 taux de compression. Selon une caractéristique particulière, l'autre étape d'estimation précitée de valeurs de débit d'échantillons comporte un calcul d'entropie. Cela permet d'avoir la meilleure estimation de débit possible. Le signal numérique multidimensionnel considéré peut être 15 représentatif d'une image fixe. L'image considérée peut être codée suivant la norme JPEG ou JPEG200 Le signal numérique multidimensionnel considéré peut également être représentatif d'une vidéo. 20 Dans le même but que celui indiqué plus haut, la présente invention propose également un dispositif de codage d'un signal numérique multidimensionnel formé d'une pluralité d'échantillons, incluant un module pour déterminer de façon itérative un quantificateur paramétrique, le module de détermination de quantificateur étant adapté à estimer, lors d'au moins une 25 itération, une pluralité de valeurs de débit d'échantillons respectivement associées aux valeurs du quantificateur qui ont une occurrence non nulle lors de l'itération précédente, le module de détermination de quantificateur utilisant une technique d'estimation prédéterminée, le dispositif de codage étant remarquable en ce qu'il comporte en outre un autre module pour estimer, lors 30 de cette itération, une pluralité de valeurs de débit d'échantillons respectivement associées aux valeurs du quantificateur qui ont une occurrence 2905539 7 nulle lors de l'itération précédente, cet autre module d'estimation utilisant une technique d'estimation différente de la technique d'estimation prédéterminée. Toujours dans le même but, la présente invention vise aussi un moyen de stockage d'informations lisible par un ordinateur ou un 5 microprocesseur conservant des instructions d'un programme informatique, remarquable en ce qu'il permet la mise en oeuvre d'un procédé de codage tel que succinctement décrit ci-dessus. Toujours dans le même but, la présente invention vise aussi un produit programme d'ordinateur pouvant être chargé dans un appareil 10 programmable, remarquable en ce qu'il comporte des séquences d'instructions pour mettre en oeuvre un procédé de codage tel que succinctement décrit ci-dessus, lorsque ce programme est chargé et exécuté par l'appareil programmable. Les caractéristiques particulières et les avantages du dispositif de 15 codage, du moyen de stockage d'informations et du produit programme d'ordinateur étant similaires à ceux du procédé de codage, ils ne sont pas répétés ici. D'autres aspects et avantages de l'invention apparaîtront à la lecture de la description détaillée qui suit de modes particuliers de réalisation, donnés à 20 titre d'exemples non limitatifs. La description se réfère aux dessins qui l'accompagnent, dans lesquels : - la figure 1 montre de manière simplifiée un système de traitement d'images numériques susceptible de mettre en oeuvre un procédé de codage conforme à la présente invention 25 - la figure 2 est un organigramme illustrant des étapes de traitement des échantillons d'une image numérique en vue de leur codage conformément à un mode particulier de réalisation de la présente invention ; - la figure 3 est un organigramme illustrant plus en détail des étapes de filtrage, quantification et codage d'un échantillon ; 30 - la figure 4 illustre un exemple non limitatif de simulation de filtrage selon trois orientations géométriques possibles ; 2905539 8 - la figure 5 est un organigramme illustrant des étapes de décodage, déquantification et filtrage inverse, appliquées à un échantillon qui est codé conformément à la présente invention ; et - la figure 6 représente de manière schématique un mode particulier 5 de réalisation d'un appareil susceptible de mettre en oeuvre la présente invention. Le schéma-bloc de la figure 1 illustre un système de traitement d'images numériques notamment par codage et décodage selon l'invention, désigné par la référence générale notée 1. 10 Le système comporte un dispositif 2 de codage, une unité 4 de transmission ou stockage et un dispositif 6 de décodage. L'invention trouve une application particulièrement intéressante dans un système de télécommunications comprenant une pluralité de dispositifs terminaux reliés à travers un réseau de télécommunications. Le procédé de 15 codage selon l'invention peut être mis en oeuvre dans des dispositifs terminaux du système, de façon à autoriser une transmission de fichiers à travers le réseau de télécommunications et réduire ainsi le trafic et les temps de transmission. Une autre application particulièrement intéressante consiste à mettre 20 en oeuvre le procédé de codage selon l'invention dans un dispositif de stockage d'entités multimédia, de façon à pouvoir stocker une grande quantité de données dans une unité de stockage. Comme le montre la figure 1, le dispositif 2 de codage selon l'invention reçoit en entrée une image 10 d'origine. L'image IO est traitée par le 25 dispositif 2 de codage qui délivre en sortie un fichier codé contenant des données d'image comprimées, désigné par le signe de référence FC. Le traitement exécuté dans le dispositif 2 de codage consiste à effectuer des opérations de transformation, de quantification et de codage entropique, respectivement dans les unités 10, 12 et 14. 30 L'opération de transformation effectuée dans l'unité 10 est celle qui met en oeuvre l'invention, tandis que les opérations de quantification et de 2905539 codage entropique respectivement effectuées dans les unités 12 et 14 mettent en oeuvre des moyens classiques. Le fichier codé FO est fourni à l'unité 4 de transmission ou stockage, pour être, par exemple, transmis à travers un réseau ou stocké dans une unité 5 de stockage. Le dispositif 6 de décodage reçoit en entrée le fichier codé FC en provenance de l'unité 4 de transmission ou stockage et fournît en sortie une image décodée (ou décomprimée) ID, laquelle est sensiblement identique à l'image 10 d'origine. 10 Lors du décodage, l'image codée est successivement soumise à des opérations de décodage entropique, de déquantification et de transformation inverse, respectivement dans les unités 18, 20 et 22. L'opération de transformation inverse effectuée dans l'unité 22 est celle qui met en oeuvre l'invention, tandis que les étapes de déquantification et 15 de décodage entropique respectivement effectuées dans les unités 20 et 22 mettent en oeuvre des moyens classiques. Généralement, les données initiales correspondant à l'image 10 d'origine sont organisées en un tableau bidimensionnel qui est accessible ligne à ligne. 20 Le mode particulier de réalisation décrit ci-après présente le codage et le décodage d'une image numérique fixe, c'est-à-dire d'un signal bidimensionnel. Le principe est toutefois identique pour un signal présentant un nombre de dimensions supérieur, par exemple, pour une vidéo, qui, comme mentionné en introduction, se compose de trois dimensions. 25 On décrit maintenant le codage, conformément au procédé de l'invention, d'une image numérique, ce codage comprenant notamment une phase de filtrage consistant à décomposer le signal numérique d'image en sous-bandes de fréquence. Dans le mode particulier de réalisation de l'invention décrit en détail 30 ci-après, ce type de filtrage en sous-bandes est utilisé pour comprimer l'image numérique. Un tel filtrage peut être, par exemple, mis en oeuvre dans la norme 2905539 10 JPEG ou dans la norme JPEG2000, au cours d'une opération également appelée décomposition en ondelettes. Pour plus de détails sur la norme JPEG2000, on se reportera utilement à l'adresse 1nternet suivante : www.jpeg.org. 5 L'organigramme de la figure 2 illustre des étapes d'un procédé de codage conforme à la présente invention, dans un mode particulier de réalisation. Un filtrage en sous-bandes consiste à appliquer à un signal d'origine un filtrage afin d'engendrer une ou plusieurs sous-bandes correspondant à des 10 fréquences différentes. L'ensemble de ces sous-bandes correspond à une résolution donnée. Il est alors courant de sélectionner une ou plusieurs de ces sous-bandes pour les décomposer à nouveau en sous-bandes, qui correspondront à leur tour à la résolution suivante. 15 Ce processus peut être répété un nombre prédéterminé de fois, en fonction de la résolution souhaitée. Comme le montre la figure 2, l'algorithme débute à l'étape E20, au cours laquelle on sélectionne l'image initiale à décomposer. Cette image va être considérée comme une sous-bande de fréquence à filtrer. 20 L'étape E20 est suivie d'une étape E21 consistant à sélectionner une première dimension sur laquelle le traitement va être réalisé. Dans le mode particulier de réalisation décrit ici, on sélectionne la dimension horizontale de la sous-bande de fréquence courante comme première dimension. En variante, on pourrait aussi bien considérer la dimension 25 verticale de la sous-bande de fréquence courante comme la première dimension. A l'étape suivante E22, on construit les valeurs initiales de débit d'échantillons de signal d'image. Dans le mode particulier de réalisation décrit en détail ici, deux 30 informations sont codées pour chaque échantillon. Une première information consiste en des données d'orientation, représentant l'orientation du filtre ayant 2905539 Il servi à produire l'échantillon et une deuxième information consiste en des données d'amplitude, représentant l'amplitude de l'échantillon filtré. On détermine à l'étape E22 des débits initiaux pour chacune de ces deux informations. Pour ce faire, il convient de connaître la dynamique de ces 5 informations. Dans le mode particulier de réalisation décrit ici, la dynamique de l'information d'orientation est déterminée par le fait qu'il y a trois orientations possibles, comme décrit plus en détail ci-après, en liaison avec la figure 4. Cet exemple n'est pas limitatif, car le nombre d'orientations peut bien entendu 10 prendre d'autres valeurs (par exemple, la valeur 8). La dynamique de l'information d'amplitude des échantillons dépend de l'amplitude du signal d'origine et de son éventuelle quantification. Dans le mode particulier de réalisation décrit ici, on suppose que le signal d'amplitude prend des valeurs entières variant de -10 à +10. Il y a donc 21 valeurs 15 d'amplitude possibles. Concernant le signal d'orientation, dans le mode particulier de réalisation décrit ici, les débits initiaux sont considérés comme ayant une distribution uniforme. Etant donné qu'on a 3 orientations possibles, il convient de prévoir un nombre de bits par symbole égal à 1og23 = 1,58, la notation loge, 20 bien connue de l'homme du métier, désignant le logarithme en base 2. Concernant le signal d'amplitude, la statistique initiale est considérée comme non uniforme. On construit donc des débits initiaux de façon que les amplitudes faibles aient un débit faible et les amplitudes élevées aient un débit élevé. Un exemple de débits initiaux est donné dans le tableau ci-dessous : 25 symbole -10 -8 -7 -6 -5 -4 -3 -2 débit 5 5 4 4 4 3 3 2 symbole 0 1 2 3 4 5 6 7 8 9 10 débit 1 2 3 3 4 4 4 5 5 5 5 2905539 12 L'étape E22 est suivie d'une étape E23 de sélection de la première "ligne" de la dimension courante (le terme "ligne" est ici entre guillemets car il est à prendre dans un sens générique signifiant aussi bien ligne, si la "ligne" est horizontale, que colonne, si la "ligne" est verticale). Dans le mode particulier de 5 réalisation décrit ici, où la dimension horizontale est sélectionnée comme première dimension, cette première "ligne" est la première ligne de pixels de la sous-bande courante. Dans la variante où la dimension verticale est sélectionnée comme première dimension, la première "ligne" de la dimension courante est la 10 première colonne de pixels de la sous-bande courante. L'étape E23 est suivie d'une étape E24 de sélection du premier échantillon à traiter dans la ligne courante. Ce premier échantillon est - soit le premier échantillon dans l'ordre lexicographique, c'est-à-dire 15 l'échantillon le plus à gauche lorsque la ligne est une ligne horizontale de pixels (dans le présent mode de réalisation) ou l'échantillon le plus en haut lorsque la ligne est une colonne de pixels (dans la variante précitée), - soit le deuxième échantillon de la ligne (dans le présent mode de réalisation) ou le deuxième échantillon de la colonne (dans ladite variante) si la 20 ligne est filtrée pour la deuxième fois. L'étape E24 est suivie d'une étape E25 au cours de laquelle on effectue le filtrage proprement dit de l'échantillon courant, ainsi que le codage de l'échantillon filtré. Comme on l'a mentionné plus haut, le filtrage, qui peut avoir 25 différents objectifs, vise ici à permettre une bonne compression du signal. A cet effet, on utilise avantageusement une décomposition en sous-bandes par schéma de lifting, telle qu'évoquée en introduction. Pour plus de détails sur la transformée en sous-bandes par lifting, on se reportera utilement à l'article intitulé "Reversible Integer-to-Integer Wavelet 30 Transforms for Image Compression: Performance Evaluation and Analysis" de M. D. ADAMS et F. KOSSENTINI, in IEEE Transactions on Image Processing, Vol. 9, n 6, juin 2000, pages 1010 à 1024. Le principe de la transformée en 2905539 13 sous-bandes par lifting consiste à exploiter les corrélations présentes dans le signal pour aboutir à un ensemble d'informations plus compact et ainsi diminuer l'entropie du signal. Le schéma de lifting peut être vu comme une application particulière 5 de la transformation en ondelettes, qui effectue deux filtrages successifs, à savoir, un premier filtrage passe-haut et un second filtrage passe-bas, où chaque échantillon est remplacé par le résultat de son filtrage. Par exemple, on effectue un premier passage en sélectionnant les échantillons ayant une position impaire, en vue de leur filtrage selon un filtre 10 passe-haut et de leur remplacement. Puis on effectue un second passage en sélectionnant les échantillons ayant une position paire, en vue de leur filtrage selon un filtre passe-bas et de leur remplacement. Dans le mode particulier de réalisation illustré sur la figure 2, l'étape E25 de filtrage et codage met en oeuvre une telle décomposition en sous- 15 bandes de fréquence selon un mécanisme de lifting afin de permettre une compression efficace du signal. Cette étape est décrite en détail plus loin en liaison avec la figure 3. L'étape E25 est suivie d'un test E26 qui consiste à déterminer s'il reste des échantillons à filtrer sur la ligne courante. 20 Si la réponse est positive, le test E26 est suivi d'une étape E27 où on sélectionne l'échantillon suivant sur la ligne courante. Dans le mode particulier de réalisation décrit ici, l'échantillon suivant est placé N échantillons après l'échantillon courant dans l'ordre de parcours des échantillons, où N est une valeur prédéterminée. Par exemple, N peut prendre 25 la valeur 2. En variante, l'échantillon suivant est celui qui suit immédiatement l'échantillon courant. L'étape E27 de sélection de l'échantillon suivant est suivie de l'étape E25 précédemment décrite. 30 Si la réponse au test E26 est négative, on effectue un autre test E28 consistant à déterminer s'il reste au moins une ligne à traiter dans la dimension courante. 2905539 14 Si la réponse au test E28 est positive, on passe à une étape E29 consistant à sélectionner la ligne suivante dans la dimension courante. Dans un mode particulier de réalisation, la ligne suivante est : - la même ligne que la ligne courante, si cette ligne a été traitée une 5 seule fois, ou - la ligne suivante, si la ligne courante a déjà été traitée deux fois. En variante, la ligne suivante est celle qui suit immédiatement la ligne courante. Selon une autre variante, la ligne suivante est placée M lignes après 10 la ligne courante, dans l'ordre de parcours des lignes, où M est une valeur prédéterminée. Par exemple, M peut prendre la valeur 2. L'étape E29 est suivie de l'étape E24 décrite précédemment. Si la réponse au test E28 est négative, on passe à un test E30 qui consiste à déterminer si la convergence des itérations permettant d'attribuer 15 une orientation à chaque filtrage est atteinte. On considère que la convergence est atteinte lorsqu'un critère de convergence est rempli. On peut utiliser divers critères de convergence, dont les suivants : - aucun échantillon ne s'est vu attribuer une orientation différente de 20 celle qu'il avait au cours de l'itération précédente ; -le nombre d'échantillons ayant changé d'orientation depuisl'itération précédente est inférieur à un seuil prédéterminé, par exemple 2% ; - le débit total utilisé pour coder la sous-bande est inchangé depuis la dernière itération, ou bien le changement est inférieur à un seuil 25 prédéterminé. Si la réponse au test E30 est positive, on effectue un test E31 consistant à déterminer s'il reste au moins une dimension à parcourir. Dans le mode particulier de réalisation décrit ici, on filtre d'abord la dimension horizontale, c'est-à-dire qu'on traite les lignes de l'image numérique, 30 puis la dimension verticale, c'est-à-dire qu'on traite les colonnes de l'image numérique. 2905539 15 En variante, on filtre d'abord la dimension verticale, puis la dimension horizontale. Dans le cas d'une vidéo, les trois dimensions, horizontale, verticale et temporelle sont à filtrer successivement, sans contrainte particulière sur 5 l'ordre des trois filtrages. Si la réponse au test E31 est positive, on passe à une étape E32 consistant à sélectionner la dimension suivante à traiter. Dans le mode particulier de réalisation décrit ici, où il n'y a que deux dimensions à traiter, la dimension suivante est la dimension verticale. 10 L'étape E32 est ensuite suivie de l'étape E23 de sélection de la première ligne, décrite précédemment. Si la réponse au test E31 est négative, on effectue un autre test E33, qui a pour objet de déterminer s'il reste au moins une résolution à traiter. En effet, dans le mode de réalisation décrit, dès lors qu'une sous- 15 bande a été filtrée selon chacune des dimensions, engendrant ainsi un certain nombre de nouvelles sous-bandes de fréquence, on réitère le traitement en l'appliquant à une des sous-bandes de fréquence ainsi engendrées. Toutefois, à chaque itération, la taille de chaque sous-bande diminue et à un moment donné, ce processus itératif s'arrête. 20 Le processus itératif est donc exécuté un nombre prédéterminé de fois, par exemple, trois fois. Le test E33 consiste donc à vérifier si le nombre prévu d'itérations a été effectué. Si tel est le cas, l'algorithme se termine à l'étape E34. 25 Dans le cas contraire, l'étape suivante est une étape E35 consistant à sélectionner la sous-bande de fréquence suivante. On réitère alors sur cette nouvelle sous-bande le processus de filtrage et de codage, à partir de l'étape E21 décrite précédemment. Dans un mode particulier de réalisation, la sous-bande suivante 30 sélectionnée est, parmi l'ensemble des sous-bandes produites au cours de l'itération courante, la sous-bande qui est issue d'un filtrage passe-bas dans chacune des dimensions. 2905539 16 Si en revanche la réponse au test E30 est négative, l'étape suivante est une étape E36 de calcul de statistiques, conformément à la présente invention. En effet, au cours de l'étape E36, on calcule les statistiques de 5 distribution des orientations et des amplitudes. Pour ce faire, on parcourt l'ensemble de la sous-bande en cours de traitement et on construit l'histogramme des orientations attribuées au cours des étapes précédentes ainsi que l'histogramme des amplitudes de sortie du filtrage. L'étape suivante est une étape E37 de calcul de débits où, 10 conformément à la présente invention, on calcule le débit associé à chaque orientation et à chaque amplitude possibles, grâce aux histogrammes calculés précédemment. Dans le mode particulier de réalisation décrit ici, pour un type de donnée x (orientation ou amplitude) et pour une valeur x, de cette donnée, la 15 valeur du débit H est obtenue par le calcul d'entropie suivant : H = -Iog2(occ(x,)/card(x)) où: log2 désigne la fonction logarithme en base 2, • occ(x,) est le nombre d'occurrences de xi dans le signal, c'est-à-dire la valeur 20 de l'histogramme de la donnée considérée pour xi et ^ card(x) est le cardinal de la valeur x, c'est-à-dire la somme des valeurs de l'histogramme de x. On construit ainsi les débits des valeurs d'orientation et des valeurs d'amplitude. 25 Certaines orientations et/ou certaines amplitudes peuvent ne pas apparaître du tout dans le signal à l'itération précédente et, en conséquence, avoir une occurrence nulle. La formule de l'entropie donne alors un débit infini. Dans ce cas, conformément à l'invention, le débit associé à la valeur d'amplitude ou d'orientation en question est simplement considéré comme "non 30 calculé". Il pourra être calculé à l'itération suivante. 2905539 17 L'invention prévoit, après l'étape E37 de calcul de débits, une étape particulièrement avantageuse E38 consistant à attribuer une valeur de débit aux symboles à occurrence nulle. En effet, comme mentionné à l'étape précédente, le fait qu'un certain 5 nombre de valeurs d'orientation et/ou d'amplitude puissent ne pas apparaître dans le signal au cours d'une itération pose un problème : le nombre d'occurrences de ces valeurs dans l'histogramme de la donnée considérée est nul, la probabilité d'apparition de ces valeurs est nulle et le débit théorique calculé est infini. 10 En conséquence, si aucune mesure particulière n'était prise, ces orientations et/ou amplitudes ne pourraient plus être sélectionnées au cours des itérations suivantes et ce, de façon définitive. Cela aboutirait à un appauvrissement artificiel de l'ensemble des choix et à une convergence prématurée de l'algorithme d'attribution des orientations. 15 La solution produite par cette convergence prématurée n'est pas optimale, puisqu'un certain nombre de possibilités ont été éliminées artificiellement : en réalité, les valeurs d'amplitude et/ou d'orientation éliminées n'auraient pas eu un débit infini et ont donc été rejetées à tort. Dans le cadre de la solution apportée par l'invention à ce problème, 20 à l'étape E37 précédente, les valeurs d'orientation et/ou d'amplitude ayant un nombre d'occurrences nul ont un débit considéré comme "non calculé". Au cours de l'étape E38 d'attribution de débit, un débit est attribué à ces valeurs à occurrence nulle. Il convient d'attribuer une valeur de débit qui ne soit, ni trop faible, ni 25 trop élevée. En effet : - si le débit est trop élevé, ces valeurs d'orientation et/ou d'amplitude ne seront pas choisies au cours de la prochaine itération, puisqu'on sélectionne l'orientation qui minimise le débit ; on aboutira alors au même problème de convergence prématurée qu'avec un débit infini ; 30 - si le débit est trop faible et en particulier si le débit de valeurs à occurrence nulle est plus faible que celui de valeurs à occurrence non nulle, ces valeurs à occurrence nulle seront choisies en priorité. A l'itération suivante, ce 2905539 18 sont d'autres valeurs à occurrence nulle qui seront choisies, toujours en raison de la faible valeur de débit qui leur est attribuée. Cela provoque un phénomène d'oscillation et l'algorithme est alors divergent. La présente invention propose une technique pour déterminer le 5 débit à attribuer aux valeurs à occurrence nulle, qui assure une convergence optimisée de l'algorithme de codage, c'est-à-dire qu'elle permet d'éviter sa convergence prématurée ou sa divergence. Dans le mode particulier de réalisation décrit ici, cette technique consiste à attribuer aux valeurs à occurrence nulle une valeur de débit égale à 10 la valeur maximale du débit des symboles à occurrence non nulle, à laquelle est ajoutée une valeur prédéterminée. La valeur prédéterminée peut être calculée de différentes façons, suivant les caractéristiques du signal à coder. Par exemple, dans un premier cas où le signal a une dynamique 15 bornée, on ajoute avantageusement un débit permettant de coder l'information nécessaire pour distinguer toutes les valeurs à occurrence nulle entre elles. A titre d'exemple non limitatif, supposons que le signal a une dynamique de 100, que, parmi ces 100 valeurs de donnée possibles, 45 ont été utilisées au cours de la dernière itération et que la valeur de donnée (orientation 20 ou amplitude) présentant le débit le plus élevé parmi les 45 a un débit de 17,2 bits. Pour calculer le débit à associer à chacune des 55 autres valeurs, on ajoute à 17,2 le débit nécessaire pour distinguer 55 valeurs entre elles, soit log2(55) = 5,8 bits. Le débit des valeurs à occurrence nulle est donc de 17,2 + 5,8 = 23,0 bits. 25 La formule donnant le débit H0 à attribuer aux valeurs à occurrence nulle est : Ho=Hmax+log2(Dyn-N) où: • Hmax est le débit maximum d'une valeur à occurrence non nulle, 30 Dyn est la dynamique du signal, c'est-à-dire le nombre de valeurs possibles, • N est le nombre de valeurs à occurrence non nulle. 2905539 19 Dans un deuxième cas, où la dynamique du signal n'est pas bornée, on ajoute une hypothèse sur l'augmentation du nombre de symboles à occurrence non nulle d'une itération à la suivante. Par exemple, on décide qu'il peut y avoir 30 % de valeurs à occurrence nulle qui seront choisies. Si le 5 nombre de valeurs à occurrence non nulle est de 32 et que leur débit maximal est de 12,3 bits, le débit H1 attribué aux valeurs à occurrence nulle est = 12,3 + log2(32x0,3) = 15,6 bits. La formule donnant le débit à attribuer aux valeurs à occurrence nulle est ici = Hrnax + log2(Nxp) 10 où p représente le pourcentage d'augmentation attendu du nombre de valeurs à occurrence non nulle. Comme le montre la figure 2, à l'issue de cette étape E38 d'attribution de débit aux symboles à occurrence nulle, on retourne à l'étape E23 de sélection de première ligne. 15 On décrit ci-dessous plus en détail, en référence à la figure 3, les opérations de filtrage, quantification et codage d'un échantillon. Tout d'abord, une étape E50 consiste à déterminer un filtre à appliquer à l'échantillon courant, parmi une pluralité de filtres possibles. Dans le mode particulier de réalisation décrit ici, deux filtres sont 20 utilisables. Un premier filtre, appelé filtre passe-bas, a pour rôle d'extraire les basses fréquences du signal. Par exemple, dans le cas d'un signal à coder monodimensionnel, c'est-à-dire formé d'une série d'échantillons : 25 {..., xi-3, xi-2, xi-1, xi, Xj+l, Xj+2, Xj 3, ...1, si on utilise un filtre passe-bas ayant pour coefficients : [-1/16, 0, 5/16, 1, 5/16, 0, -1/16], le résultat du filtrage est représenté par les valeurs d'échantillons filtrés suivantes : 30 yi = -xi-3/16 + 5xi.1 /16 + xi + 5xi+1/16 û xi+3/16. Un second filtre, appelé filtre passe-haut, extrait les hautes fréquences du signal. 2905539 20 Par exemple, le résultat du filtrage du signal monodimensionnel : Xi-3, Xi-2, Xi-1, Xi, Xii-1, Xj+2, Xj+3, par le filtre passe-haut dont les coefficients sont : [1/16, 0, -9/16, 1, -9/16, 0, 1/16] 5 est représenté par : y, = x1_3/16 9x,_1/16 + x1û 9x1+1/16 + x1+3/16. Ces filtres passe-haut et passe-bas sont utilisés dans la décomposition selon le schéma de lifting, laquelle est particulièrement adaptée à la présente invention. 10 Dans le mode particulier de réalisation décrit ici, lors du filtrage d'une ligne, si la ligne en cours de filtrage est filtrée pour la première fois, le filtre appliqué est le filtre passe-bas. Dans le cas contraire, le filtre à appliquer est le filtre passe-haut. L'étape E50 de détermination du filtre est suivie d'une étape E52 de 15 simulation de filtrage, au cours de laquelle on applique le filtre déterminé selon différentes orientations géométriques possibles, afin de simuler l'opération de filtrage et déterminer l'orientation optimale du filtre. L'étape E52 est illustrée au moyen d'un exemple, sur la figure 4. Cette figure montre schématiquement, d'une part, le filtre courant à 20 appliquer sur l'image numérique et, d'autre part, l'application de ce filtre à l'échantillon courant. Dans l'exemple représenté sur la figure 4, l'échantillon courant est l'échantillon numéro j de la ligne courant numéro i, autrement dit celui correspondant à la iè' ligne et à la "'me colonne de pixels de l'image. L'exemple de la figure 4 correspond à un mode particulier de 25 réalisation dans lequel trois orientations géométriques sont possibles. On note xi,j le coefficient de l'échantillon courant. Ainsi, les trois orientations géométriques suivant lesquelles on applique le filtrage monodimensionnel sont définies comme suit : {Xi-3,J-3i Xi-2,1-2, Xi-1,j-1, Xi+l XI+2j+2, XI+3e3} 30 Xiij-2, Xi,j 1, )(Li, {Xj+3ii-3, Xi-2i1+2, Xi-3ifi-3} 2905539 21 Ainsi, dans ce mode de réalisation, à l'étape de simulation E52, on applique à l'échantillon xi,j à filtrer le filtrage déterminé à l'étape E50 selon les trois orientations géométriques précédemment citées, de façon à simuler le filtrage selon les différentes orientations géométriques possibles. 5 On obtient donc à l'issue de l'étape de simulation E52 une valeur de sortie pour chacun des trois filtrages précités, c'est-à-dire une pluralité de valeurs de filtrage simulé. L'étape de simulation E52 est suivie d'une étape E54 de détermination de l'orientation optimale, qui consiste à déterminer, parmi les 10 différentes orientations géométriques possibles, celle à utiliser pour l'application du filtrage sur l'échantillon courant. Cette détermination de l'orientation optimale est effectuée à partir de la pluralité de valeurs de filtrage simulé en fonction d'un ou de plusieurs critères prédéterminés. Dans le mode particulier de réalisation décrit ici, on applique un 15 critère de minimisation du débit correspondant à chacune des orientations, c'est-à-dire qu'on recherche la valeur de filtrage qui peut être codée au moyen d'un nombre minimal d'éléments binaires. Le débit correspondant au filtrage d'un échantillon selon une orientation déterminée est la somme du débit de l'information d'orientation et du 20 débit de l'amplitude de sortie. Ces débits sont
ceux qui ont été calculés à l'étape précédente, à savoir (en référence à la figure 2), soit l'étape E22 de calcul des débits initiaux, soit l'étape E37 de calcul des débits courants suivie de l'étape E38 d'attribution de débit aux symboles à occurrence nulle. On peut évaluer le débit pour chaque orientation et pour chaque 25 amplitude. On choisit alors l'orientation qui, parmi toutes les orientations possibles, minimise le débit total, Comme le montre la figure 3, cette étape E54 de détermination de l'orientation optimale est suivie d'une étape optionnelle E56 de mémorisation de l'information d'orientation et d'une étape E58 d'obtention du filtrage optimal.
30 Au cours de l'étape E56, on mémorise dans le fichier comprimé de l'image numérique l'information représentative de l'orientation géométrique du filtre appliqué à l'échantillon courant, en vue du codage de l'image.
2905539 22 L'information représentative du filtrage déterminé subit en outre à cet effet éventuellement une étape de codage entropique, décrite ci-après. L'étape E56 est toutefois optionnelle, car superflue dans le cas où l'information d'orientation était connue au préalable et donc déjà mémorisée.
5 L'étape E58 consiste à calculer la sortie du filtrage de l'échantillon courant selon l'orientation géométrique de filtrage déterminée précédemment. En variante, on peut récupérer, lors de l'étape E58, la valeur de filtrage simulé calculée au cours de l'étape de simulation E52 et l'utiliser comme valeur de filtrage réel.
10 L'étape E58 d'obtention du filtrage optimal est suivie d'une étape E60 de remplacement de l'échantillon courant, qui consiste à remplacer l'échantillon courant par la valeur de l'échantillon filtré. Puis une étape E62 de quantification et codage entropique, qui est en soi classique et bien connue de l'homme du métier, consiste à quantifier et 15 coder par codage entropique l'échantillon filtré, de façon qu'il puisse, soit être mémorisé dans le fichier comprimé de l'image, soit transmis, soit mis en mémoire temporairement pour un filtrage ultérieur. La quantification peut être aussi bien une quantification scalaire qu'une quantification vectorielle, voire un autre type de quantification.
20 Le codage entropique peut être réalisé, notamment, au moyen d'un codage de I-luffman ou d'un codage arithmétique. On notera que dans le cas où on souhaite mémoriser l'information d'orientation, cette dernière peut subir lors de l'étape E62 un codage entropique sans quantification.
25 On décrit ci-dessous l'algorithme de décodage d'une image filtrée et codée, en référence aux figures 2, 3 et 5. L'algorithme de décodage reprend les étapes de l'algorithme de la figure 2, à l'exception toutefois de l'étape E25 de filtrage avec sélection d'orientation et codage. La description de l'étape qui la remplace au décodage 30 est donnée en référence à la figure 5, au lieu de la figure 3.
2905539 23 Comme le montre la figure 5, le décodage débute par une étape E70 de décodage partiel consistant à décoder entropiquement les échantillons de l'image numérique codée et à déquantifier ces échantillons. Le décodage entropique est en soi classique et bien connu de 5 l'homme du métier. Selon le codage entropique utilisé, le décodage peut être notamment un décodage de Huffman ou un décodage arithmétique. La déquantification est également classique en soi et peut être, par exemple, selon la quantification utilisée, une déquantification scalaire ou une déquantification vectorielle.
10 L'étape E70 de décodage entropique et déquantification est suivie d'une étape E72 de détermination du filtre inverse, qui consiste à déterminer le filtre inverse à appliquer aux échantillons filtrés. L'étape E72 est similaire à l'étape E50 de détermination du filtre, décrite précédemment et illustrée sur la figure 3.
15 L'étape E72 de détermination du filtre inverse est suivie d'une étape E74 de détermination de l'orientation géométrique selon laquelle le filtre inverse doit être appliqué. Pour ce faire, on utilise une information extérieure représentative de l'orientation géométrique.
20 En effet, lorsque l'image a été filtrée une première fois en vue de sa décomposition en sous-bandes de fréquence, l'information d'orientation géométrique utilisée pour le filtrage lié à chaque échantillon a été mémorisée, éventuellement codée et elle est disponible au décodage. Ainsi, lors du filtrage inverse, on applique le filtrage correspondant à 25 l'orientation géométrique déterminée lors du filtrage de décomposition. L'étape E74 est suivie d'une étape E76 consistant à calculer la sortie du filtrage inverse selon l'orientation géométrique précédemment déterminée pour l'échantillon filtré courant. L'étape suivante E78 consiste à remplacer l'échantillon filtré courant 30 par la valeur obtenue pour l'échantillon ayant subi le filtrage inverse. La figure 6 montre un mode particulier de réalisation d'un dispositif de traitement d'information apte à fonctionner comme dispositif de codage d'un 2905539 24 signal numérique multidimensionnel et/ou comme dispositif de décodage d'un signal numérique multidimensionnel codé conformément à la présente invention. Le dispositif illustré sur la figure 6 peut comporter tout ou partie des 5 moyens de mise en oeuvre d'un procédé de codage d'un signal numérique multidimensionnel et/ou d'un procédé de décodage d'un signal numérique multidimensionnel codé conformément à la présente invention. Selon le mode de réalisation choisi, ce dispositif peut être par exemple un micro-ordinateur ou une station de travail 600 connecté à différents 10 périphériques, par exemple, une caméra numérique 601 (ou un scanner, ou tout autre moyen d'acquisition ou de stockage d'images) reliée à une carte graphique (non représentée) et fournissant ainsi des informations à traiter selon l'invention. Le micro-ordinateur 600 comporte de préférence une interface de 15 communication 602 reliée à un réseau 603 apte à transmettre des informations numériques. Le micro-ordinateur 600 comporte également un moyen de stockage permanent 604, tel qu'un disque dur, ainsi qu'un lecteur de moyens de stockage temporaire tel qu'un lecteur de disquettes 605 pour coopérer avec une disquette 606.
20 La disquette 606 et le disque dur 604 peuvent contenir des données d'implantation logicielle de l'invention ainsi que le code du ou des programme(s) d'ordinateur dont l'exécution par le micro-ordinateur 600 met en oeuvre la présente invention, ce code étant par exemple mémorisé sur le disque dur 604 une fois qu'il a été lu par le micro-ordinateur 600.
25 En variante, le ou les programme(s) permettant au dispositif 600 de mettre en oeuvre l'invention sont stockés dans une mémoire morte (par exemple du type ROM) 607. Selon une autre variante, ce ou ces programme(s) sont reçus totalement ou partiellement à travers le réseau de communication 603 pour être 30 stockés comme indiqué.
2905539 25 Le micro-ordinateur 600 peut également être relié à un microphone 608 par l'intermédiaire d'une carte d'entrées/sorties (non représentée), pour le cas où les données à traiter selon l'invention représenteraient un signal audio. Le micro-ordinateur 600 comprend également un écran 609 pour 5 visualiser les informations à traiter et/ou servir d'interface avec l'utilisateur, afin que l'utilisateur puisse par exemple paramétrer certains modes de traitemen l'aide du clavier 610 ou de tout autre moyen approprié de pointage et/ou de saisie tel qu'une souris, un crayon optique, etc. Une unité de calcul ou unité centrale de traitement (CPU) 611 10 exécute les instructions relatives à la mise en oeuvre de l'invention, ces instructions étant stockées dans la mémoire morte ROM 607 ou dans les autres éléments de stockage décrits. Lors de la mise sous tension du dispositif 600, les programmes et méthodes de traitement stockés dans une des mémoires non-volatiles, par 15 exemple la ROM 607, sont transférés dans une mémoire vive (par exemple du type RAM) 612, qui contient alors le code exécutable de l'invention ainsi que les variables nécessaires à la mise en oeuvre de l'invention. En variante, les méthodes de traitement du signal numérique peuvent être stockées dans différents emplacements de stockage. De façon 20 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, peut mémoriser un ou plusieurs programme(s) dont l'exécution met en oeuvre les procédés de codage et/ou de décodage décrits précédemment. On peut faire évoluer le mode particulier de réalisation choisi pour 25 l'invention, par exemple en ajoutant des méthodes de traitement actualisées ou améliorées ; dans un tel cas, ces nouvelles méthodes peuvent être transmises au dispositif 600 par le réseau de communication 603, ou chargées dans le dispositif 600 par l'intermédiaire d'une ou de plusieurs disquettes 606. Bien entendu, les disquettes 606 peuvent être remplacées par tout support 30 d'information jugé approprié (CD-ROM, carte mémoire, etc.). Un bus de communication 613 permet la communication entre les différents éléments du micro-ordinateur 600 et les éléments reliés à celui-ci. On 2905539 26 notera que la représentation du bus 613 n'est pas limitative. En effet, l'unité centrale CPU 611 est, par exemple, susceptible de communiquer des instructions à tout élément du micro-ordinateur 600, directement ou par l'intermédiaire d'un autre élément du micro-ordinateur 600.

Claims (23)

REVENDICATIONS
1. Procédé de codage d'un signal numérique multidimensionnel formé d'une pluralité d'échantillons, incluant une phase itérative (E21 à E33) de détermination d'un quantificateur paramétrique, ladite phase comportant, lors d'au moins une itération, une étape d'estimation d'une pluralité de valeurs de débit d'échantillons respectivement associées aux valeurs du quantificateur qui ont une occurrence non nulle lors de l'itération précédente, ladite étape d'estimation utilisant une technique d'estimation prédéterminée, ledit procédé étant caractérisé en ce qu'il comporte en outre, lors de ladite itération, une autre étape (E36, E37, E38) d'estimation d'une pluralité de valeurs de débit d'échantillons (Ho ; HI) respectivement associées aux valeurs du quantificateur qui ont une occurrence nulle lors de l'itération précédente, ladite autre étape d'estimation utilisant une technique d'estimation différente de ladite technique d'estimation prédéterminée.
2. Procédé de codage selon la revendication 1, caractérisé en ce que ladite autre étape (E36, E37, E38) d'estimation, lors de ladite itération, de valeurs de débit d'échantillons (Ho HI) respectivement associées aux valeurs du quantificateur ayant une occurrence nulle lors de l'itération précédente, consiste à ajouter une valeur calculée à la valeur maximale (Hmax) du débit des échantillons ayant une occurrence non nulle lors de l'itération précédente.
3. Procédé de codage selon la revendication 2, caractérisé en ce que ladite valeur calculée est obtenue à partir d'une estimation de l'expansion de la population des échantillons.
4. Procédé de codage selon la revendication 2, caractérisé en ce que ladite valeur calculée est obtenue à partir d'une estimation de la dynamique des échantillons.
5. Procédé de codage selon l'une quelconque des revendications précédentes, caractérisé en ce qu'il comporte en outre une étape d'optimisation 30 du quantificateur paramétrique de chacun desdits échantillons.
6. Procédé de codage selon la revendication précédente, caractérisé en ce que ladite étape d'optimisation consiste à minimiser le débit estimé pour 2905539 28 chaque échantillon, de façon à obtenir un quantificateur paramétrique optimal pour ledit échantillon.
7. Procédé de codage selon l'une quelconque des revendications précédentes, caractérisé en ce que ladite autre étape (E36, E37, E38) 5 d'estimation de valeurs de débit d'échantillons comporte un calcul d'entropie.
8. Procédé de codage selon l'une quelconque des revendications précédentes, caractérisé en ce que le signal numérique multidimensionnel est représentatif d'une image fixe.
9. Procédé de codage selon la revendication précédente, caractérisé 10 en ce que l'image est codée suivant la norme JPEG ou JPEG2000.
10. Procédé de codage selon l'une quelconque des revendications 1 à 7, caractérisé en ce que le signal numérique multidimensionnel est représentatif d'une vidéo.
11. Dispositif (2) de codage d'un signal numérique multidimensionnel 15 formé d'une pluralité d'échantillons, incluant des moyens pour déterminer de façon itérative un quantificateur paramétrique, lesdits moyens de détermination de quantificateur étant adaptés à estimer, lors d'au moins une itération, une pluralité de valeurs de débit d'échantillons respectivement associées aux valeurs du quantificateur qui ont une occurrence non nulle lors de l'itération 20 précédente, lesdits moyens de détermination de quantificateur étant adaptés à utiliser une technique d'estimation prédéterminée, ledit dispositif étant caractérisé en ce qu'il comporte en outre d'autres moyens pour estimer, lors de ladite itération, une pluralité de valeurs de débit d'échantillons (Ho ; HI) respectivement associées aux valeurs du quantificateur qui ont une occurrence 25 nulle lors de l'itération précédente, lesdits autres moyens d'estimation utilisant une technique d'estimation différente de ladite technique d'estimation prédéterminée.
12. Dispositif de codage selon la revendication 11, caractérisé en ce que lesdits autres moyens d'estimation, lors de ladite itération, de valeurs de débit d'échantillons (Ho ; HI) respectivement associées aux valeurs du quantificateur ayant une occurrence nulle lors de l'itération précédente, sont 2905539 29 adaptés à ajouter une valeur calculée à la valeur maximale (Hmax) du débit des échantillons ayant une occurrence non nulle lors de l'itération précédente.
13. Dispositif de codage selon la revendication 12, caractérisé en ce que ladite valeur calculée est obtenue à partir d'une estimation de l'expansion 5 de la population des échantillons.
14. Dispositif de codage selon la revendication 12, caractérisé en ce que ladite valeur calculée est obtenue à partir d'une estimation de la dynamique des échantillons.
15. Dispositif de codage selon l'une quelconque des revendications 10 11 à 14, caractérisé en ce qu'il comporte en outre des moyens d'optimisation du quantificateur paramétrique de chacun desdits échantillons.
16. Dispositif de codage selon la revendication précédente, caractérisé en ce que lesdits moyens d'optimisation sont adaptés à minimiser le débit estimé pour chaque échantillon, de façon à fournir un quantificateur 15 paramétrique optimal pour ledit échantillon,
17. Dispositif de codage selon l'une quelconque des revendications 11 à 16, caractérisé en ce que lesdits autres moyens d'estimation de valeurs de débit d'échantillons comportent des moyens de calcul d'entropie.
18. Dispositif de codage selon l'une quelconque des revendications 20 11 à 17, caractérisé en ce que le signal numérique multidimensionnel est représentatif d'une image fixe.
19. Dispositif de codage selon la revendication précédente, caractérisé en ce que l'image est codée suivant la norme JPEG ou JPEG2000.
20. Dispositif de codage selon l'une quelconque des revendications 25 11 à 18, caractérisé en ce que le signal numérique multidimensionnel est représentatif d'une vidéo.
21. Système de télécommunications comprenant une pluralité de dispositifs terminaux reliés à travers un réseau de télécommunications, caractérisé en ce qu'il comprend au moins un dispositif terminal équipé d'un 30 dispositif de codage selon l'une quelconque des revendications 11 à 20.
22, Moyen de stockage d'informations lisible par un ordinateur ou un microprocesseur conservant des instructions d'un programme informatique, 2905539 30 caractérisé en ce qu'il permet la mise en oeuvre d'un procédé de codage selon l'une quelconque des revendications 1 à 10.
23. Produit programme d'ordinateur pouvant être chargé dans un appareil programmable, caractérisé en ce qu'il comporte des séquences 5 d'instructions pour mettre en oeuvre un procédé de codage selon l'une quelconque des revendications 1 à 10, lorsque ce programme est chargé et exécuté par l'appareil programmable.
FR0653555A 2006-09-01 2006-09-01 Procede et dispositif de codage de signaux numeriques multidimensionnels Expired - Fee Related FR2905539B1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR0653555A FR2905539B1 (fr) 2006-09-01 2006-09-01 Procede et dispositif de codage de signaux numeriques multidimensionnels

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0653555A FR2905539B1 (fr) 2006-09-01 2006-09-01 Procede et dispositif de codage de signaux numeriques multidimensionnels

Publications (2)

Publication Number Publication Date
FR2905539A1 true FR2905539A1 (fr) 2008-03-07
FR2905539B1 FR2905539B1 (fr) 2008-11-28

Family

ID=38181130

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0653555A Expired - Fee Related FR2905539B1 (fr) 2006-09-01 2006-09-01 Procede et dispositif de codage de signaux numeriques multidimensionnels

Country Status (1)

Country Link
FR (1) FR2905539B1 (fr)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2324220A (en) * 1997-04-11 1998-10-14 Nat Transcommunications Ltd Video data compression system
US6549674B1 (en) * 2000-10-12 2003-04-15 Picsurf, Inc. Image compression based on tiled wavelet-like transform using edge and non-edge filters
WO2004056120A1 (fr) * 2002-12-17 2004-07-01 Let It Wave Traitement ou compression de signaux n-dimensionnels a l'aide de paquets d'ondelettes et de bandelettes modifies
US20050084166A1 (en) * 2002-06-25 2005-04-21 Ran Boneh Image processing using probabilistic local behavior assumptions
EP1675405A1 (fr) * 2004-12-22 2006-06-28 THOMSON Licensing Optimisation d'une matrice de quantification pour le codage d'images et vidéos

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2324220A (en) * 1997-04-11 1998-10-14 Nat Transcommunications Ltd Video data compression system
US6549674B1 (en) * 2000-10-12 2003-04-15 Picsurf, Inc. Image compression based on tiled wavelet-like transform using edge and non-edge filters
US20050084166A1 (en) * 2002-06-25 2005-04-21 Ran Boneh Image processing using probabilistic local behavior assumptions
WO2004056120A1 (fr) * 2002-12-17 2004-07-01 Let It Wave Traitement ou compression de signaux n-dimensionnels a l'aide de paquets d'ondelettes et de bandelettes modifies
EP1675405A1 (fr) * 2004-12-22 2006-06-28 THOMSON Licensing Optimisation d'une matrice de quantification pour le codage d'images et vidéos

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
PAPLINSKI A P: "Directional filtering in edge detection", IEEE TRANSACTIONS ON IMAGE PROCESSING, IEEE SERVICE CENTER, PISCATAWAY, NJ, US, vol. 7, no. 4, April 1998 (1998-04-01), pages 611 - 615, XP002379582, ISSN: 1057-7149 *
RABBANI M ET AL: "An overview of the JPEG 2000 still image compression standard", SIGNAL PROCESSING. IMAGE COMMUNICATION, ELSEVIER SCIENCE PUBLISHERS, AMSTERDAM, NL, vol. 17, no. 1, January 2002 (2002-01-01), pages 3 - 48, XP004326797, ISSN: 0923-5965 *

Also Published As

Publication number Publication date
FR2905539B1 (fr) 2008-11-28

Similar Documents

Publication Publication Date Title
FR2889382A1 (fr) Procede et dispositif de filtrage d'un signal numerique multidimensionnel et procedes et dispositifs de codage et decodage associes
WO2015059400A1 (fr) Procédé de codage et de décodage d'images, dispositif de codage et de décodage d'images et programmes d'ordinateur correspondants
FR2906093A1 (fr) Procedes et dispositifs de codage et de decodage, systeme de telecommunication et programme d'ordinateur les mettant en oeuvre
EP3490255B1 (fr) Compression intelligente de contenus vidéo grainés
CN112150400A (zh) 图像增强方法、装置和电子设备
CA2725799C (fr) Procede de traitement de donnees numeriques
FR2792150A1 (fr) Procedes et dispositis de codage et de decodage de signaux numeriques, et systemes les mettant en oeuvre
FR2927744A1 (fr) Procede et dispositif de filtrage d'un signal numerique.
FR2825224A1 (fr) Procede et dispositif de compression et ou d'indexation d'images numeriques
FR3053555A1 (fr) Procede de codage d'une image numerique, procede de decodage, dispositifs, terminal et programmes d'ordinateurs associes
WO2005008886A2 (fr) Compression contextuelle d'images numeriques
FR2792151A1 (fr) Procedes et dispositifs de codage et de decodage de signaux numeriques, et systemes les mettant en oeuvre
FR2927745A1 (fr) Procede et dispositif de codage d'un signal numerique.
FR2905539A1 (fr) Procede et dispositif de codage de signaux numeriques multidimensionnels
EP1812903A1 (fr) Procede de codage d'images codees par ondelettes a controle de debit, dispositif de codage et programme d'ordinateur correspondants
WO2019057368A1 (fr) Procedes de codage et de decodage d'une image
FR3068556A1 (fr) Procede de decodage d'une image, procede de codage, dispositifs, equipement terminal et programmes d'ordinateurs associes
FR2929431A1 (fr) Procede et dispositif de classification des echantillons representatifs d'un signal numerique d'image
FR2914467A1 (fr) Procedes et dispositifs de codage et de decodage de signaux numeriques multidimensionnels.
EP2126904B1 (fr) Procede et dispositif de codage audio
EP3491825B1 (fr) Procédé de décodage d'une image, procédé de codage, dispositifs, équipement terminal et programmes d'ordinateurs associés
WO2015075185A2 (fr) Procédé et dispositif de compression d'image numérique
FR2913793A1 (fr) Procedes et dispositif de codage et de decodage de signaux numeriques multidimensionnels
FR2924563A1 (fr) Procedes et dispositifs de codage et de decodage de signaux numeriques
FR2914468A1 (fr) Procede et dispositif de determination de la presence de contours dans une image multiresolution

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20140530