Brevet FR2896371A1 — publié le 20070720

La présente invention se rapporte au traitement d'une séquence d'images numériques compressée selon un format extensible appelé encore scalable et plus particulièrement à la réduction du temps de traitement d'une telle séquence vidéo selon un tel format extensible, ainsi qu'à la réduction de la taille mémoire utilisée dans le cadre du codage d'une telle séquence vidéo selon un tel format extensible. La propriété d'une séquence vidéo au format extensible est de pouvoir, à partir d'un train binaire unique, extraire et décoder des vidéos selon des caractéristiques différentes en termes de qualité, de fréquence temporelle et/ou de taille de l'image. La future norme SVC, Codage Vidéo Extensible ( Scalable Video Coding en anglais) décrit le processus de codages de séquences vidéo pour la représenter sous un format extensible. En pratique, la norme SVC est développée par le groupe JVT (Joint Video Team), qui réunit les experts de la compression vidéo du groupe MPEG ( Moving Picture Expert Group ) du comité ISO/IEC et les experts vidéo de l'UIT, Union Internationale des Télécommunications. Cette future norme SVC est un amendement de la norme de compression vidéo H.264 destinée à offrir davantage d'extensibilité, ou de scalabilité , aux images numériques d'une séquence vidéo. Plus précisément, la norme SVC fournit une représentation compressée permettant de supporter une extensibilité (scalabilité) selon trois axes différents : scalabilité temporelle, scalabilité spatiale et scalabilité en qualité. En pratique, le nouveau format vidéo SVC permet d'être décodé de manière différente en fonction des capacités et des possibilités du décodeur et des caractéristiques du réseau. Ainsi, à partir d'une vidéo de moyenne résolution (par exemple, de résolution 704x576 pixels, à une fréquence de 60Hz), il est possible de décoder un train binaire correspondant à celui d'un téléphone mobile (par exemple, de résolution 176x144 pixels, à une fréquence de 15hz). De même, à partir d'une image d'une taille donnée et de fréquence temporelle donnée, il est possible de décoder une séquence vidéo en sélectionnant la qualité souhaitée en fonction de la capacité du réseau. Aujourd'hui, la propriété d'extensibilité d'un format vidéo est une propriété qui est de plus en plus importante et répandue dans le domaine du traitement des images d'une séquence vidéo. Toutefois, les procédés de traitement d'images actuels utilisent des techniques qui ont l'inconvénient d'être consommatrices en temps de traitement d'une part et/ou en taille mémoire d'autre part. Le Demandeur s'est posé le problème de fournir un traitement des images numériques d'une séquence vidéo selon un format extensible ayant l'avantage de réduire la taille mémoire utilisée et/ou de réduire le temps de décodage dès la réception des images au niveau du décodeur. La présente invention apporte justement une solution à ce problème. Elle porte ainsi sur un procédé de traitement d'une séquence d'images numériques, dans le cadre d'un codage selon un train binaire comportant des images de sortie, compressées, et organisées selon au moins deux niveaux de hiérarchie temporelle conformément à un format extensible prédéterminé. Selon une définition générale de l'invention, le procédé comprend les étapes suivantes : - obtenir et mémoriser des images d'origine ; - générer des images de sortie, par transformation des images d'origine et/ou d'images intermédiaires et/ou d'images de sortie, dans un premier ordre choisi de sorte que le nombre d'images à mémoriser, simultanément nécessaire pour la transformation des images d'origine en images de sortie, soit minimal. Un tel procédé permet ainsi de minimiser la mémoire requise pour le traitement d'un groupe d'images d'origine au niveau de l'encodeur par rapport aux procédés de traitement de l'art antérieur. En pratique, le traitement entremêle simultanément des images de différents niveaux de hiérarchie temporelle. En pratique, une image de sortie est générée dès que la ou les images du niveau de hiérarchie temporelle inférieur nécessaires à sa génération par transformation sont disponibles, ce qui réduit la taille mémoire et le temps de latence au niveau de l'encodeur. Selon une réalisation, le procédé comprend, après l'étape de génération, une étape de codage des images de sortie. Selon une autre réalisation, l'étape de codage des images de sortie commence avant la fin de l'étape d'obtention de toutes les images d'origine de la séquence, ce qui réduit encore les temps de latence au niveau de l'encodeur. Selon encore une autre réalisation, le procédé comporte en outre une étape d'ordonnancement des images de sortie selon un second ordre choisi. De préférence, le second ordre choisi est adapté à minimiser le délai de décodage ultérieur des images. Selon encore une autre réalisation, la transformation consiste en des opérations de filtrage de type prédiction temporelle et/ou mises à jour. La présente invention a également pour objet un procédé de traitement d'une séquence d'images numériques, dans le cadre d'un décodage d'un train binaire comportant des images de sortie compressées et organisées selon au moins deux niveaux de hiérarchie temporelle conformément à un format extensible prédéterminé. Selon un autre aspect de l'invention, le procédé comprend les étapes suivantes : -décoder des images de sortie compressées selon ledit format extensible et mémoriser les images de sortie ainsi décodées, - générer des images reconstruites de la séquence d'images, par transformation inverse d'images de sortie décodées et/ou d'images intermédiaires, et/ou d'images reconstruites, traitées dans un troisième ordre choisi de sorte que le nombre d'images à mémoriser, simultanément nécessaire pour la transformation inverse des images de sortie en images reconstruites soit minimal. Un tel procédé de traitement permet ainsi de minimiser la mémoire requise pour le traitement d'un groupe d'images de sortie compressées selon un format extensible prédéterminé au niveau du décodeur. Le troisième ordre appliqué pour le traitement dépend de l'ordre des images de sortie compressées à l'entrée du décodeur. Selon une réalisation, le procédé de traitement d'une séquence d'images numériques dans le cadre du décodage comporte une étape préalable d'ordonnancement des images de sortie compressées selon un quatrième ordre choisi. Le quatrième ordre est avantageusement choisi pour minimiser le délai de décodage des images. Cet ordonnancement peut être effectué au niveau du codage sur le dispositif qui effectue le codage, ou par un traitement spécifique du fichier sur un dispositif intermédiaire, ou encore au moment du décodage sur le dispositif qui effectue le décodage. II est particulièrement avantageux de choisir le quatrième ordre identique au second ordre évoqué ci-dessus. De préférence, la génération d'images reconstruites entremêle simultanément des images de différents niveaux de hiérarchie temporelle. Selon une autre réalisation, une image reconstruite est générée dès que la ou les images du niveau de hiérarchie temporelle supérieur nécessaires à sa génération par transformation inverse sont disponibles, ce qui permet de réduire le temps de latence au niveau du décodeur. Selon encore une autre réalisation, l'étape de génération des images reconstruites commence avant la fin de l'étape d'obtention de toutes les images de sortie compressées de la séquence. En pratique, le train binaire est codé selon le format extensible du type SVC. La présente invention a également pour objet un dispositif de traitement pour la mise en oeuvre du procédé de traitement, côté encodeur. Selon un autre aspect de l'invention, le dispositif de traitement, côté encodeur, comprend : - des moyens pour obtenir et mémoriser des images d'origine, et - des moyens pour générer des images de sortie, par transformation d'images d'origine et/ou d'images intermédiaires, et/ou d'images de sortie, dans un premier ordre choisi de sorte que le nombre d'images à mémoriser, simultanément nécessaire pour la transformation des images d'origine en images de sortie, soit minimal. La présente invention a également pour objet un dispositif de traitement pour la mise en oeuvre du procédé de traitement, côté décodeur. Selon un autre aspect de l'invention, le dispositif de traitement, côté décodeur, comprend : - des moyens pour décoder des images de sortie compressées selon ledit format extensible et mémoriser les images de sortie ainsi décodées, - des moyens pour générer des images reconstruites de la séquence d'images, par transformation inverse d'images de sortie décodéeset/ou d'images intermédiaires, et/ou d'images reconstruites, traitées dans un troisième ordre choisi de sorte que le nombre d'images à mémoriser, simultanément nécessaire pour la transformation inverse des images de sortie en images reconstruites soit minimal. La présente invention a également pour objet un support d'informations lisible par un système informatique, éventuellement amovible, totalement ou partiellement, notamment CD-ROM ou support magnétique, tel un disque dur ou une disquette, ou support transmissible, tel un signal électrique ou optique, caractérisé en ce qu'il comporte des instructions d'un programme d'ordinateur permettant la mise en oeuvre du procédé mentionné ci-avant, lorsque ce programme est chargé et exécuté par un système informatique. La présente invention a enfin pour objet un programme d'ordinateur stocké sur un support d'informations, ledit programme comportant des instructions permettant la mise en oeuvre du procédé mentionné ci-avant, lorsque ce programme est chargé et exécuté par un système informatique. La présente invention confère de nombreux avantages. En premier lieu, la taille mémoire peut être minimisée à la fois à l'encodage et au décodage lors de l'obtention des différentes versions temporelles de la séquence vidéo. Par exemple, pour un groupe d'images de taille 16, 8 images peuvent suffire dans la mémoire tampon pour traiter/compresser les différentes versions temporelles de ces 16 images. En second lieu, les images dans le train binaire de la vidéo sont organisées de telle manière que le décodage d'un groupe d'images peut démarrer sans attendre le décodage de toutes les images dudit groupe d'images. Ainsi, l'invention permet de réduire les délais entre le décodage et l'affichage. Cette réduction est notamment opérationnelle au niveau des délais entre l'encodage et le décodage induits par le traitement d'un groupe d'images dans les applications temps réel comme la visioconférence ou la vidéosurveillance. L'invention permet également de réduire la complexité calculatoire constatée dans les décodages de l'art antérieur selon lesquels aucun traitement n'est entrepris tant que la dernière image du dernier niveau n'est pas calculée. 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 schématiquement un organigramme illustrant les étapes principales du procédé selon l'invention ; - la figure 2 représente schématiquement les différentes versions temporelles et spatiales d'une séquence vidéo ; - la figure 3 représente schématiquement la génération des versions temporelles pour une résolution spatiale donnée selon la technique de filtrage temporel compensé en mouvement au niveau de l'encodeur ; - les figures 4A et 4B représentent schématiquement des ordres d'arrangement du train binaire vidéo selon l'art antérieur et selon l'invention ; - la figure 5 illustre la technique de filtrage temporel compensé en mouvement inverse réalisée au niveau du décodage selon l'invention ; - les figures 6A et 6B représentent respectivement l'ordre K des images au niveau de l'encodage et l'ordre M des images nécessaires au niveau du décodage selon l'invention ; et - la figure 7 représente schématiquement les éléments du dispositif permettant de mettre en oeuvre le procédé selon l'invention. En référence à la figure 1, on a décrit les différentes étapes du procédé selon l'invention. Dans un premier temps (étape El), des images d'origine de la séquence d'images numériques sont mises dans une mémoire tampon (étape E2). On note que c'est cette mémoire tampon que l'on minimise pour le traitement au niveau de l'encodeur. Les images des différents niveaux de hiérarchie temporelle sont ensuite générées lors de l'étape E3. La figure 3, décrite ci-après, donne un exemple détaillé de la méthode pour la génération, selon l'invention, des images des différents niveaux hiérarchiques temporels. Cette méthode met en oeuvre un traitement selon un premier ordonnancement qui permet de minimiser le nombre d'images nécessaires simultanément dans la mémoire tampon. Les images ainsi produites sont ensuite codées lors de l'étape E4. Les moyens de codage sont classiques et font appel aux techniques de filtrage temporel compensé en mouvement couplées à des codages d'erreur de prédiction largement connues de l'homme du métier. Le procédé consiste ensuite à réorganiser l'ordre des images du train binaire vidéo ( bitstream ) lors de l'étape E5, selon un second ordre choisi pour minimiser le délai de traitement au décodeur. A noter que cette étape E5 peut être mise en oeuvre au niveau de l'encodeur, au niveau du décodeur ou encore au niveau d'un noeud du réseau situé entre le codeur et le décodeur. L'étape E6 consiste ensuite à faire le décodage des images dans l'ordre imposé lors de l'étape E5. L'étape E8 permet de restituer les différentes versions hiérarchiques temporelles de la séquence vidéo en utilisant une mémoire tampon (étape E7). L'une des méthodes de génération des images reconstruites est décrite en référence à la figure 5. Lors de l'étape E9, on affiche la séquence vidéo ainsi obtenue après décodage. Au niveau de l'affichage, l'utilisateur peut sélectionner la résolution temporelle qu'il souhaite visualiser. En référence à la figure 2, on a représenté schématiquement différentes versions hiérarchiques temporelles et spatiales que l'on peut obtenir 5 avec la norme SVC. Par exemple, à partir d'une séquence vidéo SV au format de télévision, c'est-à-dire originellement composée de 60 images (704x576 pixels) par seconde. Il est possible de construire (et par la suite d'extraire), pour une même résolution spatiale RS1 égale à 704x576, différentes versions 10 temporelles dyadiques : 30 Hz (RS1-30), 15 Hz, 7, 5 Hz. Le nombre de versions est choisi par l'utilisateur au moment de l'encodage. De la même manière, il est possible de choisir un certain nombre de versions spatiales représentées par RS2 et RS3. A partir de la résolution RS1 (704x576 pixels), il est ainsi possible de construire les résolutions spatiales 15 inférieures suivantes: RS2 (352x288 pixels), RS3 (176x144 pixels). De la même manière, la détermination du nombre de versions temporelles se fait au moment de l'encodage. Les techniques utilisées dans SVC permettent ainsi de combiner les aspects spatiaux et temporels pour fournir, par exemple, au niveau de 20 l'encodage une vidéo 352x288 à 7,5 Hz. En référence à la figure 3, on a décrit la génération des versions temporelles pour une résolution spatiale donnée. La figure 3 représente de façon schématique un outil permettant de générer les versions temporelles d'une résolution spatiale donnée. L'outil mis 25 en oeuvre ici est le filtrage temporel compensé en mouvement, appelé encore MCTF pour Motion Compensated Temporal Filtering en anglais et largement connu par l'homme du métier. D'autres techniques similaires et connues de l'homme de l'art pourraient être aussi utilisées pour la construction de ces versions temporelles comme la technique des images B 30 hiérarchiques Le principe général du filtrage MCTF comporte deux étapes : la prédiction et la mise à jour. Le filtrage MCTF est une représentation multi- résolution dans la dimension temporelle d'un groupe d'images. Une transformation en ondelettes dans la direction temporelle est effectuée. Chaque étage de décomposition consiste en un filtrage passe-haut, puis un filtrage passe-bas d'un groupe d'images. Le filtrage MCTF fournit donc un ensemble d'images de détail temporel passe-haut Hns et un ensemble d'images d'approximation passe-bas Ln,X La succession de ces niveaux (dans l'exemple de la figure 3, le nombre de niveaux est égal à 4) ou étapes de décomposition fournit donc une représentation multi-résolution au sens temporel du groupe d'images considéré. L'étape de génération des images passe-haut est appelée prédiction (prediction step en anglais), et l'étape de génération des images passe-bas est appelée mise à jour (update step en anglais). Cette méthode de filtrage en ondelettes est représentée ici par un schéma en lifting bien connu par l'homme du métier. Cette implémentation permet d'effectuer les opérations de filtrage en place , c'est-à-dire que les pixels traités remplacent les pixels précédents dans les différentes images. Aucune mémoire additionnelle n'est donc nécessaire pour faire les calculs de filtrage. En référence à la figure 3, les images d'origine du groupe d'images numériques appelé aussi Group Of Picture (GOP) sont schématiquement représentées par les notations I1 à 116. Sur la figure 3 est également représentée l'image 10, qui fait partie du groupe d'images précédent. On l'utilise pour référence de traitement, mais elle n'est pas modifiée. Dans l'étape de prédiction (H), les images impaires sont d'abord compensées en mouvement en considérant l'image immédiate future et l'image immédiate passée. Par exemple, pour chaque bloc Bi de l'image Il, on recherche le meilleur bloc dans les images IO et 12 qui correspond le mieux selon une mesure d'erreur choisie. Le filtrage MCTF consiste ensuite à remplacer les valeurs du bloc Bi par l'erreur entre le bloc Bi initial et la moyenne des deux blocs retenus dans les images 10 et 12. De cette manière, sur l'ensemble du groupe d'images (GOP), les images H1,; représentent des images d'erreur après compensation de mouvement effectué sur tous les blocs des images impaires. Ces images d'erreur, considérées ici comme des images de sortie, par rapport aux images d'origine, sont ensuite codées. Ensuite, c'est l'étape de mise à jour (L). Dans cette étape, les images paires sont filtrées également par bloc. Les blocs correspondant selon la compensation de mouvement inverse, servent au filtrage pour l'étape de mise à jour. Les images ainsi mises à jour peuvent être assimilées à une moyenne des images d'origine sur une fenêtre temporelle donnée. Les images ainsi mises à jour correspondent aux images L1,21 .On remarque que leur fréquence temporelle est divisée par 2 par rapport aux images originales. Une nouvelle itération du processus de filtrage MCTF peut alors être réalisée sur les images L1,; précédentes, que l'on considère ici comme des images intermédiaires par rapport aux images d'origine et aux images de sortie pour obtenir de nouvelles versions temporelles. On peut continuer ainsi jusqu'à obtenir une seule image L4,16 comme illustré sur la figure 3. Dans l'art antérieur (figure 4A), le traitement des images se fait par niveau temporel N en mémorisant les 16 images du groupe d'images (GOP) dès le début. Cela veut dire que les images Ll,; et H1,; sont traitées dans un premier temps (niveau N = 1), puis ensuite les images L2,; et H2,; (niveau N = 2) et ainsi de suite. Les images de sortie sont ainsi générées classiquement par niveau temporel N : niveau N = 4 : L4,0 ; L4,16 ; H4,8. niveau N = 3 : H3,4 ; H3,12 ; niveau N = 2 : H2,2 ; H2,6 ;H2,10 ;H2,14 ; niveau N = 1 : H1,1 ; H1,3 ; H1,5 ; H1,7 ; H1,9 ; H1,11 ; H1,13 ; H1,15. Selon l'invention, le traitement des différentes versions temporelles du groupe d'images (GOP) est réalisé, au contraire de l'art antérieur, de façon simultanée afin que le nombre nécessaire d'image dans la mémoire soit minimal. Ainsi, dans l'exemple présenté, il est possible de n'utiliser que 8 images en mémoire pour produire les différentes versions temporelles de cette séquence ayant des groupes d'images (GOP) de 16 images. Il est donc possible d'optimiser la mémoire pour traiter un groupe d'images. Ceci a pour conséquence de traiter les images dans un premier ordre particulier (ici RI à R16, figure 4B) afin de minimiser la mémoire. L'ordre de traitement préconisé au niveau de l'encodage est celui représenté par les références R accolées aux images (allant de manière croissante de RI à R17, figure 4B). Cet ordonnancement R a pour conséquence de faire des traitements mêlant les images des différents niveaux de hiérarchie temporelle N. Le principe est de commencer les traitements aussi vite que possible dès que l'on dispose d'une image d'un niveau inférieur afin de réduire la mémoire utile. Par exemple, comme illustré à la figure 3, dès que l'on dispose des images H1,1 H1,3 et H1,5 du niveau de hiérarchie N=1, on peut procéder à la génération de l'image de sortie H2,2 du niveau de hiérarchie N=2. Un des avantages de l'ordre de traitement R proposé est la possibilité de commencer les étapes de codage d'images avant de terminer le processus de génération des différentes versions temporelles. Cela permet de réduire le délai entre les entrées des images dans le codeur et la sortie des images ainsi codées. Comme explicité plus haut sur un exemple, le filtrage est opéré sur tous les blocs de l'image I1 et les blocs correspondant dans l'image IO et dans l'image 12 au sens de la compensation de mouvement. Afin de pouvoir libérer de la mémoire au plus vite, l'opération de filtrage pour une image donnée est décomposée en 2 étapes que l'on nomme coté gauche et coté droit dans les opérations ci-dessous. Ainsi en reprenant l'exemple du filtrage de l'image I1, on effectue d'abord les opérations de filtrage seulement avec l'image 10 ( coté gauche ) : le résultat du filtrage est mis dans l'image I1 et dans un second temps, on filtre à nouveau l'image Il ( coté droit ) avec l'image 12 dont le résultat final est mis dans l'image I1. C'est dans la suite du traitement que la séparation en 2 étapes et le traitement des images dans un certain ordre permet de minimiser l'espace mémoire requis pour traiter un groupe d'images (GOP). Pour mieux comprendre le schéma de la figure 3, on a listé ci-après les différentes opérations de filtrage et d'écriture dans la mémoire tampon. Cette liste d'opérations, en annexe Al, donne également les mouvements d'entrée et de sortie des images dans cette mémoire tampon ainsi que l'évolution de sa taille. Les figures 4A et 4B illustrent deux ordres d'arrangement du train binaire vidéo. Le premier ordre d'arrangement, figure 4A, est celui classiquement fournit par un codeur SVC de l'art antérieur. Comme vu ci-avant, l'ordre tel que décrit en référence à la figure 4A montre que dans l'art antérieur chaque niveau temporel N est traité de façon indépendante, les uns à la suite des autres, ce qui nécessite la mise en mémoire de toutes les images du groupe d'images (GOP). Le second ordre d'arrangement R allant de RI à R17 (rangé par ordre croissant), figure 4B, est celui fourni par le procédé selon l'invention tel que décrit en référence à la figure 3. Les images de sortie des niveaux temporels N sont entremêlées de la manière suivante : RI = H1,1 ; R2 = H1,3 ; R3=HI,5;R4=H2,2;R5=H1,7;R6=H1,9;R7=H2,6;R8=H1,11;R9= H1,13; RIO=H2,10; R11 =H1,15; R12=H3,4; R13=H2,14; R14=H3,12; R15=L4,0; R16 = H4,8 ; R17=L4,16. Comme il est nécessaire d'avoir certaines images du niveau inférieur pour encoder une image du niveau supérieur, le procédé consiste à générer les images dès que les images nécessaires (intermédiaires ou de sorties) du niveau inférieur sont traitées et donc disponibles pour être à nouveau traitées. Après génération des images temporelles de sortie, il ne reste plus ensuite qu'à encoder ces images. En référence à la figure 5, on a illustré la transformation MCTF inverse au niveau du décodage. La transformation MCTF inverse consiste à appliquer le processus inverse de la transformation MCTF directe. Les opérations de filtrage inverse sont alors entreprises sur les images décodées. La première étape consiste à faire l'opération de mise à jour inverse, puis l'opération de prédiction inverse. De la même manière que le procédé décrit en référence à la figure 3, il est possible de minimiser la mémoire utile pour réaliser le traitement inverse pour restituer les différentes versions temporelles. Cela a pour conséquence de traiter les images au niveau du décodeur dans un ordre particulier afin de satisfaire cette contrainte. Le principe consiste à traiter les images le plus tôt possible comme au niveau de l'encodeur. Pour cela, l'ordre de traitement indiqué par les références K accolées aux images sur la figure 5 allant de KI à K17 représente le meilleur ordre pour la génération des images décodées. L'ordre K correspond aux images suivantes ; KI = L4,16 ; K2 = H4,8 : K3 = L4,0 ; K4 = H3,4 ; K5= H3,12 ; K6 = H2,2;K7=H2,6;K8=H1,1;K9=H1,3;K10=H1,5;K11 =H2,10;K12= H1,7;K13=H1,9;K14=H2,14; K15=H1,11 ; K16 = H1,13; K17 = H1,15. II est à noter que ce second ordre de décodage K ne correspond pas à l'ordre de sortie des images encodées. Il existe alors au moins deux possibilités pour ordonner le train binaire vidéo sortant du codeur de façon à ce que son ordre soit adapté à l'ordre optimal pour le décodage. Cet ordonnancement correspond à l'étape E5 de la figure 1. Selon la première possibilité, les images encodées au niveau de l'encodeur sont mémorisées sous leur forme compressée. Ainsi dès que cela est possible, une opération d'ordonnancement des images est entreprise afin de générer l'ordre des images correspondant au décodeur. La suite des images dans le train binaire vidéo est alors conforme à l'ordre de décodage. Selon la seconde possibilité, les images dans le train binaire vidéo sont organisées telles que le codeur les fournit. Une mémoire tampon au niveau du décodeur permet de les arranger préalablement dans l'ordre préconisé pour le décodage. De la même manière que pour le codeur, une séparation des opérations de filtrage en 2 étapes est réalisée. C'est la séparation en 2 étapes et le traitement selon un ordre particulier des images qui permet de minimiser la taille de la mémoire tampon On a listé, en annexe A2, les actions qui précisent les opérations de filtrages et de mouvement en mémoires pour la transformation MCTF inverse. En référence aux figures 6A et 6B, on a représenté l'ordre K allant de KI à K17 et non rangé par ordre croissant des images au niveau de l'encodage (figure 6A) et l'ordre M allant de MI à M17 rangé par ordre croissant des images nécessaires au niveau du décodage (figure 6B). L'ordre M correspond aux images suivantes : MI = L4,16 ; M2 = H4,8 ; M3 = L4,0 ; M4 = H3,4 ; M5= H3,12 ; M6 = H2,2 ; M7 = H2,6 ; M8 = H1,1 ; M9 = H1,3 ; M10 = H1,5 ; M11 = H2,10 ; M12 = H1,7 ; M13 = H1,9 ; M14 = H2,14 ; M15 = H1,11 ; M16 = H1,13; M17 = H1,15. Les flèches symbolisent ici la modification de l'ordre des images à effectuer au niveau du train binaire vidéo lors de l'étape E5 de réorganisation décrite en référence à la figure 1 pour passer de l'ordre K à l'ordre M selon l'invention. En référence à la figure 7, on a représenté les moyens essentiels et constitutifs d'un dispositif permettant de mettre en oeuvre les procédés de traitement selon l'invention. Le dispositif est par exemple un micro-ordinateur 100 connecté à différents périphériques, par exemple une caméra numérique 101(ou un scanner, ou tout moyen d'acquisition ou de stockage d'image) reliée à une carte graphique et fournissant des informations à compresser selon l'invention. Le dispositif 100 comporte une interface de communication 118 reliée à un réseau 120 apte à transmettre des données numériques à compresser ou à transmettre des données compressées par le dispositif. Le dispositif 100 comporte également un moyen de stockage 112 tel que par exemple un disque dur. Il comporte aussi un lecteur de disquette 114. La disquette 116 comme le disque 112 peut contenir des données compressées selon l'invention ainsi que le code de l'invention qui, une fois lu par le dispositif 100, sera stocké dans le disque dur 112. Selon une variante, le programme (Progl ou Prog2) permettant au dispositif de mettre en oeuvre l'invention pourra être stocké en mémoire morte 104 (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 120. Le dispositif 100 est relié à un microphone 122. Les données à transmettre selon l'invention seront dans ce cas du signal audio. Ce même dispositif possède un écran 108 permettant de visualiser les données à compresser ou à décompresser ou de servir d'interface avec l'utilisateur qui pourra paramétrer certaines options du format de compression par exemple, à l'aide du clavier 110 ou de tout autre moyen (souris par exemple). L'unité centrale 103 (appelée CPU sur le dessin) va exécuter les instructions relatives à la mise en oeuvre de l'invention, instructions stockées dans la mémoire morte 104 ou dans les autres éléments de stockage. Lors de la mise sous tension, les programmes de compression et/ou de décompression stockés dans une mémoire non volatile, par exemple la ROM 104, sont transférés dans la mémoire vive RAM 106 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. Bien entendu, les disquettes peuvent être remplacées par tout support d'information tel que CD-ROM ou carte mémoire. 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é de traitement pour le codage ou pour le décodage selon l'invention. Le bus de communication 102 permet la communication entre les différents éléments inclus dans le micro- ordinateur 100 ou reliés à lui. La représentation du bus 102 n'est pas limitative et notamment l'unité centrale 103 est susceptible de communiquer des instructions à tout élément du micro-ordinateur 100 directement ou par l'intermédiaire d'un autre élément du micro-ordinateur 100. 16 Annexe Al Entrée image [0] dans mémoire tampon - Taille mémoire: 1 images Entrée image [1] dans mémoire tampon - Taille mémoire: 2 images 1: niveau n=1 - filtrage de Il avec IO (coté gauche) Entrée image [2] dans mémoire tampon - Taille mémoire: 3 images 2: niveau n=1 - filtrage de Il avec I2 (coté droit) Entrée image [3] dans mémoire tampon - Taille mémoire: 4 images 3: niveau n=1 - filtrage de I3 avec I2 (coté gauche) 4: niveau n=1 - filtrage de I2 avec Il (coté gauche) Sortie image [1] de la mémoire tampon - Taille mémoire: 3 images Entrée image [4] dans mémoire tampon - Taille mémoire: 4 images 5: niveau n=1 - filtrage de I3 avec I4 (coté droit) 6: niveau n=1 - filtrage de I2 avec I3 (coté droit) 7: niveau n=2 - filtrage de I2 avec IO (coté gauche) Entrée image [5] dans mémoire tampon - Taille mémoire: 5 images 8: niveau n=1 filtrage de I5 avec I4 (coté gauche) 9: niveau n=1 - filtrage de I4 avec 13 (coté gauche) Sortie image [3] de la mémoire tampon - Taille mémoire: 4 images 20 Entrée image [6] dans mémoire tampon - Taille mémoire: 5 images 10: niveau n=1 - filtrage de I5 avec I6 (coté droit) 11: niveau n=1 -filtrage de I4 avec I5 (coté droit) 12: niveau n=2 - filtrage de I2 avec 14 (coté droit) Entrée image [7] dans mémoire tampon - Taille mémoire: 6 images 25 13: niveau n=1 - filtrage de I7 avec I6 (coté gauche) 14: niveau n=1 - filtrage de I6 avec I5 (coté gauche) Sortie image [5] de la mémoire tampon - Taille mémoire: 5 images Entrée image [8] dans mémoire tampon -Taille mémoire: 6 images 15: niveau n=1 - filtrage de I7 avec I8 (coté droit) 30 16: niveau n=1 - filtrage de I6 avec I7 (coté droit) 17: niveau n=2 - filtrage de I6 avec I4 (coté gauche) 18: niveau n=2 - filtrage de I4 avec I2 (coté gauche) Sortie image [2] de la mémoire tampon - Taille mémoire: 5 images Entrée image [9] dans mémoire tampon - Taille mémoire: 6 images 35 19: niveau n=1 - filtrage de I9 avec I8 (coté gauche) 20: niveau n=1 - filtrage de 18 avec I7 (coté gauche) Sortie image [7] de la mémoire tampon - Taille mémoire: 5 images Entrée image [10] dans mémoire tampon -Taille mémoire: 6 images 21: niveau n=1 - filtrage de I9 avec I10 (coté droit) 22: niveau n=1 - filtrage de I8 avec I9 (coté droit) 23: niveau n=2 - filtrage de 16 avec I8 (coté droit) 24: niveau n=2 - filtrage de 14 avec I6 (coté droit) 25: niveau n=3 - filtrage de I4 avec IO (coté gauche) Entrée image [11] dans mémoire tampon - Taille mémoire: 7 images 26: niveau n=1 - filtrage de I11 avec I10 (coté gauche) 27: niveau n=1 -filtrage de 110 avec 19 (coté gauche) Sortie image [9] de la mémoire tampon - Taille mémoire: 6 images Entrée image [12] dans mémoire tampon -Taille mémoire: 7 images 28: niveau n=1 - filtrage de 111 avec I12 (coté droit) 29: niveau n=1 - filtrage de 110 avec I11 (coté droit) 30: niveau n=2 - filtrage de 110 avec I 8 (coté gauche) 31: niveau n=2 - filtrage de I8 avec I6 (coté gauche) Sortie image [6] de la mémoire tampon - Taille mémoire: 6 images Entrée image [13] dans mémoire tampon - Taille mémoire: 7 images 32: niveau n=1 - filtrage de 113 avec 112 (coté gauche) 33: niveau n=1 - filtrage de 112 avec I11 (coté gauche) Sortie image [11] de la mémoire tampon - Taille mémoire: 6 images Entrée image [14] dans mémoire tampon - Taille mémoire: 7 images 34: niveau n=1 - filtrage de 113 avec 114 (coté droit) 35: niveau n=1 - filtrage de 112 avec 113 (coté droit) 36: niveau n=2 - filtrage de 110 avec 112 (coté droit) 37: niveau n=2 - filtrage de I 8 avec I10 (coté droit) 38: niveau n=3 - filtrage de 14 avec I 8 (coté droit) Entrée image [15] dans mémoire tampon - Taille mémoire: 8 images 39: niveau n=1 - filtrage de I15 avec I14 (coté gauche) 40: niveau n=1 - filtrage de 114 avec I13 (coté gauche) Sortie image [13] de la mémoire tampon - Taille mémoire: 7 images Entrée image [16] dans mémoire tampon - Taille mémoire: 8 images 41: niveau n=1 - filtrage de I15 avec I16 (coté droit) 42: niveau n=1 - filtrage de I14 avec I15 (coté droit) 43: niveau n=2 - filtrage de I14 avec I12 (coté gauche) 44: niveau n=2 - filtrage de 112 avec I10 (coté gauche) Sortie image [10] de la mémoire tampon - Taille mémoire: 7 images 45: niveau n=1 - filtrage de I16 avec 115 (coté gauche) Sortie image [15] de la mémoire tampon - Taille mémoire: 6 images 46: niveau n=2 - filtrage de I14 avec I16 (coté droit) 47: niveau n=2 - filtrage de 112 avec I14 (coté droit) 48: niveau n=3 -filtrage de I12 avec I 8 (coté gauche) 49: niveau n=3 - filtrage de I8 avec I4 (coté gauche) Sortie image [ 4] de la mémoire tampon - Taille mémoire: 5 images 50: niveau n=2 - filtrage de I16 avec I14 (coté gauche) Sortie image [14] de la mémoire tampon - Taille mémoire: 4 images 51: niveau n=3 - filtrage de I12 avec I16 (coté droit) 52: niveau n=3 -filtrage de I8 avec I12 (coté droit) 53: niveau n=4 - filtrage de I8 avec IO (coté gauche) 54: niveau n=3 - filtrage de I16 avec I12 (coté gauche) Sortie image [12] de la mémoire tampon - Taille mémoire: 3 images 55: niveau n=4 - filtrage de I8 avec I16 (coté droit) Sortie image [0] de la mémoire tampon - Taille mémoire: 2 images 56: niveau n=4 - filtrage de I16 avec 18 (coté gauche) Sortie image [8] de la mémoire tampon - Taille mémoire: 1 images Sortie image [16] de la mémoire tampon - Taille mémoire: 0 images 19 Annexe A2 Entrée image [16] dans mémoire tampon - Taille mémoire: 1 image Entrée image [8] dans mémoire tampon - Taille mémoire: 2 images 1: niveau n=4 - filtrage de I16 avec 18 (coté gauche) Entrée image [0] dans mémoire tampon - Taille mémoire: 3 images 2: niveau n=4 filtrage de I8 avec IO (coté gauche) 3: niveau n=4 - filtrage de I8 avec I16 (coté droit) Entrée image [4] dans mémoire tampon - Taille mémoire: 4 images 4: niveau n=3 - filtrage de I8 avec I4 (coté gauche) 5: niveau n=3 - filtrage de I4 avec IO (coté gauche) Entrée image [12] dans mémoire tampon - Taille mémoire: 5 images 6: niveau n=3 - filtrage de I8 avec I12 (coté droit) 7: niveau n=3 - filtrage de I4 avec I8 (coté droit) Entrée image [2] dans mémoire tampon - Taille mémoire: 6 images 8: niveau n=2 -filtrage de I4 avec I2 (coté gauche) 9: niveau n=2 - filtrage de I2 avec IO (coté gauche) Entrée image [6] dans mémoire tampon - Taille mémoire: 7 images 10: niveau n=2 - filtrage de I4 avec I6 (coté droit) 11: niveau n=2 - filtrage de 12 avec I4 (coté droit) Entrée image [1] dans mémoire tampon - Taille mémoire: 8 images 12: niveau n=1 - filtrage de I2 avec 11 (coté gauche) 13: niveau n=1 - filtrage de Il avec IO (coté gauche) Sortie image [0] de la mémoire tampon - Taille mémoire: 7 images Entrée image [3] dans mémoire tampon - Taille mémoire: 8 images 14: niveau n=1 - filtrage de I2 avec I3 (coté droit) 15: niveau n=1 - filtrage de Il avec I2 (coté droit) Sortie image [1] de la mémoire tampon - Taille mémoire: 7 images 16: niveau n=3 - filtrage de I16 avec I12 (coté gauche) 17: niveau n=3 -filtrage de I12 avec I8 (coté gauche) 18: niveau n=2 - filtrage de I8 avec I6 (coté gauche) 19: niveau n=2 - filtrage de I6 avec I4 (coté gauche) 20: niveau n=1 - filtrage de I4 avec I3 (coté gauche) 21: niveau n=1 -filtrage de I3 avec 12 (coté gauche) Sortie image [2] de la mémoire tampon - Taille mémoire: 6 images Entrée image [5] dans mémoire tampon Taille mémoire: 7 images 22: niveau n=1 - filtrage de I4 avec I5 (coté droit) 23: niveau n=1 - filtrage de 13 avec 14 (coté droit) Sortie image [3] de la mémoire tampon - Taille mémoire: 6 images Entrée image [10] dans mémoire tampon - Taille mémoire: 7 images 24: niveau n=2 - filtrage de I8 avec 110 (coté droit) 25: niveau n=2 - filtrage de I6 avec I8 (coté droit) 26: niveau n=1 - filtrage de I6 avec I5 (coté gauche) 27: niveau n=1 -filtrage de I5 avec I4 (coté gauche) Sortie image [4] de la mémoire tampon - Taille mémoire: 6 images Entrée image [7] dans mémoire tampon Taille mémoire: 7 images 28: niveau n=1 - filtrage de I6 avec I7 (coté droit) 29: niveau n=1 - filtrage de I5 avec I6 (coté droit) Sortie image [5] de la mémoire tampon - Taille mémoire: 6 images 30: niveau n=3 filtrage de 112 avec I16 (coté droit) 31: niveau n=2 - filtrage de I12 avec I10 (coté gauche) 32: niveau n=2 - filtrage de I10 avec I8 (coté gauche) 33: niveau n=1 - filtrage de 18 avec I7 (coté gauche) 34: niveau n=1 - filtrage de I7 avec I6 (coté gauche) Sortie image [6] de la mémoire tampon - Taille mémoire: 5 images Entrée image [9] dans mémoire tampon Taille mémoire: 6 images 35: niveau n=1 - filtrage de I8 avec I9 (coté droit) 36: niveau n=1 - filtrage de 17 avec 18 (coté droit) Sortie image [7] de la mémoire tampon - Taille mémoire: 5 images Entrée image [14] dans mémoire tampon -Taille mémoire: 6 images 37: niveau n=2 - filtrage de 112 avec I14 (coté droit) 38: niveau n=2 - filtrage de I10 avec I12 (coté droit) 39: niveau n=1 - filtrage de I10 avec I9 (coté gauche) 40: niveau n=1 - filtrage de I9 avec I8 (coté gauche) Sortie image [8] de la mémoire tampon - Taille mémoire: 5 images Entrée image [11] dans mémoire tampon Taille mémoire: 6 images 41: niveau n=1 - filtrage de I10 avec Iii (coté droit) 42: niveau n=1 - filtrage de I9 avec I10 (coté droit) Sortie image [9] de la mémoire tampon - Taille mémoire: 5 images 43: niveau n=2 filtrage de 116 avec I14 (coté gauche) 44: niveau n=2 - filtrage de 114 avec I12 (coté gauche) 45: niveau n=1 - filtrage de I12 avec I11 (coté gauche) 46: niveau n=1 -filtrage de I11 avec I10 (coté gauche) Sortie image [10] de la mémoire tampon - Taille mémoire: 4 images Entrée image [13] dans mémoire tampon -Taille mémoire: 5 images 47: niveau n=1 filtrage de 112 avec 113 (coté droit) 48: niveau n=1 - filtrage de I11 avec I12 (coté droit) Sortie image [11] de la mémoire tampon - Taille mémoire: 4 images 49: niveau n=2 -filtrage de 114 avec 116 (coté droit) 50: niveau n=1 - filtrage de 114 avec 113 (coté gauche) 51: niveau n=1 filtrage de 113 avec 112 (coté gauche) Sortie image [12] de la mémoire tampon - Taille mémoire: 3 images Entrée image [15] dans mémoire tampon Taille mémoire: 4 images 52: niveau n=1 - filtrage de I14 avec I15 (coté droit) 53: niveau n=1 -filtrage de 113 avec I14 (coté droit) Sortie image [13] de la mémoire tampon - Taille mémoire: 3 images 54: niveau n=1 filtrage de 116 avec I15 (coté gauche) 55: niveau n=1 - filtrage de 115 avec 114 (coté gauche) Sortie image [14] de la mémoire tampon - Taille mémoire: 2 images 56: niveau n=1 - filtrage de 115 avec 116 (coté droit) Sortie image [15] de la mémoire tampon - Taille mémoire: 1 image Sortie image [16] de la mémoire tampon - Taille mémoire: 0 image15 REVENDICATIONS 1. Procédé de traitement d'une séquence d'images numériques, dans le cadre d'un codage selon un train binaire comportant des images de sortie, compressées, et organisées selon au moins deux niveaux de hiérarchie temporelle conformément à un format extensible prédéterminé, caractérisé en ce qu'il comporte les étapes suivantes : - obtenir (E1) et mémoriser des images d'origine (E2), et - générer (E3) des images de sortie, par transformation d'images d'origine et/ou d'images intermédiaires, et/ou d'images de sortie, dans un premier ordre choisi de sorte que le nombre d'images à mémoriser, simultanément nécessaire pour la transformation des images d'origine en images 15 de sortie, soit minimal. 2. Procédé selon la revendication 1, dans lequel le traitement entremêle simultanément des images de différents niveaux de hiérarchie temporelle. 3. Procédé selon la revendication 2, dans lequel une image de sortie est générée dès que la ou les images du niveau de hiérarchie temporelle inférieur nécessaires à sa génération par transformation sont disponibles. 25 4. Procédé selon l'une des revendications préalables, caractérisé en ce qu'il comprend, après l'étape de génération (E3), une étape de codage (E4) des images de sortie. 5. Procédé selon la revendication 4, dans lequel l'étape de codage 30 (E4) des images de sortie commence avant la fin de l'étape d'obtention (E1) de toutes les images d'origine de la séquence. 20 6. Procédé selon l'une des revendications précédentes, caractérisé en ce qu'il comporte en outre une étape d'ordonnancement (E5) des images de sortie selon un second ordre choisi. 7. Procédé selon la revendication 6, dans lequel le second ordre choisi est adapté à minimiser le délai de décodage ultérieur des images. 8. Procédé selon l'une quelconque des revendications précédentes, dans lequel la transformation consiste en des opérations de filtrage de type prédiction temporelle et/ou mises à jour. 9. Procédé de traitement d'une séquence d'images numériques, dans le cadre d'un décodage d'un train binaire comportant des images de sortie compressées et organisées selon au moins deux niveaux de hiérarchie temporelle conformément à un format extensible prédéterminé selon l'une quelconque des revendications 1 à 8, caractérisé en ce qu'il comprend les étapes suivantes : - décoder (E6) des images de sortie compressées selon ledit format extensible et mémoriser (E7) les images de sortie ainsi décodées, - générer (E8) des images reconstruites de la séquence d'images, par transformation inverse d'images de sortie décodées et/ou d'images intermédiaires, et/ou d'images reconstruites, traitées dans un troisième ordre choisi de sorte que le nombre d'images à mémoriser, simultanément nécessaire pour la transformation inverse des images de sortie en images reconstruites soit 25 minimal. 10. Procédé selon la revendication 9, caractérisé en ce qu'il comporte une étape préalable d'ordonnancement des images compressées selon un quatrième ordre choisi. 30 11. Procédé selon la revendication 9 ou la revendication 10, dans lequel la génération d'images reconstruites entremêle simultanément des images de différents niveaux de hiérarchie temporelle. 12. Procédé selon la revendication 11, dans lequel une image reconstruite est générée dès que la ou les images du niveau de hiérarchie temporelle supérieur nécessaires à sa génération par transformation inverse sont disponibles. 13. Procédé selon l'une quelconque des revendications 9 à 12, dans lequel l'étape de génération (E8) des images reconstruites commence avant la fin de l'étape d'obtention (E7) de toutes les images de sortie compressées de la séquence. 14. Procédé selon l'une quelconque des revendications précédentes caractérisé en ce que le train binaire est codé selon le format SVC. 15. Dispositif de traitement d'une séquence d'images numériques, dans le cadre d'un codage selon un train binaire comportant des images de sortie, compressées, et organisées selon au moins deux niveaux de hiérarchie temporelle conformément à un format extensible prédéterminé, caractérisé en ce qu'il comporte : - des moyens pour obtenir et mémoriser des images d'origine, et - des moyens pour générer des images de sortie, par transformation d'images d'origine et/ou d'images intermédiaires, et/ou d'images de sortie, dans un premier ordre choisi de sorte que le nombre d'images à mémoriser, simultanément nécessaire pour la transformation des images d'origine en images de sortie, soit minimal. 16. Dispositif selon la revendication 15, caractérisé en ce qu'il comprend, en outre, des moyens de codage des images de sortie. 17. Dispositif selon l'une des revendications 15 et 16, caractérisé en ce qu'il comporte en outre des moyens d'ordonnancement des images de sortie selon un second ordre choisi. 18. Dispositif de traitement d'une séquence d'images numériques, dans le cadre d'un décodage d'un train binaire comportant des images de sortie compressées, et organisées selon au moins deux niveaux de hiérarchie temporelle conformément à un format extensible selon l'une quelconque des revendications 15 à 17, caractérisé en ce qu'il comprend : - des moyens pour décoder des images de sortie compressées selon ledit format extensible et mémoriser les images de sortie ainsi décodées, - des moyens pour générer des images reconstruites de la séquence d'images, par transformation inverse d'images de sortie décodées et/ou d'images intermédiaires, et/ou d'images reconstruites, traitées dans un troisième ordre choisi de sorte que le nombre d'images à mémoriser, simultanément nécessaire pour la transformation inverse des images de sortie en images reconstruites soit minimal. 19. Support d'informations lisible par un système informatique, éventuellement amovible, totalement ou partiellement, notamment CD-ROM ou support magnétique, tel un disque dur ou une disquette, ou support transmissible, tel un signal électrique ou optique, caractérisé en ce qu'il comporte des instructions d'un programme d'ordinateur permettant la mise en oeuvre d'un procédé selon l'une quelconque des revendications 1 à 14, lorsque ce programme est chargé et exécuté par un système informatique. 20. Programme d'ordinateur stocké sur un support d'informations, ledit programme comportant des instructions permettant la mise en oeuvre d'un procédé selon l'une quelconque des revendications 1 à 14, lorsque ce programme est chargé et exécuté par un système informatique.