Brevet FR2846834A1 — publié le 20040507

La présente invention concerne d'une manière générale le codage de signal numérique et propose à cette fin un dispositif et un procédé de codage d'un signal numérique. 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 15 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. 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 20 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 25 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 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. 2 2846834 De manière générale, on souhaite que le résultat du codage soit aussi compact que possible. Ainsi, dans le cas du codage utilisant un parcours établi parmi un ensemble d'échantillons numériques, ce parcours est décrit par 5 le chemin le plus court possible (problème du voyageur de commerce). Plus les vecteurs de déplacement reliant chaque point du parcours sont petits, plus leur codage aura un résultat compact. La présente invention fournit un procédé et un dispositif de 10 détermination d'un parcours parmi des échantillons d'un signal qui permettent d'obtenir une description de ce parcours qui soit encore plus compacte que selon les méthodes connues. A cette fin, l'invention propose un procédé de codage d'un ensemble 15 de données représentatives de grandeurs physiques, le codage comportant la formation d'un parcours parmi des échantillons de l'ensemble, le parcours passant au maximum une fois par emplacement d'échantillon, caractérisé en ce qu'il comporte, pour deux emplacements d'échantillons successifs donnés du parcours, l'étape de: 2 0 - formation d'un vecteur entre les deux emplacements d'échantillons, en ne prenant en compte que les emplacements d'échantillons intermédiaires non déjà codés par un vecteur. L'invention permet d'obtenir une description de ce parcours qui soit 25 encore plus compacte que selon les méthodes connues. En effet, les vecteurs formés selon l'invention sont plus courts que selon la technique antérieure. Selon une caractéristique préférée, l'ensemble de données étant bidimensionnel, le procédé comporte la transformation préalable de l'ensemble de données en un second ensemble de données mono-dimensionnel. 3 0 Selon une caractéristique préférée alternative, l'ensemble de données étant bi-dimensionnel, un vecteur est décomposé en deux vecteurs et l'un d'eux est formé en ne prenant en compte que les emplacements d'échantillons intermédiaires non déjà codés par un vecteur. Selon une caractéristique préférée, la formation d'un vecteur entre les deux emplacements d'échantillons comporte: - le test de tous les emplacements intermédiaires entre les deux emplacements d'échantillons pour déterminer s'ils ont déjà été codés, - la réduction de la longueur du vecteur en fonction du nombre d'emplacements déjà codés. Ainsi, l'information déjà codée est exploitée pour réduire la quantité 10 d'information nécessaire pour former un parcours. Selon une caractéristique préférée, l'ensemble de données est un bloc formé dans un ensemble initial de données. Selon une caractéristique préférée, l'ensemble de données est le résultat d'une transformation DCT d'un ensemble initial de données. L'invention a également trait à un procédé de décodage d'un ensemble de données codées par le procédé précédemment présenté, comportant une étape de décodage de parcours, caractérisé en ce que le décodage du parcours comporte l'étape de: 2 0 - déduction de l'emplacement d'un coefficient du parcours en fonction de l'emplacement précédent, du vecteur entre les deux emplacements et des emplacements déjà décodés. Corrélativement, l'invention concerne un dispositif de codage d'un 25 ensemble de données représentatives de grandeurs physiques, comportant des moyens de formation d'un parcours parmi des échantillons de l'ensemble, le parcours passant au maximum une fois par échantillon, caractérisé en ce qu'il comporte: - des moyens de formation d'un vecteur entre deux échantillons 30 successifs donnés du parcours, en ne prenant en compte que les échantillons intermédiaires non déjà codés par un vecteur. Le dispositif de codage comportant des moyens de mise en oeuvre des caractéristiques de codage présentées précédemment. L'invention concerne aussi un dispositif de décodage comportant des moyens de mise en oeuvre des caractéristiques de décodage présentées précédemment. Le dispositif de codage, le procédé et le dispositif de décodage présentent des avantages analogues à ceux précédemment présentés. L'invention concerne aussi un appareil numérique incluant le dispositif selon l'invention ou des moyens de mise en oeuvre du procédé selon 10 l'invention. Cet appareil numérique est par exemple un appareil photographique numérique, un caméscope numérique, un scanner, une imprimante, un photocopieur, un télécopieur. Les avantages du dispositif et de l'appareil numérique sont identiques à ceux précédemment exposés. Un moyen de stockage d'information, lisible par un ordinateur ou par 15 un microprocesseur, intégré ou non au dispositif, éventuellement amovible, mémorise un programme mettant en oeuvre le procédé selon l'invention. Un programme d'ordinateur lisible par un microprocesseur et comportant une ou plusieurs séquence d'instructions est apte à mettre en oeuvre les procédés selon l'invention. 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 mode de réalisation d'un dispositif mettant en 25 oeuvre l'invention, - la figure 2 représente un dispositif de codage selon l'invention et un dispositif de décodage correspondant, - la figure 3 représente un mode de réalisation de procédé de codage selon l'invention, 3 0 - la figure 4 représente un modèle d'amplitude utilisé selon la présente invention, 2846834 - la figure 5 représente un premier mode de réalisation de codage d'emplacements de coefficients mis en oeuvre selon l'invention, - la figure 6 représente un exemple de signal à traiter selon l'invention, - la figure 7 représente un exemple de signal à traiter selon l'invention, - la figure 8 représente un exemple de parcours à coder selon l'invention, les figures 9 et 10 représentent une réduction de vecteur mise en 10 oeuvre selon l'invention, - la figure 11 représente un second mode de réalisation de codage d'emplacements de coefficients mis en oeuvre selon l'invention, - la figure 12 représente un exemple de parcours à coder selon l'invention, - les figures 13 et 14 représentent une réduction de vecteur mise en oeuvre selon l'invention, - la figure 15 représente un mode de réalisation de procédé de décodage selon l'invention, - la figure 16 représente un premier mode de réalisation de 2o décodage d'emplacements de coefficients mis en oeuvre selon l'invention, - la figure 17 représente un second mode de réalisation de codage d'emplacements de coefficients mis en oeuvre selon l'invention. Selon le mode de réalisation choisi et représenté à la figure 1, un 25 dispositif mettant en oeuvre l'invention est par exemple un microordinateur 10 connecté à différents périphériques, par exemple une caméra numérique 107 (ou un 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 30 à un réseau 113 apte à transmettre des données numériques à traiter ou inversement à transmettre des données traitées par le dispositif. Le dispositif 10 comporte également un moyen de stockage 108 tel que par exemple un disque dur. Il comporte aussi un lecteur 109 de disque 110. Ce disque 110 peut être une disquette, un CD-ROM ou un DVD-ROM, par exemple. Le disque 110 comme le disque 108 peuvent contenir des données traitées selon l'invention ainsi que le ou les programmes mettant en oeuvre l'invention qui, une fois lu par 5 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 102 (appelée ROM sur le dessin). 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 10 113. Le dispositif 10 est relié à un microphone 111. 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 données à traiter ou de servir d'interface avec l'utilisateur qui peut ainsi 15 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 sur le dessin) exécute les instructions relatives à la mise en oeuvre de l'invention, instructions stockées dans la mémoire morte 102 ou dans les autres éléments de stockage. Lors de 2 0 la mise sous tension, les programmes de traitement stockés dans une mémoire 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 des registres pour mémoriser les variables nécessaires à la mise en oeuvre de l'invention. De manière plus générale, un moyen de stockage d'information, lisible par un ordinateur ou par un microprocesseur, intégré ou non au dispositif, éventuellement amovible, mémorise un programme mettant en oeuvre le procédé selon l'invention. Le bus de communication 101 permet la communication entre les 30 différents éléments inclus dans le micro-ordinateur 10 ou relié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 élément du micro- ordinateur 10 directement ou par l'intermédiaire d'un autre élément du microordinateur 10. En référence à la figure 2, un mode de réalisation de dispositif de 5 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, qui est par exemple un appareil photographique numérique, un caméscope numérique, un scanner, une imprimante, un photocopieur, un télécopieur, un système de gestion de base de données ou encore un ordinateur. Une source d'image 1 fournit une image numérique IM1 au dispositif de codage 2, dont le fonctionnement sera détaillé dans la suite. Le codage inclut la détermination d'un parcours parmi les échantillons de l'ensemble. Le dispositif de codage comporte un circuit de transformation 21 relié à un circuit de calcul de modèle d'amplitude et de calcul d'un parcours 22. Le is circuit de transformation 21 délivre une image transformée au circuit 22. Le circuit 22 est relié à un circuit 23 de codage qui réalise un codage entropique du parcours précédemment déterminé. Le fonctionnement du dispositif de codage sera détaillé dans la suite. La détermination d'un parcours parmi les données à coder, objet de la 20 présente invention, sera plus particulièrement détaillée. Le dispositif de codage fournit un fichier contenant des données représentant l'image compressée à des moyens de transmission et/ou de mémorisation 3. Ces moyens sont classiques et ne seront pas décrits ici. Les moyens 3 sont reliés à un dispositif de décodage 4 dont le 25 fonctionnement sera détaillé dans la suite. Le dispositif de décodage comporte un circuit 41 de décodage entropique des données qu'il reçoit. Le circuit 41 est relié à un circuit 42 de décodage du modèle d'amplitude et du parcours, qui associe une amplitude à chaque emplacement 3 o décodé. Le circuit 42 est relié à un circuit 43 de transformation inverse qui fournit une image décodée IM2 à un dispositif 5 de visualisation d'image. Il est à noter que le dispositif de codage et le dispositif de décodage peuvent être intégrés dans un même appareil, par exemple l'ordinateur 10 de la figure 1. La figure 3 représente un mode de réalisation de procédé de codage d'une image, selon l'invention. Ce procédé est mis en oeuvre dans le dispositif de codage et comporte des étapes El à E7. Le procédé comporte globalement une transformation du signal à 10 coder, puis la détermination d'un modèle d'amplitude des coefficients issus de la transformation. Les emplacements de ces coefficients sont ensuite codés selon une méthode qui utilise un parcours établi parmi les coefficients. Un tel procédé de codage est décrit par exemple dans la demande de brevet français n' 01 06933. Le procédé est réalisé sous la forme d'un algorithme qui 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 20 comporter une bande magnétique, une disquette ou un CD-ROM (disque compact à mémoire figée). L'étape El est une transformation linéaire ou non linéaire d'une image numérique IM1 à traiter selon l'invention. Dans le mode préféré de réalisation de l'invention, l'image est 25 découpée en blocs puis une transformation en cosinus discrète (DCT) est appliquée à chaque bloc, telle que celle appliquée dans la norme JPEG. En variante, une autre transformation est utilisée, par exemple une transformation en ondelettes discrète, comme dans la norme JPEG2000. Le traitement suivant est réalisé bloc par bloc. En variante, le 3 o traitement peut être appliqué globalement à toute l'image. L'étape suivante E2 est une initialisation à laquelle est considéré un premier bloc. L'étape suivante E3 est un classement des coefficients du bloc courant par amplitude décroissante. Le résultat est une liste P de coefficients. L'étape suivante E4 est la détermination d'un modèle d'amplitude. Pour cela, une fonction d'approximation de la suite des coefficients classés est 5 déterminée. Cette fonction est par exemple une exponentielle décroissante définie par un jeu de paramètres qui sont déterminés par régression. La demande de brevet français no 01 06933 décrit en détail cette étape. La figure 4 représente un exemple de modèle d'amplitude A. A 10 chaque valeur entière k en abscisse correspond une valeur A(k) fournie par le modèle d'amplitude. La valeur A(k) est une approximation de l'amplitude du kOme coefficient classé par ordre décroissant. L'étape suivante E5 est le codage des emplacements des 15 coefficients du bloc courant. Deux modes de réalisation de cette étape sont détaillés dans la suite. L'étape suivante E6 est un test pour déterminer si le bloc courant est le dernier bloc de l'image à coder. Si la réponse est négative, cette étape est suivie de l'étape E7 à laquelle un bloc suivant est considéré. L'étape E7 est suivie de l'étape E3 précédemment décrite. Si la réponse est positive à l'étape E6, alors le codage de l'image est terminé. Le premier mode de réalisation de l'étape E5 de codage des emplacements des coefficients du bloc courant est détaillé à la figure 5 sous la forme d'un algorithme comportant des étapes E50 à E67. L'étape E50 est une transformation du signal bi-dimensionnel et un 30 signal mono-dimensionnel. Pour cela, le bloc B est parcouru selon un ordre en zig-zag. Comme représenté à la figure 6, dans le bloc B à 8x8 coefficients, on considère les diagonales de coefficients orientées d'en bas à gauche vers en haut à droite. Le parcours commence en haut à gauche. Les diagonales sont parcourues soit d'en bas à gauche vers en haut à droite, soit dans le sens inverse. Pour une diagonale donnée, le sens de parcours est le sens opposé à celui de la diagonale précédente. En suivant ce sens de parcours, les coefficients sont rangés dans un vecteur V à une dimension contenant 64 coefficients. En variante, comme représenté à la figure 7, le bloc B est parcouru ligne par ligne, de gauche à droite et de haut en bas, pour former un signal monodimensionnel. L'étape suivante E51 est la détermination d'un parcours dans le vecteur V. Un parcours est déterminé par un coefficient initial et la liste des vecteurs joignant les autres coefficients. Chaque coefficient du parcours différent du coefficient initial est représenté par un vecteur décrivant son 15 emplacement par rapport au coefficient précédent dans le parcours. Il est à noter que le parcours ne passe pas forcement par tous les coefficients du vecteur courant. En effet, il est possible de ne coder qu'une partie des coefficients et de mettre les autres coefficients à la valeur zéro lors du décodage ultérieur. Par exemple, la figure 8 représente un parcours comportant dix coefficients dont les emplacements x1 à x10 sont reliés par neuf vecteurs V1 à V9. On considère dans la suite les emplacements {x1, x2,..., x4} de coefficients dans le vecteur V, o n est un entier égal au nombre de coefficients 25 du parcours. L'étape suivante E52 est une initialisation à laquelle un paramètre binaire de codage ACx est associé à chacun des emplacements x du vecteur V. Tous les paramètres de codage ACx sont mis à la valeur zéro à l'étape E52. Dans la suite du traitement, le paramètre de codage ACx vaut zéro si 30 l'emplacement x n'a pas déjà été codé, et vaut un à partir du moment o l'emplacement x est codé. L'étape suivante E53 est un codage du premier emplacement x, du parcours. Le paramètre ACx, qui lui est associé est mis à la valeur un. L'étape suivante E54 est une initialisation à laquelle un paramètre i est initialisé à la valeur un. A l'étape suivante E55, on considère le vecteur Vi = xi+, - x;. Un paramètre d'emplacement x est mis à la valeur xi. L'étape suivante E56 est un test pour déterminer si le vecteur V courant est orienté dans un sens ou dans l'autre. On considère par exemple un axe de coordonnées dont l'origine est en x,. Selon cet axe, le vecteur V, (figure 1o 8) est positif tandis que le vecteur V2 est négatif. Lorsque le vecteur V, courant est positif, l'étape E56 est suivie de l'étape E57 à laquelle le paramètre d'emplacement x est incrémenté de une unité, pour considérer l'emplacement immédiatement à droite de l'emplacement courant. L'étape suivante E58 est un test pour déterminer si le paramètre de codage de l'emplacement x vaut un, c'est-à-dire si l'emplacement x a déjà été codé. Si la réponse est positive, alors l'étape E58 est suivie de l'étape E59 à laquelle la valeur du vecteur courant V, est décrémentée de une unité, de 20 manière à " sauter " l'emplacement déjà codé. Si la réponse est négative à l'étape E58, cette étape est suivie de l'étape E60. De même, l'étape E59 est suivie de l'étape E60. L'étape E60 est un test pour déterminer si la valeur courante du paramètre d'emplacement x est égale à xi1,. Si la réponse est négative, cela signifie que tous les emplacements entre les positions xi et xi,, n'ont pas encore été considérés. L'étape E60 est alors suivie de l'étape E57 précédemment décrite. Si la réponse est positive à l'étape E60, cela signifie que tous les emplacements entre les positions xi et xi,, ont été testés pour savoir s'ils ont 30 déjà été codés ou non. La longueur du vecteur V, a été réduite du nombre d'emplacements déjà codés rencontrés. Lorsque le vecteur Vi courant est négatif, l'étape E56 est suivie de l'étape E61 à laquelle le paramètre d'emplacement x est décrémenté de une unité, pour considérer l'emplacement immédiatement à gauche de l'emplacement courant. L'étape suivante E62 est un test pour déterminer si le paramètre de codage de l'emplacement x vaut un, c'est-à-dire si l'emplacement x a déjà été codé. Si la réponse est positive, alors l'étape E62 est suivie de l'étape E63 à laquelle la valeur du vecteur courant Vi est incrémentée de une unité, de 10 manière à " sauter " l'emplacement déjà codé. Si la réponse est négative à l'étape E62, cette étape est suivie de l'étape E64. De même, l'étape E63 est suivie de l'étape E64. L'étape E64 est un test pour déterminer si la valeur courante du paramètre d'emplacement x est égale à x,.+. Si la réponse est négative, cela signifie que tous les emplacements entre les positions xi et xi+1 n'ont pas encore été considérés. L'étape E64 est alors suivie de l'étape E61 précédemment décrite. Si la réponse est positive à l'étape E64, cela signifie que tous les emplacements entre les positions x; et xi,, ont été testés pour savoir s'ils ont 20 déjà été codés ou non. La longueur du vecteur Vi a été réduite du nombre d'emplacements déjà codés rencontrés. Les étapes E60 et E64 sont suivies de l'étape E65 qui est le codage entropique du vecteur V, courant. Le paramètre de codage ACxi+, de l'emplacement x+,1 est mis à la 25 valeur un. L'étape suivante E66 est un test pour déterminer si le paramètre i vaut n-1, c'est-à-dire si tous les vecteurs à coder ont été traités. Si la réponse est négative, alors l'étape E66 est suivie de l'étape E67 à laquelle le paramètre i est incrémenté de une unité pour considérer un 30 vecteur suivant. L'étape E67 est suivie de l'étape E55 précédemment décrite. Lorsque la réponse est positive à l'étape E66, le codage du parcours selon l'invention est terminé. La figure 9 représente l'application de la réduction de vecteur selon le premier mode de réalisation de l'invention. Le vecteur Vi déterminé à l'étape E55 a une longueur de cinq emplacements entre les emplacements x; et xi+,. Trois des emplacements entre x1 et x+, 1 ont déjà été codés et sont représentés par des croix. Le traitement du vecteur V, a pour résultat de diminuer la longueur de ce vecteur de trois, pour sauter les emplacements déjà codés. Le vecteur résultant V'1 a une longueur de deux emplacements correspondant à l'emplacement intermédiaire non déjà codé et à l'emplacement de xi,,. La figure 10 représente l'application de la réduction de vecteur aux vecteurs de la figure 8. L'amplitude totale des vecteurs est de 33 avant le traitement selon l'invention. Elle est de 28 grâce à l'invention. Les vecteurs sont plus courts, ce qui réduit l'information à 15 transmettre ce qui correspond à un gain en compression. Le second mode de réalisation de l'étape E5 de codage des emplacements des coefficients du bloc courant est détaillé à la figure Il sous la forme d'un algorithme comportant des étapes E500 à E515. L'étape E500 est la détermination d'un parcours dans le bloc courant. De manière analogue au premier mode de réalisation, un parcours est déterminé par un coefficient initial et la liste des vecteurs joignant les autres coefficients. Chaque coefficient du parcours différent du coefficient initial est 25 représenté par un vecteur décrivant son emplacement par rapport au coefficient précédent dans le parcours. Il est à noter que le parcours ne passe pas forcement par tous les coefficients du bloc courant. En effet, il est possible de ne coder qu'une partie des coefficients et de mettre les autres coefficients à la valeur zéro lors du décodage ultérieur. Par exemple, la figure 12 représente un parcours comportant six coefficients dont les emplacements sont reliés par cinq vecteurs V, à V5. Les emplacements des coefficients du parcours sont repérés par leurs coordonnées (x1, y1), (x2, y2),..., (x6, y6) dans un repère de l'espace à deux dimensions. On considère dans la suite les emplacements {(x1, y1), (x2, Y2)..., (xn, yJ)} de coefficients dans le bloc courant, o n est un entier égal au nombre de coefficients du parcours. L'étape suivante E501 est une initialisation à laquelle un paramètre binaire de codage ACxy est associé à chacun des emplacements (x, y) du bloc courant. Tous les paramètres de codage ACxy sont mis à la valeur zéro à l'étape E501. Dans la suite du traitement, le paramètre de codage ACxy vaut zéro si l'emplacement (x, y) n'a pas déjà été codé, et vaut un à partir du moment o l'emplacement (x, y) est codé. L'étape suivante E502 est un codage du premier emplacement (x1, y1) du parcours. Le paramètre ACx1,1 qui lui est associé est mis à la valeur un. L'étape suivante E503 est une initialisation à laquelle un paramètre i est initialisé à la valeur un. L'étape suivante E504 est un test pour déterminer si la coordonnée x1 est supérieure à la coordonnée y,. Si la réponse est négative, alors l'étape E504 est suivie de l'étape 20 E505 qui est un test pour déterminer si la coordonnée xi,1 est supérieure à la coordonnée x;. Si la réponse est positive à l'étape E504, alors l'étape E504 est suivie de l'étape E506 qui est un test pour déterminer si la coordonnée y,+1 est supérieure à la coordonnée y1. Lorsque la réponse est positive à l'étape E505, cette étape est suivie de l'étape E507 à laquelle le vecteur courant V, est décomposé en deux vecteurs X, et Yi. Le vecteur Xi est égal à: xi+1 - x, et le vecteur Y, est égal à: Yij1 yi. L'étape suivante E508 est la réduction du vecteur Xi. Cette réduction 30 est similaire à la réduction d'un vecteur monodimensionnel décrite dans le premier mode de réalisation. Le vecteur monodimensionnel qui est considéré ici est entre les points (x;, y,+,) et (x1+1, y,+,. Lorsque la réponse est négative à l'étape E505 ou lorsque la réponse est positive à l'étape E506, cette étape est suivie de l'étape E509 à laquelle le vecteur courant Vi est décomposé en deux vecteurs Xi et Y,. Le vecteur X, est égal à: xi+1 - xi et le vecteur Y, est égal à: yi1 - Yi. L'étape suivante E510 est la réduction du vecteur Yi. Cette réduction est similaire à la réduction d'un vecteur monodimensionnel décrite dans lepremier mode de réalisation. Le vecteur monodimensionnel qui est considéré ici est entre les points (x+,, yj) et (xj+1, y+,). Lorsque la réponse est négative à l'étape E506, cette étape est 10 suivie de l'étape E511 à laquelle le vecteur courant V; est décomposé en deux vecteurs X1 et Yi. Le vecteur Xi est égal à: x+,1 - xi et le vecteur Y, est égal à: yi+1 Yi. L'étape suivante E512 est la réduction du vecteur X,. Cette réduction est similaire à la réduction d'un vecteur monodimensionnel décrite dans le 15 premier mode de réalisation. Le vecteur monodimensionnel qui est considéré ici est entre les points (xi, yi+1) et (xi+1, Yj+i,). Les étapes E508, E510 et E512 sont suivies de l'étape E513 qui est le codage entropique du vecteur Vi courant. Le paramètre de codage AC,+,ly4+1 de l'emplacement (xi+,, y+1) est mis 20 à la valeur un. L'étape suivante E514 est un test pour déterminer si le paramètre i vaut n-1, c'est-à-dire si tous les vecteurs à coder ont été traités. Si la réponse est négative, alors l'étape E514 est suivie de l'étape E515 à laquelle le paramètre i est incrémenté de une unité pour considérer un 25 vecteur suivant. L'étape E515 est suivie de l'étape E504 précédemment décrite. Lorsque la réponse est positive à l'étape E514, le codage du parcours selon l'invention est terminé. La figure 13 représente l'application de la réduction de vecteur selon le second mode de réalisation de l'invention. Le vecteur V, déterminé à l'étape E500 s'étend entre les emplacements (x;, y,) et (xi+1, yi+.. Les emplacements déjà codés sont représentés par des croix. Le vecteur V, est décomposé en deux vecteurs Xi et Y,. Dans le cas représenté, c'est le vecteurXi qui est réduit (étape E512). Le vecteur résultant V' a une longueur diminuée par rapport au vecteur Vi d'origine. La figure 14 représente l'application de la réduction de vecteur aux 10 vecteurs de la figure 12. L'amplitude totale des vecteurs est de 15,65 avant traitement selon l'invention et de 14,13 après traitement. Les amplitudes ont été mesurées en distance euclidienne. Les vecteurs sont plus courts, ce qui réduit l'information à 15 transmettre ce qui correspond à un gain en compression. La figure 15 représente un mode de réalisation de procédé de décodage de données préalablement codées selon le procédé de la figure 3. Ce procédé est mis en oeuvre dans le dispositif de décodage et 20 comporte des étapes E20 à E27. Le procédé est réalisé sous la forme d'un algorithme qui 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 25 intégré ou non au dispositif, et peut être amovible. Par exemple, il peut comporter une bande magnétique, une disquette ou un CD-ROM (disque compact à mémoire figée). L'étape E20 est une initialisation à laquelle les données de codage du premier bloc sont considérées. L'étape suivante E21 est le décodage du modèle d'amplitude. Le résultat est le modèle d'amplitude des coefficients du bloc courant. L'étape E20 est également suivie de l'étape E22 qui est le décodage des coordonnées des coefficients. Ce décodage est détaillé dans la suite. Le parcours est décodé pour fournir les emplacements des coefficients dans le bloc décodé. Les étapes E21 et E22 sont suivies de l'étape E23 qui est l'association d'une amplitude à chaque emplacement décodé. Pour cela, pour chaque emplacement de coefficient déterminé à l'étape E22, une valeur fournie par le modèle d'amplitude est attribuée à cet emplacement. L'emplacement du kème coefficient décodé reçoit la kème composante du vecteur de code constituant 10 le modèle d'amplitude. L'étape suivante E24 est la mise à zéro des emplacements du bloc qui n'étaient pas dans le parcours. Le résultat des étapes E23 et E24 est un bloc B'. * L'étape suivante E25 est une transformation DCT inverse du bloc B' 15 obtenu à l'étape précédente. L'étape suivante E26 est un test pour déterminer si le bloc courant est le dernier bloc à décoder. Si la réponse est négative, cette étape est suivie de l'étape E27 à laquelle un bloc suivant est considéré. L'étape E27 est suivie des étapes E21 2 0 et E22 précédemment décrites. Si la réponse est positive à l'étape E26, alors le décodage de l'image est terminé. Un premier mode de réalisation de l'étape E22 de décodage du 25 parcours est détaillée en référence à la figure 16 sous la forme d'un algorithme comportant des étapes E220 à E236. Il s'agit du cas o le parcours est formé dans un vecteur mono-dimensionnel. L'étape E220 est une initialisation à laquelle un paramètre binaire de décodage AD, est associé à chacun des emplacements x du vecteur 30 monodimensionnel bloc courant. Tous les paramètres de décodage ADx sont mis à la valeur zéro à l'étape E220. Dans la suite du traitement, le paramètre de décodage AD, vaut zéro si l'emplacement x n'a pas déjà été décodé, et vaut un à partir du moment o l'emplacement x est décodé. L'étape suivante E221 est un décodage du premier emplacement x1 du parcours. Le paramètre ADx1 qui lui est associé est mis à la valeur un. L'étape suivante E222 est une initialisation à laquelle un paramètre i est initialisé à la valeur un. A l'étape suivante E223, le vecteur V, est décodé. On considère l'emplacement xi1, = Vi + xi. Un paramètre d'emplacement x est mis à la valeur 10 xi. L'étape suivante E224 est un test pour déterminer si le vecteur V courant est orienté dans un sens ou dans l'autre. On considère par exemple un axe de coordonnées dont l'origine est en x1. Ainsi, comme pour le codage, on teste ici si le vecteur V, est positif ou négatif. Lorsque le vecteur V; courant est positif, l'étape E224 est suivie de l'étape E225 à laquelle le paramètre d'emplacement x est incrémenté de une unité, pour considérer l'emplacement immédiatement à droite de l'emplacement courant. L'étape suivante E226 est un test pour déterminer si le paramètre de 20 décodage de l'emplacement x vaut un, c'est-à-dire si l'emplacement x a déjà été décodé. Si la réponse est positive, alors l'étape E226 est suivie de l'étape E227 à laquelle la valeur de l'emplacement xi,1 est incrémentée de une unité, de manière à " sauter " l'emplacement déjà décodé. Si la réponse est négative à l'étape E226, cette étape est suivie de l'étape E228. De même, l'étape E227 est suivie de l'étape E228. L'étape E228 est un test pour déterminer si la valeur courante du paramètre d'emplacement x est égale à xi+1. Si la réponse est négative, cela signifie que tous les emplacements 30 entre les positions x; et xi+1 n'ont pas encore été considérés. L'étape E228 est alors suivie de l'étape E225 précédemment décrite. 1 9 2846834 Si la réponse est positive à l'étape E228, cela signifie que tous les emplacements entre les positions xi et xi+, ont été testés pour savoir s'ils ont déjà été décodés ou non. L'emplacement du coefficient xi1. a été déduit à partir de l'emplacement x; et du vecteur réduit Vi, en tenant compte des emplacements déjà décodés rencontrés. Lorsque le vecteur V, courant est négatif, l'étape E224 est suivie de l'étape E229 à laquelle le paramètre d'emplacement x est décrémenté de une unité, pour considérer l'emplacement immédiatement à gauche de 10 l'emplacement courant. L'étape suivante E230 est un test pour déterminer si le paramètre de décodage de l'emplacement x vaut un, c'est-à-dire si l'emplacement x a déjà été décodé. Si la réponse est positive, alors l'étape E230 est suivie de l'étape 15 F231 à laquelle la valeur de l'emplacement xi,, est décrémentée de une unité, de manière à " sauter " l'emplacement déjà décodé. Si la réponse est négative à l'étape E230, cette étape est suivie de l'étape E232. De même, l'étape E231 est suivie de l'étape E232. L'étape E232 est un test pour déterminer si la valeur courante du 2 0 paramètre d'emplacement x est égale à xi+1. Si la réponse est négative, cela signifie que tous les emplacements entre les positions x; et x.,, n'ont pas encore été considérés. L'étape E232 est alors suivie de l'étape E229 précédemment décrite. Si la réponse est positive à l'étape E232, cela signifie que tous les 25 emplacements entre les positions xi et xi1, ont été testés pour savoir s'ils ont déjà été décodés ou non. L'emplacement du coefficient xi,1 a été déduit à partir de l'emplacement xi et du vecteur réduit Vi, en tenant compte des emplacements déjà décodés rencontrés. Les étapes E228 et E232 sont suivies de l'étape E233 à laquelle le paramètre de décodage AD,,+, de l'emplacement x+1i est mis à la valeur un. L'étape suivante E234 est un test pour déterminer si le paramètre i vaut n-1, c'est-à-dire si tous les vecteurs à décoder ont été traités. Si la réponse est négative, alors l'étape E234 est suivie de l'étape E235 à laquelle le paramètre i est incrémenté de une unité pour considérer un 5 vecteur suivant. L'étape E235 est suivie de l'étape E223 précédemment décrite. Lorsque la réponse est positive à l'étape E234, cette étape est suivie de l'étape E236 qui est la transformation du vecteur monodimensionnel en un bloc bidimensionnel. Le second mode de réalisation de l'étape E22 de décodage des emplacements des coefficients du bloc courant est détaillé à la figure 17 sous la forme d'un algorithme comportant des étapes E2200 à E221 1. Ce mode de réalisation correspond au cas du codage de vecteurs formés directement dans 15 le bloc de données à deux dimensions. L'étape E2200 est une initialisation à laquelle un paramètre binaire de décodage ADxy est associé à chacun des emplacements (x, y) du bloc courant. Tous les paramètres de décodage ADxy sont mis à la valeur zéro à l'étape E2200. Dans la suite du traitement, le paramètre de décodage ADXY vaut zéro si l'emplacement (x, y) n'a pas déjà été décodé, et vaut un à partir du moment o l'emplacement (x, y) est décodé. L'étape suivante E2201 est un décodage du premier emplacement (x1, y1) du parcours. Le paramètre ADxy1 qui lui est associé est mis à la valeur 25 un. En outre, un paramètre i est initialisé à la valeur un. A l'étape suivante E2202, le vecteur V, est décodé. Le vecteur Vi est composé d'un vecteur Xi et d'un vecteur Y,. On considère l'emplacement (xi+,, yi+1) tel que: xi+i = Xi + Xi. yi+l = Yi + y1. L'étape suivante E2203 est un test pour déterminer si la coordonnée xi est supérieure à la coordonnée yi. Si la réponse est négative, alors l'étape E2203 est suivie de l'étape E2204 qui est un test pour déterminer si la coordonnée x+1i est supérieure à la coordonnée xi. Si la réponse est positive à l'étape E2203, alors l'étape E2203 est suivie de l'étape E2205 qui est un test pour déterminer si la coordonnée yi+, est supérieure à la coordonnée yi. Lorsque la réponse est positive à l'étape E2204, cette étape est 10 suivie de l'étape E2206 à laquelle le vecteur Xi est traité comme un vecteur monodimensionnel (premier mode de réalisation). Le vecteur monodimensionnel qui est considéré ici est formé entre les points (xi, yi+ 1) et (xi+1, yi+,). Après augmentation du vecteur monodimensionnel, la coordonnée xi+1 est alors égale à: xi + Xi. Lorsque la réponse est négative à l'étape E2204 ou lorsque la réponse est positive à l'étape E2205, cette étape est suivie de l'étape E2207 à laquelle le vecteur Y, est traité comme un vecteur monodimensionnel (premier mode de réalisation). Le vecteur monodimensionnel qui est considéré ici est formé entre les points (xi+1, yj) et (x+1, y,+1). Après augmentation du vecteur 2 0 monodimensionnel, la coordonnée yi+1 est alors égale à: y, + Yi. Lorsque la réponse est négative à l'étape E2205, cette étape est suivie de l'étape E2208 à laquelle le vecteur Xi est traité comme un vecteur monodimensionnel (premier mode de réalisation). Le vecteur monodimensionnel qui est considéré ici est formé entre les points (xi, yj+ 1) et 25 (xi+1, yi+1). Après augmentation du vecteur monodimensionnel, la coordonnée xi+1 est alors égale à: x; + Xi. Les étapes E2206, E2207 et E2208 sont suivies de l'étape E2209 à laquelle le paramètre de décodage ADxi+lyi+l de l'emplacement (xj+1, yj+1) est mis à la valeur un. L'étape suivante E2210 est un test pour déterminer si le paramètre i vaut n-1, c'est-à-dire si tous les vecteurs à décoder ont été traités. Si la réponse est négative, alors l'étape E2210 est suivie de l'étape E2211 à laquelle le paramètre i est incrémenté de une unité pour considérer un vecteur suivant. L'étape E2211 est suivie de l'étape E2202 précédemment décrite. Lorsque la réponse est positive à l'étape E2210, le décodage du parcours selon l'invention est terminé. 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, 10 toute variante à la portée de l'homme du métier. REVENDICATIONS 1. Procédé de codage d'un ensemble de données représentatives de grandeurs physiques, le codage comportant la formation (E5) d'un parcours parmi des échantillons de l'ensemble, le parcours passant au maximum une fois par emplacement d'échantillon, caractérisé en ce qu'il comporte, pour deux emplacements 10 d'échantillons successifs donnés (xi, xi+,) du parcours, l'étape de: - formation (E59, E63, E508, E510, E512) d'un vecteur (Vy) entre les deux emplacements d'échantillons, en ne prenant en compte que les emplacements d'échantillons intermédiaires non déjà codés par un vecteur. 2. Procédé selon la revendication 1, l'ensemble de données étant bidimensionnel, caractérisé en ce qu'il comporte la transformation préalable (E50) de l'ensemble de données en un second ensemble de données monodimensionnel. 2 0 3. Procédé selon la revendication 1, l'ensemble de données étant bidimensionnel, caractérisé en ce qu'un vecteur est décomposé en deux vecteurs (E507, E509, E511) et en ce que l'un d'eux est formé (E508, E510, E512) en ne prenant en compte que les emplacements d'échantillons intermédiaires non déjà codés par un vecteur. 25 4. Procédé selon l'une quelconque des revendications 1 à 3, caractérisé en ce que la formation d'un vecteur entre les deux emplacements d'échantillons comporte: - le test (E58, E62) de tous les emplacements intermédiaires entre 3o les deux emplacements d'échantillons pour déterminer s'ils ont déjà été codés, - la réduction (E59, E63) de la longueur du vecteur en fonction du nombre d'emplacements déjà codés. 24 2846834 5. Procédé selon l'une quelconque des revendications 1 à 4, caractérisé en ce que l'ensemble de données est un bloc formé dans un ensemble initial de données. 6. Procédé selon l'une quelconque des revendications 1 à 5, caractérisé en ce que l'ensemble de données est le résultat d'une transformation DCT (El) d'un ensemble initial de données. 7. Procédé de décodage d'un ensemble de données codées par le procédé selon l'une quelconque des revendications 1 à 6, comportant une étape (E22) de décodage de parcours, caractérisé en ce que le décodage du parcours comporte l'étape de: - déduction (E227, E231) de l'emplacement (xi+1) d'un coefficient du i5 parcours en fonction de l'emplacement précédent (xi), du vecteur (V,) entre les deux emplacements et des emplacements déjà décodés. 8. Dispositif de codage d'un ensemble de données représentatives de grandeurs physiques, comportant des moyens (22) de formation d'un 20 parcours parmi des échantillons de l'ensemble, le parcours passant au maximum une fois par échantillon, caractérisé en ce qu'il comporte: - des moyens de formation d'un vecteur (V,) entre deux échantillons successifs donnés du parcours, en ne prenant en compte que les échantillons 25 intermédiaires non déjà codés par un vecteur. 9. Dispositif selon la revendication 8, l'ensemble de données étant bi-dimensionnel, caractérisé en ce qu'il comporte des moyens de transformation préalable de l'ensemble de données en un second ensemble de 30 données mono-dimensionnel. 10. Dispositif selon la revendication 8, l'ensemble de données étant bidimensionnel, caractérisé en ce qu'il est adapté à décomposer un vecteur (Vy) en deux vecteurs (Xi, Yi) et en ce que l'un d'eux est formé en ne prenant en compte que les échantillons intermédiaires non déjà codés par un vecteur. 11. Dispositif selon l'une quelconque des revendications 8 à 10, caractérisé en ce que les moyens de formation d'un vecteur entre les deux emplacements d'échantillons comportent: - des moyens de test de tous les emplacements intermédiaires entre 10 les deux emplacements d'échantillons pour déterminer s'ils ont déjà été codés, - des moyens de réduction de la longueur du vecteur en fonction du nombre d'emplacements déjà codés. 12. Dispositif selon l'une quelconque des revendications 8 à 11, 15 caractérisé en ce qu'il est adapté à traiter un ensemble de données qui est un bloc formé dans un ensemble initial de données. 13. Dispositif selon l'une quelconque des revendications 8 à 12, caractérisé en ce qu'il est adapté à traiter un ensemble de données qui est le 20 résultat d'une transformation DCT d'un ensemble initial de données. 14. Dispositif de décodage d'un ensemble de données codées par le dispositif selon l'une quelconque des revendications 8 à 13, comportant des moyens (42) de décodage de parcours, caractérisé en ce qu'il comporte: des moyens de déduction de l'emplacement d'un coefficient du parcours en fonction de l'emplacement précédent, du vecteur entre les deux emplacements et des emplacements déjà décodés. 15. Dispositif de codage selon l'une quelconque des revendications 30 8 à 13, caractérisé en ce que les moyens de formation d'un vecteur 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. 16. Dispositif de décodage selon la revendication 14, caractérisé en ce que les moyens de déduction sont incorporés dans: - un microprocesseur (100), - une mémoire morte (102) comportant un programme pour traiter 10 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. 17. Appareil de traitement (10) d'une image numérique, caractérisé 15 en ce qu'il comporte des moyens adaptés à mettre en oeuvre le procédé selon l'une quelconque des revendications 1 à 7. 18. Appareil de traitement (10) d'une image numérique, caractérisé en ce qu'il comporte le dispositif selon l'une quelconque des revendications 8 à 20 16.