Brevet FR2894421A1 — publié le 20070608

PROCEDE ET DISPOSITIF DE DECODAGE D'UN FLUX VIDEO CODE SUIVANT UN CODAGE HIERARCHIQUE La présente invention se rapporte à un procédé et à un dispositif de décodage d'un flux vidéo codé suivant un codage hiérarchique (en anglais "scalable video stream"). Elle appartient au domaine de la transmission vidéo sur un réseau. Le développement des réseaux de communication mobiles et fixes devrait permettre l'apparition de nombreuses applications de transmission vidéo. Ces applications sont envisagées pour une grande diversité d'unités de réception allant du PC au téléphone portable, aux agendas électroniques, au téléviseur, etc. Des réseaux filaires et sans fils aux capacités hétérogènes pourront être utilisés. Un même flux vidéo pourra être transmis vers cet ensemble hétérogène en termes de récepteur aussi bien qu'en termes de réseau. Un format vidéo appelé SVC (codage vidéo hiérarchique, en anglais "Scalable Video Coding"), actuellement en cours de normalisation, sera particulièrement adapté à ce type d'environnement. Ce format, dans lequel la taille du flux vidéo peut être réglée finement, sera constitué de plusieurs versions d'un même flux vidéo imbriquées dans un même train binaire. On pourra transmettre un sous-ensemble de ce train binaire à un récepteur de telle sorte que ce sous-ensemble soit adapté aux capacités de calcul de ce récepteur. Toutefois, malgré cette adaptation, il arrivera que, lors de régimes transitoires, un train binaire ne soit plus adapté aux capacités de calcul du récepteur. L'invention a vocation à être appliquée dans une telle situation, c'est-à-dire où le train binaire n'est plus adapté aux capacités de calcul du récepteur. Ainsi, à titre d'exemple nullement limitatif, l'invention vise des applications domestiques de transmission d'un émetteur vers un récepteur. Les unités émettrices et réceptrices seront des systèmes embarqués potentiellement mobiles. L'unité émettrice aura des capacités de stockage qui lui permettront de stocker des vidéos après leur acquisition et leur compression et des capacités de codage en temps réel. Un utilisateur pourra demander la visualisation de vidéos sur une unité réceptrice de visualisation. Pour cela, une connexion sera créée entre l'émetteur et le récepteur. Un premier échange d'informations entre l'émetteur et le récepteur permettra à l'émetteur de connaître la nature du récepteur, ses capacités et les souhaits de l'utilisateur. Ces premières informations pourront décrire le récepteur en termes de capacité de calcul globale, d'affichage et de décodage. D'autres informations seront échangées durant la transmission. A la différence des informations transmises à I'initialisation, ces informations seront remises à jour régulièrement. Elles décriront l'évolution des capacités du récepteur aussi bien en termes de réception qu'en termes de capacité de calcul réelle. L'analyse de ces informations pourra inciter l'émetteur à adapter la vidéo. L'adaptation de la vidéo n'est efficace qu'en cas d'état stable. Celleci ne permet pas de traiter les périodes de transition entre deux états. Lorsque par exemple les capacités de calcul diminuent, des pertes risquent de se produire tant que l'émetteur n'aura pas été averti du changement. L'invention vise à réduire l'impact visuel de telles baisses transitoires des capacités de calcul du récepteur et plus particulièrement, lorsque la vidéo est compressée au format SVC. On donne ci-dessous une description rapide de la norme SVC, qui est définie dans la partie 10, amendement 1 de la norme MPEG-4. Pour une description plus approfondie, on se reportera utilement au document de J. REUCHEL, H. SCHWARTZ et M. WIEN intitulé "Joint Scalable Video Model JSVM-3", Poznan, juillet 2005, disponible par exemple sur Internet à l'adresse suivante : http://ftp3.itu.int/av-arch/jvt-site/2005_07_Poznan/JVT-P202r1.zip. La norme SVC est depuis quelques mois traitée comme une extension de la norme H264, dont on pourra trouver une description dans le document de G. SULLIVAN, T. WIEGAND, D. MARPE et A. LUTHRA intitulé "Text of lSO/lEC 14496-10 Advanced Video Coding", Sème édition. La norme SVC complète la norme H264 en introduisant des outils de codage hiérarchique (en anglais "scalability") spatial, temporel et en qualité. Ces niveaux de codage hiérarchique seront imbriqués dans un même flux, le niveau de base étant en général compatible avec la norme H264. Deux technologies sont envisagées pour le codage des flux SVC, chaque technologie s'appuyant sur des blocs de pixels comme unité de base de codage : le codage en boucle ouverte et le codage en boucle fermée. La technique de codage en boucle ouverte est fondée sur un filtrage temporel compensé en mouvement (en anglais "Motion Compensated Temporal Filtering" ou MCTF). Coder en boucle ouverte signifie que ce sont les images de la séquence d'origine qui sont utilisées comme références pour la prédiction de mouvement dans le codeur. Cette technique est illustrée sur l'organigramme de la figure 1. Elle débute à l'étape E100 par la création d'un groupe d'images successives (en anglais "Group Of Pictures", GOP). Ces groupes peuvent être de tailles variables. Cette étape est suivie de l'étape E101 au cours de laquelle on procède à une estimation de mouvement. On poursuit par un filtrage temporel compensé en mouvement (étapes E103, E105) basé sur un schéma de filtrage par augmentation (en anglais "lifting") illustré sur la figure 2. Ce filtrage débute par une transformée polyphase représentée par les étapes E201, E203a et E203b. Ces étapes séparent les échantillons (pixels) pairs S2k et impairs S2k+,. Ces étapes sont suivies de l'étape E205 qui consiste à procéder à la prédiction des échantillons impairs par les échantillons pairs. Cette prédiction est représentée par l'équation (2.2), dans laquelle s[x,k] est l'échantillon à la position spatiale x dans l'image k du GOP et mi et m2 sont les vecteurs de mouvement obtenus lors de l'étape E101 d'estimation de mouvement de la figure 1. L'étape E205 est suivie de l'étape E207 au cours de laquelle on soustrait la prédiction de l'échantillon impair à la valeur de cet échantillon (équation (2.1), dans laquelle P désigne la prédiction). Notons que les échantillons issus de cette étape sont des échantillons de hautes fréquences. L'étape E207 est suivie de l'étape E209 au cours de laquelle on procède à la mise à jour des échantillons pairs. Pour cela, on applique l'équation (2.4) aux échantillons de hautes fréquences issus de l'étape E207. On ajoute le résultat aux échantillons pairs à l'étape E211 (équation (2.3)). Notons que les échantillons obtenus à l'étape E211 sont des échantillons de basses fréquences. En référence à la figure 1, le codage SVC se poursuit par l'étape E107 au cours de laquelle une transformation spatiale de type en cosinus discret (en anglais "Discrete Cosine Transform", DCT) entière est appliquée aux images hautes fréquences. Cette étape est suivie de l'étape E109 qui consiste à tester le nombre d'images basses fréquences restantes. Si ce nombre est différent de 1, on retourne à l'étape E101 pour traiter les images basses fréquences restantes. Cette étape est suivie par les étapes E103, E105 et E107 déjà décrites. S'il ne reste qu'une image basse fréquence, on applique la transformée spatiale sur toutes les images restantes (basses et hautes fréquences) et le codage se termine à l'étape El11 avant de passer au GOP suivant. Il est à noter que dans le codage en boucle ouverte, le décodeur n'aura pas les mêmes images de référence que le codeur lors de la compensation en mouvement. La technique de codage en boucle fermée est illustrée par l'organigramme de la figure 3. En vidéo, on appelle codage en boucle fermée un système de codage dans lequel les images utilisées comme références pour la prédiction de mouvement sont des images codées et décodées. Ainsi, le décodeur pourra avoir la même référence que le codeur. Le codage en boucle fermée de la norme SVC utilise une transformation du GOP en images dites B- hiérarchiques, bien connues de l'homme du métier. Comme le montre la figure 3, on commence par créer un GOP de N = 2n"l images (étape E301). Cette étape est suivie de l'étape E303 consistant à classer les images en n niveaux de hiérarchie. Lors de cette étape, la première image du GOP est affectée au niveau de hiérarchie 1. On monte ensuite en hiérarchie en multipliant la fréquence temporelle des images (c'est-à-dire le nombre d'images par intervalle de temps) par deux à chaque niveau de hiérarchie, chaque image d'un niveau de hiérarchie x étant à égale distance des deux images les plus proches du niveau x-1. L'étape E303 est suivie de l'étape E305 au cours de laquelle on initialise une variable entière k à la valeur 1. On vérifie ensuite que k n'a pas atteint le nombre de niveaux de hiérarchie n (test E307). Si ce n'est pas le cas, on procède à l'estimation de mouvement/compensation de mouvement pour chaque image du niveau k (étape E309). Lorsque k=1, la seconde image du niveau est prédite à partir de la première image de ce niveau. Lorsque k est supérieur à 1, chaque image du niveau est prédite à partir des deux images l'encadrant prises dans le niveau k-1. L'étape E309 est suivie de l'étape E311 qui consiste à procéder au calcul du résidu (différence entre l'image d'origine et sa prédiction), puis de l'étape E313 qui consiste à appliquer une transformation spatiale de type DCT sur chaque bloc de pixels de l'image de résidu. Cette étape est suivie de l'étape E315 qui consiste à incrémenter k de 1. L'étape E307 est suivie de l'étape de fin E317 si k atteint n. L'algorithme de codage s'arrête en effet lors de cette étape et passe au codage du GOP suivant. La norme SVC a été définie pour coder un flux vidéo sous la forme de plusieurs niveaux de hiérarchie. En général, le niveau de base du flux SVC est codé en boucle fermée afin de rester compatible avec la norme H264. Les niveaux d'amélioration sont quant à eux soit codés en boucle ouverte, soit codés en boucle fermée comme la base. Les niveaux d'amélioration peuvent augmenter la fréquence temporelle, la résolution spatiale et la qualité des niveaux de base. On ne s'intéresse pas ici aux niveaux d'amélioration en qualité. Afin d'augmenter les performances en compression, la norme SVC prévoit de prédire un niveau de hiérarchie spatiale k à partir d'un niveau spatial de hiérarchie inférieure. On pourra ainsi prédire la texture et le mouvement d'un niveau k à partir d'informations d'un niveau inférieur. On parle de prédiction de texture inter-niveaux (en anglais "inter-layer texture prediction") et de prédiction de mouvement inter-niveaux (en anglais "inter-layer motion prediction"). Afin d'augmenter le gain en compression, une contribution récente à la norme a proposé un schéma permettant la prédiction inter-niveaux lorsque les niveaux ont des fréquences temporelles différentes. En effet, dans ce cas, les images d'un niveau de hiérarchie k peuvent ne pas avoir de correspondant ayant la même référence temporelle dans les niveaux inférieurs. Lorsque c'est le cas, on crée une image virtuelle à partir des images présentes dans le niveau inférieur. Les images du niveau k n'ayant pas de correspondant sont alors prédites à partir des images virtuelles. Les figures 4 et 5 représentent deux flux SVC constitués de deux niveaux de hiérarchie spatio-temporelle. Dans les deux cas, le niveau de base est codé avec des images B-hiérarchiques (notées "B" sur les figures 4 et 5). Le niveau d'amélioration double la résolution spatiale et la fréquence temporelle. Sur la figure 4, le niveau d'amélioration est codé en boucle ouverte avec un filtrage temporel compensé en mouvement (MCTF) avec étape de mise à jour. Par ailleurs, pour mémoire, trois types d'images vidéo sont définis par la norme MPEG : les images intra (type I), n'ayant pas de référence dans une image précédente ou suivante ; les images obtenues par prédiction avant (type P), codées par rapport à une image de référence précédente ; et les images biprédites (type B), codées par rapport à une image de référence précédente et à une image de référence suivante. Sur la figure 4, les images L3, H3, H2, H1 et HO ainsi que les images Bx (x = 1, 2, 3) sont les images codées dans le train binaire du flux SVC. Les images L0, L1 et L2 sont générées lors du codage mais ne sont pas conservées dans le train binaire final. La figure 5 représente un niveau d'amélioration codé avec des images B-hiérarchiques. Les images El A E17 et I, P, BI, B2 et B3 sont toutes conservées dans le train binaire final. Les images virtuelles sont illustrées en pointillés et ne sont pas codées. Sur les deux figures, les flèches représentent le sens de prédiction. Par exemple, sur la figure 4, l'image 1 est prédite à partir des images 2, 3 et 4. L'image 6 est mise à jour grâce aux images 1, 2 et 5. L'image B1 est prédite à partir des images 1 et P, etc. Il existe peu d'études portant sur les mécanismes de rejet d'images en cas de surcharge d'une unité de calcul lors d'un décodage. La raison en est que dans le cas des normes vidéo antérieures, le décodeur n'avait guère le choix de l'ordre du décodage. En effet, l'ordre du décodage était généralement défini en fonction des dépendances inter-images et ne pouvait pas varier. On pouvait rejeter les images en fonction de leur type (I, P ou B) mais rarement en fonction de leur contenu. On ne disposait en effet pas d'informations suffisantes pour décrire ce contenu sans effectuer un décodage préalable des images. Dans la réalisation actuelle du décodeur, lors du décodage d'un niveau de codage hiérarchique (en anglais "scalability level'), excepté en ce qui concerne les niveaux de codage hiérarchique en qualité, le décodeur décode dans l'ordre croissant des niveaux de codage hiérarchique temporel, puis, dans chaque niveau temporel, il décode les images dans leur ordre d'affichage. La figure 6 représente le décodage d'un niveau de codage hiérarchique spatio-temporel codé avec une MCTF, c'est-à-dire avec un codage en boucle ouverte. La figure 7 représente le décodage d'un niveau de codage hiérarchique spatio-temporel codé avec des images B-hiérarchiques. Sur les figures 6 et 7, l'ordre du décodage est indiqué par les flèches sensiblement horizontales constituées de tirets. En cas de surcharge de l'unité de calcul du récepteur, celui-ci réussit tout de même à assurer un décodage en temps réel, mais en ne décodant pas toutes les images d'un GOP. Le document US-A-5 724 446 propose une réalisation particulière d'un décodeur vidéo. Pendant le décodage, le décodeur crée une mémoire d'images. Avant le décodage d'une image, ce décodeur initialise la mémoire d'images avec les valeurs de pixels de l'image précédente. Un descripteur est calculé pour chaque macrobloc (désigné dans toute la suite par le sigle MB) de chaque image. Avant de décoder un MB, le décodeur compare la valeur du descripteur du MB à décoder avec celle du MB co-localisé dans l'image précédente. Si les descripteurs sont similaires, alors le décodeur ne décodera pas le MB courant et conservera la valeur d'initialisation. Sinon, il décodera le MB. Cela permet de réduire au maximum le coût d'un décodage complet d'une séquence. Cependant, lorsque la réduction maximale est atteinte, ce procédé ne permet pas de fixer un ordre de décodage des images prenant en compte le contenu de celles-ci. Il n'empêche donc pas le rejet systématique de certains groupes d'images. L'inconvénient de l'ordre de décodage actuel d'un flux vidéo SVC est qu'en cas de surcharge de l'unité de calcul du récepteur, ce sont systématiquement les dernières images d'un GOP qui sont rejetées. Or, le rejet systématique de ces images est injustifié car il ne prend pas en compte leur contenu informatif. En d'autres termes, on pourrait obtenir une qualité d'affichage supérieure en rejetant d'autres images dans le GOP. L'invention vise à remédier à cet inconvénient, en fixant un ordre de décodage des images prenant en compte le contenu de celles-ci. Dans ce but, la présente invention propose un procédé de décodage d'un flux vidéo codé suivant un codage hiérarchique, dans lequel les images peuvent être décodées par groupes de plusieurs images, chaque groupe étant constitué d'au moins trois niveaux de hiérarchies temporelles d'images, les images du niveau le plus bas ayant la fréquence temporelle la plus basse et les images de chaque niveau suivant ayant une fréquence temporelle au moins double par rapport aux images du niveau précédent, un niveau de hiérarchie temporelle étant formé d'au moins un intervalle de temps prédéterminé, un intervalle de temps séparant deux images dans ce niveau de hiérarchie temporelle, ce procédé étant remarquable en ce que : - lors du décodage d'au moins un niveau de hiérarchie temporelle, on obtient au moins une information représentative d'un paramètre relatif au contenu du flux vidéo sur au moins un intervalle de temps, et - on définit un ordre dans le décodage des images de chaque groupe d'images en fonction de l'information obtenue. Ainsi, la présente invention permet d'éviter de rejeter systématiquement un groupe d'images spécifiques en cas de surcharge de l'unité de calcul du récepteur, car l'ordre de décodage tient compte du contenu des images. L'invention permet donc d'améliorer la qualité de l'affichage des images d'un flux vidéo. En outre, le procédé proposé n'implique aucun surcoût en termes de complexité de calcul lors du décodage et aucun surcoût en termes de place mémoire, par rapport à un décodage classique. Dans un mode de réalisation particulier, l'information précitée est représentative du mouvement dans les images du flux vidéo sur l'intervalle de temps précité du niveau de hiérarchie temporelle précité. On pourra décider par exemple de fixer un ordre de décodage privilégiant les parties les plus actives d'un groupe d'images (GOP, an anglais "Group Of Pictures"), c'est-à-dire où il y a le plus de mouvement. Les images éventuellement rejetées seront ainsi les moins intéressantes au sens du mouvement. Ainsi, dans un mode particulier de réalisation, on décode les images dans l'ordre décroissant de la valeur de l'information représentative du mouvement. Dans un mode particulier de réalisation, l'information précitée est la somme de la norme de tous les vecteurs de mouvement d'une image relatifs à un intervalle de temps donné. Cette quantité est économique en termes d'emplacement mémoire utilisé lors de son stockage. Dans un mode particulier de réalisation, dans lequel une image est constituée d'une pluralité de macroblocs, si un macrobloc ne possède pas de vecteur de mouvement, on affecte à ce macrobloc un vecteur de mouvement d'amplitude maximale. Ainsi, tous les macroblocs participent au calcul de l'information représentative du mouvement, ce qui permet de comparer facilement l'activité, en termes de mouvement, de toutes les images du flux vidéo. Dans un mode particulier de réalisation, dans lequel une image est constituée d'une pluralité de macroblocs, si un macrobloc est prédit à partir de l'image ayant la même référence temporelle dans un niveau de codage hiérarchique spatial inférieur, on affecte à ce macrobloc le vecteur de mouvement associé au macrobloc de référence dans l'image de même référence temporelle du niveau de codage hiérarchique spatial inférieur. De même que précédemment, cela permet de prendre en compte tous les macroblocs clans le calcul de l'information représentative du mouvement, ce qui permet de comparer facilement l'activité, en termes de mouvement, de toutes les images du flux vidéo. Dans un mode particulier de réalisation, dans lequel une image est constituée d'une pluralité de macroblocs, si un macrobloc possède deux vecteurs de mouvement parce qu'il est prédit à partir d'une image précédente et d'une image suivante, les vecteurs de mouvement servant à la prédiction de l'image précédente vers l'image courante entrent dans le calcul de la norme représentant le mouvement dans l'intervalle de temps entre l'image précédente et l'image courante, et les vecteurs de mouvement servant à la prédiction de l'image suivante vers l'image courante entrent dans le calcul de la norme représentant le mouvement dans l'intervalle de temps entre l'image courante et l'image suivante. De même que précédemment, cela permet de prendre en compte tous les macroblocs clans le calcul de l'information représentative du mouvement, ce qui permet de comparer facilement l'activité, en termes de mouvement, de toutes les images du flux vidéo. Selon une caractéristique particulière, on mémorise dans un tableau de taille 2n 1, où n est un entier strictement positif, toutes les sommes des normes des vecteurs de mouvement relatifs à un intervalle de temps donné dans le niveau de hiérarchie temporelle n. Dans un mode particulier de réalisation, le flux vidéo est codé suivant le format SVC. Dans le même but que celui indiqué plus haut, la présente invention propose également un dispositif de décodage d'un flux vidéo codé suivant un codage hiérarchique, dans lequel les images peuvent être décodées par groupes de plusieurs images, chaque groupe étant constitué d'au moins trois niveaux de hiérarchies temporelles d'images, les images du niveau le plus bas ayant la fréquence temporelle la plus basse et les images de chaque niveau suivant ayant une fréquence temporelle au moins double par rapport aux images du niveau précédent, un niveau de hiérarchie temporelle étant formé d'au moins un intervalle de temps prédéterminé, un intervalle de temps séparant deux images dans ce niveau de hiérarchie temporelle, ce dispositif étant remarquable en ce qu'il comporte : - des moyens pour obtenir, lors du décodage d'au moins un niveau 5 de hiérarchie temporelle, au moins une information représentative d'un paramètre relatif au contenu du flux vidéo sur au moins un intervalle de temps, et - des moyens pour définir un ordre dans le décodage des images de chaque groupe d'images en fonction de l'information obtenue. 10 La présente invention vise aussi un moyen de stockage d'informations lisible par un ordinateur ou un microprocesseur conservant des instructions d'un programme informatique, permettant la mise en oeuvre d'un procédé tel que ci-dessus. La présente invention vise aussi un moyen de stockage 15 d'informations amovible, partiellement ou totalement, lisible par un ordinateur ou un microprocesseur conservant des instructions d'un programme informatique, permettant la mise en oeuvre d'un procédé tel que ci-dessus. La présente invention vise aussi un produit programme d'ordinateur pouvant être chargé dans un appareil programmable, comportant des 20 séquences d'instructions pour mettre en oeuvre un procédé tel que ci-dessus, lorsque ce programme est chargé et exécuté par l'appareil programmable. Les caractéristiques particulières et les avantages du dispositif, des moyens de stockage et du produit programme d'ordinateur étant similaires à ceux du procédé, ils ne sont pas répétés ici. 25 D'autres aspects et avantages de l'invention apparaîtront à la lecture de la description détaillée qui suit d'un mode particulier de réalisation, donné à titre d'exemple non limitatif. La description se réfère aux dessins qui l'accompagnent, dans lesquels : - la figure 1, déjà décrite, est un organigramme illustrant les 30 principales étapes d'un processus de codage en boucle ouverte connu en soi ; - la figure 2, déjà décrite, représente de façon schématique l'étape de filtrage temporel compensé en mouvement comprise dans le processus de codage de la figure 1 ; - la figure 3, déjà décrite, est un organigramme illustrant les principales étapes d'un processus de codage en boucle fermée connu en soi ; - la figure 4, déjà décrite, représente de façon schématique un exemple de codage en boucle ouverte d'un flux vidéo conforme à la norme SVC, connu en soi ; - la figure 5, déjà décrite, représente de façon schématique un 10 exemple de codage en boucle fermée d'un flux vidéo conforme à la norme SVC, connu en soi ; - la figure 6, déjà décrite, représente de façon schématique l'ordre de décodage d'un flux vidéo SVC conformément à l'art antérieur dans le cas d'un codage en boucle ouverte tel que celui de la figure 4 ; 15 - la figure 7, déjà décrite, représente de façon schématique l'ordre de décodage d'un flux vidéo SVC conformément à l'art antérieur dans le cas d'un codage en boucle fermée tel que celui de la figure 5 ; - la figure 8 est un organigramme illustrant les principales étapes d'un procédé de décodage d'un flux vidéo conforme à la présente invention, 20 dans un mode particulier de réalisation ; - la figure 9 est un organigramme illustrant plus en détail l'étape E831 de décodage des images d'un intervalle de temps, illustrée sur la figure 8; - la figure 10 représente de façon schématique un exemple non 25 limitatif d'ordre de décodage d'un flux vidéo SVC conformément à la présente invention, dans le cas d'un codage en boucle ouverte tel que celui de la figure 4; - la figure 11 représente de façon schématique un exemple non limitatif d'ordre de décodage d'un flux vidéo SVC conformément à la présente 30 invention, dans le cas d'un codage en boucle fermée tel que celui de la figure 5;et - la figure 12 représente de façon schématique une unité multimédia susceptible de mettre en oeuvre la présente invention, dans un mode particulier de réalisation. En référence à la figure 8, dans un mode particulier de réalisation, le procédé de décodage conforme à l'invention débute à l'étape E801 par la réception d'un GOP. On identifie ensuite lors de l'étape E803 le nombre de niveaux de codage hiérarchique spatial S. S est une valeur entière supérieure ou égale à 1. Cette étape est suivie de l'étape E805, qui consiste à initialiser une variable entière s à la valeur O. Cette variable permet de parcourir l'ensemble des niveaux de codage hiérarchique spatial. On passe ensuite à l'étape E807, au cours de laquelle on teste si tous les niveaux de codage hiérarchique spatial ont été décodés. Si c'est le cas, on retourne à l'étape E801 pour recevoir un nouveau GOP. Sinon, on passe à l'étape E809, qui consiste à identifier le nombre N de hiérarchies temporelles présentes dans le niveau de codage hiérarchique spatial s. L'étape E809 est suivie de l'étape E811, lors de laquelle on teste la valeur de N. Si celle-ci est inférieure à 3, on entreprend un décodage classique du type de celui illustré sur la figure 6 ou sur la figure 7. Sinon, on passe à l'étape E813, au cours de laquelle on initialise une variable entière n à la valeur 1. Cette étape est suivie de l'étape E821 qui consiste à tester si n est inférieur ou égal à 2. Si c'est le cas, cette étape est suivie de l'étape E815 qui consiste à créer un tableau TAB" de taille 2""1 en mémoire. Chaque élément TAB'' du tableau TAB" recevra une valeur représentative du mouvement dans l'intervalle de temps k du niveau de 25 hiérarchie temporelle n. Cette étape est suivie de l'étape E817, au cours de laquelle on procède au décodage du niveau de hiérarchie temporelle n. Au cours de ce décodage, on collecte les vecteurs de mouvement de chaque MB de chaque image décodée. Lors de l'étape suivante E819, on stocke pour chaque 30 intervalle inter-images k du niveau n des informations représentatives du mouvement entre les deux images formant l'intervalle, l'une de ces images étant une image de référence et l'autre, une image prédite. Dans le mode préféré de réalisation de l'invention, cesinformations pourront être la somme de la norme de tous les vecteurs de mouvement de l'image prédite. On notera en outre les caractéristiques particulières suivantes du procédé de décodage conforme à l'invention. D'une part, une image prédite peut contenir des MB prédits à partir des images du même niveau de codage hiérarchique spatial (tels que les MB de type B), des MB prédits à partir de l'image ayant la même référence temporelle dans le niveau de codage hiérarchique spatial précédent et des MB intra, c'est-à-dire des MB non prédits. Un MB intra n'a pas de vecteurs de mouvement, ce qui n'indique pas que le mouvement a été nul, mais qu'aucun MB similaire n'a été trouvé dans l'image de référence. On donnera donc à un MB intra un vecteur de mouvement d'amplitude maximale dans la fenêtre de recherche utilisée par l'algorithme de mise en correspondance de blocs (en anglais "block matching"). Les MB prédits à partir du niveau inférieur utilisent les informations de mouvement d'un MB de l'image de même référence temporelle du niveau inférieur. On affectera la valeur du vecteur de mouvement des MB du niveau inférieur aux MB les utilisant comme références dans le niveau supérieur. D'autre part, la norme SVC utilise des images dites bi-prédites, c'est- à-dire qu'un MB peut également être prédit à partir d'une image précédente et d'une image suivante. Un MB peut donc avoir deux vecteurs de mouvement. Les vecteurs servant à la prédiction de l'image précédente vers l'image courante (ce type de prédiction est appelé "prédiction avant", en anglais "forward prediction") seront comptabilisés dans la norme représentant le mouvement dans cet intervalle de temps. Les vecteurs servant à la prédiction de l'image suivante vers l'image courante ("prédiction arrière", en anglais "backward prediction") seront comptabilisés dans la norme représentant le mouvement dans ce deuxième intervalle. Si un MB ne possède qu'un vecteur de mouvement (dans le cas d'une prédiction avant ou arrière) ou n'en possède pas (cas d'un MB intra), cela indique qu'on n'a pas trouvé de MB similaires dans au moins une des images de référence. On affectera alors au(x) vecteur(s) manquant(s) l'amplitude maximale de mouvement. L'étape E819 est suivie de l'étape E823 qui consiste à incrémenter n de 1. On retourne ensuite à l'étape E821 déjà décrite. Si lors de cette étape, n est supérieur à 2, on poursuit avec l'étape E827, qui consiste à créer des tableaux de taille 2n-' pour n allant de 3 jusqu'à N-1 par incrément de 1. Ces tableaux sont créés de façon similaire aux tableaux créés à l'étape E815 décrite plus haut. L'étape E827 est suivie de l'étape E829, au cours de laquelle on procède à l'identification de l'intervalle à décoder. Pour cela, on parcourt tous les éléments TAB'n présents en mémoire en recherchant celui ayant la valeur maximale. Les indices n et k indiquent le niveau et l'intervalle suivant à décoder. Dès qu'un intervalle a été traité, la valeur de TAB'n qui le représentait est supprimée de la mémoire. Ainsi, conformément à la présente invention, on décode les groupes d'images dans l'ordre décroissant de la valeur représentant le mouvement au sein des images. L'étape E829 est suivie de l'étape E831 qui consiste à procéder au décodage des images de l'intervalle qui ne sont pas encore décodées. Il est à noter que le décodage d'un intervalle peut engendrer le décodage d'une image n'appartenant pas à cet intervalle, mais dont au moins une image de l'intervalle dépend. Les références des images utilisées pour la prédiction d'une image courante sont inscrites dans les en-têtes de "tranches" (en anglais "slices") comme décrit dans la section G.7.3.3.1 du document de travail de J. REICHEL, H. SCHWARTZ et M. WIEN intitulé "Draft of Scalable Video coding - Working draft 4", Nice, octobre 2005 et disponible sur Internet à l'adresse suivante : http://ftp3.itu.int/av-arch/jvt-site/2005_10_Nice/JVT-Q202d1.zip. On rappelle qu'une tranche est un groupe de MB d'une image regroupés derrière un en-tête et décodables indépendamment des autres MB de l'image. Une image peut contenir plusieurs tranches. Une solution possible consiste donc à décoder les en-têtes des tranches de chaque image de l'intervalle. L'organigramme de la figure 9 détaille l'étape E831 de décodage d'un intervalle. Celle-ci débute par une étape E901 consistant à décoder les en-têtes de chaque tranche de chaque image comprise dans l'intervalle. L'étape suivante E903 consiste à procéder au stockage des références des images concernées par le décodage de l'intervalle, que ces images soient comprises dans cet intervalle ou qu'elles soient externes à l'intervalle. Lors de l'étape suivante E904, on élimine de la liste des images concernées par l'intervalle, les images déjà décodées. Conformément à l'invention, l'étape suivante E905 consiste à définir un ordre de décodage en prenant en compte les dépendances inter-images. Ainsi, on considère les intervalles de temps dans un ordre déduit des informations de mouvement puis on décode dans un premier temps les images nécessaires au décodage des images de l'intervalle considéré, avant de décoder les images de l'intervalle dans leur ordre d'affichage. Cette étape est suivie du décodage effectif de toutes les images concernées par l'intervalle (étape E907) puis du stockage des informations de mouvement dans les éléments TABn du tableau TABn (étape E908) et du stockage des références des images déjà décodées (étape E909). Dès qu'un intervalle a été décodé, on recherche l'intervalle à décoder suivant (étape E829 de la figure 8). S'il n'y a plus aucun intervalle à traiter, l'étape E829 est suivie de l'étape E833 qui consiste à incrémenter la variable s de 1. On retourne ensuite à l'étape E807 déjà décrite. Les figures 10 et 11 présentent des exemples de mise en oeuvre de l'invention. Pour chacune des figures, le niveau de base est codé avec des images B-hiérarchiques. Le niveau d'amélioration double la fréquence temporelle et augmente la résolution spatiale. Toutefois, cet exemple n'est nullement limitatif. On pourrait tout aussi bien envisager un niveau d'amélioration ayant une fréquence temporelle F fois supérieure à celle du niveau de base, F étant un entier supérieur à 2. Dans l'exemple de la figure 10, le niveau d'amélioration est codé avec une MCTF. Les images Hx sont des images hautes fréquences et les images Lx sont des images basses fréquences. Les images illustrées en lignes continues sont écrites dans le train binaire. Les autres images sont des images temporaires engendrées lors du décodage. Les flèches continues représentent les dépendances inter-images, soit créées par la MCTF, soit créées par la prédiction inter-niveaux de codage hiérarchique. Les flèches en tirets représentent un parcours de décodage, c'est-à-dire l'ordre de décodage obtenu en appliquant le procédé conforme à l'invention. Ainsi, comme le montre la figure 10, on décode dans un premier temps les images 1 à 6. Une analyse du mouvement est alors réalisée. Cette analyse indique qu'il est préférable de poursuivre le décodage par les images 9, 10 et 11. Il est alors nécessaire de décoder les images 7 et 8. Une seconde analyse du mouvement est alors réalisée, elle indique qu'il est préférable de décoder les images 14, 15 et 16. II est alors nécessaire de décoder les images 12 et 13. L'analyse d'image suivante incite à reprendre le décodage sur les images 17 et 18, et ainsi de suite. La figure 11 représente un exemple de mise en oeuvre de l'invention pour un niveau d'amélioration codé en images B-hiérarchiques. Les images Ex sont des images d'amélioration codées en B-hiérarchiques. Comme le montrent les flèches en tirets, qui indiquent également le parcours de décodage, le décodage débute par les images 1, 2 et 3. Des analyses d'images successives indiquent que le décodage doit se poursuivre par les images 4, puis 5 et 6, et 7, 8 et 9. On reprend ensuite le décodage sur la partie gauche du GOP avec l'image 10, et ainsi de suite. Un dispositif susceptible de mettre en oeuvre la présente invention est illustré sur la figure 12 sous la forme d'une unité multimédia 200. L'unité multimédia peut être par exemple un micro-ordinateur ou une station de travail. Ce dispositif est connecté à différents périphériques tels que, par exemple, tout moyen de stockage d'image relié à une carte graphique et fournissant au dispositif 200 des données multimédia. Le dispositif 200 comporte un bus de communication 202 auquel sont reliés : une unité de calcul 203, - une mémoire morte 204, pouvant contenir un ou plusieurs programmes "Prog" exécutant le procédé de décodage conforme à l'invention, - une mémoire vive 206, comportant des registres adaptés à enregistrer des variables et des paramètres créés et modifiés au cours de l'exécution des programmes précités, et notamment les tableaux TAB, décrits plus haut, - une unité d'affichage tel qu'un écran 208, permettant de visualiser des données et/ou de servir d'interface graphique avec un administrateur réseau qui pourra interagir avec les programmes selon l'invention, à l'aide d'un clavier 210 ou de tout autre moyen tel qu'un dispositif de pointage, comme par exemple une souris 211 ou un crayon optique, - une interface de communication 218 reliée à un réseau de communication 220, par exemple le réseau Internet, l'interface étant notamment apte à recevoir des données, en l'occurrence, un flux vidéo et en particulier, un flux vidéo au format SVC. Le dispositif 200 peut également comporter, en option : - un disque dur 212 pouvant contenir les programmes "Prog" précités, - un lecteur de disquettes 214 adapté à recevoir une disquette 216 et à y lire ou à y écrire des données traitées ou à traiter conformément à la présente invention. Le bus de communication 202 permet la communication et l'interopérabilité entre les différents éléments inclus dans le dispositif 200 ou reliés à lui. La représentation du bus n'est pas limitative et notamment, l'unité de calcul 203 est susceptible de communiquer des instructions à tout élément du dispositif 200 directement ou par l'intermédiaire d'un autre élément du dispositif 200. Le code exécutable de chaque programme permettant au dispositif 200 de mettre en oeuvre le procédé de décodage selon l'invention peut être stocké, par exemple, dans le disque dur 212 ou en mémoire morte 204. En variante, la disquette 216 peut contenir des données ainsi que le code exécutable des programmes précités qui, une fois lu par le dispositif 200, sera stocké dans le disque dur 212. Dans une autre variante, le code exécutable des programmes peut être reçu par l'intermédiaire du réseau de communication 220, via l'interface 218, pour être stocké de façon identique à celle décrite précédemment. Les disquettes peuvent être remplacées par tout support d'information tel que, par exemple, un disque compact (CD-ROM) ou une carte mémoire. De façon générale, un moyen de stockage d'information, lisible par un ordinateur ou par un microprocesseur, intégré ou non au dispositif 200, éventuellement amovible, est adapté à mémoriser un ou plusieurs programmes dont l'exécution permet la mise en oeuvre du procédé conforme à la présente invention. De façon plus générale, le ou les programmes pourront être chargés dans un des moyens de stockage du dispositif 200 avant d'être exécutés. L'unité de calcul 203 commande et dirige l'exécution des instructions ou portions de code logiciel du ou des programmes conformes à l'invention, instructions qui sont stockées dans le disque dur 212 ou dans la mémoire morte 204 ou bien dans les autres éléments de stockage précités. Lors de la mise sous tension, le ou les programmes qui sont stockés dans une mémoire non volatile, par exemple, le disque dur 212 ou la mémoire morte 204, sont transférés dans la mémoire vive (RAM) 206, qui contient alors le code exécutable du ou des programmes conformes à l'invention, ainsi que des registres pour mémoriser les variables et paramètres nécessaires à la mise en oeuvre de l'invention. REVENDICATIONS 1. Procédé de décodage d'un flux vidéo codé suivant un codage hiérarchique, dans lequel les images peuvent être décodées par groupes de plusieurs images, chaque groupe étant constitué d'au moins trois niveaux de hiérarchies temporelles d'images, les images du niveau le plus bas ayant la fréquence temporelle la plus basse et les images de chaque niveau suivant ayant une fréquence temporelle au moins double par rapport aux images du niveau précédent, un niveau de hiérarchie temporelle étant formé d'au moins un intervalle de temps prédéterminé, un intervalle de temps séparant deux images dans ce niveau de hiérarchie temporelle, ledit procédé étant caractérisé en ce que: - lors du décodage d'au moins un niveau de hiérarchie temporelle, on obtient (E817) au moins une information représentative d'un paramètre relatif au contenu du flux vidéo sur au moins un intervalle de temps, et - on définit (E905) un ordre dans le décodage des images de chaque groupe d'images en fonction de ladite information obtenue. 2. Procédé selon la revendication 1, caractérisé en ce que ladite information est représentative du mouvement dans les images du flux vidéo sur ledit intervalle de temps dudit niveau de hiérarchie temporelle. 3. Procédé selon la revendication précédente, caractérisé en ce qu'on décode les images dans l'ordre décroissant de la valeur de ladite information représentative du mouvement. 4. Procédé selon la revendication 2 ou 3, caractérisé en ce que ladite 25 information est la somme de la norme de tous les vecteurs de mouvement d'une image relatifs à un intervalle de temps donné. 5. Procédé selon la revendication précédente, dans lequel une image est constituée d'une pluralité de macroblocs, caractérisé en ce que, si un macrobloc ne possède pas de vecteur de mouvement, on affecte à ce 30 macrobloc un vecteur de mouvement d'amplitude maximale. 6. Procédé selon la revendication 4, dans lequel une image est constituée d'une pluralité de macroblocs, caractérisé en ce que, si unmacrobloc est prédit à partir de l'image ayant la même référence temporelle dans un niveau de codage hiérarchique spatial inférieur, on affecte à ce macrobloc le vecteur de mouvement associé au macrobloc de référence dans l'image de même référence temporelle du niveau de codage hiérarchique spatial inférieur. 7. Procédé selon la revendication 4, dans lequel une image est constituée d'une pluralité de macroblocs, caractérisé en ce que, si un macrobloc possède deux vecteurs de mouvement parce qu'il est prédit à partir d'une image précédente et d'une image suivante, les vecteurs de mouvement servant à la prédiction de l'image précédente vers l'image courante entrent dans le calcul de la norme représentant le mouvement dans l'intervalle de temps entre l'image précédente et l'image courante, et les vecteurs de mouvement servant à la prédiction de l'image suivante vers l'image courante entrent dans le calcul de la norme représentant le mouvement dans l'intervalle de temps entre l'image courante et l'image suivante. 8. Procédé selon l'une quelconque des revendications 4 à 7, caractérisé en ce qu'on mémorise dans un tableau (TABn) de taille 2''"', où n est un entier strictement positif, toutes les sommes des normes des vecteurs de mouvement relatifs à un intervalle de temps donné dans le niveau de hiérarchie temporelle n. 9. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que le flux vidéo est codé suivant le format SVC (codage vidéo hiérarchique, en anglais "Scalable Video Coding"). 10. Dispositif de décodage d'un flux vidéo codé suivant un codage hiérarchique, dans lequel les images peuvent être décodées par groupes de plusieurs images, chaque groupe étant constitué d'au moins trois niveaux de hiérarchies temporelles d'images, les images du niveau le plus bas ayant la fréquence temporelle la plus basse et les images de chaque niveau suivant ayant une fréquence temporelle au moins double par rapport aux images du niveau précédent, un niveau de hiérarchie temporelle étant formé d'au moins un intervalle de temps prédéterminé, un intervalle de temps séparant deux imagesdans ce niveau de hiérarchie temporelle, ledit dispositif étant caractérisé en ce qu'il comporte : - des moyens pour obtenir, lors du décodage d'au moins un niveau de hiérarchie temporelle, au moins une information représentative d'un 5 paramètre relatif au contenu du flux vidéo sur au moins un intervalle de temps, et - des moyens pour définir un ordre dans le décodage des images de chaque groupe d'images en fonction de ladite information obtenue. 11. Dispositif selon la revendication précédente, caractérisé en ce 10 que ladite information est représentative du mouvement dans les images du flux vidéo sur ledit intervalle de temps dudit niveau de hiérarchie temporelle. 12. Dispositif selon la revendication 10 ou 11, caractérisé en ce qu'il comporte des moyens adaptés à décoder les images dans l'ordre décroissant de la valeur de ladite information représentative du mouvement. 15 13. Dispositif selon la revendication 11 ou 12, caractérisé en ce que ladite information est la somme de la norme de tous les vecteurs de mouvement d'une image relatifs à un intervalle de temps donné. 14. Dispositif selon la revendication précédente, dans lequel une image est constituée d'une pluralité de macroblocs, caractérisé en ce qu'il 20 comporte des moyens pour affecter à un macrobloc un vecteur de mouvement d'amplitude maximale, si ce macrobloc ne possède pas de vecteur de mouvement. 15. Dispositif selon la revendication 13, dans lequel une image est constituée d'une pluralité de macroblocs, caractérisé en ce qu'il comporte des 25 moyens pour affecter à un macrobloc le vecteur de mouvement associé au macrobloc de référence dans l'image de même référence temporelle du niveau de codage hiérarchique spatial inférieur, si ce macrobloc est prédit à partir de l'image ayant la même référence temporelle dans un niveau de codage hiérarchique spatial inférieur. 30 16. Dispositif selon la revendication 13, dans lequel une image est constituée d'une pluralité de macroblocs, caractérisé en ce que, si un macrobloc possède deux vecteurs de mouvement parce qu'il est prédit à partird'une image précédente et d'une image suivante, les vecteurs de mouvement servant à la prédiction de l'image précédente vers l'image courante entrent dans le calcul de la norme représentant le mouvement dans l'intervalle de temps entre l'image précédente et l'image courante, et les vecteurs de mouvement servant à la prédiction de l'image suivante vers l'image courante entrent dans le calcul de la norme représentant le mouvement dans l'intervalle de temps entre l'image courante et l'image suivante. 17. Dispositif selon l'une quelconque des revendications 13 à 16, caractérisé en ce qu'il comporte des moyens (206) pour mémoriser dans un tableau (TAB") de taille 2"-I, où n est un entier strictement positif, toutes les sommes des normes des vecteurs de mouvement relatifs à un intervalle de temps donné dans le niveau de hiérarchie temporelle n. 18. Dispositif selon l'une quelconque des revendications 10 à 17, caractérisé en ce que le flux vidéo est codé suivant le format SVC (codage vidéo hiérarchique, en anglais "Scalable Video Coding"). 19. Moyen de stockage d'informations lisible par un ordinateur ou un microprocesseur conservant des instructions d'un programme informatique, caractérisé en ce qu'il permet la mise en oeuvre d'un procédé selon l'une quelconque des revendications 1 à 9. 20. Moyen de stockage d'informations amovible, partiellement ou totalement, lisible par un ordinateur ou un microprocesseur conservant des instructions d'un programme informatique, caractérisé en ce qu'il permet la mise en oeuvre d'un procédé selon l'une quelconque des revendications 1 à 9. 21. Produit programme d'ordinateur pouvant être chargé dans un appareil programmable, caractérisé en ce qu'il comporte des séquences d'instructions pour mettre en oeuvre un procédé selon l'une quelconque des revendications 1 à 9, lorsque ce programme est chargé et exécuté par l'appareil programmable.