Brevet FR2931025A1 — publié le 20091113

L'invention concerne un procédé de détermination d'attributs de priorité associés à des conteneurs de données, par exemple dans un flux vidéo, ainsi qu'un procédé de codage, un programme d'ordinateur et des dispositifs associés. Dans le domaine du codage et de la transmission d'images ou de séquences d'image représentant une vidéo, il est connu de représenter les images à différents niveaux de qualité et de résolution spatiale (ainsi qu'à différents niveaux de résolution temporelle dans le cas d'une séquence d'image) afin notamment de transmettre une version de l'image ou de la séquence d'image adaptée (par exemple en temps réel) à la bande passante du canal de transmission. Dans ce contexte, les images de qualité supérieure ou de meilleure résolution (spatiale ou temporelle) sont généralement définies par des données de raffinement (parfois dénommées données de rehaussement, ou encore données d'amélioration) qui permettent de retrouver l'image à cette qualité ou résolution supérieure à partir de représentations de qualité ou résolution inférieure reçues préalablement. Il est alors prévu d'ordonnancer les données à transmettre afin de communiquer en premier lieu les données réduisant le plus fortement la distorsion de l'image (ou des images) transmise(s) pour un débit donné. Il est ainsi prévu, par exemple selon la norme SVC, de placer les données représentant, pour une même résolution spatiale, les différents niveaux de qualité des images d'un groupe d'images dans des conteneurs (dénommés "NAL units" selon cette norme) ordonnancés au moyen d'un attribut de priorité. Les différents conteneurs définissent ainsi différentes couches de qualité, également dénommées couches de priorité, ordonnancées et l'extraction de données en vue d'une transmission peut alors simplement consister à se limiter aux couches de priorité supérieures qu'il est possible de transmettre avec la bande passante disponible sur le canal de transmission. Lorsque de telles couches de priorité sont définies séparément pour chaque niveau de résolution spatiale comme dans le cas mentionné ci-dessus, on a classiquement assigné des priorités les plus hautes aux couches de priorité définissant le niveau de résolution spatiale le plus bas et une priorité moindre à mesure que le niveau de résolution spatiale considéré augmentait, dans l'idée qu'il était préférable d'obtenir toutes les données relatives à un niveau de résolution spatiale déterminé avant de recevoir des données de raffinement relatives à un niveau de résolution spatiale supérieur. On s'est toutefois rendu compte qu'une telle manière de procéder pouvait ne pas être optimale (au sens d'un compromis débit-distorsion) lors de la transmission et du décodage du niveau de résolution supérieur puisque les dernières couches de priorité relatives à la résolution spatiale inférieure pouvaient se révéler moins efficaces à réduire la distorsion que les premières couches de qualité du niveau de résolution supérieur. Il a de ce fait été proposé, par exemple dans le document WO 2007/111 460, d'ordonnancer les conteneurs non plus séparément par niveau de résolution spatiale, mais en considérant tous les niveaux de résolution spatiale et en optimisant un critère débit-distorsion dans ce cadre. Cette solution n'optimise toutefois ce critère débit-distorsion que pour le niveau de résolution supérieur, et non pour les niveaux de résolution spatiale intermédiaires pour lesquels l'ordonnancement au moyen des attributs de priorité déterminés dans le cadre du niveau de résolution spatiale supérieur n'est pas nécessairement optimal. Dans ce contexte, l'invention propose un procédé de détermination d'attributs de priorité respectivement associés à une pluralité de conteneurs définissant au moins une image à une pluralité de niveaux de résolution spatiale, caractérisé en ce qu'il comprend les étapes suivantes : - pour au moins deux niveaux distincts de résolution spatiale considérés, sélection d'au moins un conteneur relatif à un niveau inférieur au niveau considéré de manière à optimiser un critère débit-distorsion obtenu par l'utilisation, pour le décodage de l'image au niveau considéré, des seuls conteneurs sélectionnés en tant que données relatives audit niveau inférieur ; - association à chacun des conteneurs sélectionnés d'un attribut représentant une priorité croissante avec le niveau maximum pour lequel le conteneur est sélectionné. Le choix entre la poursuite de la définition d'un niveau de résolution spatiale et la définition du niveau immédiatement supérieur est ainsi réalisé de manière optimisée pour chaque niveau de résolution spatiale, ce qui permet d'optimiser le critère débit-distorsion à la reconstruction (c'est-à-dire au décodage) quel que soit le niveau de résolution spatiale utilisé. La sélection est par exemple réalisée au sein d'une étape comprenant l'affectation d'un attribut de priorité temporaire à chacun des conteneurs du niveau considéré. La sélection peut alors être réalisée sur la base des attributs de priorité temporaires préalablement affectés aux conteneurs du niveau inférieur sélectionnés, c'est-à-dire en conservant l'ordonnancement des conteneurs tel qu'il a été déterminé lors de l'étape d'affectation des attributs de priorité relative au niveau de résolution spatiale inférieur. En variante, ladite étape peut comprendre également l'affectation d'un attribut de priorité temporaire à chacun des conteneurs du niveau inférieur sélectionnés, c'est-à-dire sans tenir compte de l'attribut de priorité qui leur avait été affecté au préalable. Seuls les conteneurs non sélectionnés conservent dans ce cas l'attribut qui leur avait été affecté lors de l'étape d'affectation des attributs de priorité relative au niveau de résolution spatiale inférieur. Dans ces différents cas où un attribut temporaire est utilisé, l'étape d'association d'un attribut (que l'on pourrait qualifier de "définitif" pour le procédé étudié ici) à un conteneur sélectionné comprend par exemple la détermination dudit attribut en fonction dudit attribut temporaire et du niveau maximum pour lequel le conteneur est sélectionné, ce qui permet de conserver l'ordonnancement déterminé par les étapes d'affectation évoquées ci-dessus tout en tenant compte de l'intérêt du conteneur pour le décodage des niveaux supérieurs. En pratique, le procédé comprend par exemple des itérations correspondant chacune à un niveau de résolution spatiale et parcourant ainsi les niveaux de résolution par ordre décroissant, et l'étape d'association peut alors être réalisée à la première itération à laquelle le conteneur est sélectionné pour le niveau de résolution correspondant à l'itération, ce qui permet de réaliser de manière simple l'association prévue ci-dessus. Par ailleurs, la sélection pour un niveau de résolution spatiale donné est, selon le mode de réalisation proposé, réalisée parmi les conteneurs sélectionnés pour le niveau de résolution spatiale immédiatement inférieur audit niveau donné, ce qui permet d'avoir un nombre de conteneurs au moins stable voire décroissant avec le niveau de résolution spatiale considéré. Selon une application particulière, la pluralité de conteneurs peut définir une pluralité d'images d'un flux vidéo. L'invention propose également un procédé de codage d'au moins une image en un flux de données comprenant une pluralité de conteneurs, caractérisé en ce qu'il comprend les étapes suivantes : - détermination d'attributs de priorité associés auxdits conteneurs selon un procédé tel que présenté ci-dessus ; - écriture des attributs de priorité déterminés dans le flux de 20 données. L'attribut de priorité associé à un conteneur est par exemple écrit dans un champ d'en-tête dudit conteneur. L'invention propose ainsi en particulier un procédé de détermination d'attributs de priorité respectivement associés à une pluralité de conteneurs 25 définissant au moins une image à une pluralité de niveaux de résolution spatiale comprenant au moins un niveau bas, un niveau intermédiaire et un niveau haut, caractérisé en ce qu'il comprend : - une première étape de sélection d'au moins un conteneur relatif à un premier niveau inférieur au niveau intermédiaire de manière à optimiser un 30 critère débit-distorsion obtenu par l'utilisation, pour le décodage de l'image au niveau intermédiaire, des seuls conteneurs sélectionnés en tant que données relatives au premier niveau inférieur ; - une seconde étape de sélection d'au moins un conteneur relatif à un second niveau inférieur au niveau haut de manière à optimiser un critère débit-distorsion obtenu par l'utilisation, pour le décodage de l'image au niveau haut, des seuls conteneurs sélectionnés en tant que données relatives au second niveau inférieur ; - association à chacun des conteneurs sélectionnés à la première étape de sélection et non sélectionnés à la seconde étape de sélection d'un attribut représentant une priorité inférieure à celles associées aux conteneurs sélectionnés à la seconde étape de sélection et supérieure à celles associées aux conteneurs non sélectionnés à la première étape de sélection. L'invention propose également un programme d'ordinateur chargeable dans un système informatique, ledit programme contenant des instructions permettant la mise en oeuvre de l'un des procédés évoqués ci-dessus, lorsque ce programme est chargé et exécuté par le système informatique. L'invention propose en outre un dispositif de détermination d'attributs de priorité respectivement associés à une pluralité de conteneurs définissant au moins une image à une pluralité de niveaux de résolution spatiale, caractérisé en ce qu'il comprend des moyens de sélection, pour au moins deux niveaux distincts de résolution spatiale considérés, d'au moins un conteneur relatif à un niveau inférieur au niveau considéré de manière à optimiser un critère débit-distorsion obtenu par l'utilisation, pour le décodage de l'image au niveau considéré, des seuls conteneurs sélectionnés en tant que données relatives audit niveau inférieur et des moyens d'association à chacun des conteneurs sélectionnés d'un attribut représentant une priorité croissante avec le niveau maximum pour lequel le conteneur est sélectionné. Ce dispositif peut comprendre de manière optionnelle des caractéristiques équivalentes à celles proposées ci-dessus en termes de procédé. D'autres caractéristiques et avantages de l'invention apparaîtront mieux à la lumière de la description qui suit, faite en référence aux dessins annexés dans lesquels : - la figure 1 représente un dispositif susceptible de mettre en oeuvre un procédé selon l'invention ; - la figure 2 illustre le principe de détermination des attributs de priorité proposés par l'invention ; - la figure 3 illustre diverses extractions possibles des données ordonnancées conformément à la figure 2 ; - la figure 4 représente un exemple de procédé de détermination des couches de priorité conformes aux enseignements de l'invention ; - la figure 5 représente un exemple de procédé de détermination des attributs de priorité conformes aux enseignements de l'invention. Un dispositif susceptible de mettre en oeuvre la présente invention est illustré sur la figure 1 sous la forme d'une unité multimédia 100. 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 100 des données multimédia. Le dispositif 100 comporte un bus de communication 102 auquel sont reliés : - un microprocesseur (ou CPU) 103, - une mémoire morte 104, pouvant contenir un ou plusieurs programmes "Prog" permettant la mise en oeuvre des procédés conformes à l'invention lorsque ce ou ces programmes sont exécutés par le microprocesseur 103, - une mémoire vive (ou RAM) 106, comportant des registres 25 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, - une unité d'affichage tel qu'un écran 108, permettant de visualiser des données, ou des images (par exemple d'une séquence vidéo traitée par l'invention) et/ou de servir d'interface graphique afin notamment d'interagir avec 30 les programmes selon l'invention, à l'aide d'un clavier 110 ou de tout autre moyen tel qu'un dispositif de pointage, comme par exemple une souris 111 ou un crayon optique, - une caméra numérique 101 qui permet de saisir une séquence d'images qui pourront être codées à l'intérieur de conteneurs, tels que ceux traités par l'invention, - une interface de communication 118 reliée à un réseau de communication 120, 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 100 peut également comporter, en option : - un disque dur 112 pouvant lui aussi contenir les programmes "Prog" précités, - un lecteur de disquettes 114 adapté à recevoir une disquette 116 et à y lire ou à y écrire des données traitées ou à traiter, notamment conformément à la présente invention. Le bus de communication 102 permet la communication et l'interopérabilité entre les différents éléments inclus dans le dispositif 100 ou reliés à lui. La représentation du bus n'est pas limitative et notamment, le microprocesseur 103 est susceptible de communiquer des instructions à tout élément du dispositif 100 directement ou par l'intermédiaire d'un autre élément du dispositif 100. Le code exécutable de chaque programme permettant au dispositif 100 de mettre en oeuvre les procédés selon l'invention peut être stocké, par exemple, dans le disque dur 112 ou en mémoire morte 104. En variante, la disquette 116 peut contenir des données ainsi que le code exécutable des programmes précités qui, une fois lu par le dispositif 100, sera stocké dans le disque dur 112. Dans une autre variante, le code exécutable des programmes peut être reçu par l'intermédiaire du réseau de communication 120, via l'interface 118, 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 100, éventuellement amovible, est adapté à mémoriser un ou plusieurs programmes dont l'exécution permet la mise en oeuvre des procédés conformes à 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 100 avant d'être exécutés. Le microprocesseur 103 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 112 ou dans la mémoire morte 104 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 112 ou la mémoire morte 104, sont transférés dans la mémoire vive (RAM) 106, 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. La figure 2 illustre le principe de détermination d'attributs de priorité à affecter à des conteneurs en vue de leur ordonnancement de telle manière que l'on puisse aisément en extraire des données représentant un flux vidéo optimisé au sens d'un critère débit-distorsion, et ce quel que soit le niveau de résolution visé. On a représenté sur la partie gauche de la figure 2 trois ensembles de conteneurs de données représentant sous forme codée un groupe d'images respectivement à trois niveaux de résolution spatiale. Plus précisément, un premier ensemble L de conteneurs de données représente sous forme codée un groupe d'images à un niveau de résolution inférieur, ici au niveau de résolution QCIF (soit une résolution de 176 pixels par 144 pixels). Les conteneurs de données de l'ensemble L sont par ailleurs ordonnancés selon la faculté de chacun des conteneurs à réduire la distorsion pour un débit donné, les conteneurs apportant la plus forte réduction de distorsion étant placés en bas dans la représentation de la figure 2. On remarque que les considérations précédentes sont indépendantes du type de codage utilisé pour représenter le groupe d'images au niveau de résolution concerné. Il pourra s'agir par exemple d'images intra (c'est-à-dire codées sans référence à une autre image) et/ou inter (c'est-à-dire codées en référence à une autre image), avec éventuellement plusieurs niveaux de qualité pour chaque image du groupe. En effet, quel que soit le type de codage utilisé, les données peuvent être placées dans des conteneurs ordonnancés comme représenté en figure 2. Un second ensemble de conteneurs I représente sous forme codée 10 le groupe d'images concerné à un niveau de résolution intermédiaire (ici le niveau CIF, soit 352 pixels x 288 pixels). Le niveau de résolution spatiale intermédiaire est toutefois codé par référence au niveau de résolution spatiale inférieur (ici QCIF) c'est-à-dire que, lors du décodage du groupe d'images, l'obtention des images au niveau de 15 résolution spatiale intermédiaire CIF à partir des données issues des conteneurs I nécessite l'obtention préalable des images au niveau de résolution spatiale inférieur QCIF au moyen d'une partie au moins des données issues des conteneurs L. Par ailleurs, comme pour les conteneurs de l'ensemble L, les 20 conteneurs de l'ensemble I sont ordonnancés selon leur aptitude à réduire la distorsion pour un débit donné (les conteneurs réduisant le plus fortement la distorsion étant placés en bas sur la figure 2). L'ensemble de conteneurs H représente quant à lui les images du groupe d'images à un niveau de résolution supérieur, ici le niveau de résolution 25 4CIF, c'est-à-dire une résolution de 704 pixels par 576 pixels. Comme précédemment expliqué à propos du niveau de résolution intermédiaire, le niveau de résolution supérieur 4CIF est codé dans les données des conteneurs H par référence au niveau de résolution intermédiaire de telle sorte que l'obtention des images à la résolution spatiale supérieure 4CIF 30 nécessite l'obtention préalable de l'image au niveau de résolution intermédiaire et par conséquent le décodage d'une partie au moins des données des conteneurs des ensembles 1 et L. Les conteneurs de l'ensemble H sont par ailleurs ordonnancés comme exposé ci-dessus à propos des ensembles de conteneurs I et L. Le procédé de détermination d'attributs de priorité à ces différents conteneurs de données conforme à l'invention comprend deux étapes principales. La première étape consiste à considérer successivement chaque niveau de résolution spatiale et à ordonnancer les conteneurs du niveau de résolution considéré afin que soient considérés en premier ceux qui réduisent le plus la distorsion tout en ne sélectionnant éventuellement qu'une partie des conteneurs de données des niveaux de résolution inférieurs (qui ont été ordonnancés au cours des itérations précédentes) de manière à optimiser un compromis débit-distorsion. Ainsi, pour le niveau de résolution spatiale inférieur, l'itération de la première étape relative à ce niveau consiste simplement en l'attribution de niveaux (ou attributs) de priorité respectifs aux conteneurs de l'ensemble L. En revanche, l'itération relative au niveau intermédiaire comprend la sélection d'une partie seulement des conteneurs de l'ensemble L (conteneurs LI et conteneurs L2 en figure 2) qui optimise un compromis débit-distorsion lors de la reconstruction du niveau de résolution intermédiaire lorsque l'on utilise comme données de référence les images du niveau de résolution spatiale inférieur reconstruites par les seules données des conteneurs LI et L2. Cela revient à dire que l'on a considéré que les conteneurs L3 sont moins efficaces à réduire la distorsion qu'une quantité équivalente des premières couches de priorité des données du niveau de résolution intermédiaire I. L'optimisation se fait par exemple en évaluant un critère débit-distorsion sur les images reconstruites en considérant successivement un nombre décroissant de conteneurs du niveau de résolution inférieur (c'est-à-dire de l'ensemble L) pris dans l'ordre déterminé à l'itération précédente. Les conteneurs de l'ensemble L qui ne contribuent pas de façon significative à la qualité de reconstruction du niveau intermédiaire se voient alors attribuer un niveau de priorité minimal (0). Ces conteneurs, qui constituent l'ensemble L3 sur la figure 2, ne sont alors pas considérés comme intéressants pour le niveau intermédiaire. Les autres conteneurs du niveau de résolution spatiale inférieur forment les ensembles L1 et L2 de la figure 2 et constituent donc les conteneurs du niveau de résolution spatiale inférieur sélectionnés pour la détermination des couches de priorité du niveau de résolution spatiale intermédiaire. Selon une variante envisageable, on pourrait effectuer l'optimisation débit-distorsion des niveaux de priorité sans prendre en compte l'ordonnancement des conteneurs déterminé aux niveaux de résolution spatiale précédents. Les conteneurs provenant du niveau bas (niveau inférieur) et sélectionnés pour le niveau intermédiaire sont alors dans ce cas ordonnancés de façon à optimiser le critère débit-distorsion pour le niveau de résolution spatiale intermédiaire. Seul les conteneurs appartenant à l'ensemble L3 de la figure 2 seront alors maintenus dans l'ordre des niveaux de priorité déterminé lors de l'itération relative au niveau de résolution spatiale inférieur. L'itération de l'étape pour le niveau de résolution intermédiaire comprend également l'ordonnancement des différents conteneurs de telle sorte que les premiers conteneurs réduisent le plus fortement la distorsion (comme cela a déjà été évoqué pour le niveau inférieur). La première étape comprend enfin une itération relative au niveau de résolution supérieur qui consiste à déterminer les niveaux de priorité (c'est-à-dire en pratique les attributs de priorité) des conteneurs de l'ensemble H tout en optimisant un critère débit-distorsion par la sélection d'une partie seulement des conteneurs I, L relatifs aux niveaux de résolution spatiale inférieurs, à savoir ici aux niveaux de résolution intermédiaire et inférieur. L'optimisation est par exemple réalisée en considérant, dans chaque niveau inférieur au niveau concerné, un nombre décroissant de conteneurs tel qu'ordonnancé dans les itérations précédentes et en envisageant toutes les combinaisons possibles. Comme précédemment, on peut procéder en variante sans tenir compte de l'ordonnancement défini lors de l'itération relative au niveau intermédiaire. On remarque que l'on se limite toutefois pour le niveau de résolution inférieure QCIF aux conteneurs déjà sélectionnés lors de l'itération de l'optimisation relative au niveau de résolution intermédiaire (et ce quelle que soit la variante envisagée) de telle sorte que les conteneurs de données sélectionnés pour la présente itération (conteneurs LI en figure 2) font nécessairement partie des conteneurs sélectionnés à l'itération précédente (conteneurs LI + conteneurs L2 en figure 2). On obtient ainsi pour chaque niveau de résolution spatiale inférieur au niveau de résolution concerné (c'est-à-dire ici pour les niveaux intermédiaire CIF et inférieur QCIF) une sélection de conteneurs (ici les conteneurs Il du niveau de résolution intermédiaire et les conteneurs LI du niveau de résolution inférieur) qui optimisent (au sens d'un critère débit-distorsion) la reconstruction du niveau de résolution supérieur lors du décodage des données issues des conteneurs H en référence aux données sélectionnées Il et Li. La seconde étape du procédé de détermination d'attributs de priorité consiste à combiner les résultats des itérations de l'étape précédente comme décrit à présent et illustré à droite de la figure 2. On affecte (par exemple par écriture d'une valeur dans un champ d'en-tête du conteneur) les attributs de priorités les plus hauts (désignant les conteneurs les plus prioritaires) aux conteneurs de données LI, Il sélectionnés lors de l'itération comprise dans la première étape et relative à l'optimisation pour le niveau de résolution supérieure 4CIF, ainsi qu'aux conteneurs H du niveau de résolution spatiale supérieur. Du fait que les niveaux de résolution spatiale inférieurs sont utilisés comme référence pour les niveaux de résolution immédiatement supérieurs, on attribue parmi l'ensemble de ces conteneurs LI, Il, H une priorité plus haute aux conteneurs LI relatifs au niveau de résolution spatiale inférieur, puis à ceux Il relatifs au niveau de résolution spatiale intermédiaire, comme bien visible en figure 2. Enfin, dans chaque ensemble de conteneurs LI, Il, H relatif à un niveau de résolution spatiale donné, on attribue un niveau de priorité conforme à l'ordonnancement déterminé lors de la première étape. On affecte un attribut de priorité plus faible aux conteneurs L2, 12 sélectionnés lors de l'optimisation relative au niveau de résolution spatiale intermédiaire, mais non sélectionnés lors de l'optimisation relative au niveau de résolution spatiale supérieur. Comme précédemment, on affecte aux conteneurs L2 relatifs au niveau de résolution inférieur QCIF un attribut de priorité supérieur aux conteneurs 12 relatifs au niveau de résolution spatiale intermédiaire CIF, et dans chaque ensemble L2, 12 relatif à un niveau de résolution spatiale donné, on respecte l'ordonnancement déterminé lors de la première étape. On affecte enfin les attributs de priorité les plus bas aux conteneurs L3 (ici relatifs seulement au niveau de résolution spatiale le plus bas QCIF) qui n'ont pas été sélectionnés lors de l'optimisation relative au niveau de résolution spatiale intermédiaire (ni non plus par conséquent à l'optimisation relative au niveau de résolution spatiale supérieur). On a représenté en figure 3 les différentes possibilités d'extraction du train binaire après affectation des attributs de priorité telle qu'elle vient d'être décrite en référence à la figure 2. On part donc de l'ensemble de conteneurs ordonnancés LI, Il, H, L2, 12, L3 obtenus au moyen du procédé qui vient d'être décrit. L'attribut de priorité est par exemple pour ce faire enregistré dans un champ d'en-tête du conteneur concerné (par exemple le champ "priority_id" selon la norme SVC). L'en-tête peut en outre comprendre un champ (par exemple "dependency_id") qui indique le niveau de résolution spatiale auquel est relatif le conteneur. Lorsque l'on souhaite effectuer une extraction d'un train binaire en vue d'une représentation au niveau de résolution spatiale inférieur QCIF, on se limite aux conteneurs dont le champ "dependency_id" indique que les données qu'ils contiennent sont relatives à ce niveau de résolution inférieur QCIF (conteneurs LI, L2, L3). On détermine alors (en tenant compte de l'ordonnancement défini par les attributs de priorité "priority_id") la partie des conteneurs parmi ces conteneurs LI, L2, L3 qui peut être transmise tout en respectant le débit disponible, puis on construit le train binaire à transmettre sur la base de cette partie des conteneurs déterminés. On peut également souhaiter extraire les données permettant la reconstruction du groupe d'images au niveau de résolution spatiale intermédiaire (ici CIF). Pour ce faire, on ne considère que les conteneurs relatifs à ce niveau de résolution spatiale intermédiaire et au niveau de résolution spatiale inférieur (ici QCIF) sur la base de l'information contenue dans le champ "dependency_id" : on se limite alors aux conteneurs LI, Il, L2, 12 et L3 comme bien visible en figure 3. Ces conteneurs sont toutefois ordonnancés dans l'ordre qui vient d'être donné grâce au procédé décrit précédemment en figure 2. On détermine alors, en tenant compte des attributs de priorité "priority_id", quelle partie de ces conteneurs pourra être transmise avec le débit de transmission disponible et on construit le train binaire sur la base de cette partie déterminée. En pratique, le train binaire est construit de telle manière que les conteneurs des différents niveaux de résolution spatiale sont entrelacés lors de la transmission (effectuée image par image) : les conteneurs, provenant de différents niveaux de résolution spatiale, servant à décoder une même image sont transmis consécutivement, par niveau de résolution spatiale croissant. Les attributs de priorité des conteneurs considérés ici ayant été attribués par optimisation relative précisément au niveau de résolution spatiale intermédiaire, l'extraction ainsi réalisée est par construction optimale au sens du critère débit-distorsion utilisé lors de l'optimisation. On peut souhaiter enfin extraire les données représentant le groupe d'images au niveau de résolution supérieur 4CIF. Pour ce faire, on considère l'ensemble des conteneurs ordonnancés par l'affectation d'attributs de priorité "priority_id" lors du procédé décrit en référence à la figure 2 : conteneurs LI, Il, H, L2, 12, L3. On détermine, en respectant la priorité définie par ces attributs de priorité, la partie des données de l'ensemble des conteneurs aptes à être transmise du fait du débit disponible, et on construit le train binaire sur la base de cette partie déterminée. La reconstruction sera optimale au sens du critère débit-distorsion utilisé précédemment ici aussi puisque l'optimisation a été justement réalisée pour le niveau de résolution supérieur considéré ici. On décrit à présent en référence à la figure 4 un exemple détaillé du procédé d'affectation d'attributs de priorité conformes aux principes généraux qui viennent d'être décrits. Ce procédé dispose en entrée d'un train binaire codé B à NbRes niveaux de résolution spatiale (où NbRes vaut au moins 2 ; dans l'exemple décrit NbRes vaut 3 mais pourrait de manière générale être supérieur ou égal à 3), ainsi que de la séquence originale à chacun de ces niveaux de résolution spatiale des images codées dans le train B. On initialise alors le niveau courant current level à zéro (c'est-à-dire à la valeur désignant le niveau de résolution le plus bas) à l'étape E400. On va alors procéder comme déjà expliqué à une boucle sur le niveau courant current level qui permettra de considérer successivement chacun des niveaux de résolution spatiale afin de mettre en oeuvre à chaque fois une itération permettant de déterminer les couches de priorité qui représentent de manière optimale la séquence originale pour le niveau courant. On procède ainsi tout d'abord à l'étape E401 à laquelle on extrait du train binaire B les conteneurs de données (dénommés NAL sur la figure 4 selon la terminologie utilisée dans la norme SVC) dont le niveau de résolution est inférieur ou égal au niveau courant current level. On obtient ainsi un sous-flux noté substream (current level) sur la figure 4 et qui comprend donc comme indiqué sur cette figure l'ensemble des conteneurs NAL du train binaire B dont le champ NAL.did (désignant le niveau de résolution spatiale) comporte une valeur inférieure ou égale au niveau courant current level. On applique alors à l'étape E402 à ce sous-flux extrait un procédé de détermination de l'ordonnancement des différentes couches de priorité (parfois dénommées couches de qualité) de manière à optimiser un compromis débit- distorsion en prenant en considération l'ensemble des niveaux de résolution spatiale du sous-flux substream (current level), par exemple conformément à ce qui est décrit dans la demande de brevet WO 2007/111460. On remarque toutefois que cette étape ne s'applique qu'aux conteneurs NAL des couches de résolution spatiale inférieure ou égale au niveau courant current level, et non à l'ensemble des niveaux de résolution spatiale comme proposé dans ce document (sauf naturellement lorsque le niveau courant est égal au niveau de résolution le plus haut). Comme déjà expliqué en référence à la figure 2, ce procédé de détermination des couches de priorité, lorsqu'il est appliqué à plusieurs niveaux de résolution spatiale, privilégie, à la poursuite de la définition du niveau de résolution, la prise en compte (c'est-à-dire la sélection) de données d'un niveau de résolution immédiatement supérieur lorsque les données du niveau immédiatement supérieur permettent de réduire plus fortement la distorsion que la poursuite de définition du niveau de résolution immédiatement inférieur (voir par exemple les conteneurs L3 qui ne sont pas pris û c'est-à-dire non sélectionnés û en considération lors de la détermination des couches de priorité en considérant les niveaux de résolution QCIF et CIF). L'optimisation du compromis débit-distorsion se fait en comparant les images reconstruites par le décodage des couches de priorité déterminées aux images de la séquence originale mentionnées ci-dessus. On obtient ainsi à l'étape E403 un attribut de priorité pour chacun des conteneurs NAL qui a été sélectionné lors de l'étape E402 comme permettant la reconstruction optimale du sous-flux extrait au niveau de résolution spatiale courant current level. On note NAL.pid mlgl [current level] l'attribut de priorité ainsi affecté (de manière temporaire) aux conteneurs NAL tel qu'il résulte de l'étape E402. On peut en pratique et par convention attribuer une valeur minimale (ici nulle) au champ NAL.pid mlgl [current level] des conteneurs NAL non sélectionnés à l'étape E402 (afin d'indiquer que ces conteneurs n'ont pas été sélectionnés). On vérifie alors l'étape E404 si le niveau de résolution qui vient d'être considéré est le dernier niveau à considérer (égal à NbRes û 1). Dans la négative, on incrémente le niveau courant current level à l'étape E405 et on boucle à l'étape E401. Dans l'affirmative, on va procéder à la recombinaison des résultats obtenus lors des itérations successives de la boucle qui précède comme illustré sur la partie droite de la figure 2. Pour ce faire, on commence par définir à l'étape E406 un niveau cible target level égal au niveau de résolution spatiale le plus haut NbRes û 1. On initialise par ailleurs à l'étape E407 une valeur cible pour l'attribut de priorité target pid à la valeur de priorité maximale (ici par exemple 63) ainsi que la valeur booléenne target pid used à faux indiquant que le niveau de priorité cible courant target pid n'a pour l'instant été assigné comme niveau de priorité définitif à aucun conteneur NAL du train binaire B. On détermine alors à l'étape E408 les attributs de priorité définitifs pour les conteneurs NAL utilisés de façon optimale pour le décodage du niveau cible target level comme décrit en détail ci-dessous en référence à la figure 5. Une fois l'étape E408 réalisée, on boucle sur l'étape E408 en décrémentant le niveau cible target ievel (étape E410) si le niveau de résolution le plus bas n'a pas été atteint (étape E409). En revanche, si l'ensemble des niveaux cibles target ievel a été parcouru, le procédé est terminé comme indiqué sur la figure 4. La boucle permettant d'itérer plusieurs fois l'étape E408 permet, comme cela apparaîtra encore avec la description détaillée de cette étape qui suit, de réorganiser les attributs de priorité temporaires déterminés à l'étape E403 afin que les conteneurs NAL utilisés pour le décodage optimal du niveau de résolution spatiale supérieur aient une priorité supérieure à ceux qui ne sont utilisés de manière optimale que pour le décodage de niveaux de résolution spatiale inférieurs, tout en conservant l'ordonnancement déterminé à l'étape E402 entre les différents conteneurs NAL utilisés de façon optimale pour le décodage d'un niveau de résolution donné. On va maintenant décrire en référence à la figure 5 le procédé mis en oeuvre à l'étape E408 mentionnée ci-dessus. On détermine à l'étape E500 la valeur minimum pid end prise par les attributs de priorité temporaires NAL.pid mlgl [target level] affectés à l'étape E402 lors de l'optimisation pour ce niveau cible. Comme on le verra dans la suite, on réalise une boucle sur la valeur des attributs de priorité temporaire entre la valeur maximale (ici 63) et ce minimum afin de parcourir l'ensemble des valeurs d'attributs de priorité affectés lors de cette optimisation pour le niveau cible. Vue la convention adoptée plus haut dans la présente mise en oeuvre pratique, on ne prend en compte que les attributs de priorité temporaires NAL.pid mlgl [target level] strictement supérieurs à 0, de façon à ne considérer que les conteneurs NAL qui ont été sélectionnés pour le niveau de résolution spatiale courant. Afin de réaliser cette boucle, on initialise à l'étape E501 une valeur de priorité courante current pid à la valeur maximale des attributs de priorité (ici 63). On va alors successivement considérer l'ensemble des conteneurs NAL du sous-flux à ce niveau cible substream (target level). Pour ce faire, on initialise le processus à l'étape E502 à laquelle on considère le premier conteneur NAL du sous-flux comme le conteneur courant. On procède alors à l'étape E503 à laquelle on vérifie d'une part que l'attribut de priorité définitif NAL.pid du conteneur courant NAL n'a pas encore été assigné et d'autre part si l'attribut de priorité temporaire NAL.pid mlgl [target ievel] est égal à la valeur de priorité courante current pid. Si les deux vérifications sont positives (ce qui est le cas lorsque le conteneur NAL n'a pas été sélectionné pour le décodage optimisé aux niveaux de résolution cible traités antérieurement et que l'attribut de priorité temporaire a la valeur de priorité courante), on procède à l'étape E504 à laquelle on fixe à la valeur cible target pid l'attribut de priorité définitif NAL.pid relatif au conteneur courant NAL, et on positionne le booléen target pid used à vrai, ce qui indique que le niveau de priorité cible courant target pid a été attribué à au moins un conteneur NAL du train binaire B. Dans la négative, c'est-à-dire soit que l'attribut de priorité temporaire du conteneur courant ne corresponde pas au niveau de priorité courant ou que l'attribut de priorité définitif NAL.pid ait déjà été affecté (ce qui est le cas lorsque le conteneur courant NAL est utilisé dans le décodage optimal à un niveau de résolution supérieur au niveau cible courant target level), on saute l'étape E504 et on passe directement à l'étape E505. L'étape E504 est également suivie de l'étape E505. On passe donc dans tous les cas à cette étape E505 à laquelle on détermine si le conteneur courant NAL est le dernier conteneur du sous-flux, auquel cas on quitte la boucle à l'étape E507. En revanche, si tous les conteneurs n'ont pas été considérés, on procède à l'étape E506 à laquelle on considère le conteneur suivant en tant que conteneur courant et on boucle à l'étape E503. A l'étape 507 mentionnée plus haut, on vérifie si la valeur de priorité courante current pid est égale au minimum pid end parmi les valeurs possibles (tel que déterminé à l'étape E500). Dans l'affirmative, l'ensemble des valeurs de priorité utilisées pour le décodage optimal au niveau considéré target ievel ayant été parcouru, on retourne à l'étape E409 comme déjà décrit. En revanche, si l'ensemble des niveaux de priorité n'a pas été parcouru, on passe à l'étape E508 à laquelle on décrémente la valeur de priorité courante current pid ce qui permettra de considérer les conteneurs NAL ayant un attribut de priorité immédiatement inférieur. On vérifie ensuite à l'étape E509 si le niveau de priorité cible courant target pid a été affecté à au moins un conteneur NAL, en évaluant le booléen target pid used. Dans la négative on retourne directement à l'étape E502. Dans l'affirmative, à l'étape E510, on décrémente le niveau de priorité cible courant d'une unité et on repositionne le booléen target pid used à faux. Cela permettra d'affecter une valeur définitive immédiatement inférieure aux conteneurs NAL ayant un attribut de priorité temporaire immédiatement inférieur. On retourne ensuite à l'étape E502. Comme déjà indiqué, on garde ainsi au sein des conteneurs utilisés pour le décodage optimal d'un niveau de résolution donné l'ordonnancement déterminé lors de l'optimisation à ce niveau de résolution, tout en affectant aux conteneurs NAL des attributs de priorité croissants en fonction du niveau de résolution le plus haut pour lequel ils ont été sélectionnés dans l'étape d'optimisation du compromis débit-distorsion. Les modes de réalisation qui précèdent ne sont que des exemples possibles de la mise en oeuvre de l'invention, qui ne s'y limite pas. REVENDICATIONS1. Procédé de détermination d'attributs de priorité respectivement associés à une pluralité de conteneurs définissant au moins une image à une pluralité de niveaux de résolution spatiale, caractérisé en ce qu'il comprend les étapes suivantes : - pour au moins deux niveaux distincts de résolution spatiale considérés, sélection d'au moins un conteneur relatif à un niveau inférieur au niveau considéré de manière à optimiser un critère débit-distorsion obtenu par l'utilisation, pour le décodage de l'image au niveau considéré, des seuls conteneurs sélectionnés en tant que données relatives audit niveau inférieur ; - association à chacun des conteneurs sélectionnés d'un attribut représentant une priorité croissante avec le niveau maximum pour lequel le conteneur est sélectionné. 2. Procédé de détermination d'attributs de priorité selon la revendication 1, caractérisé en ce que la sélection est réalisée au sein d'une étape comprenant l'affectation d'un attribut de priorité temporaire à chacun des conteneurs du niveau considéré. 3. Procédé de détermination d'attributs de priorité selon la revendication 2, caractérisé en ce que la sélection est réalisée sur la base des attributs de priorité temporaires préalablement affectés aux conteneurs du niveau inférieur sélectionnés. 4. Procédé de détermination d'attributs de priorité selon la revendication 2, caractérisé en ce ladite étape comprend l'affectation d'un attribut de priorité temporaire à chacun des conteneurs du niveau inférieur sélectionnés. 5. Procédé de détermination d'attributs de priorité selon l'une des revendications 2 à 4, caractérisé en ce que l'étape d'association d'un attribut à un conteneur sélectionné comprend la détermination dudit attribut en fonction dudit attribut temporaire et du niveau maximum pour lequel le conteneur est sélectionné. 6. Procédé de détermination d'attributs selon l'une des revendications 1 à 5, caractérisé en ce qu'il comprend des itérations correspondant chacune à un niveau de résolution spatiale et parcourant ainsi les niveaux de résolution par ordre décroissant, et en ce que l'étape d'association est réalisée à la première itération à laquelle le conteneur est sélectionné pour le niveau de résolution correspondant à l'itération. 7. Procédé de détermination d'attributs selon l'une des revendications 1 à 6, caractérisé en ce que la sélection pour un niveau de résolution spatiale donné est réalisée parmi les conteneurs sélectionnés pour le niveau de résolution spatiale immédiatement inférieur audit niveau donné. 8. Procédé de détermination d'attributs selon l'une des revendications 1 à 7, caractérisé en ce que la pluralité de conteneurs définit une pluralité d'images d'un flux vidéo. 9. Procédé de codage d'au moins une image en un flux de données comprenant une pluralité de conteneurs, caractérisé en ce qu'il comprend les étapes suivantes : - détermination d'attributs de priorité associés auxdits conteneurs selon un procédé conforme à l'une des revendications 1 à 8 ; - écriture des attributs de priorité déterminés dans le flux de données.30 10. Procédé de codage selon la revendication 9, caractérisé en ce que l'attribut de priorité associé à un conteneur est écrit dans un champ d'en-tête dudit conteneur. 11. Dispositif de détermination d'attributs de priorité respectivement associés à une pluralité de conteneurs définissant au moins une image à une pluralité de niveaux de résolution spatiale, caractérisé en ce qu'il comprend : - des moyens de sélection, pour au moins deux niveaux distincts de résolution spatiale considérés, d'au moins un conteneur relatif à un niveau inférieur au niveau considéré de manière à optimiser un critère débit-distorsion obtenu par l'utilisation, pour le décodage de l'image au niveau considéré, des seuls conteneurs sélectionnés en tant que données relatives audit niveau inférieur ; - des moyens d'association à chacun des conteneurs sélectionnés d'un attribut représentant une priorité croissante avec le niveau maximum pour lequel le conteneur est sélectionné. 12. Dispositif de détermination d'attributs de priorité selon la revendication 11, caractérisé en ce que les moyens de sélection sont associés à des moyens d'affectation d'un attribut de priorité temporaire à chacun des conteneurs du niveau considéré. 13. Dispositif de détermination d'attributs de priorité selon la revendication 12, caractérisé en ce que les moyens d'association d'un attribut à un conteneur sélectionné comprennent des moyens de détermination dudit attribut en fonction dudit attribut temporaire et du niveau maximum pour lequel le conteneur est sélectionné. 14. Dispositif de détermination d'attributs selon l'une des revendications 11 à 13, caractérisé en ce que les moyens de sélection pour un niveau de résolution spatiale donné sont aptes à sélectionner ledit au moins unconteneur parmi les conteneurs sélectionnés pour le niveau de résolution spatiale immédiatement inférieur audit niveau donné. 15. Dispositif de détermination d'attributs selon l'une des revendications 11 à 14, caractérisé en ce que la pluralité de conteneurs représente une pluralité d'images d'un flux vidéo. 16. Dispositif de codage d'au moins une image en un flux de données comprenant une pluralité de conteneurs, caractérisé en ce qu'il 10 comprend : - un dispositif de détermination d'attributs de priorité associés auxdits conteneurs conforme à l'une des revendications 11 à 15 ; - des moyens d'écriture des attributs de priorité déterminés dans le flux de données. 15 17. Dispositif de codage selon la revendication 16, caractérisé en ce que les moyens d'écriture sont aptes à écrire l'attribut de priorité associé à un conteneur dans un champ d'en-tête dudit conteneur. 20 18. Programme d'ordinateur chargeable dans un système informatique, ledit programme contenant des instructions permettant la mise en oeuvre du procédé selon l'une quelconque des revendications 1 à 10, lorsque ce programme est chargé et exécuté par le système informatique 25