FR 2724791 A1 19960322 FR 9511023 A 19950920 La présente invention concerne les systèmes de compression et de décompression de données; plus particulièrement, l'invention concerne un procédé et un appareil de codage et de décodage de données avec ou sans pertes dans un système de compression et de décompression. La compression des données est un outil extrêmement utile pour l'enregistrement et la transmission de grandes quantités de données. Par exemple, on réduit fortement le temps nécessaire à la transmission d'une image, par exemple la transmission d'un document en télécopie, lorsqu'on fait appel à une compression pour réduire le nombre de bits nécessaires à la re-création d'image. Il existe de nombreuses techniques différentes de compression de données. Les techniques de compression se divisent en deux grandes catégorics, le codage avec pertes et le codage et sans pertes. Un codage avec pertes signifie un codage qui amène des pertes d'informations, de sorte qu'il n'existe aucune garantie qu'on puisse reconstituer parfaitement les données initiales. Dans la compression avec pertes, le but visé est que les modifications apportées aux données initiales ne soient pas préjudiciables ou détectables. Dans la compression sans pertes, toutes les informations sont conservées et les données sont comprimées d'une manière qui permet une reconstruction parfaite. Dans la compression sans- pertes, on convertit des données-d'intensité. ou des symboles d'entrée en des mots codés de sortie. Les signaux d'entrée peuvent comporter des données d'images, des données audio, des données unidimensionnelles (par exemple des données qui varient dans l'espace ou dans le temps), des données bidimensionnelles (par exemple des données qui varient dans deux directions de l'espace ou dans une direction de l'espace et dans le temps), ou des données multidimensionnelles et, ou bien, multispectrales. Si la compression est réussie, les mots codés sont représentés à l'aide de moins de bits que le nombre nécessaire pour former les symboles d'entrée non codés (ou les données d'intensité). Les procédés de codage sans pertes comprennent des procédés du type dictionnaire de codage (par exemple Lempel-Ziv), le codage de la longueur des points mémoire, le codage énumératif et le codage entropique. Dans la compression d'images sans pertes, la compression repose sur des prédictions ou des contextes, plus un codage. La norme JBIG de compression pour télécopieurs et la DPCM (modulation différentielle par impulsions codées, qui est une option de la norme JPEG) pour images à modelé continu sont des exemples de compression sans pertes appliquée à des images. Dans la compression avec pertes, on quantifie les symboles d'entrée ou les données d'intensité avant la conversion en mots codés de sortie. La quantification vise à préserver les caractéristiques voulues des données tout en éliminant les caractéristiques dépourvues d'importance. Avant la quantification, le système de compression avec pertes fait souvent appel à une transformation réalisant une certaine compaction de l'énergie. La norme JPEG est un exemple d'un procédé de codage avec pertes pour données d'images. Les récents progrès réalisés dans le traitement des signaux d'images continuent de se concentrer sur la nécessité d'obtenir des formes efficaces et précises pour le codage de compression des données. Diverses formes de traitements pyramidaux ou par transformation des signaux ont été proposées, qui comprennent le traitement pyramidal multirésolution et le traitement pyramidal par ondes élémentaires (connu aussi sous l'appelation de traitement "Wavelet"). On rapporte aussi ces formes au traitement par sous-bandes et au traitement hiérarchique. Le traitement pyramidal par ondes élémentaires des données d'images est un type particulier de traitement pyramidal multirésolution qui peut utiliser des filtres miroirs en quadrature (QMF) afin de produire une décomposition en sous-bandes d'une image initiale. On note qu'il existe d'autres types d'ondes élémentaires non QMF. Pour plus d'informatious sur le traitement par ondes élémentaires, on se reportera à Antonini,- M, et al-, Image Coding Using Wavelet Transform", iEE Transactions on Image Processing, vol. 1, ne 2, avril 1992; et Shapiro, J., "An Embedded Hierarchical Image Coder Using Zerotrees of Wavelet Coefficients", Proc. IEE Data Compression Conference.ç p. 214-223, 1993. Un problème que l'on rencontre dans la plupart des traitements par ondes élémentaires selon la technique antérieure est qu'il faut une grande mémoire pour enregistrer toutes les données pendant leur traitement. En d'autres termnncs, pour effectuer un traitement par ondes élémentaires, il faut que toutes les données soient examinées avant l'application du codage aux données. Dans un tel cas, aucune donnée n'est délivrée avant que toutes les données n'aient passé au moins une fois dans le traitement. De fait, le traitement par ondes élémentaires implique typiquement plusieurs passages des données. De ce fait, une grande mémoire est souvent nécessaire. Il serait souhaitable de pouvoir faire appel au traitement par ondes élémentaires tout en évitant de devoir employer une grande mémoire. De plus, il serait souhaitable de pouvoir effectuer le traitement par ondes élémentaires en n'utilisant qu'un seul passage des données. De nombreuses mises en oeuvre de transformations par ondes élémentaires ou sous-bandes nécessitent des filtres se présentant sous une forme canonique particulière. Par exemple, il faut que les filtres passe-bas et passe-haut aient la même longueur, que la somme des carrés des coefficients soit égale à 1, que le filtre passe-haut soit l'inverse du filtre passe-bas en ce qui concerne le temps et la fréquence, etc. (voir le brevet des Etats-Unis d'Amérique n 5 014 134 délivré en mai 1991). Il serait souhaitable de pouvoir disposer d'une plus large classe de filtres. Plus précisément, il serait souhaitable de réaliser des mises en oeuvre de transformations par ondes élémentaires ou sous-bandes utilisant des filtres passe-bas et passe-haut qui n'aient pas la même longueur, dont la somme des carrés des coefficients ne soit pas nécessairement égale à 1, le filtre passe-haut ne devant pas nécessairement être l'inverse du filtre passe-bas en temps et en fréquence, etc. L'invention fournit une compression avec ou sans pertes qui utilise une transformation assurant une bonne compaction de l'énergie. L'invention permet aussi une modélisation de données dans le domaine conjoint espace/frquenc (le domaine de la transformation par ondes élémentaires), qui permet une compression efficace. Est également permise une transmission s'effectuant au fur et à mesure avec une vitesse ou un taux de distorsion laissés au choix de l'utilisateur, après le codage. Il est décrit un procédé et un appareil de codage et de décodage de données. L'invention comprend un procédé et un appareil permettant de produire des signaux transformés en réponse à des données d'entrée. Selon un mode de réalisation, les signaux transformés sont produits à l'aide d'ua transformation par ondes élémentaires révcrsible. L'invention comprend également un procédé et un appareil permettant de comprimer les signaux transformés en des donn6es représentant une version comprimée, sans pertes, des données d'entrée. Selon un mode de réalisation, l'invention décompose les données d'entrée en utilisant un filtre réversible de longueur non minimale. La décomposition peut être effectuée à l'aide de filtres unidimensionnels multiples. L'invention comporte également un procédé et un appareil permettant d'effectuer un codage par implantation (connu aussi sous l'appelation de "embedded coding") des signaux transformés. Le codage par implantation selon l'invention comporte une mise en ordre de la série de coefficients et l'exécution d'une implantation du degré de signification (correspondant généralement au poids) des bits sur les signaux transformés. L'invention comporte également un procédé et un appareil de décompression de la version des données d'entrée comprimée sans pertes en des signaux transformés. L'invention permet aussi une compression des signaux d'entrée avec pertes, par troncation de données comprimées sans pertes. L'invention comporte aussi un procédé et un appareil permettant de produire les données d'entrée à partir des signaux transformés en les mettant sous la forme d'une version reconstruite des données d'entrée, à l'aide d'une transformation par ondes élémentaires réversible inverse. La description suivante, conçue à titre d'illustration de l'invention, vise à donner une meilleure compréhension de ses caractéristiques et avantages; elle s'appuie sur les dessins annexés, parmi lesquels: la figure 1A est un schéma fonctionnel d'un mode de réalisation de la partie de codage du système de codage selon l'invention; la figure lB est un schéma fonctionnel d'un mode de réalisation de l'implantation du degré de signification des bits, selon l'invention; la figure 2A est un schéma fonctionnel montrant un système d'analyse- synthèse par ondes élémentaires; la figure 2B illustre des représentations directe et inverse de systèmes de transformation s'appliquant au filtrage par des filtres réversibles de longueur minimale sans chevauchement; les figures 3A à 3D illustrent les résultats découlant de l'exécution d'une décomposition à quatre niveaux; la figure 4A est un schéma fonctionnel montrant une transformation pyramidale à trois niveaux; la figure 4B est un schéma fonctionnel montrant une transformation bidimensionnelle à deux niveaux; la figure 4C est un schéma fonctionnel montrant des filtres bidimensionnels effectuant une décompression du type multirésolution; la figure 4D est un schéma fonctionnel montrant un système qui utilise les ondes élémentaires réversibles de l'invention; la figure 4E représente des schémas fonctionnels d'un système d'amélioration et d'analyse utilisant les ondes élémentaires réversibles de l'invention; la figure 5 illustre une structure ramifiée de coefficients d'ondes élémentaires; les figures 6A et 6A (suite) représentent un organigramme dun mode de réalisation de la modélisation à ramification zéro ('zerotrce") à liste unique servant à effectuer le codage selon l'invention; la figure 6B et 6B (suite) représentent un organigramme d'un mode de réalisation de la modélisation à ramification zéro à liste unique qui effectue le codage selon l'invention en utilisant une mémoire de drapeau réduite; la figure 6C est un organigramme d'un mode de réalisation de la modélisation à ramification zéro à liste unique servant à effectuer le décodage selon l'invention; la figure 6D est un organigramme d'un mode de réalisation de la modélisation à ramification zéro à liste unique qui effectue le décodage selon l'invention en utilisant une mémoire de drapeau réduite; la figure 7A est un organigramme d'un mode de réalisation de la modélisation du type horizon servant à effectuer le codage selon l'invention; la figure 7B est un organigramme d'un mode de réalisation de la modélisation du type horizon qui effectue le codage selon l'invention en utilisant une mémoire de drapeau réduite; la figure 7C est un organigramme de la modélisation du type horizon servant à effectuer le décodage selon l'invention; la figure 7D est un organigramme de la modélisation du type horizon qui effectue le décodage selon l'invention en utilisant une mémoire de drapeau réduite; la figure 8A est un organigramme d'un mode de réalisation du type passage B servant à effectuer le codage selon l'invention; la figure 8B est un organigramme d'un mode de réalisation du type passage B qui effectue le codage selon l'invention en utilisant une mémoire de drapeau réduite; la figure 9A est un organigramme d'un mode de réalisation du type passage B servant à effectuer le décodage selon l'invention; la figure 9B est un organigramme d'un mode de réalisation du type passage B qui effectue le décodage selon l'invention en utilisant une mémoire de drapeau réduite; la figure 10 est un mode de réalisation du filtre à ondes élémentaires du type direct selon l'invention; la figure 11 est un schéma fonctionnel montrant un mode de réalisation d'un filtre à ondes élémentaires du type inverse selon l'invention; la figure 12 représente une image et des coefficients placés dans un tampon de ligne dans le cas d'une décomposition pyramidale à quatre niveaux; la figure 13 est un schéma fonctionnel d'un mode de réalisation de filtrage par ondes élémentaires utilisant une unité de commande de filtre; la figure 14 est un schéma fonctionnel d'un autre mode de réalisation de filtrage par ondes élémentaires utilisant une unité de commande de filtre; la figure 15 illustre l'affectation de groupes de mémoire assurant des accès horizontaux et verticaux; la figure 16 illustre l'opération de filtrage associée à une décomposition à deux niveaux; la figure 17 est un schéma fonctionnel d'un mode de réalisation du modèle de contexte selon l'invention; la figure 18 est un schéma fonctionnel d'un mode de réalisation de l'unité de mise au formnnat signe/amplitude selon l'invention; la figure 19 est un schéma fonctionnel d'un mode de réalisation de l'unité de mémorisation d'amplitudes selon l'invention; la figure 20 est un schéma fonctionnel d'un mode de réalisation de l'unité de détection de degré de signification selon l'invention; la figure 21 est un schéma fonctionnel d'un mode de réalisation de l'unité de mémorisation de ramifications selon l'invention; la figure 22 est un schéma fonctionnel dun mode de- réalisation dce l'unité de décalage de coefficient selon l'invention; la figure 23 est un schéma fonctionnel d'unm autre mode de réaliation de l'unité de détection de degré de signification selon l'invention, qui fait appel à un alignement de 1,5; la figure 24 illustre l'affectation dynanmique de la mémoire de données codées pour un fonctionnement à un seul passage; les figures 25A et 25B rcprésentent un organigramme d'un mode de réalisation du processus de codage selon l'invention; les figures 26A et 26B représentent un organigramme d'un mode de réalisation du processus de décodage selon l'invention; les figures 27A et 27B représentent un organigramme dun mode de réalisation du processus consistant à modéliser chaque coefficient à la fois pour le processus de codage et celui de décodage, selon l'invention; les figures 28A et 28B représentent un organigramme d'un autre mode de réalisation du processus de codage selon l'invention; les figures 29A et 29B représentent un organigramme dun autre mode de réalisation du processus de décodage selon l'invention; les figures 30A et 30B représentent un organigramme d'un autre mode de réalisation du processus consistant à modéliser chaque coefficient dans les processus de codage et de décodage, selon l'invention; et la figure 31 est un mode de réalisation des multiplicateurs associés à la bande de fréquence servant pour l'alignement des coefficients selon l'invention. On va maintenant décrire un procédé et un appareil de compression et de décompression. Dans la description détaillée suivante de l'invention, de nombreux détails particuliers sont précisés, tels que types de codeurs, nombres de bits, noms de signaux, etc., de façon à donner une compréhension complète de l'invention. L'homme de l'art comprendra toutefois que l'invention peut ltre mise en oeuvre pratiquement sans ces détails particuliers. Dans d'autres cas, des structures et des dispositifs bien connus sont présentés sous forme de schémas fonctionnels, et non pas de façon détaillée, de façon à éviter de compliquer la description de l'invention. Certaines parties de la description détaillée qui va suivre sont présentées sous la forme d'algorithmes et de représentations symboliques d'opérations effectuées sur des bits de données à l'intérieur d'une mémoire d'ordinateur. Ces descriptions et représentations à base d'algorithmes sont les moyens utilisés par l'homme de l'art dans les affaires de traitement de doniées pour communiquer de la manière la plus efficace, à d'autres spécialistes, la substance de leurs travaux. Ici, comme cela est d'ailleurs généralement le cas, un algorithme est conçu sous la forme d'une succession cohérente d'opérations conduisant à un résultat voulu. Ces opérations sont des opérations demandant des manipulation physiques de quantités matérielles. Ordinairement, bien que ceci ne soit pas nécessaire, ces quantités prennent la forme de signaux électriques ou magnétiques pouvant être enregistrés, transférés, combinés, comparés et traités de toutes sortes de manières. Il s'est parfois révélé commode, principalement pour des raisons d'usage courant, de faire référence à ces signaux sous forme de bits, de valeurs, d'éléments, de symboles, de caractères, d'expressions, de nombres, etc. 11 faut toutefois avoir bien à l'esprit que tous ces termes ainsi que d'autres termes analogues doivent être associés à des quantités matérielles appropriées et ne sont que des étiquettes commodes qu'on applique à ces quantités. A moins qu'on ne dise spécialement le contraire, comme cela apparaîtra de façon évidente dans la discussion suivante, on comprendra que, tout au long de l'invention, des discussions utilisant des termes tels que "traitement", "calcul", "détermination", "affichage", ou autres, se rapportent à l'action et aux processus d'un système informatique, ou d'un dispositif analogue de calcul électronique, qui, à l'intérieur de registres et de mémoires du système informatique, manipulent des données représentant des quantités matérielles (électroniques) et les transforme en d'autres données représentant de même des quantités matérielles, à l'intérieur des mémoires et des registres, ou d'autres moyens d'enregistrement d'informations, de dispositifs de transmission ou d'affichage du système informatique. L'invention concerne aussi un appareil permettant d'effectuer les opérations indiquées. Un tel appareil peut être spécialement construit dans le but visé, ou bien il peut être constitué par un ordinateur de type universel spécialement activé ou reconfiguré par un programme d'ordinateur mémorisé dans l'ordinateur. Les algorithmes et les affichages présentés ici ne sont pas intrinsèquement liés à un quelconque ordinateur particulier ou à un autre appareil. On peut utiliser des machines de type universel en liaison avec des programmes selon les enseignements présentés ici, ou bien il peut se révéler commode de construire un appareil plus spécialisé pour effectuer les opérations voulues du procédé. La structure nécessaire à cette variété de machine apparaîtra dans la description suivante. De plus, l'invention n'est pas décrite en liaison avec un langage de programmation particulier. On aura compris que toute une variété dc langages de programmation peut être utilisée pour mettre en oeuvre les enseignements de l'invention, comme décrit ci-après. Vue d'ensemble de l'invention L'invention concerne un système de compression/décompression possédant une partie de codage et une partie de décodage. La partie de codage est responsable du codage de données d'entrée, qui vise à créer des données comprimées, tandis que la partie de décodage est responsable du décodage de données antérieurement codées, qui vise à produire une version reconstruitc des données d'entrée initiales. Les données d'entrée peuvent comprendre toute une variété de types de données, par exemple des images (fixes ou vidéo), des signaux audio, etc. Dans un mode de réalisation, les données sont des données de signaux numériques; toutefois, des données analogiques numérisées, des formats de données de texte, et d'autres formats sont possibles. En ce qui concerne la partie de codage et, ou bien, la partie de décodage, la source des données peut être une mémoire ou un canal de transmission. Selon l'invention, des éléments de la partie de codage et, ou bien, de la partie de décodage peuvent être mis en oeuvre sous forme de circuits matériels ou sous forme de logiciels, comme il en est utilisé dans un système informatique. L'invention fournit un système de compression/décompression sans pertes. L'invention peut également être configurée de manière à effectuer une compression/décompression avec pertes. La figure 1A est un schéma fonctionnel d'un mode de réalisation de la partie de codage du système. On note que la partie de décodage du système exerce la même action dans l'ordre inverse, par rapport à la circulation des données. Comrnme on peut le voir sur la figure lA, des données d'image d'entrée 101 sont reçues par un bloc de transformation par ondes élémentaires 102 ("wavelets"). La sortie du bloc 102 de transformation par ondes élémentaires est couplée à un bloc 103 d'implantation ("embedded coding") du degré de signification des bits. En réponse au signal de sortie du bloc 102 de transformation par ondes élémentaires, le bloc 103 d'implantation du degré de signification des bits produit au moins un train de bits qui est reçu par un codeur entropique 104. En réponse au signal d'entrée fourni par le bloc 103 d'implantation du degré de signification des bits, le codeur entropique 104 produit un train de signaux codés 107. Dans un mode de réalisation, le bloc 103 d'implantation du degré de signification des bits comprend une unité 109 de mise au format signwJamplitude, un modèle 105 de contexte s'appuyant sur la fréquence et un modèle 106 de contexte s'appuyant conjointement sur l'espace géométrique et la fréquence, ainsi que cela est représenté sur la figure lB. Dans un mode de réalisation, le modèle 106 de contexte basé conjointement sur l'espace et la fréquence comprend un modèle de contexte du type horizon. Dans certains modes de réalisation, le bloc 105 associé au modèle de contexte basé sur la fréquence comprend un modèle à ramification zéro (également connu sous l'appellation de modèle 'zerotree). Dans un autre mode de réalisation, le modèle 105 de contexte basé sur la fréquence comprend un modèle de ramification selon le degré de signification. L'unité 109 de mise au format signe/amplitude, le modèle 105 de contexte basé sur la fréquence et le modèle 106 de contexte basé conjointement sur l'espace et la fréquence (JSF) effectuent un codage par implantation du degré de signification des bits selon l'invention. L'entrée de l'unité 109 de mise au format signe/amplitude est couplée à la sortie du bloc 102 de codage à transformation par ondes élémentaires. La sortie de l'unité de mise au format signe/amplitude 109 est couplée à un commutateur 108. Le commutateur 108 est couplé de façon à fournir le signal de sortie de l'unité 109 de mise au format signe/amplitude à l'entrée du bloc 105 de modélisation basé sur la fréquence ou à celle du bloc 106 de modélisation basé conjointement sur l'espace et la fréquence. Les sorties du bloc 105 de codage basé sur la fréquence et du bloc 106 de codage à mise en ordre du type horizon sont couplées à l'entrée du codeur entropique 104. Le codeur entropique 104 produit le train de signaux codés de sortie 107. On revient à la figure 1A. Selon l'invention, les données d'image 101 sont reçues et codées par transformation à l'aide d'ondes élémentaires réversibles dans le bloc 102 de transformation par ondes élémentaires, comme défini ci-après, de facçon à produire une série de coefficients représentant une décomposition du type multirésolution de l'image. Ces coefficients sont reçus par le bloc 103 d'implantation du degré de signification des bits. Le bloc 103 d'implantation du degré de signification des bits ordonne les coefficients et les convertit au format signe/amplitude puis, selon leur degré de signification (comme décrit ci-après), les coefficients ainsi mis au format sont soumis à la combinaison de différents procédés de modélisation par implantation. Selon l'invention, les coefficients mis au format sont soumis à l'un ou l'autre de deux procédés de modélisation par implantation (par exemple la modélisation basée sur la fréquence et la modélisation JSF. Dans un mode de réalisation, les coefficients mis au format sont -- soumis à la modélisation basée sur la fréquence ou bien à la modélisation basée conjointement sur l'espace et la fréquence. Lorsque les données d'entrée comprennent des données d'imagc ayant plusieurs plans mémoire, selon l'invention, un certain nombre de plans mémoire sont codés selon la modélistion basée sur la fréquence, tandis que les plans mémoire restants sont codés selon la modélisation JSF. La décision indiquant quel procédé on utilise et sur quels plans mémoire on l'utilise peut être liée à un paramètre d'utilisateur. Dans un mode de réalisation, les plans mémoire d'ordres supérieurs des coefficients sont ordonnés et codés à l'aide de la modélisation basée sur la fréquence, selon l'invention. Dans le procédé du modèle de contexte basé sur la fréquence, selon l'invention, la prédiction du degré de signification des bits des coefficients est associée à la structure pyramidale de l'onde élémentaire. Les plans mémoire d'ordres inférieurs des coefficients sont ordonnés et codés à l'aide du modèle de contexte basé conjointement sur l'espace et la fréquence, selon l'invention. La modélisation JSF, par exemple la modélisation du type horizon, offre des avantages, par rapport au codage utilisant la fréquence, pour les plans mémoire qui sont dans une moindre corrélation avec des relations de coefficients du domaine de la fréquence. Les résultats du codage par implantation du degré de signification des bits sont des décisions (ou des symboles) à coder à l'aide du codeur entropique. Dans un mode de réalisation, toutes les décisions sont envoyées à un unique codeur. Dans un autre mode de réalisation, les décisions sont étiquetées selon le degré de signification, et, pour chaque degré de signification, les décisions sont traitées par des codeurs multiples des codeurs (matériels ou virtuels) différents. Les trains de bits résultant du bloc 105 du modèle de contexte basé sur la fréquence et du bloc 106 du modèle de contexte JSF sont codés, à l'aide du codeur entropique 104, suivant l'ordre des degrés de signification. Dans un mode de réalisation, le codeur entropique 104 peut comprendre un codeur entropique binaire. Dans un mode de réalisation, le codeur entropique 104 comprend un codeur Q, un codeur B, comme défini dans le brevet des Etats-Unis d'Amérique n 5 272 478, ou bien un codeur tel que décrit dans la demande de brevet des Etats-Unis d'Amérique n 08/016035, intitulée "Method and Apparatus for Parallel Decoding and Encoding of Data", et déposée le 10 février 1993. Pour plus d'information concernant le codeur Q, on pourra se reporter à Pennebaker, W.B., et al., "An Overview of the Basic Principles of the Q-coder Adaptive Binary Arithmetic," IBM Journal of Research and Development vol. 32, p. 717-26, 1988. Dans un mode de réalisation, un unique codeur produit un unique train de signaux codés de sortie. Dans un autre mode de réalisation, des codeurs multiples (matériels ou virtuels) produisent des trains de données multiples (matériels ou virtuels). Décomposition par ondes élémentaires 'invention effectue initialement la décomposition d'une image (se présentant sous la forme de données d'image) ou d'un autre signal dedonnées à l'aide d'ondes élémentaires réversibles. Selon l'invention, une transformation par ondes élémentaires réversible comprend la mise en oeuvre d'un système de reconstruction exacte formulé en arithmétique des nombres entiers, de sorte qu'un signal à coefficients entiers peut étre reconstitué sans pertes. Du fait qu'eUlle utilise des ondes élémentaires réversibles, l'invention est en mesure de réaliser une compression sans pertes à l'aide d'une arithmétique de précision finie. Les résultats obtenus par application de la transformation par ondes élémentaires réversiblc aux données d'image sont constitués d'une série de coefficients. Dans un mode de réalisation de l'invention, la transformation par ondes élémentaires réversible est mise en oeuvre à l'aide d'un ensemble de filtres. Dans un mode de réalisation, les filtres sont respectivement un filtre passe-bas à deux prises intermédiaires et un filtre passe-haut à six prises interméd&liaires. Dans un mode de réalisation, ces filtres sont mis en oeuvre à l'aide de seules opérations d'addition et de soustraction (plus un décalage des bits par des moyens câblés). De plus, selon l'invention, le filtre passe-haut produit son signal de sortie en utilisant les résultats du filtre passe-bas. Les coefficients passe- haut résultants dépassent de quelques bits seulement la résolution des pixels et les coefficients passe-bas ont la mêmc résolution que les pixels. Puisque seuls les coefficients passe-bas sont filtrés de manière répétée dans une décomposition pyramidale, la résolution n'augmente pas dans des décompositions à plusieurs niveaux. Un système de transformation par ondes élémentaires est défini par une paire de filtres d'analyse à réponse impulsionnelle finie h0(n), hl(n), et une paire de filtres de synthèse à réponse impulsionnelle finie go(n), gl(n). Selon l'invention, h0 et go sont des filtres passe-bas et h1 et gl sont des filtres passe-haut. Un schéma fonctionnel du système de transformation par ondes élémentaires est présenté sur la figure 2A. Comme on peut le voir sur la figure 2A, pour un signal d'entrée x(n), les filtres d'analyse h0 et h1 sont appliqués et les signaux de sortie sont soumis à une 'décimation' de facteur 2 (sont sous-échanfilomnés-de façon critique) de façon à produire les signaux transformés yo(n) et yl(n), qu'on appellera ici respectivement des coefficients filtrés passe-bas et passe-haut. Les filtres d'analyse et les blocs de décimation, ou de sous-échantillonnage, qui leurs sont associés forment la partie d'analyse du système de transformation par ondes élémentaires. Le dispositif de codage/décodage contient tous les programmes et toutes les logiques de traitement qui s'exécutent dans le domaine transformé (par exemple prédiction, quantification, codage, etc.). Le système de transformation par ondes élémentaires représenté sur la figure 2A comporte également une partie de synthèse dans laquelle les signaux transformés sont suréchantillonnés d'un facteur 2 (par exemple on insère un zéro apres chaque terme), puis passent dans des filtres de synthèse, go(n) et gl(n). Les coefficients filtrés passe-bas yo(n) sont envoyés dans le filtre de synthèse passe-bas go et les coefficients filtrés passe-haut (yOn sont envoyés dans le filtre passe-haut gl. Les signaux de sortie des filtres g0(n) et gl(n) sont combinés pour produire x(n). Alors qu'on effectue un sous-échantillonnage et un suréchantillonnage dans certains modes de réalisation, dans d'autres, on utilise des filtres de façon à ne pas effectuer les calculs rendus inutiles par le sous-échantillonnage et le suréchantillonnage. Le système de transformation par ondes élémentaires peut être décrit en fonction de la transformation Z, o X(Z), X(Z) sont respectivement les signaux d'entrée et de sortie, Y0(Z), Y1(Z) sont les signaux transformés filtrés passe- bas et passe-haut, H0(Z), H1(Z) sont les filtres d'analyse passe-haut et passe-bas et, enfin, Go(Z), G1(Z) sont les filtres de synthèse passe- bas et passe-haut. S'il n'y a aucune altération ou quantification dans le domaine de la transformation, le signal de sortie X(Z) de la figure 2A est donné par: X(Z) = I[Ho(Z)Go(Z)+H,(Z)G,(Z)]X(Z)+ 2 [Ho(-Z)Go (Z) +H,(-Z)G,(Z)]X(-Z). Selon l'invention, le deuxième terme de X(Z), qu'on appellera le terme de "repliement de spectre', s'annule du fait que les filtres de synthèse sat définis comme étant les miroirs en quadrature des filtres d'analyse, c'est-à-dire: Go(Z) = H1(-Z) G1(Z) =-H0(-Z) ce qui donne, pour les coefficients des filtres,- g (-)oh(n) ()n hl(n) gl(n) = -(-l)nho(n). Ainsi, pour des paires de filtres qui sont respectivement leurs miroirs en quadrature, on obtient, après substitution, le signal de sortie suivant: X(z) = [Ho(Z)Hi(-Z) -H,(Z)Ho(-Z)]X(Z). Par conséquent, dans le système de miroirs en quadrature selon l'invention, le signal de sortie est défini en fonction des seuls filtres d'analyse. La transformation par ondes élémentaires est appliquée de façon récursive aux signaux transformés dans lesquels les signaux de sortie produits par les filtres sont utilisés comme signaux d'entrée des filtres, directement ou indirectement. Dans le mode de réalisation décrit, seule la composante transformée filtrée passe-bas yo(n) est transformée de façon récursive de sorte que le système est pyramidal. Un exemple d'un tel système pyramidal est présenté sur la figure 4A. La transformation Z est une notation commode pour exprimer l'action de l'équipement matériel et, ou bien, du logiciel sur les données. La multiplication par Z-m forme un modèle de retard de m cycles d'horloge dans un équipement matériel et un accès matriciel au même élément précèdent dans un logiciel. De telles mises en oeuvre sous forme d'équipements matériels font intervenir des mémoires, des étages de canaux de communication, des dispositifs de décalage, des registres, etc. Selon l'invention, les signaux x(n) et (n) sont identiques à une constante multiplicative et un terme de retard après, c'est-à-dire dans les termes de transformation Z, X(Z) = cZ--X(Z). Ceci constitue ce que l'on appelle un système de reconstruction exacte. Ainsi, dans un mode de réalisation de l'invention, la transformation par ondes élémentaires initialement appliquée aux données d'entrée est reconstructible de façon exactc. Un mode de réalisation de l'invention utilisant la transformation de Hadamard est un système de reconstruction exacte qui, sous forme normalisie, possède la représentation suivante dans le domainm Z: t H0(Z) = /(l+Z-1) H 1 (Z) (1-Z-1) Apres substitution, k signal de sortie est X(Z) = z-lx(z, ce qui constitue de façon évidente une reconstruction exacte. Pour plus d'informations sur la transformation de Hadamard, on se reportera à Anil K Jain, Fundamentals of Image Processing, p. 155. Une version réversible de la transformation de Hadamard sera ici appelée la transformation S. Pour plus d'informations sur la transformation S, on se reportera à Said, A. et Pearlman, W. "Reversible Image Compression via Multiresolution Representation and Predictive Coding, "Dept. of Electrical, Computer and Systems Engineering, Renssealacr Polytechnic Institute, Troy, NY, EUA. 1993. Puisque la transformation de Hadamard est une transformation à reconstruction exacte, la version non normalisée suivante (qui diffère de la transformation de Hadamard par des facteurs constants) est également une transformation à reconstruction exacte: [ho(Z) = l(1+Z- 1) v 2 hl(Z) = 1-z- Etant donné les échantillons du signal d'entrée tels que x0, xl, la transformation S est une mise en oeuvre r6versible de ce système sous la forme: Yo(0) = L(x(O)+x(1"))/2] Y l(0) = X(O) - x(1). La notation l. J signifie un arrondissement vers le bas, ou une tron- cation, et correspond à ce que l'on appelle parfois une fonction "plancher. De même, la fonction plafond r. signifie un arrondissement vers le haut jusqu'à l'entier suivant. La preuve que cette mise en oeuvre est réversible d6coule du fait que la seule information perdue au cours de l'approximation est le bit le moins significatif -.. de x(0)+x(1). Puisque les bits les moins significatifs de x(O)+(xl) et de x(O)-x(1) sont identiques, ceux-ci peuvent être reconstitués à partir du signal de sortie passe-haut Yl(0). En d'autres termes, x(O) = Yo(O)+ [(Yl(O)+l)/2J x(1) = x(1) =Yo(O)q(Yl(O)_l)/2' La transformation S est une transformation sans chevauchement qui utilise des filtres réversibles de longueur minimale. Des filtres de longueur minimale sont formés d'une paire de filtres, les deux filtres ayant deux prises intermédiaires. Les transformations à longueur minimale ne donnent pas une bonne compaction de l'énergie. Des filtres de longueur minimale produisent une transformation sans chevauchement puisque la longueur des filtres est égale au nombre des filtres. Les transformations avec chevauchement utilisent au moins un filtre qui possède une longueur plus grande que le nombre des filtres. Des transformations avec chevauchement qui utilisent des filtres plus longs (n'ayant pas la longueur minimale) peuvent donner une meilleure compaction de l'énergie. L'invention fournit des filtres réversibles de longueur non minimale qui permettent une transformation sans chevauchement. Un autre exemple d'un système à reconstruction exacte comprend la transformation deux/six CS), qui possède, dans le domaine Z, la définition: f H0(Z)= (1+Z1) H1(Z) = -(-l-Z-1+8Z-2-8Z-3+Z4+Z-5) Après substitution, le signal de sortie est: X(Z) = 2Z-3X(Z), qui est une transformation à reconstruction exacte. Une version non normalisée rationnelle de la transformation TS comprend: ho(Z) = (+Z-1) hl(Z) = (-1-Z-1+8Z-2-8Z-3+Z-4+Z-5) Si x(0), x(1),... x(5) sont six échantillons du signal, aIso les trois premiers coefficients filtrés passe-bas yo(O), yo(l), yo(2) et lc premier coefficient filtré passe-haut Yl(0) sont donnés par: yo(O) = L(x(0) + x(1)) / 2 Yo(1) = [(x(2) + x(3)) / 2] yoo(2) = L(x(4) + x(5)) / 2J y,(0) = L(-(x(O) + x(1)))+ 8(x(2)- x(3))+ (x(4)+ x(5))/ 8]J. Toutefois, la simple mise en oeuvre directe de la version non normalisée rationnelle de la transformation TS n'est pas réversible. L'exemple suivant montre que cette mise en oeuvre n'est pas réversible localement. On peut construire une séquence plus longue à titre d'exemple du cas général. Puisque -(x(0)+x(1))+(x(4)+x(5))-yo(0)+yo(2) du fait de l'arrondissement intervenant dans le calcul de yo(0) et yo(2), cette transformation n'est pas réversible lorsqu'on utilise une information locale. Par exemple, si x(0)=1, x(1)=1, x(2)=3, x(3)=1, x(4)=1, x(5)=1, alors: yo(O)=L(3+l)/ 2= 2 yo(l) =L(3 + 1) / 2j = 2 yo(2) =L(1 + 1) / 2] = 1 y,(O)= [[-(1+1)+8(3-1) + (1+1)]/ 8J = L(-2+16+2)/8 =2 et si x(O)=1, x(1)=2, x(2)=4, x(3)=1, x(4)=1, x(5)=1, alors Yu(O)= L(i + 2) / 2J = 1 yo(l)(=L(4+1)/2J=2 y0(2)= L(l + 1)/2] = 1 Y (O)=L[-(1+2)+ 8(4-1)+(1+1)]j/8=L(-3+24+2)/8J=L23/8j=2. Puisque yo(O), yo(1), yo(2) et yl(O) sont les mêmes pour deux groupes différents de signaux d'entrée x(0),... x(5), la transformée n'est pas réversible, puisque, étant donnés y0(0),... yl(0), on ne peut pas déterminer, à partir de cette information locale, lequel des deux groupes a été appliqué en entrée. (On notera qu'il peut être prouvé que la transformation n'est pas réversible à l'aide d'informations globales pour tous les coefficients.) On va maintenant considérer une transformation 1S réversible, que l'on appellera ici une transformation RTS, qui réalise une opération de filtrage passe- haut différente. Si x(0), x(1), x(2), x(3), x(4), x(5) sont 6 échantillons du signal, alos les trois premiers coefficients filtrés passe-bas yo(0), yo(l), y0(2) et le premier coefficient filtre passe-haut yl(O) sont donnés respectivemenmt par: y(O) ((O) = L(x(1o)+x))/2J yo(1) = L(x(2)+ x(3))/2j yo(2) = L(x(4)+x(5)) /2J y1(0) = L(-L(x(o) + x(1)) /2J + 4(x(2) - x(3)) + L(x(4) + x(5)) /2j) / 4J = L(-yo(o) + 4(x(2) - x(3)) +yo(2)) /4j. puisque: x(2) - x(3) = y,(O)- L-(yo(o) +yo(2)) /4], alors x(2)-x(3) est parfaitement connu. Comme y0(1)=Kx(2)+x(3)"4, x(2)-x(3) et x(2)-x(3) sont définis ci-dessus, on peut reconstituer x(2) et x(3) puisque les bits les moins significatifs de x(0)+x(1) et x(0)-x(1) sont identiques. En particulier, soit: d(O) = x(2)-x(3) = y(0)- L(-yo(0)+yo(2) 1 4)] x(2) = yo(1)+L(d(O)+1)/2J x(3) = y0 (1)+ [(d(0) - 1) /21' Un mode de réalisation du filtre direct associé à la transformnnation RTS est représenté dans l'appendice A, qui est mis en oeuvre à l'aide du langage de programmation "C". On note que, du point de vue mathématique, l'équation: (-1 - z-' + 8Z-2 8z-3 + Z + z5) et l'équation: i z1 Z-l 4( (-1-Z) + 4(Z-2 Z-)+ '(Z-4+z5) sont les mêmes lorsqu'elles sont exécutées selon une arithmétique à précision finie. La raison faisant que la deuxième équation représente un filtre réversible est évidente lorsqu'on la met en oeuvre matériellement en arithmétique des nombres entiers. Des exemples de mise en oeuvre de type matériel pour le filtre passe-bas et le filtre passe-haut sont présentés en liaison avec les figures 10 et 11. On note que, dans la transformation S aussi bien que dans la transformation RTS, le filtre passe-bas est mis en oeuvre de façon que le signal d'entrée x(n) ait le même intervalle que le signal de sortie yO(n). Par exemple, si le signal est une image à 8 bits, le signal de sortie du filtre passe-bas est également à 8 bits. Ceci est une propriété importante pour un système pyramidal dans lequel le filtre passe-bas est appliqué de façon répétée, puisque, dans les systèmes de la technique antérieure, l'intervalle du signal de sortie est plus grand que celui du signal d'entrée, ce qui rend difficile d'appliquer successivement le filtre. En outre, le filtre passe-bas n'a que deux prises intermédiaires, qui en font un filtre sans chevauchement. Cette propriété est importante pour la mise en oeuvre sous forme matérielle, comme cela sera expliqué ci-après. Dans un mode de réalisation, en liaison avec la transformation RTS, le filtre passe-bas et le filtre passe-haut sont définis par: s I ho(Z) = (1+Z-1) hl(Z' = 2(- (+z-l)+ 4(Z-2 - Z-3)+ l(z-4 + Z-5)) Ainsi, les résultats issus du filtre passe-bas peuvent être utilisés deux fois (au premier terme et au troisième terme) dans le filtre passe-haut. Par conséquent, il ne faut effectuer que deux autres additions pour arriver aux résultats du filtre passe- haut. De nombreux filtres réversibles à longueur non minimalc sans chevauchement peuvent être utilisés dans l'invention. Des représentations directe et inverse du système de transformation assurant un filtrage à l'aide de filtres réversibles de longueur minimale sans chevauchement sont présentés sur la figure 2B. Par exemple, on peut utiliser dans l'invention des filtres de la classe suivante. Pour un cntier L >_z, d(O) = x(2(LL/2J + 1))- x(2(LL/2J + 1) + 1), Y (0) = [(x(O) + x(l)) 2] y0(1) = [(x(2) + x(3)) / 2J et y0 (L- 1) = L(x(2L(L- 1) / 2]) + x(2L(L- 1) / 2J + 1)) / 2] et L[42J L-l Z ayo(i)+bd(O)+ Icyo(j) yl(0) =, -i= jL-j+2 k La longueur du filtre passe-haut est 2L Si L est impair, le filtre peut se rapprocher d'un filtre symétrique. Si ai, b, ci et k sont des entiers et que k.b, alors le filtre est réversible. Si ai, b, ci et k sont des puissances de deux (ou bien la négation ou le complément d'une puissance de deux), alors on peut simplifier la mise en oeuvre du filtre. Si k=b (indépendamment des valeurs de ai et de cl), alors, on minimise l'intervalle du signal de sortie du filtre passe-bas Yj- Pour chaque ai, s'il existe exactement une valeur cj pour laquelle ai=--cj, alors le filtre passe-haut n'aura pas de réponse pour un signal d'entrée constant. Si ai=--cj lorsque j-(L-1)=i, alors le filtre peut se rapprocher d'un filtre symétrique. Une autre propriété utile est: LL2J i [(a,)(2i)= + (a,)(2i + 1)m] + (b)(2(Ll/2] + 1)) i=O -(b)(2(L2J c + 1) + 1) +, (2) + c(2+)'] =0 j---L/2J.2 Ceci fait que le filtre passe-haut n'a pas de réponse à un signal d'entrée variant linéairement lorsque m=1 et a un signal d'entrée variant de façon quadratique lorsque m=2, etc., o m est l'état de moment. Cette propriét6 est la raison de principe faisant que la transformation RTS a une meilleure compaction d'énergie que la transformation S. Alors que des filtres doivent satisfaire un minimum de contraintes pour être réversibles, en ce qui concerne différentes applications, on peut utiliscr des filtres qui ne satisfont aucune des autres-propriétés, certaines des autres propriétés ou toutes les autres propriétés. Dans certains modes de réalisation, on utilise l'un des filtres passe-haut suivants donnés à titre d'exemples. Les filtres sont indiqués dans une notation qui 6numère simplement les coefficients entiers de la version rationnelle du filtre, car il faut éviter de compliquer la description de l'invention. I 1 -4 -4 16-164 4-1 -1 1 1-3-3 8-8 3 3-1-1 -1 -1 0 0 16-160 0 1 1 -1-1 44-16-16 256-256 16 16-4-41 1 3 3-22- 2 128-128 22 22-3-3. Le dernier filtre est désigné ici comme étant le filtre IT (deux/dix) et il a pour propriété de ne pas avoir de réponse à une fonction qui croit de façon cubique. On note que, puisque 22=16+2x3 et 3=2+1, ce filtre peut être mis en oeuvre au moyen de sept additions et soustractions au total. On peut assouplir les exigences de réversibilité strictes des filtres en notant ce qui suit. Les coefficients passe-haut sont codées et décodés dans le même ordre. Les valeurs des pixels correspondant à des coefficients passe-haut précédemment décodés sont connus de façon exacte, de sorte qu'ils peuvent être utilisés dans le filtrage passe-haut en cours. Par exemple, on peut utiliser le filtre suivant lorsqu'on utilise un ordre de tramage. Hl(Z)=[ [ ( î+Z')J+ [2(8(Z-' - 3)+(z- + L'utilisation d'un unique filtre passe-haut fixe n'est pas nécessaire. On peut utiliser des filtres adaptatifs ou des filtres multiples. Les données utilisées pour adapter des filtres ou faire la sélection parmi les filtres multiples doivent êctre limitées aux données qui sont disponibles dans le décodeur avent une opération de filtrage inverse particulière. Une manière d'utiliser des filtres multiples consiste à traiter les coefficients passe-haut de façon progressive. D'autres opérations de filtrage passe- haut (Yl(0), yl(2), Yl(4),...) peuvent être traitées d'abord à l'aide d'un filtre réversible tel que le filtre passe-haut RTS. La suite du traitement (YJ- ) Yi(3),- yj(5),...) utilise un filtre non réversible pouvant aller jusqu'à 6 pises intermédiaires, puisque les valeurs exactes des signaux d'entrée appliqués à la partie enchevauchement du filtre sont connus. Par exemple, on peut utiliser l'un quelconque des filtres suivants: -1 3 -3 1 -1 4 -4 1 -3 8 -8 3 1 -5 10 -10 5 -1 1 -4 8-8 4-1. Dans certains modes de réalisation, on peut remplacer le filtre passe- haut par une opération de prédiction/interpolation. Un dispositif de prédiction/interpolation peut prédire la différence existant entre une pairc de signaux d'entrée à l'aide de n'importe quelle donnée qui est disponible dans le décodeur avant une opération de prédiction/interpolation particulière. La différence prédite est alors soustraite de la différence réelle des signaux d'entrée et est délivrée. Dans un mode de réalisation, on utilise des procédés de prédiction selon la technique antérieure, qui sont employés dans la DPCM, le codage progressif ou le codage dans le domaine spatial. En utilisant les filtres passe-bas et passe-haut selon l'invention, on effectue une décomposition du type multirésolution. Le nombre de niveaux de décomposition est variable et peut être quelconque. Toutefois, le nombre de niveaux de décomposition est couramment égal à deux, trois, quatre ou cinq. Par exemple, si l'on applique d'une façon récursive à une image la transformation par ondes élémentaires réversible, le premier niveau de décomposition agit sur le détail, ou résolution, le plus fin. Au premier niveau de décomposition, l'image est décomposée en quatre sous-images (par exemple sous- bandes). Chaque sous-bande représente une bande de fréquences spatiales. Les sous-bandes du premier niveau sont désignées par LL0, LH0, HL0 et HH. Le processus de décomposition de l'image initiale implique un souséchantillonnage, d'un facteur 2, à la fois dans la dimension horizontale et la dimension verticale, de sorte que les sous-bandes du premier niveau L0, LH0, HI0 et HH0 ont chacune quatre fois moins de coefficients que le signal d'entrée ne possède de pixels (ou de coefficients) de l'image, comme représenté par exemple sur la figure 3A. La sous-bande LLi0 contient simultanément l'information horizontale de basse fréquence et l'information verticale de basse fréquence. Typiquement, une grande partie de l'énergie de l'image est concentrée dans cette sous-bande. La sous-bande LH0 contient l'information horizontale de basse fréquence et l'information verticale de haute fréquence (par exemple l'information associée aux bords horizontaux). La sous-bande HL0 contient l'information horizontale de haute fréquence et l'information verticale de basse fréquence (par exemple l'information associée aux bords verticaux). La sous-bande HH0 contient l'information horizontale de haute fréquence et l'information verticale de haute fréquence (par exemple l'information concernant les diagonales ou les textures). On produit chacun des deuxième, troisième et quatrième niveaux successifs inférieurs de décomposition en décomposant la sous-bande LL de basse fréquence du niveau précédent. Cette sous-bande LL0 du premier niveau est décomposée de façon à produire des sous-bandes LL1, LH1, HL1 et HH1 du deuxième niveau, associé aux détails modérés. De la même façon, on décompose la sous-bande LL1 de façon à produire des sous-bandes LL2, LH2, HL2 et HH2 du troisième niveau, concernant le détail grossier. On décompose la sous-bande LL2 pour produire des sous-bandes LL3, LH3 HL3 et HH3 du troisième niveau concernant les détails plus grossiers, comme représenté sur la figure 3D. Du fait du sous-échantillonnage de facteur 2, chaque sous-bande du deuxième niveau a une taille correspondant à 1/16 de la taille de l'image initiale. Chaque échantillon (par exemple pixel) de ce niveau représente le détail modéré de l'image initiale pour le même emplacement. De même, chaque sous-bande du troisième niveau a une taille égale à 1/64 de la taille de l'image initiale. Chaque pixel de ce niveau correspond au détail relativement grossier de l'image initiale pour le même endroit. De plus, chaque sous-bande du quatrième niveau a une taille égale à 1/256 de la taille de l'image initiale. Puisque les images décomposées sont matériellement plus petites que les images initiales du fait du sous-échantillonnage, on peut utiliser, pour enregistrer toutes les sous-bandes décomposées, la même mémoire que celle ayant servi à mémoriser l'image initiale. En d'autres termes, l'image initiale et les sous- bandes décomposées L0 et LL1 sont rejetées et ne sont pas enregistrées dans une décomposition à trois niveaux. Il existe une relation parent-enfant entre une composante de sous- bande représentative du détail grossier et une composante de sous-bande correspondante associée au niveau de détail plus fin lui faisant immédiatement suite. Alors que l'on n'a représenté que des niveaux de décomposition à quatre sous-bandes, on pourrait aller jusqu'à des niveaux plus élevés selon les exigences d'un système particulier. De plus, avec d'autres transformations, par exemple DCT ou sous-bandes linéairement séparées, on peut définir des relations parent-enfant différentes. Le processus de décomposition du type multirésolution peut être un système de filtrage tel que décrit en liaison avec la figure 4A. Un signal d'entrée représentant un signal unidimensionnel de longueur L est filtré en passe-bas et en passe-haut par des unités de filtrage 401 et 402 avant d'être sous-échantillonné d'un facteur 2 dans des unités 403 et 404. Un signal de sortie sous-échantillonné venant de l'unité 403 est filtré en passe-bas et en passe-haut par des unités de filtrage 405 et 406 avant d'être sous-échantillonné d'un facteur 2 dans des unités respectives 407 et 408. Des composantes de sous-bandes L et H apparaissent sur les sorties respectives des unités 407 et 408. De même, le signal de sortie de l'unité 405 est filtré en passe-bas et en passe-haut par des unités 409 et 410 avant d'être sous-échantillonné par des unités respectives 411 et 412. Des composantes de sous-bandes L et H apparaissent sur les sorties respectives des unités 411 et 412. Comme décrit ci-dessus, les filtres d'un mode de réalisation de l'invention qui sont utilisés dans la décomposition en sous-bandes sont des filtres numériques formant des miroirs en quadrature qui servent à séparer les bandes de fréquence horizontale et verticale en bandes de haute fréquence et de basse fréquence. La figure 4B illustre une transformation bidimensionnelle à deux niveaux. La figure 4C illustre également une transformation bidimensionnelle à deux niveaux, mise en oeuvre à l'aide de filtres unidimensionnels, tels que ceux présentés sur les figures 10 et 11. On applique les filtres bidimensionnels à une position sur deux, de façon à éviter les calculs rendus inutiles par le sous- échantillonnagc. Dans un mode de réalisation, les filtres unidimensionnels se partagent les calculs entre calculs passe-bas et calculs passe-haut. Ainsi, l'invention fournit un système de compression et de décompression dans lequel on utilise des filtres réversibles avec chevauchement de longueur non minimale. La figure 4D est un schéma fonctionnel d'un mode de réalisation d'un tel système. Comme représenté sur la figure 4D, on effectue initialement une décomposition hiérarchique. Les résultats de la décomposition hiérarchique sont envoyés à un dispositif de compression pour y êtr comprimés. La compression effectuée peut comporter une quantification vectorielie, unec quantification scalaire, un comptage des longueurs de points mémoire, un codage de Huffman, etc. A la sortie du dispositif de compression, on trouve des donnémes comprimées qui représentent une version comprimée des données d'entrée initiales. Un dispositif de décompression peut recevoir les données à un certain moment dans l'avenir et les décomprimer. L'invention effectue alors une décomposition inverse en utilisant des filtres réversibles avec chevauchement de longueur non minimale pour produire une version reconstruite des données initiales. Les filtres à ondes élémentaires réversible selon l'invention peuvent également être utilisés dans des systèmes d'analyse et d'amélioration, tels que présentés sur la figure 4E. Comme on peut le voir sur la figure 4E, une décomposition hiérarchique est appliquée à des données d'entrée à l'aide de filtres à ondes élémentaires réversibles, avec chevauchement, de longueur non minimale. L'unité d'analyse reçoit les coefficients produits par les filtres et les classe en des décisions, par exemple, plutôt que de coder les coefficients complètement, les informations importantes étant seules extraites. Par exemple, dans un système d'archivage de documents, des pages blanches peuvent être reconnues à l'aide de la seule sous-bande passe-bas la plusgrossière. Un autre exemple consisterait à n'utiliser que l'information passe-haut venant d'une sous-bande particulière pour distinguer entre l'image d'un texte et des images représentant des scènes naturelies. On peut utiliser la décomposition hiérarchique pour enregistrer des images multiples, de façon qu'un enregistrement grossier soit d'abord effectué à l'aide de sous-bandes grossières. Dans un autre mode de réalisation, on soumet les coefficients à une amélioration ou un filtrage, que l'on fait suivre d'une décomposition inverse. On peut réaliser une meilleur piqué, une amélioration des bords, un contrôle du bruit, etc., en utilisant une décomposition hiérarchique. Ainsi, l'invention fournit une transformation par ondes élémentaires qui sera utilisée dans des systèmes d'analyse et de filtrage/amélioration dans le domaine de la fréquence et dans le domaine conjoint temps/espace. Codage par implantation du degré de signification des bits Selon l'invention, les coefficients produits en résultat de la décomposition par ondes élémentaires sont soumis à un codage entropique. Selon l'invention, les coefficients subissent initialement un codage par implantation dans lequel les coefficients sont ordonnés suivant un ordre visuellement significatif ou, plus généralement, ordonnés par rapport à une certaine métrique d'erreur (par exemple une métrique de distorsion). Une métrique d'erreur ou de distorsion- - comporte une erreur de crête et une erreur quadratique moyenne (MSE). De plus, la mise en ordre peut être effectuée pour privilégier la position spatiale de signification (ou de poids) des bits, parce que celle-ci est mieux adaptée à l'interrogation d'une base de données, ou selon un critère directionnel (verticalement, horizontalement, diagonalement, etc. ). L'invention utilise des techniques multiples de codage par implantation, o une partie des coefficients, ayant un certain degré de signification, sont codés à l'aide d'une technique de codage, tandis que les coefficients restants sont codés avec d'autres techniques. Selon l'invention, une modélisation basée sur la fréquence et une modélisation basée conjointement sur l'espace et la fréquence sont deux systèmes différents de codage par implantation utilisés pour coder les coefficients produits à l'aide de la transformation par ondes élémentaires selon l'invention. La modélisation basée sur la fréquence implique la prédiction d'un certain nombre de coefficient à une fréquence plus élevée que lors du codage d'un coefficient à une fréquence inférieure. La modélisation basée conjointement sur l'espace et la fréquence tire avantage à la fois des bandes de fréquence connues et des pixels (ou données) voisins. Un mode de réalisation de la modélisation basée conjointement sur l'espace et la fréquence, à laquelle on se rapporte ici, est une modélisation du type horizon. On met initialement les données dans le format signe/amplitude, après quoi on trie les données en fonction de leur degré de signification. Après que les données ont été triées par rapport à la métrique de signification donnée, on code les données. Le codage basé sur la fréquence et le codage de type horizon peuvent s'appuyer tous deux sur une mise en ordre d'après le degré de signification des bits, mais ils utilisent des procédés différents pour le codage des événements. Si l'on suppose un signal numérique, x(n) est représenté pour chaque x(n), par R bits de précision, et le codage implanté selon l'invention code le bit le plus significatif (ou les bits les plus significatifs) de chaque x(n) du signal, puis le bit ayant le degré suivant de signification (ou les bits), et ainsi de suite. Par exemple, dans le cas d'une mise en ordre visuellement définie, une image qui demande une meilleure qualité au centre que dans les coins ou près des bords (par exemple certaines images médicales) peut être soumise à un codage tel que les bits d'ordre inférieur des pixels centraux peuvent être codés avant les bits d'ordre supérieur des pixels situés sur les bords. Pour un système à implantation s'appuyant sur une mesu'e de distorsion du degré de signification des bits, les valeurs binaires des données sont ordonnées en fonction de l'amplitude. Dans le cas o les valeurs sont des entiers non négatifs, comme c'est le cas pour l'intensité des pixels, l'ordre qui peut être utilisé est l'ordre des plans mémoire (en allant par exemple du plan mémoire le plus significatif au plan mémoire le moins significatif). Dans des modes de réalisation o les entiers négatifs par complémentation à 2 sont également autorisés, l'ordre d'implantation du bit de signe est le même que le premier bit non nul de la valeur absolue de l'entier. Par conséquent, on ne tient pas compte du bit de signe avant qu'un bit non nul n'ait été codé. De ce fait, les valeurs possibles d'un événement du système à implantation du degré de signification des bits selon l'invention sont des valeurs ternaires avant le codage du bit de signe. Ces événements ternaires sont "non significatif", "significatif positif' et 'significatif négatif'. Par exemple, si l'on utilise la notation signc/amplitude, le nombre de 16 bits désignant 7 est: Du point de vue du plan mémoire, les douze premières décisions seront "non significatif". Le premier bit 1 apparaît à la treizième décision. La treizième décision sera "significatif négatif. Apres codage du bit de signe, les événements possibles se ramènent à des valeurs binaires, à savoir 0 ou 1. Les quatorzième et quinzième décisions sont toutes deux "1". Selon un mode de réalisation de l'invention, on utilise une liste pour conserver la trace des coefficients. Dans un mode de réalisation, un drapeau à 1 bit, appelé drapeau de groupe, associé à chaque coefficient, différencie les coefficients dont le bit de signe n'a pas encore été codé des coefficients sont le bit de signe a déjà été codé. Dans un autre mode de réalisation, on peut utiliser, au lieu d'un bit de drapeau, deux listes ou plus. Dans un autre mode de réalisation, on utilise une seule liste sans drapeau. Dans un autre mode de réalisation, on n'utilise pas de listes. Toutes les décisions concernant un coefficient sont produites et étiquetées selon le degré de signification, avant qu'aucune décision concernant le coefficient suivant ne soit produite. Ceci supprime la nécessité d'enregistrer tous les coefficients dans des listes. Processus de codage et de décodage selon l'invention Les organigrammes suivants, présentés sur les figures 25A, 25B à 30A, B, décrivent des modes de réalisation des processus de codage et de décodage selon l'invention. Les figures 25A et 25B représentent un organigramme illustrant le processus de transformation et de modélisation du codeur selon l'invention. Comme on peut le voir sur les figures 25A, 25B, le processus de transformation et de modélisation du codeur commence par l'acquisition de données d'entrée (bloc de traitement 2501). Apres l'acquisition de données d'entrée, l'invention applique * un filtre à ondes élémentaires réversible (bloc de traitement 2502). Un essai détermine ensuite si un autre niveau de décomposition est souhaité (bloc de traitement 2503). Si un autre niveau de décomposition est souhaité, le traitement se poursuit, dans le bloc de traitement 2504, o le filtre réversible est appliqué aux coefficients LL résultant de la décomposition immédiatement précédente, et le traitement revient au bloc de traitement 2503. De cette manière, l'invention permet d'effectuer tout nombre de niveaux de décomposition. Si aucun autre niveau de décomposition n'est souhaité, le traitement se poursuit, dans le bloc de traitement 2506, o le drapeau de groupe relatif à chaque coefficient est initialisé au groupe A. Après initialisation du drapeau de groupe, le plan mémoire associé au passage A, soit SA, est positionné sur le plan mémoire le plus significatif (max) (bloc de traitement 2507). Ensuite, le plan mémoire associé au passage B, soit SB, est positionné sur le plan mémoire le plus significatif venant ensuite (max-1) (bloc de traitement 2508). Ensuite, un essai détermine s'il faut coder le plan mémoire associé au passage A, SA, avec un modèle basé sur la fréquence (bloc de traitement 2509). Si le plan mémoire SA doit être codé à l'aide d'un modèle basé sur la mémoire, le traitement se poursuit dans le bloc de traitement 2510, o chaque coefficient est modélisé à l'aide du modèle basé sur la fréquence et du codage entropique. Au contraire, si le plan mémoire SA ne doit pas être codé à l'aide du modèle basé sur la fréquence, le traitement se poursuit dans le bloc de traitement 2511, o chaque coefficient est modélisé à l'aide d'un modèle basé conjointement sur l'espace et la fréquence et d'un codage entropique. Dans l'un ou l'autre cas, le traitement se poursuit après cela dans le bloc de traitement 2512, o un essai détermine si le plan mémoire SA est supérieur ou égal à zéro, afin d'indiquer s'il s'agit du dernier plan mémoire. Si le plan mémoire SA est supérieur ou égal à zéro, le traitement revient au bloc de traitement 2509. Inversement, si le plan mémoire SA n'est pas supérieur ou égal à zéro, le traitement se poursuit dans le bloc de traitement 2513, o un essai détermine si le plan mémoire SB est supérieur ou égal à zéro, de sorte que le traitement détermine si le plan mémoire est le dernier plan mémoire devant subir un passage B. Si le plan mémoire SB est supérieur ou égal à zéro, le traitement se poursuit dans le bloc de traitement 2509. Toutefois, si le plan mémoire SB n'est pas supérieur ou égal à zéro, le traitement se poursuit dans le bloc de traitement 2514, o les données codées sont émises sur un canal ou enregistrées dans une mémoire. Après l'enregistrement ou l'émission des données codées, le processus de transfonnation et de modélisation du codeur selon l'invention prend fin. Les figures 26A et 26B illustrent un processus de transformation et de modélisation du décodeur selon l'invention. Comme on peut le voir sur les figures 26A, 26B, le processus de transformation et de modélisation du décodeur selon l'invention commence par extraire des données codées (bloc de traitement 2601). Les données codées peuvent être reçues de la part d'un canal, d'une mémoire ou d'un autre système de transmission. Après extraction des données codées, un drapeau de groupe relatif à chaque coefficient est initialisé sur le groupe A (bloc de traitement 2602). Suite à cette initialisation, le plan mémoire associé au passage A, soit SA, est positionné sur le plan mémoire le plus significatif (max) (bloc de traitement 2603) et le plan mémoire associé au passage B, soit SB, est positionné sur le plan mémoire le plus significatif suivant (max-1) (bloc de traitement 2604). Alors, la valeur de chaque coefficient est positionnée sur une valeur initiale zéro (bloc de traitement 2605). Après initialisation à zéro de la valeur de chaque coefficient, un essai détermine si le plan mémoire SA doit ou non être décodé à l'aide d'un modèle basé sur la fréquence (bloc de traitement 2606). Si le plan mémoire SA doit être décodé à l'aide d'un modèle basé sur la fréquence, le traitement passe au bloc de traitement 2607, o chaque coefficient est modélisé à l'aide d'un modèle basé sur la fréquence et d'un décodage entropique. Si le plan mémoire SA ne doit pas être décodé à l'aide d'un modèle basé sur la fréquence, le traitement se poursuit dans le bloc de traitement 2608, o chaque coefficient est modélisé à l'aide d'un modèle basé conjointement sur l'espace et la fréquence et un décodage entropique. Apres que chaque coefficient a été modélisé, le traitement se poursuit dans le bloc de traitement 2609, o il est déterminé si le plan mémoire SA est le dernier plan mémoire au moyen d'un essai visant à indiquer s'il est ou non supérieur ou égal à zéro. Si le plan mémoire SA est supérieur ou égal à zéro, le traitement se poursuit dans le bloc de traitement 2606. Inversement, si le plan, mémoire SA n'est pas supérieur ou égal à zéro, alors un essai détermine si le plan mémoire SB associé au passage B est supérieur ou égal à zéro (bloc de traitement 2610), ceci indiquant qu'il est le dernier plan mémoire associé à un passage B. S'il en est ainsi, le traitement se poursuit dans le bloc de traitement 2606 en vue de continuer le décodage. Inversement, si le plan mémoire associé au passage B, soit SB, n'est pas supérieur ou égal à zéro, un filtre réversible inverse est appliqué sur les coefficients, à partir du niveau le plus grossier de la décomposition (bloc de traitement 2611). Un essai détermine ensuite si tous les niveaux ont été soumis à un filtrage inverse (bloc de traitement 2612). S'il n'en est pas ainsi, le filtre réversible inverse est appliqué de nouveau sur les coefficients, au niveau le plus grossier restant de la décomposition (bloc de traitement 2613). Après cela, le traitement revient au bloc de traitement 2612 afin qu'il soit de nouveau vérifié si tous les niveaux ont été soumis au filtrage inverse. Une fois que tous les niveaux ont été soumis au filtrage inverse, le traitement passa au bloc de traitement 2612, dans lequel l'enregistrement ou l'émission de données reconstruites a lieu. Les figures 27A et 27B illustrent un mode de réalisation du processus de modélisation de chaque coefficient. Le processus décrit représente le processus de modélisation relatif à la modélisation basée sur la fréquence ou à la modélisation JSF et au codage ou au décodage. Ainsi, chacun des quatre blocs (2507, 2508, 2607, 2608) peuvent être mis en oeuvre au moyen du processus de modélisation des figures 27A et 27B. Comme on peut le voir sur les figures 27A et 27B, le processus commence par vérifier initialement si la modélisation doit être effectuée en un seul passage (bloc de traitement 2701). Si la modélisation n'a pas lieu en un seul passage, un essai détermine si le plan mémoire SA est supérieur au plan mémoire SB (bloc de traitement 2702). Si ce n'est pas le cas, alors le processus passe au bloc de traitement 2703, o un drapeau ("faire drapeau A") est effacé afin d'indiquer qu'un passage A ne doit pas être effectué. Si le plan mémoire SA est supérieur au plan mémoire SB, alors le traitement se poursuit dans le bloc de traitement 2704, o le drapeau 'faire drapeau A" est positionné pour indiquer qu'un passage A doit être effectué. Après l'un ou l'autre des blocs de traitement 2703 et 2704, le traitement passe au bloc de traitement 2705, o un essai détermine si le plan mémoire SB est égal au plan mémoire SA. Si les plans mémoire ne sont pas égaux, l'invention efface un drapeau ("faire drapeau B") afin d'empêcher qu'un passage B ait lieu (bloc de traitement 2705), et le traitement passe ensuite au bloc de traitement 2707. Si le plan mémoire SB est égal au plan mémoire SA, le drapeau "fairedrapeau B" est positionné pour indiquer qu'un passage B doit être effectué (bloc de traitement2706), et le traitement passe ensuite également au bloc de traitement 2707. Dans le bloc de traitement 2707, un essai détermine si le drapeau de passage A est positionné et si la modélisation à ramification zéro doit être effectuée. Si le drapeau indique qu'un passage A doit avoir lieu et qu'une modélisation à ramification zéro doit être effectuée, un drapeau "déterminé/non déterminé" est initialisé dans l'état "non déterminé" pour chaque coefficient (bloc de traitement 2708), et le traitement passe au bloc de traitement 2709. Inversement, si le drapeau d'indication de passage A ou l'indication de modélisation à ramification zéro ne sont positionnés, le traitement passe directement au bloc de traitement 2709. Dans le bloc de traitement 2709, le premier coefficient est fixé à la variable C. Une fois que le premier coefficient s'est vu attribuer la variable C, un essai détermine si le drapeau d'indication de passage B est positionné (bloc de traitement 2719). Si le drapeau d'indication de passage B (faire drapeau B) est positionné, l'invention applique un passage B sur le coefficient C (bloc de traitement 2710), et le traitement passe au bloc de traitement 2711. Inversement, si le drapeau de passage B n'est pas positionné, alors un passage B n'est pas appliqué sur C, et le traitement passe directement au bloc de traitement 2711. Un essai détermine ensuite si le drapeau d'indication de passage A "faire drapeau A" est positionné (bloc de traitement 2711). Si le drapeau d'indication de passage A est positionné, un passage A est alors appliqué sur le coefficient C (bloc de traitement 2717). Ensuite, le traitement passe au bloc de traitement 2713. Si le drapeau d'indication de passage A n'est pas positionné, le traitement se poursuit dans le bloc de traitement 2713 sans qu'un passage A ne soit appliqué sur le coefficient C. Dans le bloc de traitement 2713, un essai détermine si le coefficient C est le dernier coefficient. Si le coefficient C n'est pas le dernier coefficient, alors le traitement se poursuit dans le bloc de traitement 2714, o le coefficient suivant se voit attribuer la variable C, et le traitement passe au bloc de traitement 2719. Toutefois, si le coefficient C est le dernier coefficient, le traitement passe au bloc de traitement 2715, o un essai détermine si le drapeau de passage B 'faire drapeau B" est positionné. Si le drapeau de passageB est positionné, le plan mémoire SB est fixé de facçon à être égal au plan mémoire SB-1 (bloc de traitement 2716), puis le traitement passe au bloc de traitement 2717. Si le drapeau d'indication de passage B n'est pas positionné, le traitement se poursuit dans le bloc de traitement 2717. Dans le bloc de traitement 2717, un essai détermine si le drapeau de passage A est positionné. S'il est positionné, alors le plan mémoire SA est fixé de façon à être égal au plan mémoire SA-1 (bloc de traitement 2718), puis le traitement prend fin. De même, si le drapeau de passage A n'est pas positionné, le traitement prend fin alors immédiatement. Dans certains modes de réalisation, le fait qu'un coefficient se trouvant en un plan mémoire particulier se trouve dans le groupe A ou dans le groupe B peut être déterminé sans l'aide d'un bit de drapeau. Ceci économise un bit de mémoire par coefficient, ce qui peut être important pour les grandes images. Au lieu de cela, on compare un masque utilisant une logique ET avec un coefficient. Si le résultat de l'opération ET est zéro, le bit se trouve dans le groupe A; sinon, il est dans le groupe B. Un exemple de tels masques est présenté dans le tableau 7 pour huit plans mémoire. On note que ces masques sont les compléments à 2 de la valeur 2(plan mémoire+l) (sans le bit de signe). TABLEAU 7 Masques Plan mémoire Masque (binaire) 7 00000000 6 10000000 11000000 4 11100000 3 11110000 2 11111000 1 11111100 O 11111110 Puisque des masques indépendants peuvent être respectivement attribués au passage A et au passage B (appelés ici MA et MB), il est possible d'effectuer autant de passages A qu'on le souhaite avant le passage B correspondant. Dans un mode de réalisation à 17 plans mémoire, trois passages A sont effectués, puis quatorze passages A et passages B simultanément effectués, et, enfin, deux passages B SOlnt effectués. Puisque des décisions de passage A peuvent être typiquement cod6es de manière plus efficace que des décisions de passage B, le fait d'exécuter initialement de multiples passages A peut améliorer la qualité dans le cas de la compression avec pertes. Les figures 28A et 28B illustrent un mode de réalisation d'un codeur selon l'invention, qui utilise une mémoire de drapeau réduitc (comme décrit ultérieurement). Ainsi qu'on peut le voir sur les figures 28A et 28B, le processus de transformation et de modélisation du codeur commence par l'acquisition de données d'entrée (bloc de traitement 2801). Après l'acquisition des données d'entrée, l'invention applique un filtre à ondes élémentaires réversiblc (bloc de traitement 2802). Ensuite, un essai détermine si un autre niveau de décomposition est souhaité (bloc de traitement 2803). Si un autre niveau de décomposition est souhaité, le traitement se poursuit dans le bloc de traitement 2804, o le filtre réversible est appliqué aux coefficients LL résultant de la d6compression immédiatement précédente, et le traitement retourne au bloc de traitement 2803. De cette manière, l'invention permet d'effectuer n'importe quel nombre de niveaux de décomposition. Si aucun autre niveau de décomposition n'est souhaité, le traitement passe au bloc de traitement 2805, o le plan mémoire associé au passage A, soit SA, est positionné sur le plan mémoire le plus significatif (max). Ensuite, le plan mémoire associé au passage B, soit SB, est positionné sur le plan mémoire le plus significatif suivant (max-1) (bloc de traitement 2806). Ensuite, un masque MA est positionné sur - 2(SA+1) (bloc de traitement 2807) et un masque MB est positionné sur - 2(SB+1) (bloc de traitement 2808). Ensuite, un essai détermine s'il faut coder le plan mémoire associé au passage A, soit SA, à l'aide d'un modèle basé sur la fréquence (bloc de traitement 2808). Si le plan mémoire SA doit être codé à l'aide du modèle basé sur la fréquence, le traitement passe au bloc de traitement 2809, o un bit de chaque coefficient est modélisé à l'aide du modèle basé sur la fréquence et du codage entropique. Inversement, si le plan de mémoire SA ne doit pas être codé à l'aide du modèle basé sur la fréquence, le traitement se poursuit dans le bloc de traitement 2810, o un bit de chaque coefficient est modélisé à l'aide d'un modèle basé conjointement sur l'espace et la fréquence et d'un codage entropique. Dans l'un et l'autre cas, le traitement se poursuit ensuite dans le bloc de traitement 2811, o un essai détermine si le plan mémoire SA est supérieurou égal à zéro, ce qui indique s'il s'agit ou non du dernier plan mémoire. Si le plan mémoire SA est supérieur ou égal à zéro, le traitement revient au bloc de traitement 2808. Dans le cas contraire, si le plan mémoire SA n'est pas supérieur ou égal à zéro, le traitement se poursuit dans le bloc de traitement 2812, o un essai détermine si le plan mémoire SB est ou non supérieur ou égal à zéro, de sorte que le processus détermine si le plan mémoire est le dernier plan mémoire à subir un passage B. Si le plan mémoire SB est supérieur ou égal à zéro, le traitement se poursuit dans le bloc de traitement 2808. Toutefois, si le plan mémoire SB n'est pas supérieur ou égal à zéro, le traitement se poursuit dans le bloc de traitement 2813, o des données codées sont émises sur un canal ou enregistrées dans une mémoire. Après enregistrement ou émission des données codées, le processus de transformation et de modélisation du codeur selon l'invention prend fin. Les figures 29A et 29B illustrent un autre mode de réalisation du processus de transformation et de modélisation du décodeur selon l'invention, dans le cas o on utilise une mémoire de drapeau réduite. Comme on peut le voir sur les figures 29A et 29B, le processus de transformation et de modélisation du décodeur selon l'invention commence par extraire des données codées (bloc de traitement 2901). Les données codées peuvent être reçues en provenance d'un canal, d'une mémoire ou d'un autre système de transmission. Une fois que les données codées ont été reçues, le plan mémoire associé au passage A, soit SA, est fixé sur le plan mémoire le plus significatif (max) (bloc de traitement 2903) et le plan mémoire associé au passage B, soit SB, est fixé sur le plan mémoire le plus significatif suivant (max-1) bloc de traitement 2904). On positionne ensuite la valeur de chaque coefficient sur une valeur initiale zéro (bloc de traitement 2905). Puis on positionne le masque MB sur -2(SB+1) (bloc de traitement 2902) et on positionne le masque MA sur -2(SA+1) (bloc de traitement 2915). Ensuite, un essai détermine si le plan mémoire SA doit être décodé à l'aide d'un modèle basé sur la fréquence (bloc de traitement 2906). Si le plan mémoire SA doit être décodé à l'aide d'un modèle à base de fréquence, le traitement passe au bloc de traitement 2907, o un bit de chaque coefficient est modélisé à l'aide d'un modèle basé sur la fréquence et d'un décodage entropique. Si le plan mémoire SA ne doit pas être décodé à l'aide d'un modèle basé sur fréquence, le traitement passa au bloc de traitement 2908, o un bit de chaque coefficient est modélisé à l'aide d'un modèle basé conjointement sur l'espace et la fréquence et d'un décodage entropique. Apres que chaque coefficient a été modélisé, le traitement passe au bloc de traitement 2909, o il est déterminé si le plan mémoire SA est le demier- plan (on vérifie s'il est supérieur ou égal à zéro). Si le plan mémoire SA est supérieur ou égal à zéro, le traitement passe au bloc de traitement 2906. Inversement, si le plan mémoire SA n'est pas supérieur ou égal à zéro, on détermine ensuite, à l'aide d'un essai, si le plan mémoire SB associé au passage B est supérieur ou égal à zéro (bloc de traitement 2910), ce qui indique qu'il s'agit du dernier plan mémoire associé à un passage B. S'il en est ainsi, le traitement passe au bloc de traitement 2902 en vue de la poursuite du décodage. Inversement, si le plan mémoire associé au passage B, soit SB, n'est pas supérieur ou égal à zéro, on applique un filtre réversible inverse aux coefficients en partant du niveau le plus grossier de décomposition (bloc de traitement 2911). Un essai détermine ensuite si tous les niveaux ont été soumis au filtrage inverse (bloc de traitement 2912). Si ce n'est pas le cas, le filtre inverse est de nouveau appliqué aux coefficients du niveau le plus grossier restant de décomposition (bloc de traitement 2913). Après cela, le traitement revient au bloc de traitement 2912, o un essai est de nouveau effectué pour déterminer si tous les niveaux ont été soumis au filtrage inverse. Une fois que tous les niveaux ont été soumis au filtrage inverse, le traitement passe au bloc de traitement 2912, dans lequel un enregistrement ou une émission des données reconstruites a lieu. Les figures 30A et 30B illustrent un mode de réalisation du processus de modélisation de chaque coefficient. On note que, comme les figures 27A et 27B, le processus des figures 30A et 30B peut être utilisé pour mettre en oeuvre les opérations de modélisation des figures 28A et 28B ainsi que 29A et 29D. Comme représenté sur les figures 30A et 30B, le processus commence par vérifier qu'un passage A est souhaité et détermine si SA est supérieur ou égal à zéro (bloc de traitement 3001). S'il en est ainsi, le drapeau 'faire drapeau A", qui indique qu'un passage A doit être effectué, est positionné (bloc de traitement 3004), et le traitement passe au bloc de traitement 3002. Sinon, le drapeau "faire drapeau A' est effacé (bloc de traitement 3003). Si le plan mémoire SA est supérieur au plan mémoire SB, le traitement passe alors au bloc de traitement 3004, o un drapeau est positionné pour indiquer qu'un passage A doit avoir lieu. Si le plan mémoire SA n'est pas supérieur au plan mémoire SB, le traitement passe alors au bloc de traitement 3003, o le drapeau indiquant qu'un passage A est supposé sc produire est effacé. Apres l'un ou l'autre des blocs de traitement 3003 et 3004, le traitement passe au bloc de traitement 3002, o un essai détermine si le plan mémoire SB est supérieur ou égal au plan mémoire SA et si un passage B est souhaité. Si les plans mémoire ne sont pas égaux, l'invention efface un drapeau ("faire drapeau B") afin d'empêcher qu'un passage B ait lieu (bloc de traitement 3005), puis le traitement passe au bloc de traitement 3007. Si le plan mémoire SB est égal au plan mémoire SA, le drapeau "faire le drapeau B" est positionné pour indiquer qu'un passage B doit être effectué (bloc de traitement 3006), après quoi le traitement passe au bloc de traitement 3007. Dans le bloc de traitement 3007, un essai détermine si le drapeau de passage A est positionné et si la modélisation à ramification zéro doit être effectuée. Si le drapeau indique qu'un passage A doit avoir lieu et que la modélisation à ramification zéro doit être effectuée, un drapeau 'déterminé/non déterminé" est initialisé dans l'état "non déterminé" pour chaque coefficient qui possède des enfants (bloc de traitement 3008), et le traitement passe au bloc de traitement 3009. Inversement, si le drapeau d'indication de passage A ou l'indication de modélisation à ramification zéro ne sont pas positionnés, le traitement passe directement au bloc 3009. Dans le bloc 3009, le premier coefficient est fixé à la variable C. Une fois que le premier coefficient s'est vu attribuer la variable C, un essai détermine si le drapeau d'indication de passage B est positionné (bloc de traitement 3019). Si le drapeau d'indication de passage B "faire drapeau B" est positionné, l'invention applique un passage B au coefficient C (bloc de traitement 3010), et le traitement passe au bloc de traitement 3011. Inversement, si le drapeau de passage B n'est pas positionné, alors aucun passage B n'est appliqué à C, et le traitement passe directement au bloc de traitement 3011. L'essai détermine ensuite si le drapeau d'indication de passage A a été positionné (bloc de traitement 3011). Si le drapeau d'indication de passage A n'a pas été positionné, alors un passage A est appliqué au coefficient C (bloc de traitement 3017). Après cela, le traitement passe au bloc de traitement 3013. Si le drapeau d'indication de passage A est positionné, le traitement passe au bloc de traitement 3013 sans faire effectuer un passage A au coefficient C Dans le bloc de traitement 3013, un essai détermine si le coefficient C est le dernier coefficient. Si le coefficient C n'est pas le dernier coefficient, alors le traitement se poursuit dans le bloc de traitement 3014, o le coefficient suivant se voit attribuer la variable C, après quoi le traitement passe au bloc - de traitement3019. Toutefois, si le coefficient C est le dernier coefficient, le traitement passe au bloc de traitement 3015, o un essai détermine si le drapeqau de passage B "faire drapeau B" est positionné. Si le drapeau de passage B est positionné, le plan mémoire SB est positionné de façon à trc égal au plan mémoire SB-1 (bloc de traitement 3016), et le traitement passe au bloc de traitement 3017. Si le drapeau d'indication de passage B n'est pas positionné, le traitement passe au bloc de traitement 3017. Dans le bloc de traitement 3017, un essai détermine si le drapeau de passage A est positionné. S'il est positionné, alors le plan mémoire SA est positionné de façon à être égal au plan mémoire SA-1 (bloc de traitement 3018), et le traitement prend fin. De mêmc, si le drapeau de passage A n'est pas positionné, alors le traitement prend fin immédiatement. Ramifications des coefficients Dans un système pyramidal, les coefficients peuvent être rassemblés en groupes à l'aide d'une structure ramifiée. La racine de chaque ramification est un coefficient de type passe-bas pur. La figure 5 illustre la structure ramifiée d'un unique coefficient de type passe-bas pur de l'image transformée. Pour un signal bidimensionnel tel qu'une image, la racine de la ramification possède trois enfants' et les noeuds restants ont chacun quatre enfants. La ramification n'est pas hiérarchiquement limitée à des signaux bidimensionnels. Par exemple, pour un signal unidimensionnel, une racine possède un enfant et les noeuds qui ne sont pas la racine possèdent deux enfants chacun. Les dimensions supérieures se déduisent des cas à une dimension et à deux dimensions. La structure ramifiée découle également du fonctionnement des filtres présentés sur les figures 4A à 4C. Le fonctionnement des paires de filtres à sous- échantillonnage fait que les coefficients précédemment décrits sont reliés. Selon l'invention, après que les coefficients ont été mis au format signe/amplitude, un modèle de contexte détermine celui des multiples procédés de codage qui doit être utilisé pour poursuivre le codage des coefficients. Un schéma de codage basé sur la fréquence, par exemple un codage à ramification zéro, code efficacement les données de signification qui sont associées à une décomposition en sous-bandes donnée pour un seuil spécifié. Outre l'utilisation de symboles indiquant la signification ou la non-signification d'un coefficient isolé unique dans la décomposition en sous-bandes associée, les éléments constitués de parents non significatifs ayant des enfants tous non significatifs (ceux dont l'amplitude est inférieure ou égale au seuil donné) sont regroupés ensemble et sont codés conjointement. Ces ramifications sont parfois appelées des ramifications zéro. Ces ramifications non signifiacatives sont codées à l'aide d'un unique symbole spécialisé, parfois appelé une racine de ramification zéro. Toutefois, s'il existe un descendant significatif, l'élément que constitue un coefficient non significatif est codé à l'aide du symbole relatif à un "zéro isolé". Ainsi, une ramification se code à l'aide de quatre symboles (significatif positif, significatif négatif, zéro isolé et racine de ramification zéro) en ce qui concerne des décisions o le signe du coefficient n'a pas encore été codé. Un codage basé sur la fréquence est particulièrement utile dans les systèmes de compression du fait que le codage conjoint de ramifications non significatives permet que, pour un petit nombre de coefficients parents, on prédise la non-signification d'un grand nombre de coefficients descendants. Puisque les éléments de la ramification associée aux coefficients descendants peuvent étrc prédits à partir de la racine, aucun symbole supplémcntairc n'est nécessaire pour coder leur non-signification. On code la non-signification de la ramification tout entière au prix d'une faible dépense d'encombrement. Par conséquent, les plans mémoire d'ordre supérieur sont principalement constitués de coefficients non significatifs dont un grand nombre ne sont ni des racines de ramifications zéro ni des zéros isolés (à savoir qu'il s'agit d'enfants se trouvant dans des ramifications non significatives qu'il n'est pas nécessaire de coder). Dans le brevet des Etats-Unis d'Amérique n 5 321 776, Shapiro décrit un modèle basé sur la fréquence appelé "zerotree", c'est-à-dire 'ramification zéro". Selon le procédé décrit dans ce brevet, on utilise deux listes, à savoir une liste dominante et une liste subordonnée, pour enregistrer tous les coefficients. Pour chaque niveau de signification, deux passages sont effectués, un passage dominant et un passage subordonné. Dans un mode de réalisation, le modèle basé sur la fréquence selon l'invention est le modèle dit de "ramification zéro". Dans un autre mode de réalisation, un modèle basé sur la fréquence analogue au modèle "ramification zéro" (tel que décrit par Shapiro) est employé. Au lieu de faire appel à des listes multiples, on n'utilise qu'une seule liste, chacun des éléments de la liste étant repéré comme membre de l'un de deux groupes. La séparation des coefficients entre un groupe A et un groupe B équivaut à la séparation que Shapiro obtient en utilisant respectivement une liste dominante et une liste subordonnée. L'utilisation par Shapiro de multiples listes offre une plus grande souplesse en ce qui concerne la mise en ordre de coefficients dans la liste subordonnée, au prix d'une plus grande complexité des logiciels et, ou bien, des équipements. Le présent procédé de la ramification zéro à liste unique utilise deux passages, un passage A et un passage B, qui sont respectivement équivalents au passage dominant et au passage subordonné décrits par Shapiro. On décrit ci-après le modèle de ramification zéro à liste unique. Le système de codage selon l'invention maintient en mémoire une liste des coefficients dans le format signe/amplitude. Chaque élément de la liste possède une étiquette à un seul bit qui indique si l'élément est membre du "groupe A' ou du "groupe B". Au début d'une phase de traitement, les coefficients qui ne se sont pas encore révélés comme significatif sont étiquetés comme appartenant au groupe A. Les coefficients qui s'étaient antérieurement révélés comme significatifs par rapport à des seuils antérieurs, plus grands, sont étiquetés comme appartenant au groupe B. La liste contient les coefficients dans l'ordre dans lequel ils seront traités pendant le codage. Au début de la toute première phase, tous les coefficients sont étiquetés comme membres du groupe A, puisqu'aucun coefficient n'a encore été établi comme significatif. Lorsque des coefficients sont déterminés comme significatifs ou non significatifs, les étiquettes qui leurs sont associées changent et passent de la désignation initiale "groupe A" à la désignation "groupe B". Cette liste va être ensuite affinée au fur et à mesure de l'apparition de seuils progressivement plus fins. Ainsi, de multiples passages dans la liste ont lieu. Dans un mode de réalisation, les événements binaires qui correspondent aux coefficients du groupe B sont arithmétiquement codés binaires selon un modèle de contexte de Markov d'ordre zéro. Les événements quaternaires correspondant aux coefficients du groupe A sont également codés selon un modèle de contexte de Markov d'ordre zéro. L'ordre des coefficients dans la liste selon l'invention préserve la structure ramifiée de sorte qu'aucun enfant ne peut être modélisé avant son parent. Par conséquent, une mise en ordre qui préserve la structure ramifiée est fixée et est utilisée de façon cohérente. Dans un mode de réalisation, les coefficients sont enregistrés en mémoire dans l'ordre qui part de la première position de mémorisation utilisée. Dans un autre mode de réalisation, on peut utiliser une liste en séquentiel enchaîné. Dans un mode de réalisation, les coefficients sont codés dans un système à implantation de degré de signification des bits ou selon les plans mémoire. Puisque les coefficients sont codés du plan mémoire le plus significatif au plan mémoire le moins significatif, il faut que le nombre des plans mémoire des données soit déterminé. Selon l'invention, on effectue cette opération en recherchant une borne supérieure aux amplitudes des valeurs des coefficients qu'on a calculées à partir des données ou obtenues à partir de la profondeur de l'image et des coefficients de filtrage. Par exemple, si la borne supérieure est 149, il y a alors 8 ordres de significations des bits ou 8 plans mémoire. Les figures 6A et 6A (suite) illustrent un mode de réalisation du processus de codage à ramification zéro à liste unique selon l'invention. Dans un mode de réalisation, on peut utiliser le processus des figures 6A et 6A (suite) dans le processus de modélisation des figures 27A et 27B. Comme représenté sur les figures 6A et 6A (suite), le processus commence par vérifier si le drapeau de groupe associé au coefficient C est positionné sur "groupe A" (bloc de traitement 3221). Si ce n'est pas le cas, alors le processus prend fin. Inversement, si le drapeau de groupe associé au coefficient C est positionné sur 'groupe A", alors le traitement se poursuit dans le bloc de traitement 3222, o un essai détermine si le drapeau "déterminé/non déterminé' associé au coefficient C est positionné sur "non déterminé". Si le drapeau "déterminé/non déterminé" du coefficient n'est pas positionné sur "non déterminé", le processus prend fin. Toutefois, si le drapeau "déterminé/non déterminé" du coefficient C est positionné sur 'non déterminé'", le traitement se poursuit dans le bloc de traitement 3203, o un essai détermine si le bit SA du coefficient C est 1. Si le bit SA du coefficient C n'est pas 1, le traitement se poursuit dans le bloc de traitement 3207. Inversement, si le bit SA du coefficient C est 1, le traitement passe au bloc de traitement 3204, o un essai détermine si le signe du coefficient C est positif. Si le signe du coefficient C n'est pas positif, la décision prend la forme codée 'significatif négatif" dans le ou les contextes "groupe A' (bloc de traitement 3205), et le processus passe au bloc de traitement 3229. Si le signe du coefficient C est positif, la décision prend la forme codée "significatif positif" dans le ou les contextes "groupe A" (bloc de traitement 3206), et le processus passe au bloc de traitement 3229. Dans le bloc de traitement 3229, le drapeau de groupe associé à C est positionné sur "groupe B". Dans le bloc de traitement 3207, un essai détermine si le bit SA est zéro pour tous les descendants (enfants) du coefficient C. Si le bit SA n'est pas zéro, la décision prend la forme codée 'non significatif avec enfiaints significatifs' (01) dans le ou les contextes "groupe A" (bloc de traitement 3208), puis le processus prend fin. Inversement, si le bit SA est 0 pour tous les descendants (enfants) du coefficient C, la décision est codée sous la formnne "racine de ramification zéro' (00) dans le ou les contextes 'groupe A' (bloc de traitement 3209). Apres cela, le drapeau "déterminé/non déterminé" de tous les descendants du coefficient C est positionné sur "déterminé" (bloc de traitement 3221), puis le processus prend fin. Dans un autre mode de réalisation, l'essai de fin de processus peut reposer sur le fait qu'un taux de compression voulu a ou non été atteint. Dans un mode de réalisation, les événements binaires résultant du passage B sont soumis à un codage entropique selon un modèle de contexte de source de Markov d'ordre zéro. L'alphabet de 2 bits (taille 4) résultant du passage A est codé également selon une source de Markov d'ordre zéro, par un codeur arithmétique quaternaire (alphabet de taille 4). Les figures 6B et 6B (suite) illustrent un autre mode de réalisation du processus de codage à ramification zéro à liste unique selon l'invention, à l'aide d'une mémoire de drapeau réduite. Dans un mode de réalisation, on peut utiliser le processus des figures 6B et 6B (suite) pour le passage A du processus des figures 30A et 30B. Comme représenté sur les figures 6B et 6B (suite), le processus commence par vérifier si le résultat de l'intersection logique (fonction ET) du coefficient C avec le masque MA est zéro (bloc de traitement 3201). Si ce n'est pas le cas, le processus prend fin. Inversement, si le résultat de l'intersection logique du coefficient C avec le masque MA est zéro, le traitement se poursuit dans le bloc de traitement 3202, o un essai détermine si le drapeau 'déterminé/non déterminé' relatif au parent du coefficient C est positionné sur 'non déterminé". Si le drapeau du parent du coefficient n'est pas positionné sur 'non déterminé', le processus prend fin. Toutefois, si le drapeau 'déterminé/non déterminé" du parent du coefficient C est positionné sur "non déterminé", le traitement se poursuit dans le bloc dc traitement 3202, o un essai détermine si le bit SA du coefficient C est 1. Si le bit SA du coefficient C n'est pas 1, le traitement se poursuit dans le bloc de traitement 3207. Inversement, si le bit SA du coefficient C est 1, le traitement passe au bloc de traitement 3204, o un essai détermine si le signe du coefficient C est positif. Si le signe du coefficient C n'est pas positif, la décision est codée prise sous la forme 'significatif négatif' dans un ou des contextes "groupe A" (bloc de traitement 3205), et le processus prend fin. Si le signe du coefficient C est positif, la décision est codée sous la forme 'significatif positif' dans un ou des contextes 'groupe A" (bloc de traitement 3206), et le processus prend fin. Dans un mode de réalisation, on utilise un codeur quatemrnaire et les décisions quaternaires sont codées dans un unique contexte. Dans un autre mode de réalisation, on utilise un codeur binaire ainsi que trois contextes Qes trois contextes sont le premier bit de la décision, le deuxième bit lorsque le premier bit est 0, et le deuxième bit lorsque le premier bit est 1). Dans le bloc de traitement 3207, un essai détermine si le bit SA est 0 pour tous les descendants (enfants) du coefficient C. Si le bit SA n'est pas 0, la décision est codée sous la forme 'non significatif avec enfants significatifs", 'zéro isolé" (01) dans un ou des contextes 'groupe A' (bloc de traitement 3208), et le processus prend fin. Inversement, si le bit SA est 0 pour tous les descendants (enfants) du coefficient C la décision est codée sous la forme 'racine de ramification zéro' (00) dans un ou des contextes 'groupe A' (bloc de traitement 3209. Ensuite, le drapeau 'déterminé/non déterminé" du coefficient C est positionné sur 'déterminé' (bloc de traitement 3210). Après cela, le drapeau déterminé/non déterminé' de tous les descendants du coefficient, qui ont eux- mêmes des descendants, sont positionnés sur 'déterminé' (bloc de traitement 3211), et le processus prend fin. Orprations de décgdage Selon l'invention, le décodage s'effectue en synchronisme avec le codage. La figure 6C illustre un mode de réalisation du processus de passage A relatif à un processus de décodage du type horizon à ramification zéro, et peut être utilisée en liaison avec le processus des figures 27A et 27B. Comme représenté sur la figure 6C, le processus commence par vérifier si le drapeau de groupe du coefficient C est positionné sur 'groupe A' (bloc de traitement 3521). Si ce n'est pas le cas, alors le processus prend fin. Toutefois, s'il en est ainsi, le processus passe au bloc de traitement 3528, o un essai détermine si le drapeau déterminé/non déterminé" du coefficient C est positionné sur 'non déterminé". Si ce n'est pas le cas, le processus prend fin. Si c'est le cas, alors, le processus passe au bloc de traitement 3502, o les décisions ternaires sont décodées dans un ou des contextes de groupe A. Ensuite, un essai détermine si la décision est 'significatif positif" (bloc de traitement 3503). Si la décision est 'significatif positif", le signe du coefficient C est fixé positif (bloc de traitement 3505), l'amplitude du coefficient est fixée à 2SA (bloc de traitement 3507), le drapeau de groupe du coefficient C est positionné sur 'groupe B' (bloc de traitement 3541), et le processus prend fin. Si la décision n'est pas 'significatif positif" (bloc de traitement 3503), un essai détermine si la décision est 'significatif négatif" (bloc de traitement 3504). Si la décision n'est pas 'significatif négatif, le processus passe au bloc de traitement 3509, o un essai détermine si la décision est 'racine de ramification zéro'. Si la décision n'est pas 'racine de ramification zéro', le processus prend fin. Si la décision est 'racine de ramification zéro', le drapeau 'déterminé/non déterminé" de tous les descendants du coefficient C est positionné sur "non déterminé" (bloc de traitement 3531), et le processus prend fin. Toutefois, si l'essai du bloc de traitement 3504 détermine que la décision est "significatif négatif", alors le signe du coefficient C est fixé négatif (bloc de traitement 3506), l'amplitude du coefficient C est fixée à 2SA (bloc de traitement 3507, le drapeau de groupe du coefficient C est positionné sur "groupe B" (bloc de traitement 3541), et le processus prend fin. La figure 6D illustre un autre mode de réalisation du processus de passage A servant à un processus de décodage du type horizon à ramification zéro, qui utilise une mémoire de drapeau réduite, et peut être employée dans le processus décrit sur les figures 30A et 30B. Comme représenté sur la figure 6D, le processus commence par vérifier si le résultat de l'intersection logique (fonction ET) du coefficient C avec le masque MA est zéro (bloc de traitement 3501). Si ce n'est pas le cas, alors le processus prend fin. Toutefois, si le résultat de l'intersection logique du coefficient C avec le masque MA est zéro, le traitement passe au bloc de traitement 3508, o un essai détermine si le drapeau "déterminé/non déterminé" du parent C est "non déterminé". Si ce n'est pas le cas, le processus prend fin. Si c'est le cas, alors le processus se poursuit dans le bloc de traitement 3502, o la décision ternaire est décodée dans un ou des contextes de groupe A. Ensuite, un essai détermine si la décision est "significatif positif" (bloc de traitement 3503). Si la décision est "significatif positif", le signe du coefficient est fixé positif (bloc de traitement 3505), l'amplitude du coefficient est fixée à 2SA (bloc de traitement 3507), et le processus prend fin. Si la décision n'est pas "significatif positif, un essai détermine si elle est "significatif négatif' (bloc de traitement 3504). Si la décision n'est pas "significatif négatif, le processus passe au bloc de traitement 3509, o un essai détermine si la décision est "racine de ramification zéro". Si la décision n'est pas "racine de ramification zéro", -le processus prend fin. Si la décision est 'racine de ramification zéro", le drapeau "déterminé/non déterminé" du coefficient C est positionné sur "déterminé" (bloc de traitement 3510), les drapeaux "déterminé/non déterminé" de tous les descendants du coefficient C qui ont eux-mêmes des descendants sont positionnés sur "indéterminé' (bloc de traitement 3511), et le processus prend fin. Toutefois, si l'essai du bloc de traitement 3504 détermine que la décision est "significatif négatif, alors le signe du coefficient C est fixé négatif (bloc de traitement 3506), l'amplitude du coefficient C est fixée à 2SA (bloc de traitement 3507) et le processus prend fin. Il existe des alternatives au choix fait par Shapiro d'utiliser des décisions quaternaires pour décrire des ramifications. On peut faire appel à de plus grands alphabets pour préciser plus encore les caractéristiques d'unme ramification tout entière lors du codage de la racine de la ramification. Dans un mode de réalisation, on utilise l'ensemble suivant de décisions d'ordre 6: non significatif ayant des enfants non significatifs (racine de ramification zéro) non significatif ayant au moins un enfant significatif 35. significatif positif, dont tous les enfants sont non négatifs significatif positif, ayant au moins un enfant négatif significatif négatif, dont tous les enfants sont non positifs significatif négatif, ayant au moins un enfant positif. Dans ce mode de réalisation, une information de signe s'ajoutant à la non- signification est prédite pour une ramification toute entière. Dans d'autres modes de réalisation, des ramifications ayant d'autres contraintes de signe ou des contraintes d'amplitude peuvent être prédites. D'autre prédicteurs pourraient être spécialement utilisés pour représenter la texture ou pour représenter des caractéristiques de multirésolution. Avec de plus grands alphabets, on peut utiliser des contextes de Markov d'ordre supérieur (conmme décrit ci-après). Modélisation par implantation basée conjointement sur l'espace et la féquence avec liste pour plusieurs passages. Selon l'invention, le codage par implantation en fréquence, comme la modélisation du type horizon présentement décrite, code les événements ternaires correspondant aux coefficients du groupe A. Dans le codage du type horizon, toutes les initialisations précédant les opérations de codage sont identiques à celles du système basé sur la fréquence. Dans un mode de réalisation, un codage entropique binaire est effectué en liaison avec trois contextes, à savoir 'amplitude de groupe A', "signe de groupe A" et "groupe B". La figure 7A est un organigramme d'un mode de réalisation du passage A pour un processus de codage du type horizon à liste unique selon l'invention. Ce processus peut être utilisé dans le processus des figures 27A et 27B. Comme représenté sur la figure 7A, le processus du passage A commence par vérifier si le drapeau de groupe associé au coefficient C est positionné sur "groupe A" (bloc de traitement 3111). Si ce n'est pas le cas, le processus prend fin. Si le drapeau de groupe du coefficient C est positionné sur 'groupeA', le traitement passe au bloc de traitement 3102, o un essai déterminé si le bit SA du coefficient C est 1. Sile bit SA du coefficient C n'est pas 1, la décision est codée sous la forme "non significatif" (0) dans un contexte de 'groupe A' (bloc de traitement 3103), et le processus prend fin. Si le bit SA du coefficient C est 1, alors le traitement passe au bloc de traitement 3104, o un essai détermine si le signe du coefficient C est positif. Si le signe du coefficient C est positif, la décision est codée sous la forme "significatif positif" (10) dans un ou des contextes de groupe A" (bloc de traitement 3106), et le processus passe au bloc de traitement 3117. Inversement, si le signe du coefficient C n'est pas positif, la décision est codée sous la forme "significatif négatif" (11) dans un ou des contextes de "groupe A" (bloc de traitement 31105), et le processus passe au bloc de traitement 3117. Dans le bloc de traitement 3117, le drapeau de groupe du coefficient C est positionné sur "groupe B". La figure 7B est un organigramme d'un autre mode de réalisation du passage A pour un processus de codage du type horizon à liste unique utilisant une mémoire de drapeau réduite. Ce processus peut être utilisé dans le processus des figures 30A et 30B. Comme représenté sur la figure 7B, le processus du passage A commence par vérifier si le résultat de l'intersection logique (fonction ET) du coefficient C avec le masque MA est zéro (bloc de traitement 31101). Si ce n'est pas le cas, alors le processus prend fin. Si le résultat de l'intersection logique du coefficient C avec le masque MA est zéro, le traitement passe au bloc de traitement 31102, o un essai détermine si le bit SA du coefficient C est 1. Si le bit SA du coefficient C n'est pas 1, la décision est codée sous la forme 'non significatif' (0) dans un contexte de "groupe A' (bloc de traitement 3103), et le processus prend fin. Si le but SA du coefficient C est 1, alors le traitement se poursuit dans le bloc de traitement 3104, o un essai détermine si le signe du coefficient C est positif. Si le signe du coefficient C est positif, la décision est codée sous la forme "significatif positif' (10) dans un ou des contextes de "groupe A" (bloc de traitement 3106) et le processus prend fin. Inversement, si le signe du coefficient C n'est pas positif, la décision est codée sous la forme "significatif négatif (11) dans un ou des contexte(s) de "groupe A" (bloc de traitement 3105), et le processus prend fin. Opérations de décodage La figure 7C illustre un mode de réalisation du processus du passage A associé à un processus de décodage du type horizonà liste unique selon l'invention, et peut être employée dans le processus des figures 27A et 27B. Comme représenté sur la figure 7C, le processus commence par vérifier si le drapeau de groupe du coefficient C est positionné sur "groupe A" (bloc de traitement 3411). Si ce n'est pas le cas, alors le processus prend fin. Toutefois, si le drapeau de groupe du coefficient C est positionné sur "groupe A", le traitement se poursuit dans le bloc de traitement 3402, o la décision ternaire est décodée dans un ou des contextes de "groupe A". Ensuite, un essai détermine si la décision est "significatif positif (bloc de traitement 3403). Si la décision est "significatif positif, le signe du coefficient C est fixé positif (bloc de traitement 3405), l'amplitude du cocfficient est fixé à 2SA (bloc de traitement 3407), le drapeau de groupe du coefficient C est positionné sur "groupe B" (bloc de traitement 3418), et le processus prend fin. Si la décision n'est pas "significatif positif, un essai détermine s'il est 'significatif négatif (bloc de traitement 3404). Si la décision n'est pas "significatif négatif", le processus prend fin. Toutefois, si la décision est 'significatif négatif, alors le signe du coefficient C est fixé négatif (bloc de traitement 3406), l'amplitude C est fixée à 2SA (bloc de traitement 3407), le drapeau de groupe du coefficient C est positionné sur "groupe B" (bloc de traitement 3418), et le processus prend fin. La figure 7D illustre un autre mode de réalisation du processus du passage A associé à un processus de décodage du type horizon à liste unique utilisant une mémoire de drapeau réduite, et peut être employée dans le processus des figures 30A et 30B. Comme représenté sur la figure 7D, le processus commence par vérifier si le résultat de l'intersection logique (fonction ET) du coefficient C avec le masque MA est zéro (bloc de traitement 3401). Si ce n'est pas le cas, alors le processus prend fin. Toutefois, si le résultat de l'intersection logique du coefficient C avec le masque MA est zéro, le traitement se poursuit dans le bloc de traitement 3402, o la décision ternaire est décodée dans un ou des contextes de "groupe A". Ensuite, un essai détermine si la décision est "significatif positif" (bloc de traitement 3403). Si la décision est "significatif positif", le signe du coefficient C est fixt positif (bloc de traitement 3405), l'amplitude du coefficient est fixée à 2SA (bloc de traitement 3407), et le processus prend fin. Si la décision n'est pas "significatif positif", un essai détermine si cec est "significatif négatif (bloc de traitement 3404). Si la décision n'est pas "significatif négatif, le processus prend fin. Toutefois, si la décision est "significatif négatif, alors le signe du coefficient C est fixé négatif (bloc de traitement 3406), l'amplitude C est fixéce à 2SA (bloc de traitement 3407) et le processus prend fin. Passage B associé à la fois à la ramification zéro et au type horizon Dans un mode de réalisation, le processus du passage B est le même pour la ramification zéro et le type horizon, selon l'invention. Des modes de réalisation de l'algorithme du passage B associé au processus de codage et au processus de décodage sont présentés respectivement sur les figures 8A et 8B, et 9A et 9B. La figure 8A illustre un mode de réalisation du processus du passage B qui est utilisé partiellement pour le processus de codage du type horizon à liste unique et de la ramification zéro, et il peut être employé dans le processus des figures 27A et 27B. Comme représenté sur la figure 8A, le processus vérifie initialement si le drapeau de groupe du coefficient C est positionné sur "groupe B' (bloc de traitement 3111). Si ce n'est pas le cas, alors le processus prend fin. Inversement, si le drapeau de groupe est ainsi positionné, le traitement se poursuit dans le bloc 3202, o un essai détermine si le bit SB du coefficient C est 1. Si le bit de SB du coefficient C n'est pas 1, alors la décision est codée sous la forme "0" dans un ou des contextes de 'groupe B" (bloc de traitement 3333), et le processus prend fin. Si le bit SB du coefficient C est 1, alors la décision est codée sous la forme "1" dans un ou des contextes de "groupe B" (bloc de traitement 3404), et le processus prend fin. La figure 8B illustre un autre mode de réalisation du processus du passage B, qui est utilisé partiellement pour le processus de codage du type horizon à liste unique et de la ramification zéro et qui fait appel à une mémoire de drapeau réduite, ce processus pouvant être employé dans le processus des figures30A et B. Comme représenté sur la figure 8B, le processus vérifie initialement si le résultat de l'intersection logique (fonction ET) du coefficient C avec le masque MB est non nul (bloc de traitement 3301). Si ce n'est pas le cas, le processus prend fin. Inversement, si le résultat de l'intersection logique du coefficient C avec le masque MB est non nul, le traitement passe au bloc de traitement 3302, o un essai détermine si le bit SB du coefficient C est 1. Si le bit SB du coefficient C n'est pas 1, alors la décision est codée sous la forme "0" dans un ou des contextes de "groupe B" (bloc de traitement 3303), et le processus prend fin. Si le bit SB du coefficient C est 1, alors la décision est codée sous la forme "1" dans un ou des contextes de "groupe B" (bloc de traitement 3304), et le processus prend fin. La figure 9A illustre un mode de réalisation du décodage associé au passage B selon l'invention, et peut être employée dans le processus des figures 27A et 27B. Comme représenté sur la figure 9A, un essai détermine initialement si le drapeau de groupe du coefficient C est positionné sur "groupe B" (bloc de traitement 3611). Si ce n'est pas le cas, alors le processus prend fin. Toutefois, si le drapeau de groupe du coefficient C est positionné sur "groupe B", alors les décisions sont décodées dans un ou des contextes de "groupe B" (bloc de traitement 3602). Un essai décide alors si la décision est "1" (bloc de traitement 3603). Si la décision n'est pas "1", le processus prend fin. Si la décision est "1", le bit SB du coefficient C est positionné (bloc de traitement 3604) et le processus prend fin. La figure 9B illustre un autre mode de réalisation du décodage associé au passage B selon l'invention, qui utilise une mémoire de drapeau réduite, ce mode de réalisation pouvant être employé dans le processus des figures 30A et B. Comme représenté sur la figure 9B, un essai détermine initialement si les résultats de l'intersection logique (fonction ET) du coefficient C avec le masque MB est non nul (bloc de traitement 3601). Si le résultat de l'intersection logique du coefficient C avec le masque MB est zéro, alors le processus prend fin. Toutefois, si le résultat de l'intersection logique du coefficient C avec le masque MB est non nul, alors les décisions sont décodées dans un ou des contextes de "groupe B" (bloc de traitement 3602). Un essai décide ensuite si la décision est "1" (bloc de traitement 3603). Si la décision n'est pas "1", le processus prend fin. Si la décision est "1", le bit SB du coefficient C est positionné (bloc de traitement 3604) et le processus prend fin. En utilisant la combinaison du codage d'ordre à ramification zéro et du codage d'ordre du type horizon, l'invention réalise un codage suivant le degré de signification des bits pour les coefficients produits par les ondes élémentaires réversibles. On note que l'utilisation conjointe du groupe A et du groupe B, ainsi que des événements ternaires et des événements binaires correspondant respectivement aux passages "A" et "B" est spécialement importante eu égard au fait qu'un commutateur s'établit lorsqu'on passe de l'utilisation de l'ordre du type ramification zéro à l'ordre du type horizon à la fin de tout passageA. Ceci compense l'inefficacité de prédiction qui accompagne l'ordre du type ramification zéro pour les bits d'ordre inférieur. Ainsi, selon l'invention, le système commence par coder selon la ramification zéro les données des bits d'ordre supérieur, puis, après un certain nombre de passages dans les listes, c'est-à-dire après qu'un certain nombres de plans mémoire ont été codés, le codeur selon l'invention conmmute de façon à coder le reste des données à l'aide d'un codage du type horizon. On peut choisir le nombre de passages de façon statistique ou on peut le choisir de façon adaptative en surveillant le rendement du bloc de codage selon l'ordre de la ramification zéro. Autres modèles de contexte Dans un mode de réalisation, on utilise cinq compartiments de contextes binaires. Ceci est peu par comparaison avec d'autres systèmes, par exemple le JBIG qui utilise un peu plus de 1024 contextes. On peut améliorer la compression en utilisant plus de compartiments de contextes. Les décisions peuvent être conditionnées par une position spatiale, un niveau, ou une position de bit. Les décisions peuvent aussi être conditionnées par des données précédemment décodées qui sont proches des données courantes en ce qui concerne la position spatiale, le niveau ou la position de bit. De façon générale, les contextes de Markov d'ordre zéro précédemment décrits peuvent être remplacés par des contextes de Markov d'ordre supérieur. Quelques exemples sont donnés ci-dessous. Le bit le plus significatif (et par conséquent le plus facilement prédit) de chaque mantisse (données de groupe B dans certains modes de réalisation) pourrait utiliser un contexte différent de celui des autres bits. La décision "significatif ou non significatif" pourrait être conditionnée par une décision analogue prise pour des coefficients antérieurs spatialement rapprochés, du même niveau de transformation. De même, les bits de signe des coefficients significatifs pourraient être conditionnés par le signe de coefficients antérieurs spatialement rapprochés ayant le même niveau ou par le signe du coefficient du parent. Les améliorations dues au modèle de contexte peuvent être spécialement importantes lorsqu'il s'agit de comprimer des images ayant une structure spatiale ou du type multirésolution. Les images d'échelle de gris appartenant à des dessins sous forme de tracés ou à des textes constituent un exemple d'images ayant ces deux types de structure. Les améliorations sont également importantes lorsqu'on comprime des fichiers qui, à priori, doivent être comprimés et décomprimés avec une erreur de crête spécifiée. Autres modes de réalisation de l'invention L'invention peut être mise en oeuvre sous la forme d'un équipement matériel, sous forme logicielle ou sous les deux formes en même temps. Une mise en oeuvre sous forme matérielle de l'invention demande la réalisation des filtres à ondes élémentaires, une gestion de la circulation des données par rapport à la mémoire permettant de fournir les données destinées aux filtres, un modèle de contexte servant à commander le codage par implantation selon l'invention, une gestion de la circulation des données par rapport à la mémoire permettant de fournir les données destinées au modèle de contexte, et un codeur entropique binaire. Filtres à ondes élémentaires Un mode de réalisation du filtre à ondes élémentaires direct selon l'invention est présenté sur la figure 10. Le filtre à ondes élémentaires représenté sur la figure 10 traite quatre pixels d'entrée du type complémentation à 2 de 16 bits, représentés par X(2)-X(5). Comme on peut le voir sur la figure 10, le filtre passe- bas "1 1" à deux prises utilise un additionneur à 16 bits 1001. Les signaux de sortie sont respectivement appelés S et D. Le signal de sortie de l'additionneur (S) est tronqué à 16 bits à l'aide d'un bloc 1003 effectuant un décalage de 1. Le bloc 1003 du décalage de 1 effectue une fonction de division par 2 en décalant d'un bit vers la droite son signal d'entrée de 17 bits. Le filtre passe-haut "-1 -1 8 -8 1 1" à six prises intermédiaires demande le calcul de -SO + 4D1 + S2. La fonction S2 - So est calculée l'aide du soustracteur à 16 bits 1005 qui reçoit le signal de sortie du bloc 1003 de décalage de 1 et Y0(0). Le terme 4D1 est calculé à l'aide du soustracteur 1002 et d'un bloc 1004 de décalage de 2. Le signal de sortie produit par le soustracteur à 16 bits 1002 est décalé de deux positions vers la gauche, ce qui a pour effet de multiplier par quatre son signal de sortie. L'addition du signal de sortie 4D1 venant du bloc 1004 de décalage de 2 au signal de sortie du soustracteur 1005 est effectuée par un additionneur à 20 bits 1006. Le signal de sortie de l'additionneur final est tronqué à 18 bits à l'aide d'un bloc 1007 de décalage de 2. Le bloc 1007 de décalage de 2 effectue une fonction de division par quatre en décalant de deux bits vers la droite son signal d'entrée de 20 bits. Ainsi, l'équipement de calcul total nécessaire (sans compter les registres servant à mémoriser des résultats temporaires) est: - un additionneur à 16 bits, - deux soustracteurs à 16 bits, - un additionneur à 19 bits. On note que le décalage s'effectue à l'aide du câblage, de sorte qu'aucun circuit logique n'est nécessaire. Dans d'autres modes de réalisation, pour des signaux d'entrée de taille N, on peut utiliser un additionneur à N bits, deux soustracteurs à N bits et un additionneur à (N + 3) bits. Du fait du coût matériel extrêmement bas de ces additionneurs et soustracteurs, on peut utiliser, si on le souhaite, un montage de filtres en parallèle. On note que, au lieu de soustraire X(3) et X(2), on peut calculer X(4)X(5) et mettre le résultat en réserve jusqu'à ce qu'on en ait ultérieurement besoin sous la forme X(2)-X(3) pour le prochain décalage ou la prochaine application du filtre. Le filtre direct (comme le filtre inverse décrit ultérieurement) peut être monté en "pipeline" pour procurer un rendement supérieur. Le filtre à ondes élémentaires inverse est présenté sur la figure 11. Les signaux d'entrée Y0(0) et Y0(2) sont soustraits par un soustracteur 1101. Le résultat de la soustraction est décalé de deux bits vers la droite par un bloc 1102 de décalage de 2. Ceci a pour effet de diviser par quatre le signal de sortie du soustracteur. Une soustraction est effectuée entre le signal de sortie du bloc 1104 de décalage de 2 et le signal d'entrée Yi(0). Le signal d'entrée Yo(1) est décalé d'un bit vers la gauche par le bloc 1103 de décalage de 1, ce qui multiplie le signal d'entrée par deux. Après que Y0(1) a été décalé de 1 (c'est-à-dire multiplié par 2), le bit le moins significatif (LSB) de la valeur décalée est le bit le moins significatif pris dans le signal de sortie du soustracteur 1104 et combiné avec le signal de sortie de 16 bits venant du bloc 1103 de décalage de 1 pour former le signal d'entrée destiné à l'additionneur 1105 et au soustracteur 1106 L'autre signal d'entrée de l'additionneur 1105 et du soustracteur 1106 est constitué par le signal de sortie du soustracteur 1104. Les signaux de sortie de l'additionneur 1105 et du soustracteur 1106 peuvent subir ensuite un écrêtage. On peut choisir deux opérations d'écrêtage. Dans les deux cas, la valeur à 20 bits est décalée de 1 (divisée par deux), pour donner une valeur à 19 bits. Pour un système qui n'effectue que la compression sans pertes, on peut délivrer en sotie les 16 bits les moins significatifs (on peut ignorer les trois bits restants). Dans un système avec pertes (ou un système avec/sans pertes), la valeur à 19 bits est fixée à zéro si elle est négative ou est fixée à 216-1 si elle est supérieure à 216-l; sinon, on délivre en sortie les 16 bits les moins significatifs. Pour des signaux d'entrée de taille N bits, on peut utiliser un soustracteur à N bits, un soustracteur à (N+2) bits, un additionneur à (N+3) bits et un soustracteur à (N+3) bits, et l'unité d'écrêtage délivre N bits. Mode d'utilisation de la mémoire En ce qui concerne la gestion de la mémoire et de la circulation des données s'appliquant aux filtres à ondes élémentaires selon l'invention, dans le cas d'images telles qu'une image complète peut être placée en mémoire, la gestion de la mémoire et de la circulation des données n'est pas difficile. Même pour des images médicales représentant 1024 x 1024 fois 16 bits (soit 2 mégaoctets), il est raisonnable, pour de nombreuses applications, de demander un tampon d'image complète. Pour des images plus grandes (par exemple des images en 4 couleurs à 400 points par pouce de format A4, dont la taille est d'environ 50 mégaoctets), il est souhaitable d'effectuer la transformation par ondes élémentaires au moyen d'une mémoire de tampon de ligne représentant une quantité limitée. On notera que, selon l'invention, il n'est pas nécessaire d'avoir un tampon d'image complète pour mettre en oeuvre un système à un seul passage. De ce fait, on peut réduire la mémoire nécessaire d'un facteur approximatif de 100 (par comparaison avec l'utilisation d'un tampon d'image complète pour grandes images). On va décrire ci-après le système à un seul passage selon l'invention. * Les données mémorisées dans la mémoire de filtrage sont constituées d'une série de coefficients qui doivent être soumis au codage par implantation et au codage entropique binaire. Le codage par implantation utilise un modèle de contexte pour coordonner l'usage d'un codage basé sur la fréquence ou d'un codage du type horizon et pour fournir des données suivant l'ordre voulu. Le modèle de contexte fonctionne en liaison avec un schéma de gestion de la mémoire. Pour lcs systèmes dotés d'un tampon d'image complète, il n'est pas difficile de fournir des données dans l'ordre voulu. Pour des systèmes dépourvus d'un tampon d'image complète, le schéma de gestion de données de transformation du mode de réalisation à un seul passage selon l'invention (décrit ci- après) fournit des coefficients au modèle de contexte de sorte que le modèle de contexte doit seulement mettre en tampon les coefficients relatifs à une seule ramification. Un modèle de contexte basé sur la fréquence à un seul passage et un modèle de contexte basé conjointement sur l'espace et la fréquence du type à un seul passage travaillent sur une seule ramification à la fois. Le résultat de l'opération d'implantation selon l'invention est de produire des trains de bits à partir du mécanisme de modélisation basé sur la fréquence selon l'invention et du mécanisme de modélisation basé conjointement sur l'espace et la fréquence selon l'invention. Ces trains de bits sont ensuite codés à l'aide d'un codeur entropique binaire. Pour un système doté d'un tampon d'image complète, on utiliser n'importe quel codeur entropique binaire (ou autre codeur approprié). Pour des systèmes dépourvus d'un tampon d'image complète, on doit utiliser plusieurs codeurs indépendants, ou bien le codeur doit pouvoir simuler plusieurs codeurs indépendants. De plus, il est nécessaire de gérer la mémoire ou le canal pour garder la trace des signaux de sortie des codeurs indépendants. Un avantage de l'invention est que les données à gérer sont classées suivant un certain ordre de priorité (ce que l'on appelle "implantées"). Si l'on ne dispose pas de suffisamment de place ou de largeur de bande, pendant la compression ou la transmission, on peut écarter des données moins importantes en autorisant une compression à degré de pertes raisonnable. Système à un seul passage selon l'invention L'invention propose une transformation à un seul passage qui permet de traiter complètement les données d'entrée du système lors de leur réception. Dans un tel système, le traitement des données ne dépend pas des données qui suivent. La mémoire nécessaire pour comprimer une image est indépendante de la longueur de l'image. En supprimant la dépendance, l'invention fournit un système qui peut délivrer des données comprimées avant que toutes les données aient été traitées. A. Gestion des données pour une transformation à un seul passage La figure 12 représente une partie d'une image qui est en train d'ctre- comprimée suivant un certain ordre de tramage par la méthode des bandes à l'aidc des enseignements de l'invention. On considère le cas d'une décomposition à quatre niveaux. Chaque ramification possède 24 x 24 = 16 x 16 = 256 coefficients. Toutefois, puisque le filtre passe-haut de la transformation par ondes élémentaires selon l'invention est en chevauchement, chaque ramification dépend de plus de 256 pixels d'entrée. Le filtre passe-bas "1 1"l à deux prises intermédiaires, désigné par L, ne cause aucun chevauchement, la totalité du chevauchement provenant du filtre passe-haut "-1 -1 8 -8 1 1" à six prises intermédiaires, désigné par H. Le chevauchement le plus important se produit pour la cascade de trois applications du filtre passe-bas suivies d'une application du filtre passe-haut (IlLH). Trois applications du filtre passe-bas (LLL) nécessitent le support de 23 = 8 pixels d'entrée. Des régions de support d'une taille de 8x8 pixels sont présentées sur la figure 12. Lorsqu'on inclut le filtre passe-haut dans la cascade, les régions de support sont de (6 x 23) x (6 x 23) = 48 x 48 pixels. Une région de support de 48 x 48 pixels, constituée de trente-six blocs 8x8 est présentée sur la figure 12. On suppose que les coefficients de la région de support de 48 x 48 pixels présentée sur la figure 12 sont en train d'être traités. La partie légèrement ombrée de la région de support indique des pixels qui ont déjà été utilisés dans de précédentes régions de support. La partie légèrement ombrée qui est à l'extérieur de la région de support indique des pixels qui ont déjà été utilisés dans de précédentes régions de support et qui sont nécessaires dans de futures régions de support. La région noire de 16 x 16 pixels est la partie de la région de support qui contient des pixels n'ayant pas été utilisés précédemment. De même, la région fortement ombrée de 16 x 16 pixels contient des pixels qui n'ont pas été utilisés précédemment, mais qui seront utilisés dans la région de support suivante de 48 x 48 pixels. On calcule une transformation 16 x 16 à trois niveaux, on va chercher dans un tampon les résultats antérieurs de huit autres transformations 16 x 16 à trois niveaux, et on applique le quatrième niveau de la transformation aux neuf transformations 16 x 16 à trois niveaux. La capacité de mise en tampon nécessaire pour accomplir cette opération est suffisante pour stocker les coefficients de transformation à trois niveaux pour (2 x "largeur d'image" +32) x 16 pixels, plus un tampon de 16 lignes (une bande) de pixels. La figure 13 est un schéma fonctionnel montrant un mode de réalisation de l'unité de filtrage par ondes élémentaires à un seul passage, qui comprend une unité 1301 de commande de filtre, une mémoire 1302 et un filtre 1303. Le filtre 1303 est constitué par le filtre décrit en liaison avec la figure 10. La mémoire 1302 se rapporte à la mémoire décrite ci-dessus en liaison avec la figure 12 et mémorise des pixels ou des coefficients. L'unité de commande de filtre 1301 détermine la circulation des données entre la mémoire 1302 et le filtre 1303. On va expliquer ci-dessous le fonctionnement de l'unité 1301 de commande de filtre. La figure 14 représente une autre unité de filtrage par ondes élémentaires. Pour obtenir un fonctionnement rapide, on peut utiliser plusieurs filtres. Dans un mode de réalisation, puisque le filtre 1303 demande quatre ou cinq entrées (par exemple filtre inverse, filtre direct) et produit deux signaux de sortie, la largeur de bande de mémoire nécessaire peut étre importante. La mémoire peut avoir plusieurs pixels ou coefficients par emplacement, plusieurs blocs de mémoire et, ou bien, plusieurs accès. Une unité d'interface de mémoire 1401 réduit la largeur de bande de mémoire nécessaire en fournissant de petits tampons destinés aux données locales utilisées pendant le traitement. L'unité d'interface de mémoire 1401 assure aussi le multiplexage et le démultiplexage entre les entréc/sortie (I/0O) de la mémoire 1302 et les entric/sortie du filtre 1303. En plus de la largeur de bande de mémoire nécessaire pour le filtrage, une largeur de bande supplémentaire peut être nécessaire pour l'application des pixels à l'entrée de la mémoire 1302 et la délivrance des coefficients au modèle de contexte. Si des pixels sont appliqués en entrée suivant un ordre de tramage, une mémoire supplémentaire peut être nécessaire pour le tampon de bande. Si une mémoire stocke des éléments multiples (pixels ou coefficients) dans chaque emplacement, au lieu de stocker horizontalement ou verticalement des éléments adjacents dans une rangée ou une colonne, ceci peut réduire la quantité des accès en mémoire et la capacité de mise en tampon nécessaires en faisant que les éléments contenus dans un bloc N x N, o N est une puissance de 2, partage le même emplacement. Ceci donne une commodité égale aux accès verticaux et horizontaux. On peut également mettre en oeuvre plusieurs blocs de mémoire de façon que l'accès horizontal et l'accès vertical puissent tous deux tirer un même avantage des blocs multiples, comme représenté sur la figure 15. Dans le cas de deux blocs de mémoire, un bit de sélection de bloc destiné à sélectionner l'un ou l'autre des blocs de mémoire peut être formé, dans un mode de réalisation, à l'aide d'une addition logique (OU exclusif) des bits les moins significatifs des coordonnées horizontales et verticales. Dans le cas de quatre blocs de mémoire, les deux bits de sélection de bloc peuvent être formés par addition (modulo 4 à l'aide d'un additionneur à 2 bits) deux bits les moins significatifs des coordonnées horizontales et verticales. La figure 16 illustre l'opération de filtrage à un seul passage pour la mise en oeuvre d'une décomposition à deux niveaux au moyen de l'unité de commande de filtre 1301 (figure 13). On note que, dans le cadre de la description, on présentera d'abord de la description d'une décomposition à deux niveaux en vue d'illustrer la technique générale de l'invention. Dans d'autres modes de réalisation, on utilise des décompositions à trois niveaux, quatre niveaux ou plus. Une décomposition à deux niveaux possède 16 coefficients par ramification et demande un calcul travaillant avec 16 pixels d'entrée qui n'ont pas été utilisés antérieurement. Le filtrage relatif à une ramification de coefficients s'effectue en 16 unités de temps ou moins de façon à assurer la correspondance avec les débits d'entrée et de sortie. Dans cet exemple, on utilise deux filtres fonctionnant en parallèle afin d'atteindre le rendement voulu de deux opérations de filtrage par unité de temps. Pour chaque emplacement spatial, o le côté antérieur d'un filtre est appliqué, la figure 16 présente un nombre qui indique le temps auquel chaque opération de filtrage a été exécutée. Puisque l'ordre des opérations de filtrage est déterminé par le côté antérieur du filtre, le filtrage ne produit pas tous les coefficients d'une certaine ramification avant d'avoir produit quelques-uns des coefficients de la ramification suivante. Le filtrage des enfants de la ramification a lieu avant le filtrage des parents, et le filtrage passebas est effectué avant le filtrage passe-haut correspondant. Le filtrage agit sur le "groupe A" de coefficients qui possède le même nombre de coefficients d'un type qu'une ramification concerne. Le filtrage horizontal de niveau 1 est exécuté pendant le laps de temps qui va du temps 0 au temps 7, et les résultats sont stockés dans un tampon temporaire. (Chaque emplacement spatial donne deux coefficients.) Pendant le laps de temps qui va du temps 2 au temps 9, le filtrage vertical est exécuté (a l'aide du deuxième filtre) sur des données contenues dans le tampon et des données du filtrage horizontal précédent provenant de la mémoire (deux fois par emplacement spatial). Le filtrage vertical peut commencer dès que la deuxième opération de filtrage horizontal est achevée. Les coefficients HH, HL et LH sont prêts à être délivrés au modèle de contexte (au temps approprié). Les coefficients LL sont utilisés dans le niveau suivant. Avec deux filtres seulement, le filtrage horizontal de niveau 0 ne peut pas commencer avant le temps 8 o le filtrage horizontal de niveau 1 est achevé, rendant ainsi un filtre disponible. Le filtrage horizontal de niveau 0 ne peut pas se terminer avant le temps 10 un cycle après que le filtrage vertical de niveau 0 s'est achevé, fournissant toutes les données nécessaires. Ensuite, pendant le laps de temps des temps 11 et 12, le filtrage vertical de niveau 1 peut avoir lieu. Le tableau 1 ci-après résume le fonctionnement de chaque filtre pendant chaque unité de temps. Les éléments du tableau sont présentés dans le format suivant: numéro du niveau, horizontal ou vertical ('L ou "V") et emplacement spatial du côté antérieur. Les éléments soumis à des opérations de filtrage vertical sont identifiés comme filtrés passe-bas ou passe-haut à l'aide de l'indice "L" ou *H". On note qu'il n'est pas nécessairc d'affecter un certain filtre à l'exécution du filtrage horizontal et l'autre à l'exécution du filtrage vertical, puisque les deux filtres dont identiques. TABLEAU 1 Temps | Filtre 1 i Filtre 2 O 1H(O,O) (libre) 1 l H(,1) 2 1H(2,0) 1VL(0,0) 3 1H(2,1) 1VH(O,O) 4 1H(0,2) lVL(0,2) i1H(0,3) 1VH(2,0) 6 1H(2,2) 1VL(0,2) 7 1H(2,3) 1VH(0,2) 8 OH(O,O) 1VL(2,2) 9 (Libre) 1VH(2,2) 10 OH(0,1) (libre) 11.0VL(O,0) 12 OVH(0,0) 13 (libre) 14 (libre) Alors que le filtrage horizontal de niveau 1 peut recommencer avec le groupe suivant de pixels d'entrée au temps 11, ceci amènera le filtre à fonctionner à une vitesse dépassant les débits d'entrée et de sortie. Au lieu de cela, selon l'invention, les filtres restent libres et le traitement du groupe suivant commence au temps 16. Les cycles de filtrage libres peuvent être utilisés pour les transferts en mémoire. Au lieu d'apparaître à la fin du filtrage pour chaque groupe, les cycles libres pourraient être répartis entre les cycles de filtrage si cela était souhaitable. En liaison avec les explications concernant le cas du niveau 2, on présente dans le tableau 2 le cas à trois niveaux. On a utilisé des concaténations de deux ou quatre unités de temps pour transférer les informations sur une page, de façon à rendre la lecture plus aisée. TABLEAU2 i Temps Filtre 1 Filtre 2 0-3 2H(0,0), 2H(0,1), 2H(2,0) 2H(2,1) (idle),(idle) 2VL(0,0), 2VH(0,0) 4-7 2H(4,0), 2H(4,1), 2H(6,0) 2H(6,1) 2VL(2,0), 2VH(2,0), 2VL(4,0), 2VH(4,0) 8-11 2H(0,2), 2H1(0,3), 2H(22) 2H(2,3) 2VL(6,0), 2VH(6,0), 2VI.(0,2), 2VH(0,2) 12-15 2H(4,2), 2H(4,3), 2H(6,2) 2H(6,3) 2VL(2,2), 2VH(2.21. 2Vi(4,2), 2VH(4,2) 16-19 2H(0,4), 21H(0,5), 2H(2,4) 2H(2,5) 2VL(6,2), 2VH(6 7), 2VL(0,4), 2VH(0,4) - - 20-23 2H(4,4), 2H(4,5), 2H(6,4) 2H(6,5) 2VL(2,4), 2VH(2,4), 2VL(4,4), 2VH(4.4) i2-2 24-27 2H(0,6), 2H(0,7), 2H(2,6) 2H(2,7) 2VL(6,4), 2VH(6,4), 2VL(0,6), 2VH(0,6) 28-31 2H(4,6), 2H(4,7), 2H(6,6) 2H(6,7) 2VL(2,6), 2VH(2,6), 2VL(4,6), 2VH(4,6) 32-35 1H(0,0), 1H(0,1), 1H(2,0) 1H(2,1) 2VL(6,6), 2VH(6,6), 1VL(0,0), IVH(0,0) 36-39 1H(0,2), IH(0,3), 1H(2,2) 1H(2,3) lVL(2,0), lVH(2,0), 1VI.(0. 2), 1VH(0,2) -43 OH(0,0,(Libre OH(0,1), (Libre) IVL(2,2), lVH(22), (idle), 0VL(0,O), 44-47 2VH(0,0), (Libre), (libre), libre) 48-51 3 52-55 (Libre) (libre) 56-59 Le tableau 3 illustre le cas à quatre niveaux. Puisqu'il y a maintenant 256 unités de temps par groupe de coefficients, on n'a représenté, pour simplifier, que le niveau et le sens du filtrage. TABLEAUI3 Temps Filtre 1 Filtre 2 0-1 Horizontal de niveau 3 (libre) 2-127 Horizontal de niveau 3 Vertical de niveau 3 128-129 Horizontal de niveau 2 Vertical de niveau 3 -159 Horizontal de niveau 2 Vertical de niveau 2 -161 Horizontal de niveau 1 Vertical de niveau 2 162-167 Horizontal de niveau 1 Vertical de niveau 1 168 Horizontal de niveau 0 Vertical de niveau 1 169 (libre) Vertical de niveau 1 Horizontal de niveau 0 (libre) 171 (libre) Vertical de niveau 0 172 (libre) Vertical de niveau 0 173-255 (libre) (libre) Le signal de sortie du sous-système de filtrage et de mémorisation selon l'invention est constitué par une série de coefficients qui subissent un codage par implantation du degré de signification des bits, selon l'invention. B. Le modèle de contexte pour le système à un seul passage Dans un mode de réalisation de l'invention, à savoir le modèle de contexte implanté par rapport au degré de signification des bits pour le système à un seul passage, chaque ramification est traitée en quatre parties. La racine de la ramification, à savoir le coefficient LL de plus haut niveau, est codée par un codage de mise en ordre du type horizon à un seul passage. Les trois sous- ramifications partant de chacun des trois enfants de la racine, à savoir les coefficients HH, HL et LH du niveau le plus élevé, sont traitées au moyen d'une modélisation basée conjointement sur l'espace et la fréquence à un seul passage et de la modélisation basée sur la fréquence à un seul passage. Les coefficients sont codés de façon que des données codées puissent être délivrées avant que le modèle de contexte d'implantation du degré de signification des bits n'ait agi sur toutes les données. Ramification de significations à un seul passage Le modèle de contexte à ramification zéro ne peut pas être utilisé dans le système à un seul passage. La ramification zéro nécessite une liste (ou plusieurs) qui contient tous les coefficients, et la ramification zéro effectue plusieurs passages dans la ou les listes. Un autre modèle basé sur la fréquence, le modèle de la ramification de significations à un seul passage, ne demande aucune liste contenant tous les coefficients. Une autre différence entre la ramification de significations à un seul passage et la ramification zéro est que la ramification de significations traite tous les enfants avant de traiter leurs parents lors de la production des décisions, au contraire de la ramification zéro qui traite d'abord les parents. Le modèle de contexte selon l'invention est présenté sous la forme d'un schéma fonctionnel sur la figure 17. Le modèle de contexte 1700 contient deux unités de traitement, l'unité 109 de mise au format signe/amplitude (figure 1 A) et l'unité de traitement des significations 1702. Le modèle de contexte 1700 utilise aussi deux mémoires (ainsi qu'un circuit logique de commande de mémoires), une mémoire d'amplitudes 1701 et une mémoire de ramifications 1703. Calcune de ces deux unités de mémoire peut être mise en oeuvre à l'aide de plusieurs zones de stockage de façon à permettre une utilisation alternée pendant le fonctionnement à grande vitesse (c'est-à-dire que, pendant que des données sont en train d'être écrites dans une mémoire, l'autre est en train d'être lue, ou vidée). La mémoire des amplitudes 1701 réordonne les coefficients contenus dans la ramification suivant un ordre basé sur la signification, tel qu'un ordre basé sur l'amplitude. Ceci est réalisé par le maintien d'une file d'attente pour chaque amplitude possible. L'unité 1702 de traitement des significations reçoit des coefficients ordonnés en fonction de la signification (par exemple de l'amplitude) et produit des décisions à destination d'un codeur qui manipule l'algorithme du passage A. La mémoire des ramifications 1703 est couplée à l'unité 1702 de traitement des significations et élimine les ramifications zéro à la suite d'une partie entièrement constituée par des zéros. La discussion suivante suppose que les coefficients sont à 18 bits et que les données d'entrée ont subi une décomposition à quatre niveaux. Un mode de réalisation de l'unité signe/amplitude 109 est présenté sur la figure 18 et met les coefficients d'entrée au format signe/amplitude. L'unité signe/amplitude 109 est couplée de façon à recevoir les 18 bits des coefficients et comporte un inverseur 1801, un multiplexeur (MUX) 1802, un codeur 1803 de priorité et un compteur 1804. L'unité signe/amplitude 109 délivre une indication de signification (par exemple une valeur à 5 bits), la mantisse du coefficient d'entrée (par exemple 17 bits), le signe du coefficient d'entrée (1 bit) et un indice venant du compteur 1804 (par exemple 7 bits). Le multiplexeur 1802 est couplé de façon à recevoir 17 bits du coefficient tel qu'il est appliqué directement à l'unité signe/amplitude 109 et une version inversée des 17 bits venant d'un dispositif de complémentation à 2, désigné par la référence 1801. En fonction du bit de signe (bit 17 du coefficient) reçu sur l'entrée de sélection du multiplexeur 1802, celui des deux signaux d'entrée qui est positif est délivré au titre de la mantisse. L'unité signe/amplitude 109 utilise le codeur de priorité 1803 pour déterminer le premier bit significatif de chaque coefficient. En fonction du premier bit significatif de chaque coefficient, un niveau de signification peut être associé au coefficient. Le compteur 1804 est utilisé pour associer un index à l'élément courant de la ramification. Pour une décomposition à quatre niveaux, l'index varie de O à 84 (puisque 1 + 4 + 16 + 64 = 85 est le nombre des éléments d'une sous- ramification). Les coefficients appliqués à l'entrée sont dans l'ordre que présente la ramification, lequel ordre est supposé être le suivant, les parents d'abord, les enfants en dernier, selon cet exemple. Les coefficients sont en provenance de niveaux différents de la décomposition, cornmme représenté dans le tableau 4, pour les coefficients placés en ordre. TABLEAU 4 Niveau Index des coefficients 0 1 1, 22, 43, 64 2 2, 7, 12, 17, 23, 28, 33, 38,44,49,54,59, 65, 70,75,80 3 3...6, 8... 11, 13...16, 18...21, 24...27, 29...32, 34...37, 39...42, 1____45...48, 50...53, 55...58, 60...63, 66...69, 71...74, 76...79, 81... 84 La figure 19 est un mode de réalisation de la mémoire d'amplitudes 1701, se présentant sous la forme d'un schéma fonctionnel. Un compteur et une mémoire sont associés à chaque niveau de signification possible (sauf que rien n'est nécessaire pour les coefficients zéro, qui n'ont pas besoin d'être codés). Par exemple, le compteur 1916 et la mémoire 1936 sont associés au niveau de signification 17. Dans un mode de réalisation, il y a seize niveaux de signification. 11 y a donc dix-sept compteurs et dix-sept mémoires associées. Dans un mode de réalisation, chaque mémoire doit avoir 85 emplacements, pour chaque coefficient possible d'une sous-ramification (puisque chaque sous-ramification contient 85 coefficients), mais la taille de la mémoire pourrait être arrondie à une puissance de 2, par exemple 128, pour des raisons de commodité. Chaque élément contenu dans la mémoire peut avoir un bit de signe, un index de 7bits et Nbits d'amplitude, o N est le niveau de signification. Si l'on souhaite utiliser une mémoire de largeur fixe, on peut combiner les éléments se rapportant aux niveaux de signification 16 et 0, 15 et 1, etc., de sorte que chaque mot comprend deux éléments totalisant 32 bits. Naturellement, pour un nombre impair de niveaux de signification, un mot doit contenir un seul élément, qui est de niveau 7 dans cet exemple. Les valeurs associées au signe, à l'index, et à la mantisse qui sont reçues de la part de l'unité signe/amplitude 109 sont écrites dans la mémoire appropriée à l'adresse fournie par le compteur associé à la mémoire. Le compteur associé est ensuite incrémenté de façon que le coefficient suivant ayant ce niveau de signification puisse être stocké à l'emplacement suivant. La lecture s'effectue dans chacune des mémoires 1920 à 1926 dans l'ordre décroissant des degrés de signification. Le signal de sortie relatif à chaque coefficient comporte sa mantisse, son signe et son index. Si le compteur relatif au niveau le plus élevé de signification (par exemple le niveau 16) est non nul, il est décrémenté et la lecture de la mémoire s'effectue à cette adresse. Ceci se répète jusqu'à ce que la valeur du compteur atteigne zéro. Ensuite, on considère le niveau suivant de signification (par exemple le niveau 15). Chaque niveau de signification est pris en considération à son tour, jusqu'à ce que tout les compteurs aient été décrémentés jusqu'à zéro et que toutes les mémoires aient été vidées. Dans un système en temps réel, il peut être souhaitable d'utiliser deux blocs de compteurs et de mémoires, de sorte qu'un bloc puisse être utilisé pour l'entrée tandis que l'autre est utilisé pour la sortie. Les compteurs effectuent l'adressage de la mémoire qui leur est associée de façon à mettre en oeuvre une procédure LIFO (ce qui signifie 'demrnier entré, premier sorti"). La procédure LIFO correspond à l'ordre correct dans le cas o les sous-ramifications sont dans l'ordre plaçant les parents en premier. Selon une autre possibilité, si les sousramifications sont dans l'ordre o les enfants sont en premier, on peut modifier le fonctionnement des compteurs en mettant en oeuvre une procédure FIFO ("premier entré, premier sorti"). La figure 20 est un schéma fonctionnel montrant un mode de réalisation de l'unité de traitement des significations 1702. Comme on peut le voir sur la figure 20, un compteur d'index 2001 est utilisé pour passer d'un coefficient à l'autre dans une sous-ramification, les enfants étant en premier. Dans un mode de réalisation, le compteur d'index 2001 est initialisé à 84 et décompte jusqu'à zéro. Le compteur de signification 2004 commence au niveau de signification maximal (par exemple 16 dans l'exemple considéré) et décompte à chaque fois que le compteur d'index 84 achève un cycle (c'est-à-dire revient à 84), de sorte que le compteur de signification 2004 garde la trace du plan mémoire. Le niveau d'un index particulier est déterminé par un circuit logique (mise de l'index au niveau) 2003 qui effectue la fonction présentée dans le tableau 4 cidessus. Une unité de mémoire d'amplitudes 1701 fournit l'index, l'amplitude et le signe du coefficient suivant dans la mémoire validée par le signal de sortie du compteur de signification 2004. Si l'index fourni par la mémoire est le même que l'index délivré par le compteur d'index 2001, le circuit logique d'équivalence 2002 attribue l'indication de sortie non nulle. L'indication de sortie non nulle signifie que la mémoire d'amplitudes pourrait fournir l'index suivant lors du prochain cycle. S'il n'y a pas appariement, alors une indication de non-appariement est envoyée à un générateur de décisions 2008. Dans un mode de réalisation, trois bascules, représentées par un drapeau 0 (2005), un drapeau 1 (2006) et un drapeau 2 (2007), sont utilisés pour garder la trace des données non nulles et sont respectivement affectés aux niveaux de décomposition 0, 1 et 2. On note que le nombre de bascules nécessaires est inférieur d'une unité au nombre des niveaux de décomposition. Les bascules 2005 à 2007 sont initialement effacées. Lorsque le signal non nul venant du circuit logique d'équivalence 2002 est établi, toutes les bascules 2005 à 2007 qui se sont vu attribuer un niveau inférieur au niveau courant sont positionnées. La bascule affectée au niveau courant est effacée. Le niveau est fourni par le circuit logique 2003 de mise de l'index au niveau, qui fournit le niveau en réponse à l'index fourni par le compteur d'index 2001. Des drapeaux "codés' sont mémorisés (pour certains modes de réalisation dans un fichier de registres), à raison d'un bit pour chaque index. Lorsque le signal non nul est établi, le bit associé à la valeur courante du compteur d'index présent dans la mémoire du drapeau codé est positionné. Sinon, si la valeur du compteur de signification est la valeur maximale, le bit associé est effacé. Pour le reste, la valeur du bit reste inchangée. Le signal de sortie déjà codé venant de la mémoire de drapeaux codés est le même que la nouvelle valeur du bit associé à l'index courant. On note que, dans un autre mode de réalisation, les drapeaux codés ne sont pas utilisés et le signal déjà codé n'est jamais utilisé. Dans un mode de réalisation, le générateur de décisions 2008 détermine si le niveau courant est 3 et si le niveau précédent ne l'était pas. Suite à cette détermination, le générateur de décisions 2008 établit le signal de sortie de début, le signal de sortie de niveau de début étant le niveau précédent. Si le signal non nul est établi, le générateur de décisions 2008 délivre une décision sous la forme 'significatif' et délivre également le signe (00, 01) et la mantisse. Sinon, si le signal d'entrée déjà codé est établi, aucune décision n'est délivrée. Pour le reste, si la bascule à laquelle le niveau courant a été affecté est positionnée, le générateur de décisions 2008 délivre la décision 'non significatif, ayant des enfants significatifs" (10). Sinon, le générateur de décisions 2008 délivre la décision 'non significatif, et enfants non significatifs' (11) et établit le signal entièrement constitué de zéros. On note que, pour mettre en oeuvre à la fois la modélisation basée sur la fréquence et la modélisation basée conjointement sur l'espace et la fréquence à un seul passage du type horizon, on apporte le changement suivant à l'unité de traitement de significations 2000. La valeur du compteur de signification 2004 est comparée avec un seuil, et le signal de sortie entièrement constitué de zéros n'est établi que si la valeur du compteur est supérieure à celle du seuil. Dans un mode de réalisation, le signal d'entrée de catégorie de signification appliqué à la mémoire de ramifications 1703 (représenté sur la figure 21 et décrite ci-après) est le signal de sortie du compteur de signification 2004. Dans ce mode de réalisation du modèle de contexte (par exemple unité d'implantation du degré de signification des bits), la catégorisation de la signification repose sur le nombre des plans mémoire, et il existe dix-sept catégories différentes de signification. Ceci est un choix arbitraire. Dans un autre mode de réalisation, on peut combiner des plans mémoire pour créer moins de catégorie de signification. De plus, une information de niveau peut être ajoutée à l'information de plan mémoire afin de créer plus de catégories de signification. Un plus grand nombre de catégories de signification peut donner une meilleure compression avec pertes tandis qu'un moins grand nombre de catégories peut réduire la complexité de l'équipement matériel. La figure 21 est un schéma fonctionnel montrant un mode de réalisation de l'unité de mémoire de ramifications selon l'invention. Comme on peut le voir sur la figure 21, une mémoire 2101 possède la place voulue pour stocker une décision et une indication de signification pour chaque décision possible. Dans un mode de réalisation, pour une décomposition à quatre niveaux avec dix-sept niveaux de signification, le nombre des emplacements de la mémoire 2101 est égal à 85 x 17 = 1445. Pour faire accès à la mémoire 2101, des adresses sont créées. Un compteur 2102 est initialement à zéro. Lorsque le générateur de décisions 2008 n'établit pas le signal d'entrée entièrement constitué par des zéros, la valeur du compteur 2102 est utilisée pour adresser la mémoire. Si le générateur de décisions 2008 établit le signal d'entrée de début, la valeur courante du compteur 2102 est enregistrée dans l'un des registres 2110 à 2112 en fonction du niveau de début, qui agit comme mécanisme de sélection. Ensuite, le compteur 2102 est incrémenté. Lorsque le générateur de décisions 2008 établit le signal d'entrée entièrement constitué par des zéros, la valeur du registre (par exemple 2110, 2111, 2112) sélectionné par le signal d'entrée de niveau est utilisée pour adresser la mémoire 2101, et cette valeur, plus 1, est chargée dans le compteur 2102. Ceci fait que les emplacements de mémoire utilisés pour des enfants non significatifs d'un parent non significatif sont ignorés. Pendant la délivrance de données par la mémoire, le compteur 2102 est décrémenté de façon à fournir en sortie l'adresse de l'emplacement. La délivrance (ainsi que la décrémentation) s'arrête lorsque le compteur 2102 atteint zéro. Lc signal de sortie de l'unité de mémoire de ramifications 2100 est reçu par un codeur entropique qui code de manière appropriée la décision sur la signification voulue. Pour permettre un fonctionnement en temps réel, on peut utiliser deux unités de mémoire de ramifications, si bien qu'une est utilisée pour l'entrée tandis que l'autre est utilisée pour la sortie. Alignement des coefficients Dans un mode de réalisation de l'invention, le modèle de contexte à ramification zéro utilise un filtre passe-bas 1 + Z-1 non normalisé. Toutefois, le modèle de contexte à ramification zéro peut être utilisé avec des filtres normalisés, tels que: -'1+Z-1 Pour pouvoir utiliser des filtres normalisés, on peut employer, entre le filtre à ondes élémentaires direct 1000 et le modèle de contexte 105, une unité d'alignement, telle que l'unité d'alignement 2200 présentée sur la figure 22, pour compenser l'énergie gagnée (ou perdue) par le filtre non normalisé, ce qui améliore la compression. Puisque l'alignement autorise une quantification non uniforme de l'opération avec pertes, l'alignement peut améliorer la qualité visuelle des reconstructions d'images avec pertes. Dans le cas unidimensionnel, les coefficients de chaque niveau de la ramification auront un alignement différent (les diviseurs sont.f2, 2, 2.f2, 4, et les multiplicateurs sont 21/2, 2, '2, 1). Dans le cas bidimensionnel, les diviseurs seront 2, 4, 8, 16 et les multiplicateurs seront 8, 4, 2, 1. Puisque l'alignement sert simplement à grouper les décisions binaires analogues en vue du codage, l'utilisation de la valeur de normalisation exacte n'est pas cruciale. L'alignement doit être inversé pendant le décodage, si bien que la multiplication et la division sont toutes deux nécessaires. Le fait d'utiliser des multiplicateurs et, ou bien, des diviseurs qui sont des puissances de 2 permettrait d'effectuer, au lieu de cela, un décalage efficace par l'équipement matéricl. Lorsque des coefficients sont multipliés par une puissance de 2, les bits zéro de moindre signification ajoutés n'ont pas à être codés. Toutefois, au lieu de limiter les multiplicateurs/diviseurs d'alignement aux puissances de 2, on peut utiliser une approximation du type 2 -1,5 ou {2- 2 + 1,5 avec le procédé suivant. Au lieu de multiplier, ou de diviser, les coefficients par le multiplicateur, ou le diviseur, on se contente de proportionner les coefficients "significatifs" à l'aide du multiplicateur, ou du diviseur. L'unité signe/amplitude peut être modifiée comme représenté sur la figure 23, de façon à inclure un codeur de priorité "1,5", qui (1) revient à la position du bit "1" le plus significatif si le bit le plus significatif suivant est "1" également, ou bien, sinon, (2) revient à une position diminuée d'un cran par rapport à la position du bit "1" le plus significatif. Une table de vérité d'un codeur de priorité "1,5" à trois bits d'entrée est présentée dans le tableau 5. TABLEAU Entrée (binaire) Sortie 001 O O 011 1 1 101 1 2 111 2 Selon le niveau du coefficient indiqué par la valeur courante de l'index, un multiplexeur 2302 sélectionne la signification à partir du codeur de priorité normal ou bien du codeur de priorité "1,5". A chaque fois que l'alignement "1,5" est utilisé, la mantisse contient N + 1 bits, o N est la valeur de signification. Sinon, la mantisse contient N bits. Une unité d'alignement 2200 comprenant un multiplexeur à deux entrées faisant fonction de moyen de décalage peut mettre en oeuvre un alignement de 1 ou 2. En combinant cet alignement avec l'alignement de "1,5" fourni par l'unité signe/amplitude, on obtient des alignements de 1, 1,5, 2 ou 3, qui sont une bonne approximation des multiplicateurs voulus dans le cas de signaux unidimensionnels, puisque les nombres sont plus simple (par exemple des puissances de 2). (Pour des signaux bidimensionnels du type image, les nombres sont plus simples.) Pendant le décodage, le (N + 2)me bit de la mantisse (qui n'est pas codée) est le complément du (N + l)Cmc bit lorsqu'on utilise le codeur de priorité "1,5". On peut utiliser l'alignement des coefficients pour accorder la ramification zéro et pour une quantification plus fine et non uniforme. Dans le cas d'images (signaux bidimensionnels), un mode de réalisation de la transformation RTS aligne les coefficients en multipliant la bande de fréquence par les nombres présentés sur la figure 31. La multiplication par ces nombres fait que la transformation RTS devient une approximation très proche des ondes élémentaires de reconstruction exacte des transformations TS. Pour être efficace, le codeur entropique doit tenir compte du processus d'alignement. Modèles de contexte basés sur la fréquence par plans mémoire fractionnaires Un autre mode de réalisation de la modélisation basée sur la fréquence utilise des plans mémoires fractionnaires ou des bits fractionnaires de significations. Une mise en oeuvre consiste à traiter deux fois chaque plan mémoire, si bien que les passages comprennent un passag cA1, un passage B1, un passage A0 et un passage BO. On note que les désignations des passages ont été choisies du fait que le passage A1 traite des coefficients qui partent de "11" et le passage A0 traite ceux qui partent de "10". Pendant le passage A1 associé au plan mémoire S, un coefficient du groupe A n'est significatif que si les bits S et S-1 sont tous deux non nuls. Pendant le passage A2, un coefficient du groupe A est significatif si le bit S est non nul. Puisque les deux bits les plus significatifs sont connus, le passage B1 et le passage BO doivent seulement traiter les bits S-1 (si l'on suppose que S = O est le plan mémoire le moins significatif). Puisque les plans mémoire fractionnaires diffèrent, de l'un à l'autre, d'un facteur de 1,5 ou 2/1,5, on peut réaliser l'alignement des différents niveaux en groupant les plans mémoire fractionnaires voulus pour chaque niveau. Les plans mémoire fractionnaires amènent une modélisation plus fine des données grâce à la relation parent-enfant utilisée dans le modèle de contexte basé sur la fréquence. On peut faire appel à plus de deux passages, par exemple quatre ou huit passages, pour obtenir une modélisation encore plus fine. Par exemple, dans le cas à quatre passages, le passage All traite les coefficients qui commencent par "'111". Lesautres passages traitent "'110'", "'101'" et "100". Une modélisation moins fine pourrait aussi être utilisée. Par exemple, un passage pourrait n'être effectué que pour un plan mémoire sur deux. Dans le cas d'une modélisation moins fine, on code plus de bits à l'aide du groupe B. C. Gestion mémoire/canal et codeur pour système à un seul passage La gestion de la mémoire pour données codées dans le système à un seul passage s'applique à des systèmes qui mémorisent toutes les données en mémoire et à des systèmes qui transmettent des données sur un canal. Dans le système à un seul passage, les données codées doivent être stockées de façon à pouvoir être accédées d'une manière causale implantée, de façon qu'on puisse écarter des données moins significatives sans perdre de données plus significatives. Puisque les données codées sont de longueur variable, on peut faire appel à une affectation de mémoire dynamique. Dans un mode de réalisation selon l'invention, le schéma de codage par implantation utilise 18 plans mémoire et par conséquent, affecte 18 niveaux de signification aux données. Le codeur d'un système à un seul passage doit être "causal implanté". Ainsi, les événements de décodage correspondant à un plan mémoire ne nécessitent pas d'informations venant des plans mémoire des ordres inférieurs. Dans le cas à un seul passage, tous les bits provenant d'une ramification seront typiquement codés avant que l'un quelconque des bits de la ramification suivante ne soit codé, si bien que des bits de significations différentes ne seront pas séparés. Pour des codeurs qui n'utilisent pas d'état interne, comme les codeurs de Huffman, ceci n'est pas un problème. Toutefois, de nombreux compresseurs sophistiqués ayant une meilleure compression utilisent l'état interne. Une manière de résoudre ce problème dans le cas de ces codeurs consiste à utiliser 18 codeurs différents, peut être 18 puces constituant des codeurs Q. Unc technique qui autoriserait l'utilisation de 9 puces du type codeurs Q est décrite dans le brevet des Etats-Unis d'Amérique n 5 097261 (Langdon, Jr.), intitulé "Data Compression for Recording on a Record Medium," qui a été délivré 17 mars 1992. Un meilleur moyen fait appel à un codeur du type pipeline pour mettre en oeuvre des codes virtuels différents à l'aide d'un unique codeur matériel, comme décrit dans la demande de brevet des Etats-Unis d'Amérique n 08/016 035, intitulé "Method and Apparatus for Parallel Decoding and Encoding of Data", qui a été déposée le 10 février 1993. Dans un tel codeur, les états multiples d'un générateur de bits, relatifs aux probabilités respectives, sont chacun affecté à une partie des données. Par exemple, chacun des 18 états pourrait être affecté à un plan mémoire particulier pour données à 18 bits. Des registres contenus dans le moyen de décalage du codeur sont également affectés à chaque partie des données. Dans le codeur, aucun entrelacement n'est effectué; chaque partie des données est simplement regroupée selon les bits. Dans des modes de réalisation ayant des codeurs matériels multiples ou des codeurs virtuels multiples, de la mémoire est attribuée à chaque partie des données. Lorsque la compression est achevée, on a obtenu, comme résultat, une liste liée décrivant la mémoire attribuée, plus le contenu de la mémoire attribuée. Si la mémoire déborde, le schéma d'attribution de la mémoire fait que des données plus importantes viennent s'écrire par-dessus des données moins importantes. Par exemple, le bit le moins significatif d'une donnée numérique pourrait être écrasé en premier. Les informations décrivant comment la mémoire est attribuée doivent être stockées en plus des données codées. La figure 24 présente un exemple d'unité d'attribution de mémoire dynamique pour trois catégories de signification. Pour éviter de compliquer l'invention, on ne décrit que trois catégories; typiquement, on utiliserait un plus grand nombre de catégories, par exemple 8, 16 ou 18. Un fichier de registres (ou un autre moyen de stockage) maintient un pointeur pour chaque catégoriec de signification, plus un autre pointeur servant à indiquer l'emplacement de mémoire libre suivant. La mémoire est divisée en pages de taille fixe. Initialement, chaque pointeur affecté à une catégorie de signification pointe le début d'une page de mémoire et le pointeur libre pointe la page de mémoire disponible suivante. Une donnée codée, identifiée à l'aide d'une catégorie de signification, est stockée à l'emplacement de mémoire qui est adressé par le pointeur correspondant. On incrémente ensuite le pointeur sur l'emplacement de mémoire suivant. Lorsque le pointeur atteint le maximum de la page courante, 'adresse du début de la page libre suivante, stockée dans le pointeur libre, s'enremgistre avec la page courante sous la forme d'une liaison. Dans un mode de réalisation, la partie de la mémoire de données codées, une mémoire distincte ou un fichier de registres pourraient être utilisés dans ce but. Ensuite, le pointeur courant se positionne sur la page libre suivante. Le pointeur libre s'incrémente. Ces opérations font qu'une nouvelle page de mémoire est attribuée à une catégorie de signification particulicre et produisent des liaisons avec des pages de mémoire contenant des données se rapportant à une catégorie de signification commune, de sorte que l'ordre d'attribution peut être déterminé pendant le décodage. Lorsque toutes les pages de la mémoire sont utilisées et qu'il existe plus de données qui sont plus significatives que les données les moins significatives dans la mémoire, une réaffectation de la mémoire peut être exécutée. On décrit trois de ces techniques de réaffectation. Dans les trois cas, la mémoire affectée aux données les moins significatives est réaffectée aux données plus significatives et on n'enregistre plus les données les moins significatives. Premièrement, la page qui, dans l'état courant, est utilisée par les données les moins significatives est simplement affectée aux données plus significatives. Puisque la plupart des codeurs entropiques typiques utilisent des informations d'état interne, l'ensemble des données les moins significatives qui étaient précédemment mémorisées dans cette page est perdu. Deuxièmement, la page qui était présentement utilisée par les données les moins significatives est affectée aux données plus significatives. Au contraire du cas précédent, le pointeur se positionne sur la fin de la page et, au fur et à mesure que des données plus significatives sont écrites sur la page, le pointeur correspondant décrémente. Ceci a pour avantage de préserver les données les moins significatives se trouvant au début de la page dans le cas o les donn6es plus significatives n'ont pas besoin de toute la page. Troisièmement, au lieu que la page courante associée aux données les moins significatives soit réaffectée, il est possible de réaffecter n'importe quelle page de données les moins significatives. Ceci demande que les données codées de toutes les pages soient codées indépendamment, ceci pouvant réduire la compression obtenue finalement. Ceci demande aussi que les données non codées correspondant au début de toutes les pages soient identifiées. Puisqu'une page quelconque de données les moins significatives peut être rejetée, on dispose d'une plus grande souplesse de quantification. Le troisième moyen peut être spécialement intéressant dans un système qui effectue une compression à taux fixe sur des régions de l'image. Un nombre spécifié de pages de mémoire peut être affecté à une région de l'image. Le fait que des données moins significatives soient ou non retenues peut dépendre de la compression effectuée dans une région particulière. On note que la mémoire affectée à une région peut ne pas être pleinement utilisée si une compression sans pertes demande une quantité moindre que la quantité de mémoire affectée. Le fait de réaliser une compression à taux fixe sur une région d'image peut permettre l'accès direct aux régions de l'image. Une fois la compression achevée, les données peuvent être transférées, si cela est souhaitable, à un canal ou un dispositif de stockage, selon l'ordre des significations. Les diverses liaisons et les divers pointeurs ne seront alors plus necessaires et un décodage en plusieurs passages devra être effectué. Selon une autre possibilité, dans le cas d'un décodage à un seul passage, les pointeurs pointant sur les données de chaque signification peuvent être conservés. Dans certaines applications, certaines catégories de signification peuvent ne pas être utilisées. Par exemple, un compresseur à 16 bits peut être employé sur une image médicale à 12 bits, de sorte qu'on n'utilisera pas les catégories de signification correspondant aux plans mémoire 15,... 12. Dans le cas de mise en oeuvre comportant de grandes pages et de nombreuses catégories de signification non utilisées, il y a un gaspillage de mémoire (lorsque le système ne sait pas l'avance que certaines catégories ne sont pas utilisées), puisqu'il n'y a pas à leur attribuer de la mémoire. Une autre solution à ce problème de gaspillage de mémoire consisterait à utiliser une petite mémoire (ou registre) pour tenir le compte des catégories de signification respectives. Ce compte garderait la trace du nombre des décisions "non significatif, pas d'enfants significatifs' qui ont été prises avant l'apparition d'une quelconque autre décision. La mémoire nécessaire pour ces compteurs doit être prise dans la mémoire servant aux catégories de signification non utilisées. Pour mieux utiliser la quantité total de mémoire disponible dans le système, on peut faire appel à la possibilité d'écrire des données sur chaque page depuis les deux extrémités. Lorsque toutes les pages ont été attnribuées, toute page qui possède de la place libre suffisante à l'extrémité peut se voir attnbuer une utilisation depuis cette extrémité. La possibilité d'utiliser les extrémités d'une page doit être mesurée en fonction du coût nécessaire au maintien de la trace de l'emplacement o Ies deux types de données se rencontrent. On notera que ce n'est pas la même chose que le cas o un des types de données n'est pas significatif et peut être simplement écrasé. Utilisation d'un canal Dans un système o des données sont transmises sur un canal au lieu d'être stockées dans une mémoire et o on utilise des pages de mémoire d'une taille fixe (mais o une seule page est nécessaire par catégorie de signification), lorsqu'une page de mémoire est pleine, elle est émise sur le canal, et les emplacements de mémorisation peuvent être réutilisés dès qu'il y a eu émission. Dans certaines applications, la taille de page de la mémoire peut être la taille des paquets de données utilisés dans le canal ou un multiple de la taille des paquets. (On note que, dans un mode de réalisation, on peut utiliser deux pages par niveau de signification, de sorte qu'on peut écrire des données dans l'une pendant qu'on lit l'autre pour l'envoyer sur le canal.) Dans certains systèmes de télécommunications, par exemple le système ATM (mode de transfert asynchrone), des priorités peuvent être affectées aux paquets. Le système ATM possède deux niveaux de priorité, à savoir le niveau de priorité et le niveau secondaire. Des paquets secondaires ne sont émis que si une largeur de bande suffisante est disponible. On peut faire appel à un seuil pour déterminer quelles catégories de signification sont prioritaires et quelles catégories sont secondaires. Un autre procédé consisterait à utiliser un seuil dans le codeur pour ne pas transmettre les catégories de signification qui sont moins significatives qu'un seuil. Compression avec pertes à erreur de crête bornée Dans certaines applications, une reconstruction parfaite (sans pertes) n'est pas nécessaire. Il peut être souhaitable de réaliser la compression en autorisant une erreur de crête maximale spécifiée. On supposera que l'erreur de crêtc est E. On peut réaliser cela en tronquant les données comprimées, de façon que toutes les données de moindre signification, qui ne sont pas nécessaires à la réalisation de la précision voulue, sont rejetées. Une autre manière de réaliser la compression avec une erreur de crte maximale spécifiée consiste à diviser (en division entière) par une valeur inférieure ou égale à 2E + 1 chaque pixel de l'image à comprimer. Pendant la reconstruction, chaque pixel de l'image est traité selon la relation suivante: pixel de sortie = (2E + 1) x pixel d'entrée + E. (Sinon, au lieu d'ajouter E pendant la décompression, on peut effectuer une soustraction pendant la compression, avant de diviser par 2E + 1.) Une autre manière d'effectuer la compression avec une erreur de crête maximale spécifiée consiste à remplacer la division et la multiplication par des décalages. La quantité de décalage est log2(2E + 1)1. Puisque le décalage est commode, une meilleure spécification d'erreur (remplaçant l'erreur de crête) sera donnée par des erreurs de la forme -2n Ce qui vient être énoncé ne doit pas être confondu avec la quantification des coefficients, ce qui est une technique bien connue de compression d'images avec pertes. Dans de nombreux systèmes de compression avec pertes (par exemple JPEG), les coefficients du domaine de la transformation se voient affecter une erreur de crête maximale, qui ne commande qu'indirectement l'erreur de crête de l'image. Une différence cruciale avec cette technique est que l'invention effectue la quantification sur les pixels et utilise une compression de coefficients sans pertes. On peut aussi faire appel à une quantification dans le domaine de la transformation. De nombreux coefficients ont un effet sur la propagation de l'erreur de crête à travers les multiples niveaux de la transformation. Il est plus facile de déterminer l'effet sur l'erreur de crête dans le cas des coefficients passe-haut qui n'ont pas d'enfants. On va considérer un signal unidimensionnel qui doit être codé à l'aide d'une erreur de crête maximale valant E. On peut réaliser cela en quantifiant, à 2E, les coefficients passe-haut associés au détail le plus fin. Pour un signal bidimensionnel, puisqu'il y a deux applications du filtre passe-haut, les coefficients HH associés au détail le plus fin doivent être quantifies à 4E- Au lieu d'utiliser une quantification de l'image-d'entrée, on peut aussi commander les décisions fournies au codeur entropique. Un exemple est donné ci- dessous. Pour chaque coefficient, si la fixation du coefficient à zéro ne ferait pas que l'erreur présente dans tout pixel affecté par ce coefficient dépasse lerreur maximale, on fixe le coefficient à zéro. Dans certaines mises en oeuvre, seuls des coefficients particuliers seront vérifiés, peut-être seuls les coefficients AC qui n'ont pas d'enfants. On peut considérer les coefficients selon une stratégie avaricieuse, dans laquelle un seul coefficient est considéré à la fois. D'autres stratégies pourraient considérer de petits groupes de coefficients et choisir zéro pour le sous-ensemble le plus grand possible du groupe. Bien entendu, l'homme de l'art sera en mesure d'imaginer, à partir de la description qui vient d'être donnée à titre purement illustratif et nullement limitatif, diverses variantes et modifications ne sortant pas du cadre de l'invention. APPENDICE Exemplc dc code pour transformation RTS (directe). Décomposition à un seul niveau VOid RTS(T,w,m,n) int w,m,n; int 'T; ( int i, jk: Lnt 'X, 'Y; for (i-O:i "1; Y(j/2] - T[iiw+j]-T[i*w+j+1]; for (jO:j 2: Exemple de code pour transformation RTS (inverse). Décomposition à un seul niveau. void InverseRTS(T,wim,n) int w,m,n; int 'T; { int i,; int *B, *D; for (i-O:i 2); for (j-O;j l; T[i*w+2*j+1] - T[i*w+2'j] - D[j]; Décomposition à deux niveaux. Transformation RTS (directe) v -:. R-S (T, w-., n% fZlt. Wr:f in:, 'T: in.. ', j,k: _...: te..p; i.: *X, Y: o(i-O:;i ": Y[tj/21 - ['± T['] for rnfomto Th(nes) fr (-:,../ 2:, +) ter-.ç [i'.+ j]-X [ j':; :ec i'm+m/2+j jl- (-X[] j+j(Y[ ( j %1 (m/2)] "1 for KTS;inversc). : -.... !t[i:r/)t-2]')j; - vr':i;.(i+l2) %(n/2})] >] -G--ompsifo (- dcux -ive-zux:-.-- [] _z: Tasomao T (i-verse). : f:r jli-;= m e--'2''.--j] -- ((Ti' -- >!; } for ; T[i*w+2tj+1] - T[i*w+2*j] - D[j]; } y REVENDICATIONS 1. Codeur destiné à coder des données d'entrée sous forme d'un train de données comprimées, ledit codeur étant caractérisé en ce qu'il comprend: un filtre à ondes élémentaires réversible (102) servant à transformer les données d'entrée (101) en une pluralité de coefficients; un codeur par implantation (103) couplé au filtre à ondes élémentaires réversible de façon à effectuer un codage par implantation sur la pluralité de coefficients, de sorte qu'un train de bit est produit; et un codeur entropique (104) couplé au codeur par implantation de façon à effectuer un codage entropique sur le train de bits pour créer des données codées. 2. Codeur destiné à coder des données d'entrée, caractérisé en ce qu'il comprend: un codeur par transformation couplé de façon à recevoir les données d'entrée et à produire une série de coefficients, o la série de coefficients représente des coefficients des données d'entrée; et un codeur par implantation couplé de façon à recevoir la série de coefficients et à effectuer un codage selon le degré de signification des bits sur la série de coefficients pour créer des données codées, o le codeur par implantation produit des données codées avant d'avoir reçu la totalité des coefficients de la série de coefficients. 3. Codeur selon la revendication 2, caractérisé en ce que le codeur par transformation et le codeur par implantation ont pour fonction de créer des données codées à partir des données d'entrée en un seul passage. 4. Filtre de transformation à ondes élémentaires servant à filtrer un signal de données d'entrée, caractérisé en ce qu'il comprend: un premier additionneur (1001) servant à additionner une première paire d'échantillons du signal de données d'entrée afin de produire un premier résultat; un premier circuit logique de sortie (1003) servant à délivrer un premier coefficient passe-bas qui est basé sur le premier résultat; un premier soustracteur (1005) ayant comme signaux d'entrée un coefficient filtré passe-bas et le premier coefficient passe- bas, de sorte que le coefficient filtré passe-bas est soustrait du premier coefficient passe-bas de façon à produire un deuxième résultat, o le coefficient filtré passe-bas est reçu par le premier soustracteur au titre d'un signal renvoyé en réaction; un deuxième soustracteur (1002) servant à soustraire une deuxième paire d'échantillons du signal de données d'entrée l'un de l'autre afin de produire un troisième résultat; un deuxième additionneur (1006) couplé de façon à recevoir et à additionner un signal d'entrée qui est basé sur le troisième résultat et le deuxième résultat afin de produire un quatrième résultat; un deuxième circuit logique (1007) de sortie couplé de façon à produire un deuxième coefficient passe-bas qui est basé sur le quatrième résultat, de sorte que le filtre délivre les premier et deuxième coefficients passe-bas. 5. Filtre selon la revendication 4, caractérisé en ce que le premier circuit logique de sortie comprend un diviseur. 6. Filtre selon la revendication 5, caractérisé en ce que le diviseur comprend un moyen de décalage de bits. 7. Filtre selon la revendication 4, caractérisé en ce que le deuxième circuit logique de sortie comprend un diviseur. 8. Filtre selon la revendication 7, caractérisé en ce que le diviseur comprend un moyen de décalage de bits. 9. Filtre de transformation à ondes élémentaires destiné à filtrer un signal de données d'entrée, caractérisé en ce qu'il comprend: un premier additionneur (1001) servant à additionner une première paire d'échantillons du signal de données d'entrée afin de produire un pmier résultat; un premier multiplicateur (1003) couplé de façon à recevoir le premier résultat afin de multiplier le premier résultat par un premier facteur pour produire un deuxième résultat, o le deuxième résultat est délivré sous la fomnc d'un premier coefficient passe-bas; un premier soustracteur (1005) couplé de façon à recevoir un coefficient filtré passe-bas et le deuxième résultat et à soustraire le coefficient filtré passe-bas du deuxième résultat pour produire un troisième résultat, o le coefficient filtré passe-bas est reçu par le premier soustracteur au titre d'un signal renvoyé en réaction; un deuxième soustracteur (1002) servant à soustraire une deuxième paire d'échantillons du signal de données d'entrée l'un de l'autre afin de produire un quatrième résultat; un premier diviseur (1004) couplé de façon à recevoir le quatrième résultat afin de diviser le quatrième résultat par un deuxième facteur et ainsi produire un cinquième résultat; un deuxième additionneur (1006) couplé de façon à recevoir et ajouter le troisième résultat et le cinquième résultat afin de produire un sixième résultat; un deuxième diviseur (1007) couplé de façon à recevoir le sixième résultat et à diviser le sixième résultat par un troisième facteur afin de produire un deuxième coefficient passe-bas, o le premier coefficient passe-bas et le deuxième coefficient passe-bas sont délivrés par le filtre. 10. Filtre selon la revendication 9, caractérisé en ce que le multiplicateur comprend un moyen de décalage. 11. Filtre selon la revendication 9, caractérisé en ce qu'au moins un des diviseurs comprend un moyen de décalage. 12. Filtre de transformation à ondes élémentaires destiné à filtrer un signal de données d'entrée, caractérisé en ce qu'il comprend: un premier soustracteur (1101) servant à soustraire une paire de coefficients passe-bas afin de produire un premierrésultat; un deuxième soustracteur (1104) servant à soustraire un premier signal d'entrée, qui est basé sur le premier résultat, d'un coefficient passe-haut afin de produire un deuxième résultat; un premier additionneur (1105) servant à additionner le deuxième résultat à un deuxième signal d'entrée qui est basé sur un coefficient passe-bas afin de produire un troisième résultat; un troisième soustracteur (1106) servant à soustraire le deuxième résultat du deuxième signal d'entrée qui est basé sur le coefficient passe-bas afin de produire un quatrième résultat, o le filtre délivre un premier échantillon qui est basé sur le troisième résultat et un deuxième échantillon qui est basé sur le quatrième résultat. 13. Filtre selon la revendication 12, caractérisé en ce qu'il comprend en outre un premier mécanisme d'écrétage (1107) couplé de façon à recevoir le troisième résultat et à écréter le troisième résultat afin de produire le premier échantillon. 14. Filtre selon la revendication 12, caractérisé en ce qu'il comprend en outre un diviseur (1102) couplé au premier résultat pour diviser le premier résultat par un premier facteur et ainsi produire le premier signal d'entrée. 15. Filtre selon la revendication 12, caractérisé en ce qu'il comprend en outre un multiplicateur (1103) couplé au coefficient passe-bas pour multiplier le coefficient passe-bas et ainsi produire le deuxième signal d'entrée. 16. Codeur destiné à coder une pluralité de symboles de données, caractérisé en ce qu'il comprend: une unité de mise au format couplée de façon à recevoir la pluralité de symboles de données et mettant la pluralité de symboles de données sous la forme d'un groupe de symboles de données mis au format; une unité de traitement de signification couplée à l'unité de mise au format afin de produire une pluralité de décisions en réponse à chaque symbole de la pluralité de symboles de données; et un mécanisme de mémoire couplé de façon à recevoir la pluralité de décisions de la part de l'unité de traitement de signification en vue de leur stockage et de leur délivrance. 17. Codeur selon la revendication 16, caractérisé en ce que la pluralité de symboles de données comprend une pluralité de coefficients. 18. Codeur selon la revendication 16, caractérisé en ce que l'unité de mise au format comprend une unité signe/amplitude servant à convertir la pluralité de symboles de données en le groupe de symboles de données mis au format qui ont été mis au format signe/amplitude. 19. Codeur selon la revendication 18, caractérisé en ce que l'unité signe/amplitude comprend: un mécanisme de détermination de signification servant à délivrer une indication de signification pour chaque symbole de donnée; un générateur de signe et de mantisse couplé de façon à recevoir chaque symbole de la pluralité de symboles de données et à produire le signe et la mantisse de chaque dit symbole de la pluralité de symboles de données; et un compteur d'index servant à produire un index pour chaque symbole de la pluralité de symboles de données. 20. Codeur selon la revendication 19, caractérisé en ce que le mécanisme de détermination de signification comprend un codeur de priorité. 21. Codeur selon la revendication 19, caractérisé en ce que le mécanisme de détermination de signification comprend une paire de codeurs de priorité et un mécanisme de sélection servant à sélectionner entre les signaux de sortie de chaque codeur de la paire de codeurs de priorité pour délivrer l'indication de signification. 22. Codeur selon la revendication 16, caractérisé en cc qu'il comprend en outre une mémoire d'amplitudes couplée de façon à recevoir la pluralité de symboles de données mis au format en vue de leur stockage. 23. Codeur selon la revendication 22, caractérisé en ce que chaque symbole de la pluralité de symboles de données mis au format est stocké dans la mémoire d'amplitudes sur la base du niveau de signification. 24. Codeur selon la revendication 22, caractérisé en ce que la mémoire d'amplitudes comprend une pluralité de zones de stockage, o chaque zone de la pluralité de zones de stockage stocke des données selon un niveau de signification distinct, ladite mémoire d'amplitudes comprenant en outre une pluralité de compteurs, o chaque compteur de la pluralité de compteurs est associé à l'ne des zones de la pluralité de zones de stockage afin de fournir des adresses en vue du stockage des symboles de données mis au format.