Brevet FR2778039A1 — publié le 19991029

La présente invention concerne un dispositif et un procédé de codage d'un signal numérique. Elle concerne également un procédé et un dispositif de décodage correspondants au procédé et au dispositif de codage. Le codage a pour but de compresser le signal, ce qui permet de transmettre, respectivement mémoriser, le signal numérique en réduisant le temps de transmission, ou le débit de transmission, respectivement en réduisant la place mémoire utilisée. L'invention se situe dans le domaine de la compression avec perte de signaux numériques. Un procédé connu de codage de signal numérique, en l'occurrence d'une image numérique, est le codage par quantification codée en treillis qui est décrit par exemple dans l'article intitulé "Trellis Coded Quantization of Memoryless and Gauss-Markov Sources" de M.W. Marcellin et T.R. Fischer, paru dans IEEE Transactions on Communications, Vol. 38, n 1, Janvier 1990, ainsi que dans l'article "Universal Trellis Coded Quantization" de J.H. Kasner, M.W. Marcellin et B.R. Hunt, disponible par Internet à l'adresse http://vail.ece.arizona.edu/Publications.html. Ce procédé présente l'avantage de minimiser l'erreur de quantification, grâce à l'utilisation du codage en treillis. En outre, afin d'améliorer le rapport compression sur distorsion, les inventeurs ont combiné ce procédé avec un autre mode de codage. Dans ce cas, des blocs du signal à coder se voient attribués l'un ou l'autre mode de codage, de manière à sélectionner pour chaque bloc le mode de codage le plus approprié, c'est-à-dire fournissant le rapport compression sur distorsion le plus élevé. Par bloc, on entend ici un ensemble de coefficients extraits du signal pour former un vecteur. Le codage par quantification codée en treillis s'applique à une suite de blocs. Pour que ce codage soit optimal, il est nécessaire que la suite soit fixée et connue à l'avance. Cela signifie que pour attribuer de manière optimale ce mode à un bloc donné, il faudrait auparavant connaître l'ensemble des blocs auxquels ce mode est attribué, et donc connaître le résultat de l'attribution. Il y a donc une difficulté pour attribuer de manière optimale les modes de codage aux blocs et par conséquent pour obtenir un rapport compression sur distorsion le plus élevé possible. La présente invention vise à remédier aux inconvénients de la technique antérieure, en fournissant un dispositif et un procédé de compression de signal numérique qui offre un rapport compression sur distorsion élevé. A cette fin, I'invention propose une optimisation itérative de l'attribution du codage par quantification codée en treillis et d'un autre mode de codage, à des blocs formés dans un signal numérique. Plus précisément, I'invention concerne un procédé de codage de signal numérique, caractérisé en ce qu'il comporte les étapes de: - division du signal en blocs, - mise à jour à laquelle est calculé un coût de codage de chacun des blocs, pour au moins un premier mode de codage et pour un mode de codage par quantification codée en treillis, - attribution de l'un des modes de codage à chacun des blocs, selon un critère d'attribution dépendant du coût de codage, - réitération des étapes de mise à jour et d'attribution, de manière à satisfaire un critère de convergence. Corrélativement, l'invention propose un dispositif de codage de signal numérique, caractérisé en ce qu'il comporte: - des moyens de division de signal numérique en blocs, - des moyens de mise à jour adaptés à calculer un coût de codage de chacun des blocs, pour au moins un premier mode de codage et pour un mode de codage par quantification codée en treillis, des moyens d'attribution de l'un des modes de codage à chacun des blocs, selon un critère d'attribution dépendant du coût de codage, les moyens de mise à jour et d'attribution étant adaptés à être mis en oeuvre de manière itérative, de manière à satisfaire un critère de convergence. Le procédé et le dispositif selon l'invention permettent d'obtenir un rapport compression sur distorsion élevé. En effet, grâce aux itérations de mise à jour et d'attribution, I'invention améliore l'attribution des modes de codage aux blocs. Ces derniers sont ainsi codés de manière plus adaptée. Selon une caractéristique préférée, le coût de codage de chaque bloc est une somme pondérée du débit et de l'erreur de codage du bloc considéré. Ce coût de codage est simple à mettre en oeuvre et donne des résultats satisfaisants. Selon une autre caractéristique préférée, à une itération donnée, le calcul du coût de codage pour le mode de codage par quantification codée en treillis d'un bloc considéré quelconque, auquel a été attribué le mode de codage par quantification codée en treillis, comporte les étapes de: liaison des blocs auxquels a été attribué le mode de codage par quantification codée en treillis, pour former une suite de blocs, - codage de la suite de blocs par quantification codée en treillis d'une suite de coefficients extraits des blocs liés, - extraction du débit et de l'erreur de codage du bloc considéré. Ce calcul permet de déterminer précisément le coût de codage tel que défini. Selon une caractéristique préférée, à une itération donnée, le coût de codage pour le mode de codage par quantification codée en treillis d'un bloc considéré quelconque, auquel a été attribué le premier mode de codage, est le coût de codage pour le mode de codage par quantification codée en treillis du bloc, calculé lors de la dernière itération au cours de laquelle le mode de codage par quantification codée en treillis était attribué au bloc. Selon une caractéristique préférée, le critère d'attribution minimise le coût de codage. L'attribution d'un mode de codage à un bloc revient à comparer deux coûts de codage et à sélectionner le mode de codage associé au coût le plus faible. Selon une caractéristique préférée, le procédé de codage comporte en outre une étape d'initialisation à laquelle le mode de codage par quantification codée en treillis est attribué à chacun des blocs. Cette étape permet de calculer un premier coût de codage par quantification codée en treillis pour chacun des blocs. Selon une caractéristique préférée, le critère de convergence est satisfait lorsque les mêmes modes de codage sont respectivement attribués aux mêmes blocs à deux itérations successives de l'étape d'attribution. Ce critère est fiable tout en étant simple à mettre en oeuvre. Selon une caractéristique préférée, un indicateur est associé à chaque bloc pour indiquer quel mode de codage est attribué à chaque bloc. Cet indicateur est ensuite utilisé lors du décodage des blocs. Selon une caractéristique préférée, le premier mode de codage est une mise à une valeur prédéterminée des coefficients du bloc. Ce mode de codage présente les avantages d'être une bonne approximation des blocs contenant peu d'information, d'être très simple à mettre en oeuvre et d'avoir un débit de codage associé qui est nul. L'invention concerne également un procédé de décodage d'un signal numérique codé, ledit signal comportant des représentations codées de blocs formés dans le signal d'origine, chaque représentation codée comportant au moins un indicateur représentatif soit d'un premier mode de codage soit d'un mode de codage par quantification codée en treillis, caractérisé en ce qu'il comporte les étapes de: - lecture de la valeur de l'indicateur, - décodage des représentations codées, en fonction de la valeur de l'indicateur respectif. Corrélativement, I'invention concerne un dispositif de décodage d'un signal numérique codé, ledit signal comportant des représentations codées de blocs formés dans le signal d'origine, chaque représentation codée comportant au moins un indicateur représentatif soit d'un premier mode de codage soit d'un mode de codage par quantification codée en treillis, caractérisé en ce qu'il comporte: - des moyens de lecture de la valeur de l'indicateur, - des moyens de décodage des représentations codées, en fonction de la valeur de l'indicateur respectif. Le procédé et le dispositif de décodage permettent de reconstruire le signal, par exemple dans un appareil récepteur correspondant à un appareil émetteur dans lequel le signal a été codé selon l'invention. L'invention vise aussi un appareil de traitement de signal numérique, comportant des moyens de mise en oeuvre du procédé de codage, ou du procédé de décodage, ou encore comportant le dispositif de codage, ou le dispositif de décodage, tels qu'exposés ci-dessus. Les avantages du dispositif de codage, des dispositif et procédé de décodage, de cet appareil de traitement de signal numérique, sont identiques à ceux du procédé de codage précédemment exposés. Un moyen de stockage d'information, lisible par un ordinateur ou par un microprocesseur, intégré ou non au dispositif, éventuellement amovible, mémorise un programme mettant en oeuvre le procédé de codage, respectivement de décodage. Les caractéristiques et avantages de la présente invention apparaîtront plus clairement à la lecture d'un mode préféré de réalisation illustré par les dessins ci-joints, dans lesquels: - la figure 1 est un bloc diagramme d'un mode de réalisation d'un dispositif de codage de signal numérique selon l'invention; - la figure 2 est un circuit de décomposition en sous-bandes de fréquence, inclus dans le dispositif de la figure 1; - la figure 3 est une image numérique à coder par le dispositif de codage selon l'invention; - la figure 4 est une image décomposée en sous-bandes par le circuit de la figure 2; - la figure 5 est une image décomposée en sous-bandes puis divisée en blocs; - la figure 6 représente un circuit de codage par quantification codée en treillis, inclus dans le dispositif de la figure 1; - la figure 7 est un bloc diagramme d'un mode de réalisation d'un dispositif de décodage selon l'invention; - la figure 8 est un algorithme de codage d'un signal numérique selon l'invention; - la figure 9 est un algorithme de décodage d'un signal numérique selon l'invention. Selon le mode de réalisation choisi et représenté à la figure 1, un dispositif de codage selon l'invention est destiné à coder un signal numérique dans le but de le compresser. Le dispositif de codage est intégré dans un appareil 100, qui est par exemple un appareil photographique numérique, ou un camescope numérique, ou un système de gestion de base de données, ou encore un ordinateur. Le signal numérique à compresser SI est dans ce mode particulier de réalisation une suite d'échantillons numériques représentant une image. Le dispositif comporte une source de signal 1, ici de signal d'image. De manière générale, la source de signal soit contient le signal numérique, et est par exemple une mémoire, un disque dur ou un CD-ROM, soit convertit un signal analogique en signal numérique, et est par exemple un camescope analogique associé à un convertisseur analogiquenumérique. Une sortie 11 de la source de signal est reliée à un circuit d'analyse, ou de décomposition en sous-bandes 2. Le circuit de décomposition 2 possède des sorties 21 qui sont reliées à un circuit de division en blocs 4. Le circuit 4 a des sorties 41 reliées à un circuit de codage 5. Le circuit de codage 5 comporte plusieurs circuits de codage, par exemple un premier et un second circuits 51 et 53, qui codent les blocs reçus du circuit 4 selon un premier et un second modes de codage. Le premier mode de codage est ici une mise à une valeur prédéterminée des coefficients des blocs, et le second mode de codage est une quantification codée en treillis d'une suite de symboles extraits des blocs, dit codage TCQ d'après l'Anglais "Treillis Coded Quantization". La quantification codée en treillis est précédée d'une liaison des blocs à coder, cette liaison étant réalisée par un circuit de liaison 52 relié en entrée du circuit de codage 53. Un circuit de codage entropique 54 est relié en sortie du circuit de codage 53. Une sortie 51 du circuit 5 est reliée à un circuit de traitement 8, qui est par exemple un circuit de transmission, ou une mémoire. La source d'image 1 est un dispositif pour générer une suite d'échantillons numériques représentant une image IM. La source 1 comporte une mémoire d'image et fournit un signal numérique d'image SI à l'entrée du circuit de décomposition 2. Le signal d'image SI est une suite de mots numériques, par exemple des octets. Chaque valeur d'octet représente un pixel de l'image IM, ici à 256 niveaux de gris, ou image noir et blanc. Le circuit de décomposition en sous-bandes 2, ou circuit d'analyse, est un ensemble classique de filtres, respectivement associés à des décimateurs par deux, qui filtrent le signal d'image selon deux directions, en sous-bandes de hautes et basses fréquences spatiales. Selon la figure 2, le circuit 2 comporte trois blocs successifs d'analyse pour décomposer l'image IM en des sous-bandes selon trois niveaux de résolution. De manière générale, la résolution d'un signal est le nombre d'échantillons par unité de longueur utilisés pour représenter ce signal. Dans le cas d'un signal d'image, la résolution d'une sous-bande est liée au nombre d'échantillons par unité de longueur utilisés pour représenter cette sous-bande horizontalement et verticalement. La résolution dépend du nombre de décimations effectuées, du facteur de décimation et de la résolution de l'image initiale. Le premier bloc d'analyse reçoit le signal numérique d'image et I'applique à deux filtres numériques respectivement passe-bas et passe-haut 21 et 22 qui filtrent le signal d'image selon une première direction, par exemple horizontale dans le cas d'un signal d'image. Après passage par des décimateurs par deux 210 et 220, les signaux filtrés résultant sont respectivement appliqués à deux filtres passe-bas 23 et 25, et passe- haut 24 et 26, qui les filtrent selon une seconde direction, par exemple verticale dans le cas d'un signal d'image. Chaque signal filtré résultant passe par un décimateur par deux respectif 230, 240, 250 et 260. Le premier bloc délivre en sortie quatre sous-bandes LL1, LH1, HL1 et HH1 de résolution RES1 la plus élevée dans la décomposition. La sous-bande LL1 comporte les composantes, ou coefficients, de basse fréquence, selon les deux directions, du signal d'image. La sous-bande LH1 comporte les composantes de basse fréquence selon une première direction et de haute fréquence selon une seconde direction, du signal d'image. La sous-bande HL1 comporte les composantes de haute fréquence selon la première direction et les composantes de basse fréquence selon la seconde direction. Enfin, la sous-bande HH1 comporte les composantes de haute fréquence selon les deux directions. Chaque sous-bande est une image construite à partir de l'image d'origine, qui contient de l'information correspondant à une orientation respectivement verticale, horizontale et diagonale des contours de l'image, dans une bande de fréquence donnée. La sous-bande LL1 est analysée par un bloc d'analyse analogue au précédent pour fournir quatre sous-bandes LL2, LH2, HL2 et HH2 de niveau de résolution RES2 intermédiaire dans la décomposition. La sous-bande LL2 comporte les composantes de basse fréquence selon les deux directions d'analyse, et est à son tour analysée par le troisième bloc d'analyse analogue aux deux précédents. Le troisième bloc d'analyse fournit des sous-bandes LL3, LH3, HL3 et HH3, de résolution RES3 la plus faible dans la décomposition, résultant du découpage en sous-bandes de la sous-bande LL2. Chacune des sous-bandes de résolution RES2 et RES3 correspond également à une orientation dans l'image. La décomposition effectuée par le circuit 2 est telle qu'une sous- bande d'une résolution donnée est découpée en quatre sous-bandes de résolution inférieure et a donc quatre fois plus de coefficients que chacune des sous-bandes de résolution inférieure. Une image numérique IM en sortie de la source d'image 1 est représentée de manière schématique à la figure 3, tandis que la figure 4 représente l'image IMD résultant de la décomposition de l'image IM, en dix sousbandes selon trois niveaux de résolution, par le circuit 2. L'image IMD comporte autant d'information que l'image d'origine IM, mais l'information est fréquentiellement découpée selon trois niveaux de résolution. Le niveau de plus basse résolution RES3 comporte les sous-bandes LL3, HL3, LH3 et HH3, c'est-à-dire les sous-bandes de basse fréquence selon les deux directions d'analyse. Le second niveau de résolution RES2 comporte les sous-bandes HL2, LH2 et HH2 et le niveau de plus haute résolution RES1 comporte les sous-bandes de plus haute fréquence HL1, LH1 et HH1. Les sous-bandes différentes de la sous-bande LL3 sont des sous- bandes de détail. Bien entendu, le nombre de niveaux de résolution, et par conséquent de sous-bandes, peut être choisi différemment, par exemple 13 sous- bandes et quatre niveaux de résolution, pour un signal bi-dimensionnel tel qu'une image. Le nombre de sous-bandes par niveau de résolution peut également être différent. Les circuits d'analyse et de synthèse sont adaptés à la dimension du signal traité. Les sous-bandes formées par le circuit 2 sont fournies au circuit de division 4, selon un ordre de sous-bande a priori quelconque, mais prédéterminé. Il est a noter que la décomposition en sous-bandes de fréquence du signal n'est pas essentielle pour l'invention, qui peut être mise en oeuvre pour un signal numérique qui n'a pas été décomposé en sous-bandes. Il est à noter également qu'une sous-bande du signal numérique est elle-même un signal numérique, et que selon l'invention, elle est traitée indépendamment des autres sous-bandes. Comme représenté à la figure 5, le circuit de division 4 divise chaque sous-bande de détail en bloc. Selon le mode de réalisation choisi, toutes les sous-bandes fournies au circuit 4 sont divisées en un même nombre N de blocs Bp,, o l'indice p est un entier, ici entre 1 et 9, qui représente l'ordre de la sous-bande considérée et l'indice n, entre 1 et N, est un entier qui représente l'ordre du bloc dans la sous-bande considérée. Les blocs sont ici de forme carrée, mais peuvent être en variante de forme rectangulaire. De manière générale, un bloc est un ensemble de coefficients extraits de la sous- bande pour former un vecteur. L'ordre des blocs est a priori quelconque, mais prédéterminé. Pour des raisons pratiques, les blocs sont ordonnés de la même manière dans toutes les sous-bandes, par exemple de gauche a droite et de haut en bas. En conséquence du mode de division en blocs, la surface des blocs est divisée par quatre en passant de la résolution RES1 à la résolution RES2, et de la résolution RES2 à la résolution RES3. Cette division est simple à mettre en oeuvre, puisque toutes les sousbandes sont divisées en un même nombre de blocs. Cependant, pour la mise en oeuvre de l'invention, le nombre et le format des blocs peuvent être différents d'une résolution à l'autre et d'une sous-bande à l'autre. Le circuit de codage 5 code chaque bloc Bp,n fourni par le circuit 4. A cette fin, le circuit de codage sélectionne le premier ou le second mode de codage, comme détaillé dans la suite. Le premier mode de codage (circuit 51) consiste à mettre tous les coefficients du bloc à une valeur prédéterminée, par exemple la valeur zéro. Ce codage est très économique en nombre de bits, puisqu'il n'implique la transmission ou la mémorisation d'aucune donnée de codage, et par conséquent nécessite un débit de transmission réduit. Cependant, I'erreur de codage risque d'être grande si le bloc considéré n'est pas d'énergie faible. Comme représenté à la figure 6, le second mode de codage est une quantification codée en treillis. Le circuit de liaison 52 reçoit les blocs qui sont à coder par quantification codée en treillis et lie ces blocs de manière à former une suite de blocs {Bm}l, m étant un entier compris entre 1 et M, et M étant le nombre de blocs de la suite. Pour former la suite, les blocs sont par exemple considérés de gauche à droite et de haut en bas, dans chaque bande de fréquence. Le circuit 52 fournit cette suite au circuit de codage 53. Le circuit 53 comporte un circuit 531 de codage selon l'algorithme de Viterbi, un registre à décalage 532, un circuit de sélection de dictionnaire 533 et des moyens de mémoire 534 pour mémoriser des dictionnaires de vecteurs de code. Le codage par quantification codée en treillis est décrit par exemple dans l'article intitulé "Trellis Coded Quantization of Memoryless and Gauss- Markov Sources" de M.W. Marcellin et T.R. Fischer, paru dans IEEE Transactions on Communications, Vol. 38, n 1, Janvier 1990, ainsi que dans I'article "Universal Trellis Coded Quantization de J.H. Kasner, M. W. Marcellin et B.R. Hunt, disponible par Internet à l'adresse http://vail.ece.arizona.edu/Publications.html. De manière générale le circuit de codage 53 code une suite de symboles {Sk} pour fournir deux flux binaires i(k) et j(k), o i(k) représente une suite de transitions et j(k) représente une suite d'indices des dictionnaires de vecteurs de code. Dans le contexte de l'invention, les symboles sk sont les coefficients extraits de blocs Bp,n, éventuellement quantifiés, fournis par le circuit 4. Le fonctionnement du circuit 53 est celui d'une machine à états finis, le passage d'un état à un autre étant identifié par une transition. Dans un premier mode de réalisation, chaque état correspond à un dictionnaire et est identifié par les deux valeurs binaires i(k-2) et i(k-1). Chacun des dictionnaires contient des vecteurs de code qui sont chacun identifiés par un indice dans le dictionnaire concerné. Un vecteur de code est par conséquent complètement identifié par son indice et par l'état représentant le dictionnaire auquel il appartient. Les transitions possibles de la machine à états finis, pour la suite de symboles à coder, forment une structure régulière, ou treillis. Le circuit 531 met en oeuvre un algorithme de Viterbi pour déterminer un chemin optimal dans le treillis. Le chemin est optimal au sens d'un coût qui est minimisé sur tout le treillis, donc sur toute la suite à coder. Le coût d'une transition est l'erreur quadratique mesurée entre le symbole à coder et le vecteur de code sélectionné dans le dictionnaire identifié par l'état dans lequel aboutit la transition. Le coût d'un état du treillis est la somme des coûts des transitions aboutissant à cet état. L'algorithme de Viterbi calcule le coût minimal de chaque état pour déterminer le chemin optimal représenté par la suite de transitions i(k). Dans un second mode de réalisation, le nombre d'états est supérieur au nombre de dictionnaires. Par exemple, quatre dictionnaires et huit états sont utilisés. Le registre à décalage mémorise alors trois valeurs binaires pour définir les huit états. Chaque état est associé à deux dictionnaires. Dans tous les cas, le circuit 53 fournit les deux flux binaires i(k) et j(k) au circuit de codage entropique 54 qui les combine et réalise un codage entropique de la combinaison. Un indicateur Ipn est associé à chacun des blocs pour indiquer quel est le mode de codage sélectionné par le circuit 5. L'indicateur Ip, est par exemple un mot dont la valeur représente le codage sélectionné. La sélection du mode de codage est réalisée par itération et est détaillée dans la suite (figure 8). Le circuit 5 transmet au circuit de traitement 8 les indicateurs Ip,n de chacun des blocs codés, associés à la suite codée des blocs. En référence à la figure 7, le dispositif de décodage réalise globalement des opérations inverses de celles du dispositif de codage. Le dispositif de décodage est intégré dans un appareil 200, qui est par exemple un lecteur d'image numérique, ou de séquence vidéo numérique, ou un système de gestion de base de données, ou encore un ordinateur. Un même appareil peut comporter à la fois le dispositif de codage et le dispositif de décodage selon l'invention, de manière à effectuer des opérations de codage et de décodage. Le dispositif de décodage comporte une source de données codées qui comporte par exemple un circuit de réception associé à une mémoire tampon. Une sortie 20, du circuit 20 est reliée à un circuit 21 de lecture d'indicateur Ip,n dont une sortie 214 est reliée à un circuit de décodage 22. Le circuit de décodage 22 a une sortie 221 reliée à un circuit de reconstruction 23. Ce dernier a une sortie 231 reliée à un circuit 24 d'exploitation des données décodées, comportant par exemple des moyens de visualisation d'image. Le circuit 20 fournit des données codées au circuit 21, qui détermine le mode de codage utilisé pour chacun des blocs en analysant l'indicateur Ip,n. Si l'indicateur Ip,n indique que le bloc considéré est codé par mise à zéro, son décodage consiste à créer un bloc dont tous les coefficients sont à la valeur zéro. La taille du bloc créé dépend de la sous-bande en cours de décodage. Si l'indicateur Ipn indique que le bloc considéré est codé par quantification codée en treillis, le circuit 22 effectue globalement des opérations inverses de celles effectuées au codage. Pour chaque symbole a décoder, la transition i(k) est décodée pour déterminer un dictionnaire de vecteurs de code et l'indice j(k) est décodé pour déterminer un vecteur de code dans ce dictionnaire. L'ensemble des symboles décodés forme un bloc décodé. Le circuit 22 fournit les blocs décodés Bdp,, au circuit de reconstruction 23, qui est un circuit de synthèse correspondant au circuit d'analyse 2 décrit précédemment et reconstruit l'image IMd correspondant aux sous-bandes décodées. Selon un mode préféré de réalisation de l'invention, les circuits de décomposition en sous-bandes 2, de division en bloc 4, de codage 5 et de traitement 8, tous inclus dans le dispositif de codage représenté à la figure 1, sont réalisés par un microprocesseur associé à des mémoires vives et mortes. La mémoire morte comporte un programme selon l'invention pour coder chacun des blocs de données, et la mémoire vive comporte des registres adaptés à enregistrer des variables modifiées au cours de l'exécution du programme. Le programme de codage peut être mémorisé en totalité ou en partie dans tout moyen de stockage d'information capable de coopérer avec le microprocesseur. Ce moyen de stockage est lisible par un ordinateur ou par un microprocesseur. Ce moyen de stockage est intégré ou non au dispositif, et peut être amovible. Par exemple, il peut comporter une bande magnétique, une disquette, ou un CR-ROM (disque compact à mémoire figée). De même, les circuits de lecture 21, de décodage 22, de reconstruction 23, inclus dans le dispositif de décodage représenté à la figure 6, sont réalisés par un second microprocesseur associé à des mémoires vives et mortes. La mémoire morte comporte un programme selon l'invention pourdécoder chacun des blocs de données, et la mémoire vive comporte des registres adaptés à enregistrer des variables modifiées au cours de l'exécution du programme. Le programme de décodage peut être mémorisé en totalité ou en partie dans tout moyen de stockage d'information capable de coopérer avec le microprocesseur. Ce moyen de stockage est lisible par un ordinateur ou par un microprocesseur. Ce moyen de stockage est intégré ou non au dispositif, et peut être amovible. Par exemple, il peut comporter une bande magnétique, une disquette, ou un CR-ROM (disque compact à mémoire figée). En référence à la figure 8, un procédé de codage selon l'invention d'une image IM, mis en oeuvre dans le dispositif de codage, comporte des étapes E1 à E9. Le procédé de codage utilise deux modes de codage attribuables aux blocs en fonction d'un critère. L'étape E1 est la décomposition en sous-bandes de l'image IM, comme représenté à la figure 4. L'étape E1 a pour résultat les sous-bandes LL3, HL3, LH3 et HH3 de plus faible résolution RES3, les sous-bandes LH2, HL2, HH2 de résolution intermédiaire RES2, et les sous-bandes LH1, HL1 et HH1 de plus haute résolution RES1. Comme exposé plus haut, la décomposition en sous-bande n'est pas essentielle pour l'invention. L'étape E1 est suivie par l'étape E2 qui est la division des sous- bandes en blocs Bpn, comme représenté à la figure 5. L'étape suivante E3 est une initialisation pour considérer la première sous-bande. Les sous-bandes sont prises en compte selon un ordre a priori quelconque, tout en étant prédéterminé. Chaque sous-bande est traitée indépendamment des autres sous-bandes. L'étape suivante E4 est une initialisation à laquelle l'indicateur Ipn de chacun des blocs Bp.n de la sous-bande courante est mis à une valeur indiquant que le bloc est codé par le second mode de codage, à savoir par quantification codée en treillis. L'étape E4 est suivie par l'étape E5 qui est la mise à jour des débits et des distorsions, pour chacun des blocs de la sous-bande considérée. A cette étape, sont calculés et mémorisés: - le débit RIp,n associé au codage du bloc Bpn par mise à zéro, - la distorsion D1,p,, associée au codage du bloc Bpn par mise à zéro, - le débit R2,pn associé au codage du bloc Bpn par quantification codée en treillis, et - la distorsion D2,pn associée au codage du bloc Bp, par quantification codée en treillis. Le débit R1,p., associé au codage du bloc Bp, par mise à zéro est nul. La distorsion D1lpn associée au codage du bloc Bpn par mise à zéro est égale à l'erreur quadratique du bloc. Ces deux quantités sont calculées une seule fois, lors du premier passage par l'étape E5. En effet, ces quantités ne varient pas au cours des itérations ultérieures de codage. Pour déterminer le débit R2,p,n et la distorsion D2,p,n associés au codage du bloc Bp,n par quantification codée en treillis, il faut considérer deux cas. Dans le premier cas, I'indicateur Ip,n du bloc Bp,n indique que le bloc est à coder par quantification codée en treillis. Les blocs qui sont à coder par quantification codée en treillis sont liés de manière à former une suite de blocs à coder {B4,}. Les blocs sont par exemple considérés de gauche à droite et de haut en bas, dans la bande de fréquence. Le bloc Bp,n fait alors partie de cette suite de blocs à coder par quantification codée en treillis. Le codage de la suite de blocs est réalisé, comme précédemment exposé (figure 6). A la première itération, tous les blocs de la sous-bande considérée font partie de la suite à coder par quantification codée en treillis. Le débit de codage du bloc Bp,, est déterminé. Pour cela, on détermine l'entropie de la suite codée et on extrait la contribution du bloc considéré. La distorsion de codage du bloc Bp,, est déterminée par rapport au bloc d'origine. L'erreur D2,pn mesure l'erreur quadratique induite dans l'image reconstruite par le codage du bloc considéré. Dans le cas o la décomposition en sous-bande est orthogonale, I'erreur D2,pn est égale à l'erreur quadratique entre le bloc original et le bloc reconstruit. Dans le second cas, I'indicateur Ipn du bloc Bpn indique que le bloc est à coder par le premier mode de codage, soit par mise à zéro. Il ne fait pas partie de la suite de blocs à coder par quantification codée en treillis. Le débit et la distorsion de codage par le deuxième mode de codage (quantification codée en treillis) sont estimés par leur valeur respective déterminée et mémorisée lors de la dernière itération au cours de laquelle le bloc considéré se trouvait dans une suite de blocs à coder par quantification codée en treillis. L'étape suivante E6 est l'attribution, pour chacun des blocs de la sousbande en cours de traitement, du mode de codage qui lui est le plus adapté, en fonction d'un critère. Le critère consiste à minimiser un coût de codage, qui est de manière générale une fonction du débit et de la distorsion. Selon un mode préféré de réalisation, le coût de codage est la somme Rj. pn + o.D,p,n, o X, est un coefficient de réglage du rapport compression/distorsion, et j est un entier égal à 1 ou 2, représentant le premier ou le second mode de codage. Le coefficient X varie de zéro à l'infini. Pour des raisons pratiques, on peut utiliser de manière équivalente la somme (1-X).Rjp,n + X.Djpn, avec le coefficient X variant entre zéro et un. Le mode de codage qui minimise la somme Rj,p,n +;.Djpn est sélectionné pour coder le bloc considéré Bpn En conséquence, la valeur de l'indicateur Ip,n du bloc considéré est mise à jour. L'étape suivante E7 est un test de convergence. Ce test consiste à vérifier si les mêmes modes de codage sont attribués aux mêmes blocs, au cours de plusieurs, par exemple deux, répétitions successives des étapes E5 et E6. Tant que le test de convergence n'est pas satisfait, l'étape E7 est suivie de l'étape E5. Lorsque le test de convergence est satisfait, l'étape E7 est suivie de l'étape E8. En variante, un nombre maximal de répétition des étapes E5 et E6 est prédéterminé, de manière à limiter la durée de codage. Le résultat de codage de la sous-bande considérée est un ensemble d'indicateurs indiquant pour chaque bloc quel mode de codage lui a été attribué après convergence, et la suite des données codées par quantification codée en treillis. L'étape suivante E8 est un test pour déterminer si toutes les sous- bandes ont été traitées. S'il reste au moins une sous-bande à traiter, l'étape E8 est suivie par l'étape E9 pour considérer la sous-bande suivante. L'étape E9 est suivie par l'étape E4 précédemment décrite. En référence à la figure 9, un procédé de décodage selon l'invention d'une image IM, mis en oeuvre dans le dispositif de décodage, comprend des étapes E21 à E30. L'étape E21 est une initialisation pour considérer la première sous- bande à décoder. L'étape E21 est suivie de l'étape E22 qui est une initialisation pour considérer le premier bloc à décoder dans la sous-bande courante. Les sous- bandes sont décodées dans le même ordre qu'au codage, et les blocs dans une sous-bande donnée sont décodés dans le même ordre qu'au codage, bien que des ordres différents soient possibles. L'étape suivante E23 est la lecture de l'indicateur Ipn pour déterminer quel mode de codage a été utilisé pour coder le bloc courant. L'étape E23 est suivie de l'étape E24 qui est le décodage du bloc courant. Si le bloc a été codé par mise à zéro, le décodage consiste à créer un bloc dont tous les coefficients sont à la valeur zéro. La taille du bloc créé dépend de la sous-bande en cours de décodage, et est par exemple déterminée par l'indice du bloc. Si le bloc a été codé par quantification codée en treillis, des opérations inverses de celles effectuées au codage sont effectuées. Les données de codage du bloc considéré sont extraites des suites d'indices et de transitions. Pour chaque symbole à décoder, la transition i(k) est décodée pour déterminer un dictionnaire de vecteurs de code et l'indice j(k) est décodé pour déterminer un vecteur de code dans ce dictionnaire. L'ensemble des symboles décodés forme un bloc décodé. Le bloc décodé Bdp.n est mémorisé à l'étape suivante E25. Les étapes E26 et E28 sont des tests pour vérifier, respectivement si tous les blocs d'une sous-bande, et si toutes les sous-bandes ont été décodées. S'il reste au moins un bloc à décoder dans la sous-bande courante, l'étape E26 est suivie par l'étape E27 pour considérer le bloc suivant. L'étape E27 est suivie par l'étape E23 précédemment décrite. S'il reste au moins une sous-bande à décoder, l'étape E28 est suivie par l'étape E29 pour considérer la sous-bande suivante. L'étape E29 est suivie par l'étape E22 précédemment décrite. Lorsque toutes les sous-bandes ont été décodées, c'est-à-dire que la réponse est positive à l'étape E28, cette dernière étape est suivie de l'étape E30 de construction de l'image décodée. Cette dernière peut ensuite être visualisée, par exemple. Bien entendu, la présente invention n'est nullement limitée aux modes de réalisation décrits et représentés, mais englobe, bien au contraire, toute variante à la portée de l'homme du métier. En particulier, I'invention peut aisément être appliquée à d'autres types de signaux. Ces signaux peuvent être des signaux mono-dimensionnels tel que des sons, ou des relevés sismiques, ou encore des électrocardiogrammes; en fonction de leur nature, I'analyse des signaux est réalisée selon des fréquences temporelles ou spatiales. Ces signaux peuvent être tridimensionnels tels que des séquences vidéo représentées selon deux fréquences spatiales et une fréquence temporelle. On met alors en oeuvre une décomposition en sous-bandes de fréquence en dimension trois, et la décomposition du signal en vecteurs s'effectue également en dimension trois. Pour un signal ayant des composantes dans plusieurs bandes de fréquences, tel qu'un signal d'image en couleur ayant des composantes rouge, verte et bleue, I'invention s'applique dans chacune des bandes de fréquence. REVENDICATIONS 1. Procédé de codage de signal numérique d'image, caractérisé en ce qu'il comporte les étapes de: - division (E2) du signal en blocs (Bp.), - mise à jour (E5) à laquelle est calculé un coût de codage de chacun des blocs, pour au moins un premier mode de codage et pour un mode de codage par quantification codée en treillis, - attribution (E6) de l'un des modes de codage à chacun des blocs, selon un critère d'attribution dépendant du coût de codage, - réitération des étapes de mise à jour et d'attribution, de manière à satisfaire un critère de convergence. 2. Procédé de codage selon la revendication 1, caractérisé en ce que le coût de codage de chaque bloc est une somme pondérée du débit (R1,p,,, R2p,,) et de l'erreur (D1,pn, D2,pn) de codage du bloc considéré. 3. Procédé de codage selon la revendication 1 ou 2, caractérisé en ce que, à une itération donnée, le calcul du coût de codage pour le mode de codage par quantification codée en treillis d'un bloc considéré quelconque, auquel a été attribué le mode de codage par quantification codée en treillis, comporte les étapes (E5) de: - liaison des blocs auxquels a été attribué le mode de codage par quantification codée en treillis, pour former une suite de blocs, - codage de la suite de blocs par quantification codée en treillis d'une suite de coefficients extraits des blocs liés, - extraction du débit et de l'erreur de codage du bloc considéré. 4. Procédé de codage selon l'une quelconque des revendications 1 à 3, caractérisé en ce que, à une itération donnée, le coût de codage pour le mode de codage par quantification codée en treillis d'un bloc considéré quelconque, auquel a été attribué le premier mode de codage, est le coût de codage pour le mode de codage par quantification codée en treillis du bloc, calculé lors de la dernière itération au cours de laquelle le mode de codage par quantification codée en treillis était attribué au bloc. 5. Procédé de codage selon l'une quelconque des revendications 1 à 4, caractérisé en ce que le critère d'attribution minimise le coût de codage. 6. Procédé de codage selon l'une quelconque des revendications 1 à , caractérisé en ce qu'il comporte en outre une étape d'initialisation (E4) à laquelle le mode de codage par quantification codée en treillis est attribué à chacun des blocs. 7. Procédé de codage selon l'une quelconque des revendications 1 à 6, caractérisé en ce le critère de convergence est satisfait lorsque les mêmes modes de codage sont respectivement attribués aux mêmes blocs à deux itérations successives de l'étape d'attribution. 8. Procédé de codage selon l'une quelconque des revendications 1 à 7, caractérisé en ce qu'un indicateur (Ip,n) est associé à chaque bloc (Bpn) pour indiquer quel mode de codage est attribué à chaque bloc. 9. Procédé de codage selon l'une quelconque des revendications 1 à 8, caractérisé en ce que le premier mode de codage est une mise à une valeur prédéterminée des coefficients du bloc. 10. Procédé de décodage d'un signal numérique d'image codé, ledit signal comportant des représentations codées de blocs formés dans le signal d'origine, chaque représentation codée comportant au moins un indicateur (Ip,) représentatif soit d'un premier mode de codage soit d'un mode de codage par quantification codée en treillis, caractérisé en ce qu'il comporte les étapes de: - lecture (E23) de la valeur de l'indicateur (Ip,n), - décodage (E24) des représentations codées, en fonction de la valeur de l'indicateur respectif. 11. Dispositif de codage de signal numérique caractérisé en ce qu'il comporte: - des moyens (4) de division de signal numérique en blocs (Bp,, ), - des moyens (5) de mise à jour adaptés à calculer un coût de codage de chacun des blocs, pour au moins un premier mode de codage et pour un mode de codage par quantification codée en treillis, - des moyens d'attribution (E6) de l'un des modes de codage à chacun des blocs, selon un critère d'attribution dépendant du coût de codage, les moyens de mise à jour et d'attribution étant adaptés à être mis en oeuvre de manière itérative, de manière à satisfaire un critère de convergence. 12. Dispositif de codage selon la revendication 11, caractérisé en ce que les moyens (5) de mise à jour sont adaptés à calculer le coût de codage de chaque bloc comme une somme pondérée du débit (R1,p,, R2, pn) et de l'erreur (D1,p,n, D2,p,) de codage du bloc considéré. 13. Dispositif de codage selon la revendication 11 ou 12, caractérisé en ce que les moyens (5) de mise à jour pour le calcul du coût de codage pour le mode de codage par quantification codée en treillis d'un bloc considéré quelconque, auquel a été attribué le mode de codage par quantification codée en treillis, comportent: - des moyens (52) de liaison des blocs auxquels a été attribué le mode de codage par quantification codée en treillis, pour former une suite de blocs, - des moyens (53) de codage de la suite de blocs par quantification codée en treillis d'une suite de coefficients extraits des blocs liés, - des moyens d'extraction du débit et de l'erreur de codage du bloc considéré. 14. Dispositif de codage selon l'une quelconque des revendications 11 à 13, caractérisé en ce que les moyens (5) de mise à jour pour le calcul le coût de codage pour le mode de codage par quantification codée en treillis d'un bloc considéré quelconque, auquel a été attribué le premier mode de codage, sont adaptés à considérer le coût de codage pour le mode de codage par quantification codée en treillis du bloc, calculé lors de la dernière itération au cours de laquelle le mode de codage par quantification codée en treillis était attribué au bloc. 15. Dispositif de codage selon l'une quelconque des revendications 11 à 14, caractérisé en ce que les moyens d'attribution sont adaptés à mettre en oeuvre un critère d'attribution qui minimise le coût de codage. 16. Dispositif de codage selon l'une quelconque des revendications 11 à 15, caractérisé en ce que les moyens d'attribution sont adaptés à attribuer initialement le mode de codage par quantification codée en treillis à chacun des blocs. 17. Dispositif de codage selon l'une quelconque des revendications 11 à 16, caractérisé en ce qu'il est adapté à mettre en oeuvre un critère de convergence qui est satisfait lorsque les mêmes modes de codage sont respectivement attribués aux mêmes blocs à deux itérations successives de l'étape d'attribution. 18. Dispositif de codage selon l'une quelconque des revendications 11 à 17, caractérisé en ce qu'il est adapté à associer un indicateur (Ipn) à chaque bloc (Bp.n) pour indiquer quel mode de codage est attribué à chaque bloc. 19. Dispositif de codage selon l'une quelconque des revendications 1 à 18, caractérisé en ce qu'il est adapté à mettre en oeuvre un premier mode de codage qui est une mise à une valeur prédéterminée des coefficients du bloc. 20. Dispositif de codage selon l'une quelconque des revendications 11 à 19, caractérisé en ce que les moyens de division, d'attribution, de quantification, de formation et de sélection sont incorporés dans: - un micro-processeur, - une mémoire morte comportant un programme pour coder chacun des blocs de données, et - une mémoire vive comportant des registres adaptés à enregistrer des variables modifiées au cours de l'exécution dudit programme. 21. Dispositif de décodage d'un signal numérique codé, ledit signal comportant des représentations codées de blocs formés dans le signal d'origine, chaque représentation codée comportant au moins un indicateur (Ipn) représentatif soit d'un premier mode de codage soit d'un mode de codage par quantification codée en treillis, caractérisé en ce qu'il comporte: - des moyens de lecture (E23) de la valeur de l'indicateur (Ipn'), - des moyens de décodage (E24) des représentations codées, en fonction de la valeur de l'indicateur respectif. 22. Dispositif de décodage selon la revendication 21, caractérisé en ce que les moyens de lecture et les moyens de décodage sont incorporés dans: - un microprocesseur, - une mémoire morte comportant un programme pour décoder chacun des blocs de données, et - une mémoire vive comportant des registres adaptés a enregistrer des variables modifiées au cours de l'exécution dudit programme. 23. Appareil (100) de traitement de signal numérique, caractérisé en ce qu'il comporte des moyens adaptés à mettre en oeuvre le procédé de codage selon l'une quelconque des revendications 1 à 9. 24. Appareil (200) de traitement de signal numérique, caractérisé en ce qu'il comporte des moyens adaptés à mettre en oeuvre le procédé de décodage selon la revendication 10. 25. Appareil (100) de traitement de signal numérique, caractérisé en ce qu'il comporte le dispositif de codage selon l'une quelconque des revendications 11 à 20. 26. Appareil (200) de traitement de signal numérique, caractérisé en ce qu'il comporte le dispositif de décodage selon l'une quelconque des revendications 21 ou 22. 27. Appareil photographique numérique caractérisé en ce qu'il comporte des moyens adaptés à mettre en oeuvre le procédé de codage selon l'une quelconque des revendications 1 à 9. 28. Appareil photographique numérique caractérisé en ce qu'il comporte le dispositif de codage selon l'une quelconque des revendications 11 à 20. 29. Camescope numérique caractérisé en ce qu'il comporte des moyens adaptés à mettre en oeuvre le procédé de codage selon l'une quelconque des revendications 1 à 9. 30. Camescope numérique caractérisé en ce qu'il comporte des moyens adaptés à mettre en oeuvre le procédé de décodage selon la revendication 10. 31. Camescope numérique caractérisé en ce qu'il comporte le dispositif de codage selon l'une quelconque des revendications 11 à 20. 32. Camescope numérique caractérisé en ce qu'il comporte le dispositif de décodage selon l'une quelconque des revendications 21 ou 22. 33. Procédé de codage selon l'une quelconque des revendications 1 à 9, caractérisé en ce qu'il est mis en oeuvre par un système de gestion de base de données. 34. Procédé de codage selon la revendication 10, caractérisé en ce qu'il est mis en oeuvre par un système de gestion de base de données. 35. Dispositif de codage selon l'une quelconque des revendications 1 1 à 20, caractérisé en ce qu'il est mis en oeuvre dans un système de gestion de base de données. 36. Dispositif de décodage selon l'une quelconque des revendications 21 ou 22, caractérisé en ce qu'il est mis en oeuvre dans un système de gestion de base de données. 37. Ordinateur caractérisé en ce qu'il comporte des moyens adaptés à mettre en oeuvre le procédé de codage selon l'une quelconque des revendications 1 à 9. 38. Ordinateur caractérisé en ce qu'il comporte des moyens adaptés à mettre en oeuvre le procédé de décodage selon la revendication 10. 39. Ordinateur caractérisé en ce qu'il comporte le dispositif de codage selon l'une quelconque des revendications 11 à 20. 40. Ordinateur caractérisé en ce qu'il comporte le dispositif de décodage selon l'une quelconque des revendications 21 ou 22.