Brevet FR2858161A1 — publié le 20050128

La présente invention se rapporte au codage de signal numérique et propose à cette fin 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 10 de signaux numériques. Les signaux numériques considérés ici sont de nature quelconque, par exemple des images fixes, de la vidéo, du son, des données informatiques. Dans la suite, on considère plus particulièrement le codage et le décodage d'une image fixe. Dans ce contexte, certains modes de codage utilisent un parcours établi parmi un ensemble d'échantillons numériques. Par exemple, les demandes de brevet français n 01 06933, 01 12064 et 01 13922 concernent de tels modes de codage. Pour que le codage soit efficace, c'est-à-dire qu'il présente un bon 20 rapport débit-distorsion, il est nécessaire de déterminer le parcours de manière adaptée. Il existe des techniques pour déterminer un parcours parmi un ensemble d'échantillons. Ces techniques sont connues sous le nom de techniques de résolution du problème du voyageur de commerce. Une revue de 25 ces techniques est par exemple exposée dans l'ouvrage de Gerhard Reinelt intitulé "The Traveling Salesman, Computational Solutions for TSP Applications", Springer-Verlag, 1994. Ces techniques utilisent le calcul évolutionnaire, qui fournit une solution optimale au problème mais nécessite un temps de calcul élevé. La demande de brevet français n 02 01277 déposée par la Demanderesse, propose un procédé de codage consistant à sélectionner, pour chaque échantillon à coder, un premier ou un second mode de codage en fonction d'un coût de codage. Un tel procédé confère un bon rapport compression sur distorsion, puisque des parties différentes du signal sont codées selon un mode de codage 5 qui minimise le coût de codage. En outre, aucune information supplémentaire n'est nécessaire pour indiquer quel mode de codage est utilisé sur quelle partie du signal. Lors du décodage ultérieur, il n'y a pas de risque d'erreur sur le choix du mode de décodage à utiliser. La demande de brevet français n 02 13823, déposée par la 10 Demanderesse, propose une méthode de codage qui utilise le classement par ordre décroissant d'amplitude pour créer un parcours permettant de coder les données selon un modèle d'amplitude et un parcours parmi les échantillons à coder. Un tel procédé permet de déterminer plus rapidement le parcours 15 parmi les échantillons que selon la technique antérieure. La dégradation des performances de compression (débit et distorsion) est faible et généralement négligeable. La Demanderesse s'est posée le problème d'améliorer encore l'efficacité de compression. La présente invention apporte justement une solution à ce problème. Elle porte sur un procédé de codage d'échantillons numériques représentatifs de grandeurs physiques. Selon une définition générale de l'invention, le procédé comprend les étapes suivantes: - construire un parcours de référence parmi lesdits échantillons, ledit parcours de référence comportant un nombre déterminé d'échantillons, classés par amplitude décroissante, - à partir du parcours de référence ainsi construit, construire une pluralité de sous-parcours comportant chacun un nombre déterminé d'échantillons inférieur 30 ou égal au nombre d'échantillons du parcours de référence, les échantillons desdits sous-parcours étant classés par amplitude décroissante, - pour chaque sous-parcours, calculer et comparer des premier et second coûts de codage associés respectivement à des premier et second modes de codage, sélectionner le sous-parcours présentant un coût de codage optimal en fonction d'un premier critère prédéterminé, et -coder les échantillons du sous-parcours ainsi sélectionné selon le premier ou le second mode de codage selon un second critère prédéterminé. Le procédé selon l'invention a l'avantage de conférer un meilleur compromis entre taux de compression et distorsion générée dans l'image reconstruite que celui proposé par les codages antérieurs. Selon une réalisation, le premier critère pour la sélection du sousparcours optimal correspond au sous-parcours ayant la plus grande différence entre le coût de codage par le premier mode de codage et le coût de codage par le second mode de codage. En pratique, pour ledit sous-parcours ainsi sélectionné, il est prévu, 15 en présence d'un résultat de comparaison des premier et second coûts de codage correspondant à un coût minimal en faveur du premier mode de codage, de coder les échantillons dudit sous-parcours par le premier mode de codage et les autres échantillons par le second mode de codage. De même, pour ledit sous-parcours ainsi sélectionné, il est prévu, en 20 absence d'un résultat de comparaison des premier et second coûts de codage correspondant à un coût minimal en faveur du premier mode de codage, de coder tous les échantillons par le second mode de codage. Selon une autre réalisation, le premier mode de codage comporte le codage d'un modèle d'amplitude et le codage du sous-parcours courant. Selon encore une autre réalisation, le second mode de codage comporte une quantification scalaire des échantillons du sous-parcours courant et un codage entropique ou arithmétique. En pratique, le coût de codage comporte le débit des données codées selon le mode de codage associé et /ou la distorsion des données 30 codées selon le mode de codage associé. La présente invention a également pour objet un procédé de décodage d'échantillons numériques représentatifs de grandeurs physiques préalablement codés par le procédé de codage mentionné ci-avant. Selon un autre aspect de l'invention, le procédé de décodage comporte les étapes suivantes: - décoder la longueur du parcours de référence, et décoder les échantillons appartenant au sous-parcours ainsi sélectionné selon un premier ou un second mode de décodage. La présente invention a encore pour objet un dispositif de codage 10 d'échantillons numériques représentatifs de grandeurs physiques. Selon une autre caractéristique importante de l'invention, le dispositif comprend: - des premiers moyens de construction pour construire un parcours de référence parmi lesdits échantillons, ledit parcours de référence comportant un 15 nombre déterminé d'échantillons, classés par amplitude décroissante, - des seconds moyens de construction pour construire, à partir du parcours de référence, une pluralité de sous-parcours comportant chacun un nombre déterminé d'échantillons inférieur ou égal au nombre d'échantillons du parcours de référence, les échantillons desdits sous- parcours étant classés par 20 amplitude décroissante, - des moyens de calcul aptes, pour chaque sous-parcours, à calculer et comparer des premier et second coûts de codage associés respectivement à des premier et second modes de codage, - des moyens de sélection pour sélectionner le sous-parcours présentant un 25 coût de codage optimal en fonction d'un premier critère prédéterminé, et - des moyens de codage pour coder les échantillons du sous-parcours ainsi sélectionné selon le premier ou le second mode de codage selon un second critère prédéterminé. Selon une réalisation, les moyens de sélection sont adaptés à considérer 30 le premier critère pour la sélection du sous-parcours optimal qui correspond au sous-parcours ayant la plus grande différence entre le coût de codage par le premier mode de codage et le coût de codage par le second mode de codage. Selon une autre réalisation, les moyens de codage sont aptes, pour ledit sous-parcours ainsi sélectionné et en présence d'un résultat de comparaison des premier et second coûts de codage correspondant à un coût minimal en faveur du premier mode de codage, à coder les échantillons dudit sous5 parcours par le premier mode de codage et les autres échantillons par le second mode de codage. Selon encore une autre réalisation, les moyens de codage sont aptes, pour ledit sous-parcours ainsi sélectionné et en absence d'un résultat de comparaison des premier et second coûts de codage correspondant à un coût 10 minimal en faveur du premier mode de codage, à coder tous les échantillons par le second mode de codage. En pratique, les moyens de codage sont adaptés à effectuer un premier mode de codage qui comporte le codage d'un modèle d'amplitude et le codage du sous-parcours courant. En outre, les moyens de codage sont adaptés à effectuer un second mode de codage qui comporte une quantification scalaire des échantillons du sousparcours courant et un codage entropique ou arithmétique. Selon encore une autre réalisation, les moyens de calcul sont aptes à calculer le coût de codage qui comporte le débit des données codées selon le 20 mode de codage associé et /ou la distorsion des données codées selon le mode de codage associé. La présente invention a également pour objet un dispositif de décodage d'échantillons numériques représentatifs de grandeurs physiques préalablement codés par le dispositif visé ci avant. Selon une autre caractéristique importante de l'invention, le dispositif comporte: - des moyens de décodage de la longueur du parcours de référence, et - des moyens de décodage des échantillons appartenant au parcours, selon un premier mode de décodage ou selon un second mode de décodage. Selon une autre caractéristique du dispositif de codage, les moyens de sélection et codage sont incorporés dans: - un microprocesseur, - une mémoire morte comportant un programme pour traiter les 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. Selon une caractéristique du dispositif de décodage, les moyens de décodage sont incorporés dans: - un microprocesseur, - une mémoire morte comportant un programme pour traiter les 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. La présente invention a également pour objet un appareil de traitement d'une image numérique, comportant des moyens adaptés à mettre en oeuvre le procédé de codage et/ou de décodage visé ci-avant. De même, la présente invention a également pour objet un appareil de traitement d'une image numérique comportant le dispositif de codage et/ou de 15 décodage visé ci-avant. D'autres caractéristiques et avantages de l'invention apparaîtront à la lumière de la description détaillée ci-après et des dessins dans lesquels: - la figure 1 représente un dispositif de codage selon l'invention et un dispositif de décodage correspondant, - la figure 2 représente schématiquement un organigramme illustrant le procédé de codage selon l'invention, - les figures 3, 4 et 5, représentent des blocs traités selon l'invention, et - la figure 6 est un mode de réalisation d'un dispositif mettant en 25 oeuvre l'invention, En référence à la figure 1, I'image numérique 1 est codée par un codeur 2 qui comporte un dispositif de codage conforme à l'invention. Ce codeur génère un fichier compressé qui peut être transmis ou stocké 3. Le fichier compressé est lu par un décodeur 4 qui génère une image décompressée 5. En référence à la figure 2, on a représenté l'organigramme illustrant les principales étapes du procédé de codage selon l'invention. Au départ, I'image numérique se présente sous la forme d'une matrice de pixels dont chacun contient une valeur. Par exemple, I'image comprend 512x512 pixels, où chaque pixel possède un niveau de luminance parmi 256 niveaux possibles (codage de la valeur de luminance sur 8 bits). Selon l'étape E10, il est prévu de diviser l'image en blocs. Par exemple, l'image est divisée en blocs de taille 4x4 pixels. Il est possible d'utiliser d'autres tailles de blocs, telles que 8x8 ou 10x10, voire même une taille de bloc égale à la taille de l'image entière. Ensuite, on traite tous les blocs un par un. Afin d'initialiser le processus, on sélectionne un premier bloc, par exemple le bloc en haut à gauche de l'image (premier dans l'ordre lexicographique, étape E11). Ce bloc devient le bloc courant. Au cours de l'étape E12, on effectue une transformée en fréquences du bloc. Cette étape est classiquement appliquée en compression des images car 15 elle permet d'améliorer considérablement les performance compression/distorsion. Par exemple, la transformée est du type DCT ("Discrete Cosine Transform') telle que celle décrite dans M. Rabbani, and P.W. Jones, Digital Image Compression Techniques, SPIE Opt. Eng. Press, Bellingham, 20 Washington, 1991. Toute autre transformée classiquement appliquée en compression d'image est utilisable ici: transformée de Hadamard, transformée en ondelettes. A l'issue de l'étape E12, le bloc courant se présente sous la forme d'un bloc de 4x4 coefficients DCT (par exemple, bloc 20, figure 3). Selon l'étape E13, le bloc 20 est transformé en un bloc à une seule dimension en utilisant une technique classique de balayage appelée le zigzag scan. Cette technique, décrite dans M. Rabbani, and P.W. Jones, Digital Image Compression Techniques, SPIE Opt. Eng. Press, Bellingham, Washington, 1991 consiste à parcourir tous les échantillons du bloc par diagonales, en 30 commençant en haut à gauche et en finissant en bas à droite (bloc 21, figure 3). Le bloc initial se présente sous la forme d'un bloc 2D de 4x4 échantillons (issus de la transformée DCT). Les échantillons sont ordonnés en considérant les diagonales d'échantillons (orientées d'en bas à gauche vers en haut à droite) en commençant par la diagonale qui se trouve en haut à gauche jusqu'à celle qui se trouve en bas à droite. A l'intérieur d'une diagonale, les échantillons sont parcourus soit d'en bas à gauche vers en haut à droite, soit dans le sens inverse. Parmi ces deux sens possibles, le choix est fait sur le critère suivant: le sens doit être le sens opposé à celui utilisé sur la précédente diagonale considérée. Ceci aboutit au 10 parcours représenté sur la figure 3. En suivant ce sens de parcours, on range les échantillons rencontrés dans un vecteur à une dimension de 16 échantillons. L'invention ne se limite pas à ce type de balayage. Il est également possible de transformer le bloc courant en le parcourant dans l'ordre 15 lexicographique (ligne par ligne) pour générer le nouveau bloc à une dimension. En pratique, le balayage de type zigzag scan génère à l'issue de l'étape E13, un bloc22,figure3. Cevecteurvaut[2 8 0 4 1 1 0 3 0 2 1 0 0 0 0 0] Au cours l'étape E14, on génère un parcours de référence. Ce parcours de référence consiste à parcourir les éléments du bloc 20 courant par amplitude décroissante. Ainsi, un exemple est donné pour le vecteur courant 22. Cet exemple est le parcours 30 représenté sur la figure 4. Dans cet exemple, les amplitudes décroissantes sont 8, 4, 3, 2, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0. Le parcours 30 est représenté par des vecteurs de déplacement à l'intérieur du bloc 22. Selon l'étape E15, on examine un à un différents sous-parcours obtenus à partir du parcours de référence. La façon d'obtenir ces sous-parcours sera décrite en détail à l'étape E20. Dans un premier temps, afin d'initialiser le processus, il convient de générer un premier sous-parcours. Par exemple, ce premier sous-parcours est constitué d'un seul échantillon, celui dont l'amplitude est la plus élevée dans le bloc 22. Ce sousparcours devient le sous-parcours courant. Au cours de l'étape E16, on calcule le coût de codage associé à une première méthode de codage sur le sous-parcours courant. La première méthode de codage est par exemple celle basé sur les deux étapes suivantes. Dans une première étape, on détermine un modèle d'amplitude qui effectue une approximation des amplitudes des échantillons contenus dans le sousparcours.correspondant. Ainsi, dans l'exemple du sous-parcours courant 31 représenté figure 5, ledit sous-parcours courant comporte trois échantillons dont les amplitudes sont 8,4,1. Cette première étape consiste donc à trouver un 10 modèle d'amplitude qui effectue une approximation des amplitudes 8,4,1. Une solution connue consiste à faire une approximation par une fonction exponentielle décroissante. Dans une deuxième étape, on construit l'ensemble des vecteurs de déplacement qui décrivent les emplacements des échantillons du 15 sousparcours, dans l'ordre du sous-parcours. Dans l'exemple du sous-parcours courant 31 représenté figure 5, le sous-parcours courant est décrit par trois vecteurs de déplacement: +2, +2, +1 (tous les déplacements sont positifs car il vont tous vers la droite). Au cours de l'étape E16, on évalue le coût de codage de la première 20 méthode sur les échantillons du parcours courant. Le coût de codage est une mesure qui exprime sous forme mathématique ce que le codage des échantillons ou d'une partie des échantillons coûte en terme de nombre de bits utilisés pour le codage et/ou de distorsion générée par rapport au signal original. Par exemple, on mesure de coût de codage C(SP) selon la loi suivante: C(SP)=R(SP)+X.D(SP), où R(SP) est le nombre de bits utilisés pour coder le sous-parcours SP, D(SP) est la distorsion induite par le codage du sous-parcours SP dans le 30 signal reconstruit par rapport au signal original (mesurée en erreur quadratique), et X est un paramètre entré par l'utilisateur, lui permettant ainsi de choisir lui-même le compromis en compression élevée (et qualité faible) ou qualité élevée (et compression faible). Au cours de l'étape E16, on mesure sur le sous-parcours courant le coût 5 de codage C1 induit lorsque ce sous-parcours est codé par la première méthode de codage. Au cours de l'étape E17, on calcule le coût de codage C2 induit lorsque le sous-parcours courant est codé par la deuxième méthode de codage. Cette deuxième méthode de codage peut être toute méthode différente 10 de la première méthode de codage. Par exemple, la deuxième méthode de codage consiste en une quantification scalaire des échantillons du sousparcours courant (en utilisant un pas de quantification prédéfini) et un codage arithmétique ou entropique. Au cours de l'étape E18, on effectue le calcul de la différence 15 DIFF(SP)=C2-C1. Cette différence est stockée en mémoire pour un usage ultérieur à l'étape E21. Au cours de l'étape E19, on vérifie s'il reste des sous-parcours à traiter. Par exemple, on vérifie si le sous-parcours courant est égal au parcours de référence. Alternativement, ce test peut consister à vérifier si l'on a déjà traité 20 un nombre de sous-parcours supérieur ou égal à un nombre prédéfini. S'il reste des sous-parcours à traiter l'étape suivante est l'étape E20, sinon il s'agit de l'étape E21. Au cours de l'étape E20, on génère le sous-parcours suivant à traiter. Par exemple, on souhaite examiner uniquement des sous-parcours dont les 25 échantillons sont dans le même ordre que celui qu'ils ont dans le parcours de référence. Ainsi, la figure 5 présente trois exemples de sous- parcours (31, 32, 33) que l'on souhaite explorer. Les sous-parcours 31 et 32 sont de longueur 3, le sous-parcours 33 est de longueur 4. Les échantillons parcourus le sont dans le même ordre que celui qu'ils ont dans le parcours de référence. Ainsi, pour le sous-parcours 32, les échantillons parcourus sont 4, 3, 1, 1 que l'on retrouve bien dans cet ordre dans le parcours de référence 8, 4, 3, 2, 2, 1,1,1,0,0,0,0,0,0,0,0. Afin de déterminer le parcours de référence suivant, différentes méthodes sont applicables. Par exemple, on applique la procédure suivante les sous-parcours sont examinés par longueur croissante, c'est à dire en 5 examinant tous les sous-parcours de longueur 1, puis tous les sous-parcours de longueur 2, .. . jusqu'à l'unique sous-parcours de longueur 16 (c'est le parcours de référence). Pour une longueur de parcours donnée N, le premier parcours examiné comporte les N premiers échantillons du parcours de référence. Ainsi, pour N=3, le premier parcours examiné est 8,4,3. Pour générer 10 le parcours de longueur N suivant. On considère le Nième échantillon du sousparcours (ici 3). Celui-ci est remplacé par l'échantillon qui le suit dans le parcours de référence (donc 2).Le parcours suivant est donc 8,4,2. Si le Nième échantillon du sous-parcours est le dernier du parcours de référence, alors c'est le N-1 ième qui se voit appliquer le même traitement, et ainsi de suite jusqu'au 15 premier échantillon du sousparcours. Lorsque tous les sous-parcours de longueur N=3 ont été traités (ceci arrive lorsque le sous-parcours courant est égal aux N dernier échantillons du parcours de référence), on passe à la longueur supérieure N=4. Au cours de l'étape E21, on détermine, parmi tous les sous-parcours 20 examinés au cours des étapes précédentes, celui pour lequel la valeur DIFF(SP) est la plus grande. Ce sous-parcours est nommé SPopt Au cours de l'étape E22, on vérifie tout d'abord que la différence DIFF(SPopt) est positive. Si elle ne l'est pas, cela signifie que le meilleur sousparcours identifié a un coût de codage qui est plus élevé par la première 25 méthode que par la deuxième. Dans ce cas, il n'est pas avantageux d'utiliser la première méthode de codage, et donc on va transmettre un indicateur 1=0 (un bit valant 0) et passer directement à l'étape E23. En revanche, si cette différence est positive, cela signifie que le meilleur sous-parcours identifié a un coût de codage qui est moins élevé par la première méthode qu'avec la 30 deuxième. Dans ce cas, nous allons transmettre un indicateur 1=1 et coder les échantillons de SPopt avec la première méthode de codage. En pratique, la première méthode de codage consiste à effectuer un codage du modèle d'amplitude qui effectue une approximation des amplitudes su sous-parcours SPopt, d'une part, et effectuer un codage des vecteurs de déplacement qui décrivent l'emplacement des échantillons du sous-parcours SPopt, d'autre part. Au cours de l'étape E23, on code les échantillons du bloc qui ne sont pas déjà codés précédemment avec la deuxième méthode de codage. Suivant la valeur de DIFF(SPopt), il s'agit soit de tous les échantillons du bloc, soit des échantillons du bloc qui ne font pas partie du sous-parcours SPopt. Le codage par la deuxième méthode consiste, par exemple, à quantifier (par quantification scalaire de pas prédéfini) chacun des échantillons à coder, puis à appliquer un codage arithmétique aux symboles de quantification ainsi obtenus. En variante, la deuxième méthode de codage est constituée de 15 différentes méthodes de codage telles que quantification scalaire, quantification vectorielle, prédiction linéaire. Au cours de l'étape E24, on examine si tous les blocs de l'image ont été traités. Si oui, le codage est terminé. Sinon, on passe à l'étape E25. Au cours de l'étape E25, le prochain bloc de l'image est sélectionné 20 comme bloc courant. L'ordre de traitement des blocs peut être quelconque. Par exemple, on les traite dans l'ordre lexicographique, ligne par ligne de haut en bas, et de gauche à droite dans chaque ligne. L'invention a également pour objet un décodeur qui s'applique pour chaque bloc de l'image à décoder. Si l'indicateur associé au bloc vaut I on applique alors un décodage conforme à la première méthode de codage des échantillons du sousparcours SPopt du bloc courant. La nature du codage est que chaque échantillon est encodé par son emplacement (grâce aux vecteurs de déplacement). On calcul donc l'emplacement de tous les échantillons de SPopt. Une façon de procéder 30 est alors de maintenir une liste L qui au départ contient tous les emplacements d'échantillons du bloc. Lorsqu'un échantillon de P est décodé, on connaît son emplacement, et ce dernier est retiré de L. A la fin, la liste L contient les échantillons restant à décoder. Cette liste L sert à l'étape suivante. Les échantillons non décodés précédemment sont décodés par décodage arithmétique et déquantification scalaire. Une façon de procéder est 5 de parcourir les échantillons suivant l'ordre "zig-zag scan", et lorsqu'un échantillon de la liste L est rencontré, on le décode. Une transformée inverse, par exemple du type DCT inverse, est appliquée sur le bloc courant décodé. On passe au bloc suivant, s'il y en a un, sinon le décodage de l'image est terminé. En référence à la figure 6, on a représenté un dispositif mettant en oeuvre le logiciel permettant de coder/décoder conformément au procédé de l'invention. Le dispositif peut être par exemple un micro-ordinateur 10 connecté à différents périphériques, par exemple, une caméra numérique 107 (ou un 15 scanner, ou tout moyen d'acquisition ou de stockage d'image) reliée à une carte graphique et fournissant des informations à traiter selon l'invention. Le dispositif 10 comporte une interface de communication 112 reliée à un réseau 113 apte à transmettre des informations numériques. Le dispositif 10 comporte également un moyen de stockage 108 tel que par exemple un disque 20 dur. Il comporte aussi un lecteur de disquette 109. La disquette 110 comme le disque 108 peuvent contenir des données d'implantation logicielle de l'invention ainsi que le code de l'invention qui, une fois lu par le dispositif 10, sera stocké dans le disque dur 108. Selon une variante, le programme permettant au dispositif de mettre en oeuvre l'invention, pourra être stocké en mémoire morte 25 102 (appelée ROM sur le dessin). Il en est de même pour les méthodes de codage. En seconde variante, le programme pourra être reçu pour être stocké de façon identique à celle décrite précédemment par l'intermédiaire du réseau de communication 113. Le dispositif 10 est relié à un micro 111 par l'intermédiaire de la carte E/S 30 106. Les données à traiter selon l'invention seront dans ce cas du signal audio. Ce même dispositif possède un écran 104 permettant de visualiser les informations à traiter ou de servir d'interface avec l'utilisateur qui pourra paramétrer certains modes de traitement, à l'aide du clavier 114 ou de tout autre moyen (souris par exemple). L'unité centrale 100 (appelée CPU) exécute les instructions relatives à la mise en oeuvre de l'invention, instructions stockées dans la mémoire morte 102 5 ou dans les autres éléments de stockage. Lors de la mise sous tension, les programmes et méthodes de traitement stockés dans une des mémoires non volatile, par exemple la ROM 102, sont transférés dans la mémoire vive RAM 103 qui contiendra alors le code exécutable de l'invention ainsi que les variables nécessaires à la mise en oeuvre de l'invention. En variante, les 10 méthodes de traitement pourront être stockées dans différents endroits. En effet, il est possible d'améliorer l'invention en ajoutant de nouvelles méthodes transmises soit par le réseau de communication 113 ou par l'intermédiaire de disquette 110. Bien entendu, les disquettes peuvent être remplacées par tout supportd'information tel que CD-ROM ou carte mémoire. Le bus de communication 101 permet la communication entre les différents sous éléments du micro-ordinateur 10 ou liés à lui. La représentation du bus 101 n'est pas limitative et notamment l'unité centrale 100 est susceptible de communiquer des instructions à tout sous élément de 10 directement ou par l'intermédiaire d'un autre sous élément du microordinateur 10. Le dispositif décrit ici est susceptible de contenir tout ou partie du traitement décrit dans l'invention. REVENDICATIONS 1. Procédé de codage d'échantillons numériques représentatifs de grandeurs physiques, caractérisé en ce qu'il comprend les étapes suivantes: construire un parcours de référence parmi lesdits échantillons, ledit parcours de référence comportant un nombre déterminé d'échantillons, classés par amplitude décroissante, - à partir du parcours de référence ainsi construit, construire une pluralité de sous-parcours comportant chacun un nombre déterminé d'échantillons inférieur ou égal au nombre d'échantillons du parcours de référence, les échantillons desdits sous-parcours étant classés par amplitude décroissante, 15 - pour chaque sous-parcours, calculer et comparer des premier et second coûts de codage associés respectivement à des premier et second modes de codage, sélectionner le sous-parcours présentant un coût de codage optimal en fonction d'un premier critère prédéterminé, et -coder les échantillons du sous-parcours ainsi sélectionné selon le premier ou le second mode de codage selon un second critère prédéterminé. 25 2. Procédé selon la revendication 1, caractérisé en ce que le premier critère pour la sélection du sous-parcours optimal correspond au sous- parcours ayant la plus grande différence entre le coût de codage par le premier mode de codage et le coût de codage par le second mode de codage. 30 3. Procédé selon la revendication 2, caractérisé en ce que pour ledit sousparcours ainsi sélectionné, il est prévu, en présence d'un résultat de comparaison des premier et second coûts de codage correspondant à un coût minimal en faveur du premier mode de codage, de coder les échantillons dudit sous-parcours par le premier mode de codage et les autres échantillons par le second mode de codage. 4. Procédé selon la revendication 2, caractérisé en ce que pour ledit sousparcours ainsi sélectionné, il est prévu, en absence d'un résultat de comparaison des premier et second coûts de codage correspondant à un coût minimal en faveur du premier mode de codage, de coder tous les échantillons 10 par le second mode de codage. 5. Procédé selon l'une quelconque des précédentes revendications, caractérisé en ce que le premier mode de codage comporte le codage d'un modèle d'amplitude et le codage du sous-parcours courant. 15 6. Procédé selon l'une quelconque des précédentes revendications, caractérisé en ce que le second mode de codage comporte une quantification scalaire des échantillons du sous-parcours courant et un codage entropique ou arithmétique. 7. Procédé selon l'une quelconque des précédentes revendications, caractérisé en ce que le coût de codage comporte le débit des données codées selon le mode de codage associé et /ou la distorsion des données codées selon le mode de codage associé. 8. Procédé de décodage d'échantillons numériques représentatifs de grandeurs physiques préalablement codés par le procédé selon l'une quelconque des précédentes revendications 1 à 7, caractérisé en ce qu'il comporte les étapes suivantes: -décoder la longueur du parcours de référence, et - décoder les échantillons appartenant au sous-parcours ainsi sélectionné selon un premier ou un second mode de décodage. 9. Dispositif de codage d'échantillons numériques représentatifs de grandeurs physiques, caractérisé en ce qu'il comprend: - des premiers moyens de construction pour construire un parcours de 5 référence parmi lesdits échantillons, ledit parcours de référence comportant un nombre déterminé d'échantillons, classés par amplitude décroissante, - des seconds moyens de construction pour construire, à partir du parcours de référence, une pluralité de sous-parcours comportant chacun un nombre 10 déterminé d'échantillons inférieur ou égal au nombre d'échantillons du parcours de référence, les échantillons desdits sous- parcours étant classés par amplitude décroissante, - des moyens de calcul aptes, pour chaque sous-parcours, à calculer et 15 comparer des premier et second coûts de codage associés respectivement à des premier et second modes de codage, - des moyens de sélection pour sélectionner le sous-parcours présentant un coût de codage optimal en fonction d'un premier critère prédéterminé, et 20 - des moyens de codage pour coder les échantillons du sous-parcours ainsi sélectionné selon le premier ou le second mode de codage selon un second critère prédéterminé. 10. Dispositif selon la revendication 9, caractérisé en ce que les moyens de sélection sont adaptés à considérer le premier critère pour la sélection du sousparcours optimal qui correspond au sous-parcours ayant la plus grande différence entre le coût de codage par le premier mode de codage et le coût de codage par le second mode de codage. 11. Dispositif selon la revendication 10, caractérisé en ce que les moyens de codage sont aptes, pour ledit sous-parcours ainsi sélectionné et en présence d'un résultat de comparaison des premier et second coûts de codage correspondant à un coût minimal en faveur du premier mode de codage, à coder les échantillons dudit sous-parcours par le premier mode de codage et les autres échantillons par le second mode de codage. 12. Dispositif selon la revendication 10, caractérisé en ce que les moyens de codage sont aptes, pour ledit sous-parcours ainsi sélectionné et en absence d'un résultat de comparaison des premier et second coûts de codage correspondant à un coût minimal en faveur du premier mode de codage, à 10 coder tous les échantillons par le second mode de codage. 13. Dispositif selon l'une quelconque des précédentes revendications 9 à 12, caractérisé en ce que les moyens de codage sont adaptés à effectuer un premier mode de codage qui comporte le codage d'un modèle d'amplitude et le 15 codage du sous-parcours courant. 14. Dispositif selon l'une quelconque des précédentes revendications 9 à 13, caractérisé en ce que les moyens de codage sont adaptés à effectuer un second mode de codage qui comporte une quantification scalaire des 20 échantillons du sous-parcours courant et un codage entropique ou arithmétique. 15. Dispositif selon l'une quelconque des précédentes revendications 9 à 14, caractérisé en ce que les moyens de calcul sont aptes à calculer le coût de codage qui comporte le débit des données codées selon le mode de codage 25 associé et /ou la distorsion des données codées selon le mode de codage associé. 16. Dispositif de décodage d'échantillons numériques représentatifs de grandeurs physiques préalablement codés par le dispositif selon l'une 30 quelconque des revendications 9 à 15, caractérisé en ce qu'il comporte: des moyens de décodage de la longueur du parcours de référence, et - des moyens de décodage des échantillons appartenant au parcours, selon un premier mode de décodage ou selon un second mode de décodage. 17. Dispositif de codage selon l'une quelconque des revendications 9 à 15, 5 caractérisé en ce que les moyens de sélection et codage sont incorporés dans: - un microprocesseur (100), - une mémoire morte (102) comportant un programme pour traiter les données, et - une mémoire vive (103) comportant des registres adaptés à enregistrer des 10 variables modifiées au cours de l'exécution dudit programme. 18. Dispositif de décodage selon la revendication 16, caractérisé en ce que les moyens de décodage sont incorporés dans: - un microprocesseur (100), - une mémoire morte (102) comportant un programme pour traiter les données, et - une mémoire vive (103) comportant des registres adaptés à enregistrer des variables modifiées au cours de l'exécution dudit programme. 19. Appareil de traitement (10) d'une image numérique, caractérisé en ce qu'il comporte des moyens adaptés à mettre en oeuvre le procédé selon l'une quelconque des revendications 1 à 8. 20. Appareil de traitement (10) d'une image numérique, caractérisé en ce qu'il 25 comporte le dispositif selon l'une quelconque des revendications 9 à 18.