Brevet FR2914467A1 — publié le 20081003

La présente invention se rapporte à un procédé et à un dispositif de codage de signaux numériques à plusieurs dimensions spatiales ou spatio-temporelles et à un procédé et à un dispositif de décodage de signaux ainsi codés. 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 et à la compression 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 technique de codage décrite le document de brevet FR-A-2 889 382 permet de filtrer le signal préalablement à une compression, en orientant le filtre le long de certaines directions, pour chaque pixel, en vue de réduire la dynamique du signal engendré et ainsi d'augmenter la compression du signal. Par ailleurs, la demande de brevet français de numéro de dépôt 06 53783 décrit une technique de calcul de ces orientations qui consiste à utiliser les données disponibles à une résolution inférieure pour calculer les 2 orientations de filtrage à utiliser à une résolution supérieure lors du filtrage de décomposition de l'image, c'est-à-dire au niveau du codeur, et lors du filtrage de synthèse de l'image, c'est-à-dire au niveau du décodeur. La résolution est le nombre d'échantillons par unité spatiale, c'est-à-dire, dans le cas d'une image, par unité de surface. 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. Il n'est cependant pas exclu que l'invention mette en oeuvre un autre 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. Chaque échantillon filtré présente une valeur d'amplitude et une valeur 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). On applique 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 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. 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. 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 scheme"), avec par exemple au moins deux filtres, 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é 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. La présente invention a pour but d'améliorer la qualité des orientations calculées, à l'aide d'orientations idéales, calculées au préalable. Les orientations idéales sont celles qui conduiraient à la meilleure compression possible. Dans ce but, la présente invention propose un procédé de codage d'un signal numérique multidimensionnel d'image par décomposition en sous-bandes de fréquence, cette décomposition en sous-bandes de fréquence mettant en oeuvre un filtrage selon une pluralité d'orientations géométriques, ce procédé étant remarquable en ce qu'il comporte des étapes consistant, pour une pluralité d'échantillons du signal d'image, à : -engendrer une première prédiction d'orientation selon une technique prédéterminée ; - déterminer une orientation de filtrage idéale en simulant le filtrage du signal d'image en fonction d'un critère d'optimisation prédéterminé ; - modifier la première prédiction d'orientation à l'aide de l'orientation idéale, de façon à obtenir une orientation finale ; et - filtrer le signal d'image en utilisant, lors du filtrage selon une pluralité d'orientations, l'orientation finale précitée. Ainsi, l'invention permet d'augmenter la performance de compression 30 par l'amélioration de la qualité des orientations utilisées pour le filtrage. 4 Selon une caractéristique particulière, lors de l'étape de modification, on utilise la prédiction linéaire de la différence entre la première prédiction et l'orientation idéale. L'utilisation de la prédiction linéaire est en effet particulièrement 5 simple à mettre en oeuvre. En variante, lors de l'étape de modification, on peut utiliser un calcul d'états et attribuer à chaque échantillon de la pluralité d'échantillons une orientation en fonction de l'état de cet échantillon. Cela constitue en effet une technique particulièrement performante 10 en termes de compression. Selon une caractéristique particulière, lors de l'étape de génération d'une première prédiction d'orientation, on analyse les contours de la sous-bande basse fréquence décodée de résolution inférieure à la résolution d'une sous-bande courante sélectionnée. 15 Selon une caractéristique particulière, le critère d'optimisation précité consiste en la minimisation de l'amplitude des échantillons de sortie du filtrage. Cela permet de réduire le débit de façon simple. En variante, le critère d'optimisation consiste en la minimisation du débit de codage des échantillons de sortie du filtrage. 20 Selon encore une autre variante, le critère d'optimisation consiste en la minimisation du coût de codage des échantillons de sortie du filtrage, le coût de codage d'un échantillon résultant d'une combinaison linéaire du débit associé au codage de cet échantillon et de la distorsion provoquée par le codage de cet échantillon. 25 Les deux variantes précédentes permettent d'optimiser la compression. Le signal numérique multidimensionnel considéré peut être représentatif d'une image fixe. Le signal numérique multidimensionnel considéré peut également 30 être représentatif d'une vidéo. 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 d'image par décomposition en sous-bandes de fréquence, cette décomposition en sous-bandes de fréquence mettant en oeuvre un filtrage selon une pluralité d'orientations géométriques, ce dispositif étant remarquable en ce qu'il comporte des modules adaptés, pour une pluralité d'échantillons du 5 signal d'image, à : - engendrer une première prédiction d'orientation selon une technique prédéterminée ; - déterminer une orientation de filtrage idéale en simulant le filtrage du signal d'image en fonction d'un critère d'optimisation prédéterminé ; - modifier la première prédiction d'orientation à l'aide de l'orientation idéale, de façon à obtenir une orientation finale ; et - filtrer le signal d'image en utilisant, lors du filtrage selon une pluralité d'orientations, l'orientation finale précitée. Toujours dans le même but, la présente invention propose corrélativement un procédé de décodage d'un signal numérique multidimensionnel d'image codé par décomposition en sous-bandes de fréquence, cette décomposition en sous-bandes de fréquence mettant en oeuvre un filtrage selon une pluralité d'orientations géométriques, ce procédé étant remarquable en ce qu'il comporte des étapes consistant, pour une pluralité d'échantillons du signal d'image codé, à : - engendrer une première prédiction d'orientation ; - recevoir des informations additionnelles contenues dans le signal d'image codé ; - modifier la première prédiction d'orientation en utilisant les informations additionnelles, de façon à obtenir une orientation finale ; et - filtrer le signal d'image codé en utilisant, lors du filtrage selon une pluralité d'orientations, l'orientation finale précitée. Toujours dans le même but, la présente invention propose également un dispositif de décodage d'un signal numérique multidimensionnel d'image codé par décomposition en sous-bandes de fréquence, cette décomposition en sous-bandes de fréquence mettant en oeuvre un filtrage selon une pluralité d'orientations géométriques, ce dispositif étant remarquable 6 en ce qu'il comporte des modules adaptés, pour une pluralité d'échantillons du signal d'image codé, à : - engendrer une première prédiction d'orientation ; - recevoir des informations additionnelles contenues dans le signal 5 d'image codé ; - modifier la première prédiction d'orientation en utilisant les informations additionnelles, de façon à obtenir une orientation finale ; et - filtrer le signal d'image codé en utilisant, lors du filtrage selon une pluralité d'orientations, l'orientation finale précitée. 10 Toujours dans le même but, la présente invention vise aussi un système de télécommunications comprenant une pluralité de dispositifs terminaux reliés à travers un réseau de télécommunications, remarquable en ce qu'il comprend au moins un dispositif terminal équipé d'un dispositif de codage et/ou d'un dispositif de décodage tels que succinctement décrits ci-dessus. 15 Toujours dans le même but, la présente invention vise aussi un moyen de stockage d'informations lisible par un ordinateur ou un microprocesseur conservant des instructions d'un programme informatique, remarquable en ce qu'il permet la mise en oeuvre d'un procédé de codage et/ou d'un procédé de décodage tels que succinctement décrits ci-dessus. 20 Toujours dans le même but, la présente invention vise aussi un produit programme d'ordinateur pouvant être chargé dans un appareil programmable, remarquable en ce qu'il comporte des séquences d'instructions pour mettre en oeuvre un procédé de codage et/ou un procédé de décodage tels que succinctement décrits ci-dessus, lorsque ce programme est chargé et 25 exécuté par l'appareil programmable. Les caractéristiques particulières et les avantages du dispositif de codage, du procédé et du dispositif de décodage, du système de télécommunications, du moyen de stockage d'informations et du produit programme d'ordinateur étant similaires à ceux du procédé de codage, ils ne 30 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 à 7 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 5 et/ou un procédé de décodage conformes à la présente invention ; - la figure 2 illustre un exemple non limitatif de simulation de filtrage selon trois orientations géométriques possibles ; -la figure 3 représente de manière schématique un mode particulier de réalisation d'un appareil susceptible de mettre en oeuvre la présente 10 invention ; - la figure 4 est un organigramme illustrant les principales étapes d'un procédé de codage conforme à la présente invention, dans un mode particulier de réalisation ; et - la figure 5 est un organigramme illustrant les principales étapes 15 d'un procédé de décodage conforme à la présente invention, dans un mode particulier de réalisation. 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. 20 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 25 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 30 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 IO d'origine. L'image IO est traitée par le 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. 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 codage entropique respectivement effectuées dans les unités 12 et 14 mettent en oeuvre des moyens classiques. Le fichier codé FC est fourni à l'unité 4 de transmission ou stockage, pour être, par exemple, transmis à travers un réseau ou stocké dans une unité 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 fournit en sortie une image décodée (ou décomprimée) ID, laquelle est sensiblement identique à l'image IO d'origine. Lors du décodage, l'image codée est successivement soumise à des 20 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écodage entropique et de déquantification respectivement effectuées dans les unités 18 25 et 20 mettent en oeuvre des moyens classiques. Généralement, les données initiales correspondant à l'image IO d'origine sont organisées en un tableau bidimensionnel qui est accessible ligne à ligne. Le mode particulier de réalisation décrit ci-après présente le codage 30 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 9 nombre de dimensions supérieur, par exemple, pour une vidéo, qui, comme mentionné en introduction, se compose de trois dimensions. 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 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 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 Internet suivante : www.jpeg.org. Toutefois, la présente invention diffère du filtrage tel qu'utilisé dans 15 JPEG2000 car les filtres utilisés peuvent être orientés, comme décrit dans le document de brevet FR-A-2 889 382. L'organigramme de la figure 4 illustre des étapes d'un procédé de codage conforme à la présente invention, dans un mode particulier de réalisation. 20 Un filtrage en sous-bandes consiste à appliquer à un signal d'origine un filtrage afin d'engendrer une ou plusieurs sous-bandes correspondant à des fréquences différentes. L'ensemble de ces sous-bandes correspond à une résolution donnée. II est alors courant de sélectionner une ou plusieurs de ces sous-25 bandes pour les décomposer à nouveau en sous-bandes, qui correspondront à leur tour à la résolution suivante. 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 4, l'algorithme débute à l'étape 400, au 30 cours de laquelle on sélectionne l'image initiale à décomposer. Cette image va être considérée comme une sous-bande de fréquence à filtrer. En variante, la sous-bande à décomposer peut être une sous-bande obtenue lors d'un filtrage précédent. On note SO la sous-bande sélectionnée et RO sa résolution. L'étape suivante 402 consiste à extraire une sous-bande de résolution R1 inférieure à RO, ce qui correspond à un filtrage basse fréquence de S0. Dans un mode particulier de réalisation, cela consiste à sous-échantillonner la sous-bande de résolution RO d'un facteur 2 dans chaque dimension. Soit S0(x,y) l'échantillon situé aux coordonnées (x,y) dans la sous- bande SO de résolution RO. La sous-bande basse fréquence extraite SBE1, de résolution RI, est donnée par SBE1(x,y) = SO(2xx,2xy). En variante, cette extraction peut mettre en oeuvre un procédé plus complexe qu'un simple sous-échantillonnage. Par exemple, il peut s'agir d'un sous-échantillonnage associé à un filtrage passe-bas, similaire au filtrage passe-bas utilisé dans JPEG2000. L'étape suivante 404 est facultative. Elle n'est pas nécessaire notamment dans le cas d'une compression sans perte du signal. En revanche, elle est recommandée si on effectue un codage avec perte du signal. Elle consiste à simuler un codage et un décodage de la sous-bande SBE1, de façon à engendrer la sous-bande SBED1. La sous-bande SBED1 est similaire à la sous-bande SBE1, à ceci près qu'elle comporte les éventuelles erreurs dues aux opérations de codage et décodage. II est à noter que ce codage-décodage peut lui-même mettre en oeuvre la technique de la présente invention (division en sous-bandes de fréquence, quantification, codage entropique comme décrit précédemment et ci-après). L'invention est dans ce cas appliquée de façon récursive. L'étape 402, suivie ou non de l'étape 404, est suivie d'une étape 406 d'extraction de la prédiction d'orientation. A partir de l'étape 406, le procédé de codage peut être appliqué à tout ou partie des échantillons du signal d'image. On utilise la sous-bande SBED1 (ou SBE1 si l'étape 404 n'a pas été appliquée) pour engendrer une première prédiction de l'orientation à utiliser pour engendrer les sous-bandes haute fréquence de même résolution que SBED1. Différentes approches sont possibles. Dans un mode particulier de réalisation, on extrait cette première prédiction d'orientation en analysant les contours de la sous-bande SBED1. Ainsi, pour chaque pixel de SBED1, on applique par exemple un détecteur de contours du type d'un filtrage de Sobel, technique de filtrage très répandue et connue de l'homme du métier. Cette technique consiste à appliquer deux filtrages bidimensionnels à l'image. Pour plus de détails au sujet du détecteur de Sobel, on se reportera utilement au site Internet suivant : http://homepages.inf.ed.ac.uk/rbf/HIPR2/sobel.htm. L'intensité moyenne de la sortie de ces deux filtrages est proportionnelle à la présence d'un contour à l'endroit du filtrage et l'arctangente 15 du rapport des sorties de ces deux filtrages donne l'orientation locale du contour. On attribue donc à chaque pixel de SBED1 la valeur d'orientation donnée par ce filtrage. Dans un mode particulier de réalisation, les orientations sont de plus 20 arrondies à l'orientation la plus proche parmi les huit orientations suivantes : {0 ; 22,5 ; 45 ; 67,5 ; 90 ; 112,5 ; 135 ; 157,5 }. L'image ainsi produite est appelée SO1. Au cours de l'étape suivante 408, l'image SOI est suréchantillonnée pour produire l'image de prédiction des orientations SOO. Le suréchantillonnage 25 consiste, classiquement, à augmenter le nombre d'échantillons par unité de longueur d'un facteur 2 dans chaque dimension. Les échantillons ajoutés sont construits en dupliquant les échantillons de SOI, ou par filtrage. Parallèlement à l'étape 408, lors d'une étape 410, on calcule les orientations idéales à partir de la sous-bande SO. Pour ce faire, on simule un 30 filtrage orienté, selon une technique du type décrit dans le document de brevet FR-A-2 889 382. Ce filtrage est décrit en détails plus loin en liaison avec la figure 2. 12 Lors de la simulation du filtrage de chaque échantillon, on détermine l'orientation qui, parmi toutes les orientations possibles, optimise un critère prédéterminé. Dans un mode particulier de réalisation, le critère d'optimisation consiste en la minimisation de l'amplitude de l'échantillon de sortie du filtre orienté. On sélectionne donc l'orientation qui fournit la sortie dont la valeur absolue est la plus faible. En variante, le critère peut par exemple consister en la minimisation du débit de codage de l'échantillon de sortie du filtre orienté, ou encore la minimisation du coût de codage de l'échantillon de sortie, ce coût résultant d'une combinaison linéaire du débit associé au codage de l'échantillon et de la distorsion provoquée dans l'image reconstruite par le codage de cet échantillon. L'ensemble des orientations idéales est appelé SOIO. L'étape suivante 412 consiste à améliorer les orientations prédites en vue de les rapprocher le plus possible des orientations idéales, en vue de produire les orientations finales. Cette opération est élaborée en tenant compte du fait que les orientations idéales ne seront pas disponibles au décodeur, et qu'il convient donc de pouvoir régénérer les orientations finales sans connaître les orientations idéales. De façon générale, conformément à la présente invention, on améliore l'image SO0 de façon à la rapprocher le plus possible de l'image SOIO. Dans un mode particulier de réalisation, on utilise une prédiction par états, décrite ci-après. En variante, on peut utiliser un prédicteur linéaire avec codage des résidus, décrit plus loin. La sous-étape 4120 consiste à calculer une prédiction par états de l'image des orientations finales. On fixe tout d'abord une fonction d'état, qui calcule un état pour chaque échantillon de l'image à coder. Dans un mode particulier de réalisation, cet état est donné par les valeurs d'un nombre prédéterminé de pixels de la sous-bande SOO dont l'emplacement dépend de celui du pixel de l'image. Ainsi, dans le mode particulier de réalisation décrit ici, on utilise trois pixels de SOO, dont l'emplacement est défini par SO0(x-1,y), SOO(x,y) et SO0(x, y-1), si le pixel de l'image SO dont on veut calculer l'état est 13 le pixel situé à l'emplacement (x,y). Chaque pixel de SO0 contient une valeur de o à 7. La fonction d'état du pixel de l'image d'origine situé à l'emplacement (x,y) est alors égale à SO0(x-1,y)+8.SO0(x,y)+64.SO0(x,y-1). II y a 512 valeurs d'état possibles. On sépare ensuite les pixels de l'image en sous-groupes, chaque sous-groupe contenant les pixels associés à un état. Puis pour chaque état, à partir des pixels associés à cet état, on calcule la valeur d'orientation optimale. Dans un mode particulier de réalisation, on calcule la valeur optimale d'orientation associée à un état en déterminant l'orientation idéale la plus fréquemment associée aux pixels associés à cet état. Autrement dit, pour tous les pixels associés à un état, on regarde l'ensemble des valeurs d'orientation idéale (c'est-à-dire appartenant à l'image SOIO) situées au même endroit et on détermine la plus fréquente. Le décodeur a besoin de connaître, pour chaque état, la valeur d'orientation associée. Lors de la sous-étape suivante 4122, cette information est transmise au décodeur ou intégrée dans le fichier comprimé. Cette information se présente par exemple sous la forme de la liste des orientations dans l'ordre des états. L'étape 412 se termine alors par l'obtention de l'image des orientations finales SOFO, en calculant, pour chaque pixel de l'image SO, l'état correspondant, puis en utilisant l'état pour connaître l'orientation optimale qui lui est associée. Cela produit l'image des orientations finales SOFO. On décrit à présent une variante de réalisation de l'étape 412 d'amélioration de l'image des orientations SOO, qui consiste en les sous-étapes 25 4220 et 4222. Au cours de la sous-étape 4220, on calcule l'image des différences entre S00 et SOlO. On obtient l'image SDO. Dans cette variante, au cours de la sous-étape suivante 4222, l'image SDO est codée par codage DPCM (modulation différentielle par 30 impulsions codées, en anglais "Differential Pulse Code Modulation"), c'est-à-dire par prédiction linéaire. Le signal produit, qui contient l'erreur de prédiction entre SOO et SOlO, est comprimé et transmis au décodeur. Comme le montre la figure 4, l'étape 414 qui suit l'étape 412 d'obtention des orientations finales consiste à filtrer la sous-bande d'origine par filtrage orienté selon une technique du type de celle décrite dans le document de brevet FR-A-2 889 382. La figure 2 montre un tel filtrage. On en rappelle ci-dessous le principe. On commence par 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 10 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 : 15 {..., xi-2, Xi-1, Xi, xi+1, xi+2, Xi+3, ...}, si on utilise un filtre passe-basayant 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 : 20 yi = -x43/16 + 5x41/16 + xi + 5xi+1/16 ù xi+3/16. Un second filtre, appelé filtre passe-haut, extrait les hautes fréquences du signal. Par exemple, le résultat du filtrage du signal monodimensionnel : {..., Xi 3, Xi 2, Xi 1, Xi, xi+1, Xi+2, xi+3, ...} 25 par le filtre passe-haut dont les coefficients sont : [1/16, 0, -9/16, 1, -9/16, 0, 1/16] est représenté par : yi = x43/16 ù 9x41/16 + xi ù 9xi+1/16 + xi+3/16. Ces filtres passe-haut et passe-bas sont utilisés dans la 30 décomposition selon le schéma de lifting, laquelle est particulièrement adaptée à la présente invention. Pour plus de détails sur le schéma de lifting, on se reportera utilement au site Internet suivant : 15 http://www.bearcave.com/misl/misl tech/wavelets/lifting/predict.html. 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-haut. Dans le cas contraire, le filtre à appliquer est le filtre passe-bas. On détermine ensuite l'orientation du filtre. Cette orientation est fournie par l'image des orientations finales SOFO. La figure 2 montre schématiquement, d'une part, le filtre courant à 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 2, l'échantillon courant est l'échantillon numéro j de la ligne courante numéro i, autrement dit celui correspondant à la ième ligne et à la jème colonne de pixels de l'image. L'exemple de la figure 2 correspond à un mode particulier de 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 : f{Xi-3j-3, Xi-2,j-2, Xi-1j-1, Xi,j, Xi+1 j+1, Xi+2,j+2, Xi+3j+3} {Xii..3, Xi,j-1, Xi à Xi,1+1 , xi,j+2, Xi,j+3} {Xi+3,j-3, Xi+2,j-2, Xi+1,j-1, Xi,j, Xi-1,j+1, Xi-2j+2, Xi-3,j+3} ce qui correspond à des orientations respectives de 45 , 0 et -45 . Dans un mode particulier de réalisation, il y a huit orientations possibles correspondant à des angles uniformément répartis entre -90 et 90 . L'une de ces huit orientations va servir à filtrer réellement le signal. L'orientation utilisée sur chaque échantillon de SO est donnée par l'image de prédiction des échantillons SOFO. En filtrant l'échantillon de SO situé aux coordonnées (x,y), on utilisera l'orientation prédéterminée, parmi les huit orientations prédéterminées possibles du mode particulier de réalisation mentionné ci-dessus, qui est la plus proche de SO0(x,y). En pratique, lors du filtrage d'une image numérique qui est un signal de dimension 2, ce filtrage est itéré trois fois pour engendrer les trois sous-bandes SHI dites de haute fréquence correspondant à : - un filtrage haute fréquence sur l'axe horizontal et un filtrage basse fréquence sur l'axe vertical, - un filtrage basse fréquence sur l'axe horizontal et un filtrage haute fréquence sur l'axe vertical, - un filtrage haute fréquence sur l'axe horizontal et un filtrage haute fréquence sur l'axe vertical. La sous-bande correspondant à un filtrage basse fréquence sur chaque dimension est la sous-bande SBE1. Dans le cas du filtrage de la sous-bande d'origine SO, trois nouvelles 10 sous-bandes haute fréquence sont donc produites, comme dans la transformée en ondelettes classique. Comme le montre la figure 4, l'étape 416 qui suit l'étape 414 d'obtention des trois sous-bandes haute fréquence de résolution inférieure consiste à coder ces trois sous-bandes. Ce codage est effectué de façon 15 classique, par exemple par quantification scalaire ou quantification vectorielle puis application d'un codage entropique tel que le codage de Huffman ou le codage arithmétique. Il est également possible de coder non seulement les trois sous-bandes haute fréquence, mais aussi la sous-bande basse fréquence SBE1, 20 notamment dans le cas où elle n'est pas décomposée en sous-bandes de résolution inférieure. On décrit ci-dessous l'algorithme de décodage d'une sous- bande basse fréquence SOD, c'est-à-dire la version décodée de la sous-bande SO du codage, en référence à la figure 5. 25 Cette sous-bande basse fréquence peut être, soit l'image à décoder, soit une sous-bande basse fréquence qui sera ultérieurement combinée à des sous-bandes haute fréquence pour engendrer une sous-bande basse fréquence de résolution supérieure. Au cours d'une étape 500, on commence par sélectionner la sous- 30 bande à synthétiser puis, lors d'une étape 502, à décoder la sous-bande basse fréquence de résolution immédiatement inférieure à celle de SO. II s'agit de 17 SBED1, ce nom étant identique à celui utilisé lors du codage car il s'agit exactement de la même sous-bande. Puis les deux étapes suivantes 504 d'extraction de l'information d'orientation des contours et 506 de suréchantillonnage sont strictement similaires à celles appliquées au codage. Lors de l'étape suivante 508, on effectue une amélioration des orientations prédites SO0 de façon à obtenir les orientations finales SOFO. Cette opération est similaire à celle utilisée au codage. Toutefois, du fait que les orientations idéales SOIO ne sont pas disponibles cette fois-ci, le mode de calcul est différent, comme décrit ci-dessous, tout d'abord dans un mode de réalisation mettant en oeuvre une prédiction par états puis dans une variante mettant en oeuvre une prédiction linéaire de l'image de différence. Ce calcul est représenté sur la figure 5 par le bloc 510 de traitement des informations additionnelles. Dans le cas d'une prédiction par états, la fonction d'état est similaire à celle utilisée au codage. Il est à noter cependant que la fonction d'état n'utilise ici que des données disponibles au décodeur. En ce qui concerne le décodage des états, le décodeur a besoin de connaître, pour chaque état, la valeur d'orientation associée. Cette information a été transmise par le codeur, ou a été intégrée dans le fichier comprimé, comme décrit plus haut. On a vu que cette information est par exemple constituée de la liste des orientations dans l'ordre des états. Cette liste est lue et le décodeur connaît maintenant l'orientation associée à chaque état. Enfin, l'image des orientations finales SOFO est obtenue en calculant, pour chaque pixel de l'image SO à décoder, l'état correspondant, puis en utilisant l'état pour connaître l'orientation optimale qui lui est associée. Cela produit l'image des orientations finales SOFO. Si la variante avec prédiction linéaire de l'image de différence est mise en oeuvre au codage, on décode l'image SDO (différence entre SOO et SO10) par décodage DPCM puis on ajoute l'image SDO à l'image SO0 obtenue précédemment. Des données représentatives de l'image SDO ont été transmises par le codeur ou intégrées dans le fichier comprimé. 18 Cela construit l'image des orientations finales SOFO. Les étapes 508 et 510 décrites ci-dessus sont suivies d'une étape 512 consistant à décoder les trois sous-bandes haute fréquence SH1 de même résolution que SBED1. Le décodage de chacune de ces sous-bandes se fait par des méthodes classiques telles que le décodage entropique de Huffman ou arithmétique et la déquantification scalaire ou vectorielle. Puis lors de l'étape 514, on effectue un filtrage inverse similaire au filtrage inverse décrit dans le document de brevet FR-A-2 889 382. II s'agit d'appliquer un filtre avec une certaine orientation sur les images combinées SBED1 et SHI. Les orientations sont fournies par des étapes similaires à celles mises en oeuvre lors du codage et décrites précédemment. Ce filtrage a pour résultat de produire la sous-bande SOD, qui est l'image décodée. La figure 3 montre un mode particulier de réalisation d'un dispositif de traitement d'information apte à fonctionner comme dispositif de codage d'un 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 3 peut comporter tout ou partie des 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 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 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. 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. 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 10 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 stockés comme indiqué. Le micro-ordinateur 600 comprend également un écran 609 pour 15 visualiser les informations à traiter et/ou servir d'interface avec l'utilisateur, afin que l'utilisateur puisse par exemple paramétrer certains modes de traitement à 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 20 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 25 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 30 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 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 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 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. REVENDICATIONS 1. Procédé de codage d'un signal numérique multidimensionnel d'image par décomposition en sous-bandes de fréquence, ladite décomposition en sous-bandes de fréquence mettant en oeuvre un filtrage selon une pluralité d'orientations géométriques, ledit procédé étant caractérisé en ce qu'il comporte des étapes consistant, pour une pluralité d'échantillons dudit signal d'image, à : - engendrer (406) une première prédiction d'orientation selon une technique prédéterminée ; - déterminer (410) une orientation de filtrage idéale en simulant le filtrage dudit signal d'image en fonction d'un critère d'optimisation prédéterminé ; - modifier (412) ladite première prédiction d'orientation à l'aide de ladite orientation idéale, de façon à obtenir une orientation finale ; et -filtrer (414) ledit signal d'image en utilisant, lors dudit filtrage selon une pluralité d'orientations, ladite orientation finale. 2. Procédé de codage selon la revendication 1, caractérisé en ce que, lors de ladite étape de modification, on utilise la prédiction linéaire (4222) de la différence entre ladite première prédiction et ladite orientation idéale. 3. Procédé de codage selon la revendication 1, caractérisé en ce que, lors de ladite étape de modification, on utilise un calcul d'états (4120) et on attribue à chaque échantillon de ladite pluralité d'échantillons une orientation en fonction de l'état dudit échantillon. 4. Procédé de codage selon la revendication 1, 2 ou 3, caractérisé en ce que lors de ladite étape de génération d'une première prédiction d'orientation, on analyse les contours de la sous-bande (SBED1) basse fréquence décodée de résolution inférieure à la résolution d'une sous-bande courante sélectionnée (SO). 5. Procédé de codage selon l'une quelconque des revendications 30 précédentes, caractérisé en ce que ledit critère d'optimisation consiste en la minimisation de l'amplitude des échantillons de sortie du filtrage. 6. Procédé de codage selon l'une quelconque des revendications 1 à 4, caractérisé en ce que ledit critère d'optimisation consiste en la minimisation du débit de codage des échantillons de sortie du filtrage. 7. Procédé de codage selon l'une quelconque des revendications 1 à 4, caractérisé en ce que ledit critère d'optimisation consiste en la minimisation du coût de codage des échantillons de sortie du filtrage, le coût de codage d'un échantillon résultant d'une combinaison linéaire du débit associé au codage dudit échantillon et de la distorsion provoquée par le codage dudit échantillon. 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 l'une quelconque des revendications 1 à 7, caractérisé en ce que le signal numérique multidimensionnel est représentatif d'une vidéo. 10. Dispositif (2) de codage d'un signal numérique multidimensionnel d'image par décomposition en sous-bandes de fréquence, ladite décomposition en sous-bandes de fréquence mettant en oeuvre un filtrage selon une pluralité d'orientations géométriques, ledit dispositif étant caractérisé en ce qu'il comporte des moyens adaptés, pour une pluralité d'échantillons dudit signal d'image, à : - engendrer une première prédiction d'orientation selon une technique prédéterminée ; - déterminer une orientation de filtrage idéale en simulant le filtrage dudit signal d'image en fonction d'un critère d'optimisation prédéterminé ; - modifier ladite première prédiction d'orientation à l'aide de ladite orientation idéale, de façon à obtenir une orientation finale ; et - filtrer ledit signal d'image en utilisant, lors dudit filtrage selon une pluralité d'orientations, ladite orientation finale. 11. Dispositif de codage selon la revendication 10, caractérisé en ce 30 que les moyens adaptés à modifier la première prédiction d'orientation sont adaptés à utiliser la prédiction linéaire de la différence entre ladite première prédiction et ladite orientation idéale. 12. Dispositif de codage selon la revendication 10, caractérisé en ce que les moyens adaptés à modifier la première prédiction d'orientation sont adaptés à utiliser un calcul d'états et à attribuer à chaque échantillon de ladite pluralité d'échantillons, une orientation en fonction de l'état dudit échantillon. 13. Dispositif de codage selon la revendication 10, 11 ou 12, caractérisé en ce que les moyens adaptés à engendrer une première prédiction d'orientation sont adaptés à analyser les contours de la sous-bande (SBED1) basse fréquence décodée de résolution inférieure à la résolution d'une sous-bande courante sélectionnée (SO). 14. Dispositif de codage selon l'une quelconque des revendications 10 à 13, caractérisé en ce que ledit critère d'optimisation consiste en la minimisation de l'amplitude des échantillons de sortie du filtrage. 15. Dispositif de codage selon l'une quelconque des revendications 10 à 13, caractérisé en ce que ledit critère d'optimisation consiste en la minimisation du débit de codage des échantillons de sortie du filtrage. 16. Dispositif de codage selon l'une quelconque des revendications 10 à 13, caractérisé en ce que ledit critère d'optimisation consiste en la minimisation du coût de codage des échantillons de sortie du filtrage, le coût de codage d'un échantillon résultant d'une combinaison linéaire du débit associé au codage dudit échantillon et de la distorsion provoquée par le codage dudit échantillon. 17. Dispositif de codage selon l'une quelconque des revendications 10 à 16, caractérisé en ce que le signal numérique multidimensionnel est représentatif d'une image fixe. 18. Dispositif de codage selon l'une quelconque des revendications 10 à 16, caractérisé en ce que le signal numérique multidimensionnel est représentatif d'une vidéo. 19. Procédé de décodage d'un signal numérique multidimensionnel d'image codé par décomposition en sous-bandes de fréquence, ladite décomposition en sous-bandes de fréquence mettant en oeuvre un filtrage selon une pluralité d'orientations géométriques, ledit procédé étant caractérisé en ce qu'il comporte des étapes consistant, pour une pluralité d'échantillons dudit signal d'image codé, à : - engendrer (504) une première prédiction d'orientation ; - recevoir (510) des informations additionnelles contenues dans ledit signal d'image codé ; - modifier (508) ladite première prédiction d'orientation en utilisant lesdites informations additionnelles, de façon à obtenir une orientation finale ; et - filtrer (514) ledit signal d'image codé en utilisant, lors dudit filtrage selon une pluralité d'orientations, ladite orientation finale. 20. Procédé de décodage selon la revendication 19, caractérisé en ce que lesdites informations additionnelles consistent en la prédiction linéaire de la différence entre ladite première prédiction et une orientation idéale. 21. Procédé de décodage selon la revendication 19, caractérisé en ce que lesdites informations additionnelles consistent en une pluralité de valeurs d'orientation respectivement associées à des états, un état étant calculé pour chaque échantillon à partir de ladite première prédiction d'orientation. 22. Dispositif de décodage d'un signal numérique multidimensionnel d'image codé par décomposition en sous-bandes de fréquence, ladite décomposition en sous-bandes de fréquence mettant en oeuvre un filtrage selon une pluralité d'orientations géométriques, ledit dispositif étant caractérisé en ce qu'il comporte des moyens adaptés, pour une pluralité d'échantillons dudit signal d'image codé, à : - engendrer une première prédiction d'orientation ; - recevoir des informations additionnelles contenues dans ledit signal d'image codé ; - modifier ladite première prédiction d'orientation en utilisant lesdites informations additionnelles, de façon à obtenir une orientation finale ; et - filtrer ledit signal d'image codé en utilisant, lors dudit filtrage selon une pluralité d'orientations, ladite orientation finale. 23. Dispositif de décodage selon la revendication 22, caractérisé en ce que lesdites informations additionnelles consistent en la prédiction linéaire de la différence entre ladite première prédiction et une orientation idéale. 25 24. Dispositif de décodage selon la revendication 22, caractérisé en ce que lesdites informations additionnelles consistent en une pluralité de valeurs d'orientation respectivement associées à des états, un état étant calculé pour chaque échantillon à partir de ladite première prédiction d'orientation. 25. 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 dispositif de codage selon l'une quelconque des revendications 10 à 18 et/ou d'un dispositif de décodage selon la revendication 22, 23 ou 24. 26. Moyen de stockage d'informations lisible par un ordinateur ou un microprocesseur conservant des instructions d'un programme informatique, caractérisé en ce qu'il permet la mise en oeuvre d'un procédé de codage selon l'une quelconque des revendications 1 à 9 et/ou d'un procédé de décodage selon la revendication 19, 20 ou 21. 27. Produit programme d'ordinateur pouvant être chargé dans un appareil programmable, caractérisé en ce qu'il comporte des séquences d'instructions pour mettre en oeuvre un procédé de codage selon l'une quelconque des revendications 1 à 9 et/ou un procédé de décodage selon la revendication 19, 20 ou 21, lorsque ce programme est chargé et exécuté par l'appareil programmable.