Brevet FR2904494A1 — publié le 20080201

La présente invention concerne un procédé et un dispositif de compression d'images, un système de télécommunication comportant un tel dispositif et un programme mettant en oeuvre un tel procédé. Elle s'applique, en particulier, aux systèmes de compression vidéo capables de fournir différents niveaux de qualité, dans la dimension SNR (acronyme de Signal to Noise Ratio pour rapport signal à bruit). Le futur système de compression scalable émergeant SVC (acronyme de Scalable Video Coding pour codage vidéo adaptable ou hiérarchique), extension du standard de compression vidéo H264/AVC, est en cours de normalisation. L'objectif de cette nouvelle norme est de fournir une représentation compressée adaptable (en anglais scalable ) ou hiérarchique d'une séquence vidéo numérique. SVC prévoit de supporter une scalabilité, ou adaptabilité, selon les trois axes suivants: scalabilité temporelle, spatiale et en qualité. Concernant la scalabilité en qualité, celle-ci peut prendre deux formes différentes dans la spécification SVC actuelle. En effet, une couche de raffinement en qualité peut être de type CGS (acronyme de Coarse Grain Scalability pour adaptabilité à gros grain) ou bien FGS (acronyme de Fine Grain Scalability pour adaptabilité à fine granularité). Une couche de raffinement de type CGS contient, à la fois, des données de raffinement, des données de mouvement et des données de texture. Une couche de qualité CGS combine, d'une part, la prédiction temporelle compensée en mouvement et, d'autre part, le codage prédictif des données de mouvement et de texture depuis sa couche de base. Une couche de raffinement de type FGS contient des données de raffinement progressif des informations de texture. Une ou plusieurs couches de qualité FGS successives peuvent être codées au dessus de la couche de base ou d'une couche de scalabilité spatiale ou de type CGS. Typiquement, des moyens de quantification emboîtée et de codage progressif des coefficients 2904494 2 DCT (acronyme de Discrete Cosine Transform pour transformation en cosinus discrète) permet de fournir un train binaire FGS emboîté, apte à être tronqué à une position quelconque et augmentant progressivement la qualité de l'ensemble de l'image considérée. 5 Dans la contribution technique JVT-P059 présentée à la réunion de JVT (acronyme de Joint Video Team pour équipe vidéo conjointe) de Poznan, Juillet 2005: "Comparison of MCTF and closed-loop hierarchical B pictures", il est montré une comparaison de l'efficacité de codage obtenue en appliquant l'estimation de mouvement en boucle ouverte, c'est à dire entre 10 images originales de la séquence à coder, et en boucle fermée, c'est à dire en utilisant comme images de référence les versions reconstruites des images au plus haut niveau de débit FGS. Cette contribution montre que les meilleures performances sont obtenues à l'aide de l'estimation en mouvement en boucle fermée. 15 La contribution technique JVT-P057 présentée à la réunion de JVT (Joint Video Team) de Poznan, Juillet 2005: "Implementation of close-loop coding in JSVM" aboutit à une conclusion similaire. Cependant, les inventeurs ont observé que la couche de qualité FGS la plus importante pour un utilisateur n'est pas la couche de qualité FGS 20 maximale mais la couche qu'il reçoit effectivement après transmission. Ainsi, un codage effectué avec une estimation de mouvement prenant, comme référence, une reconstruction de l'image de référence du niveau de qualité maximal, ne sera pas optimal, au sens de l'efficacité de compression, si l'utilisateur reçoit un flux SVC à un niveau de qualité intermédiaire, inférieur au 25 niveau de qualité maximal. L'invention a ainsi pour but d'optimiser l'efficacité de codage pour le niveau de qualité de type FGS le plus important pour l'utilisateur, par exemple le niveau de qualité correspondant au niveau, ou intervalle, de débit le plus demandé par un ensemble de clients à un instant donné. 30 A cet effet, selon un premier aspect, la présente invention vise un procédé de compression d'une séquence d'images, qui comporte, pour au moins une partie d'une image à compresser : 2904494 3 - une étape d'obtention d'au moins une valeur de paramètre représentative du fonctionnement d'au moins un dispositif de décompression d'image compressée ; - une étape de sélection d'un niveau de qualité en fonction d'au 5 moins une dite valeur de paramètre ; - une étape d'estimation d'au moins un vecteur de mouvement entre une partie de l'image à compresser et une partie d'une image de référence reconstruite au niveau de qualité sélectionné et - une étape de codage d'au moins ladite partie d'image à 10 compresser en mettant en oeuvre chaque vecteur de mouvement estimé. Ainsi, la présente invention permet une sélection dynamique du niveau de qualité des images de référence en fonction de la demande exprimée par les utilisateurs, afin d'optimiser la qualité de l'image rendue pour la majorité de ces utilisateurs. 15 Entre autres avantages de la présente invention, on observe que l'utilisation de ce procédé de compression vidéo au sein du codeur, ou du dispositif associé, ne nécessite pas de modification du procédé et du dispositif de décodage. Selon des caractéristiques particulières, au cours de l'étape 20 d'obtention d'au moins une valeur de paramètre, un paramètre pour lequel on obtient au moins une valeur est représentatif d'un débit utilisé pour au moins une transmission de données comprimées à destination d'au moins un dispositif de décompression d'image compressée. Ainsi, la présente invention permet une sélection dynamique du 25 niveau de qualité des images de référence en fonction des différents niveaux de débit utilisés par les utilisateurs des dispositifs de décompression, afin d'optimiser la qualité de l'image rendue pour la majorité de ces utilisateurs. Selon des caractéristiques particulières, au cours de l'étape de sélection d'un niveau de qualité, on détermine, parmi une pluralité de plages de 30 valeurs d'un paramètre prédéterminé, celle dans laquelle se trouve la majorité, au moins relative, des valeurs dudit paramètre utilisée par des dispositifs de 2904494 4 décompression d'image compressée et on sélectionne un niveau de qualité correspondant, de manière prédéterminée, à ladite plage de valeurs. Selon des caractéristiques particulières, au cours de l'étape d'obtention d'au moins une valeur de paramètre, au moins un paramètre pour 5 lequel on obtient au moins une valeur est représentatif d'un niveau de qualité mis en oeuvre par un dispositif de décompression d'image compressée. Selon des caractéristiques particulières, au cours de l'étape de sélection d'un niveau de qualité, on sélectionne le niveau de qualité qui réalise une optimisation débit-distorsion du choix des vecteurs de mouvement et des 10 images de référence reconstruites utilisées pour l'estimation de mouvement. Selon des caractéristiques particulières, chaque dite partie d'image est un macrobloc, l'étape de sélection du niveau de qualité étant réalisée individuellement pour chaque macrobloc d'au moins une image de la séquence d'images. 15 Grâce à ces dispositions, l'optimisation est effectuée macrobloc par macrobloc, ce qui améliore la qualité des images décompressées. Selon des caractéristiques particulières, au cours de l'étape de codage, on effectue un codage SVC. Selon des caractéristiques particulières, au cours de l'étape de 20 codage, on effectue un codage d'une couche dite de base et d'au moins une couche de qualité de type adaptabilité à fine granularité, ou FGS. Grâce à chacune de ces dispositions, la présente invention s'applique pour optimiser l'efficacité de compression du codeur SVC, pour les couches de qualité correspondant aux plages de débits majoritairement 25 demandées par les différents clients multicast , c'est-à-dire recevant le même média. Pour l'utilisateur qui reçoit un flux SVC au niveau de qualité intermédiaire sélectionné, le codage pourra être plus optimal à ce niveau de qualité, au sens de l'efficacité de compression, puisque l'estimation de 30 mouvement prend alors comme référence la version de l'image de référence qui est effectivement reconstruite au niveau du décodeur de cet utilisateur. 2904494 5 Selon un deuxième aspect, la présente invention vise un dispositif de compression d'une séquence d'images, qui comporte un moyen d'obtention d'au moins une valeur de paramètre représentative du fonctionnement d'au moins un dispositif de décompression d'image compressée et, pour au moins 5 une partie d'une image à compresser : - un moyen de sélection d'un niveau de qualité en fonction d'au moins une dite valeur de paramètre ; - un moyen d'estimation d'au moins un vecteur de mouvement entre une partie de l'image à compresser et une partie d'une image de référence 10 reconstruite au niveau de qualité sélectionné et un moyen de codage d'au moins ladite partie d'image à compresser en mettant en oeuvre chaque vecteur de mouvement estimé. Selon des caractéristiques particulières, le moyen d'obtention d'au moins une valeur de paramètre est adapté à ce qu'un paramètre pour lequel il 15 obtient au moins une valeur soit représentatif d'un débit utilisé pour au moins une transmission de données comprimées à destination d'au moins un dispositif de décompression d'image compressée. Selon des caractéristiques particulières, le moyen de sélection d'un niveau de qualité est adapté à déterminer, parmi une pluralité de plages de 20 valeurs d'un paramètre prédéterminé, celle dans laquelle se trouve la majorité, au moins relative, des valeurs dudit paramètre utilisée par des dispositifs de décompression d'image compressée et à sélectionner un niveau de qualité correspondant, de manière prédéterminée, à ladite plage de valeurs. Selon des caractéristiques particulières, le moyen d'obtention d'au 25 moins une valeur de paramètre est adapté à ce qu'au moins un paramètre pour lequel il obtient au moins une valeur soit représentatif d'un niveau de qualité mis en oeuvre par un dispositif de décompression d'image compressée. Selon des caractéristiques particulières, le moyen de sélection d'un niveau de qualité est adapté à sélectionner le niveau de qualité qui réalise une 30 optimisation débit-distorsion du choix des vecteurs de mouvement et des images de référence reconstruites utilisées pour l'estimation de mouvement. 2904494 6 Selon des caractéristiques particulières, chaque dite partie d'image est un macrobloc, le moyen de sélection étant adapté à sélectionner un niveau de qualité individuellement pour chaque macrobloc d'au moins une image de la séquence d'images. 5 Selon des caractéristiques particulières, le moyen de codage st adapté à effectuer un codage SVC. Selon des caractéristiques particulières, le moyen de codage est adapté à effectuer un codage d'une couche dite de base et d'au moins une couche de qualité de type adaptabilité à fine granularité, ou FGS. 10 Selon un troisième aspect, la présente invention vise un système de télécommunication comprenant une pluralité de dispositifs terminaux reliés par l'intermédiaire d'un réseau de télécommunication, caractérisé en ce qu'il comprend au moins un dispositif terminal équipé d'un dispositif de compression tel que succinctement exposé ci-dessus et au moins un dispositif terminal 15 équipé d'un dispositif de décompression adapté à reconstruire des images à partir des données issues dudit dispositif de compression. Selon un quatrième aspect, la présente invention vise un programme d'ordinateur chargeable dans un système informatique, ledit programme contenant des instructions permettant la mise en oeuvre du procédé de 20 compression tel que succinctement exposé ci-dessus, lorsque ce programme est chargé et exécuté par un système informatique. Les avantages, buts et caractéristiques particulières de ce procédé de compression, de ce système de télécommunication et de ce programme d'ordinateur étant similaires à ceux du dispositif de compression tel que 25 succinctement exposé ci-dessus, ils ne sont pas rappelés ici. D'autres avantages, buts et caractéristiques de la présente invention ressortiront de la description qui va suivre, faite, dans un but explicatif et nullement limitatif en regard des dessins annexés, dans lesquels : - la figure 1 représente, sous forme d'un schéma bloc, un mode de 30 réalisation particulier d'un dispositif de compression d'image objet de la présente invention, - la figure 2 représente, schématiquement, une organisation 2904494 7 multicouche possible avec SVC, - la figure 3 illustre la représentation SVC hiérarchique de la figure 2, dans laquelle ont été ajoutées des couches de raffinement de type FGS, 5 - la figure 4 représente, schématiquement, un décodeur vidéo classique, typiquement représentatif du standard de compression vidéo H264/AVC, - la figure 5 représente, schématiquement, l'insertion de fonctions de décodage de couches de raffinement FGS dans le décodeur illustré en 10 figure 4, - la figure 6 représente, schématiquement, des niveaux de qualité d'affichage liés au codage et au décodage d'une séquence d'images avec incrémentation du niveau de qualité, - la figure 7 représente, sous forme d'un schéma fonctionnel, un 15 encodeur de l'art antérieur, - la figure 8 représente des qualités obtenues après décodage, en fonction du niveau de qualité de l'image de référence utilisée au codage, - la figure 9 représente, sous forme d'un schéma fonctionnel, un mode de réalisation particulier du dispositif d'encodage objet de la présente 20 invention, - la figure 10 représente, sous forme d'un logigramme, des étapes mises en oeuvre dans un mode de réalisation particulier du procédé de compression objet de la présente invention et - la figure 11 représente, sous forme d'un logigramme, des 25 étapes mises en oeuvre pour effectuer l'une des étapes illustrées en figure 10. Avant de décrire la présente invention, on rappelle, ci-dessous, en regard des figures 2 à 6, les principes des représentations multicouches d'une séquence vidéo avec codage vidéo à échelle variable (SVC). 30 Dans toute la description, les termes résidu et erreur de prédiction désignent, indifféremment, la même entité. De même, les termes codage et compression désignent les mêmes fonctions qui 2904494 8 s'appliquent à une image et les termes décodage , reconstruction et décompression sont équivalents entre eux. Dans la suite, nous désignons par couche de base la couche de base compatible avec la norme H264, une couche de scalabilité spatiale ou 5 encore une couche de scalabilité CGS. Le système de compression vidéo SVC prévoit des hiérarchies, ou scalabilités, dans les dimensions temporelle, spatiale et qualitative. La scalabilité temporelle est obtenue par la mise en oeuvre d'images de type B-hiérarchiques dans la couche de base, ou bien grâce à la MCTF 10 (acronyme de Motion Compensated Temporal Filtering pour filtrage temporel compensé en mouvement), non développée ici, dans les couches de raffinement. La scalabilité en qualité, ou SNR , existe sous deux formes. La scalabilité SNR grossière ou CGS est fournie par le 15 codage d'une couche (connue en anglais sous le nom de layer ) dans laquelle soit une décomposition temporelle en images de type B hiérarchique, soit un filtrage temporel compensé en mouvement MCTF est effectué indépendamment de la couche inférieure. Une couche de scalabilité SNR grossière est prédite depuis la couche directement 20 inférieure. Enfin, la scalabilité spatiale est obtenue par codage prédictif d'une couche dans laquelle un filtrage temporel compensé en mouvement MCTF est effectué indépendamment de la couche inférieure. Le codage d'une couche de raffinement spatial est similaire à celui d'une couche 25 CGS, à ceci près qu'il sert à compresser la séquence d'images vidéo à un niveau de résolution supérieur par rapport à celui de la couche inférieure. Le codage inclut, notamment, une étape de sur-échantillonnage spatial dans les deux dimensions spatiales (largeur et hauteur) dans le processus de prédiction inter couches. 30 La scalabilité SNR fine, ou adaptabilité à fine granularité, notée FGS , est obtenue par quantification progressive. Les couches FGS codées en raffinement d'une couche donnée ne transportent que des 2904494 9 informations de raffinement de texture. Elles réutilisent les vecteurs de mouvement transportés par la couche de base. Dans l'implémentation de référence actuelle du codeur SVC, cette estimation de mouvement est réalisée soit entre l'image originale à compresser et les images de référence 5 reconstruites à leur plus haut niveau de qualité FGS (estimation de mouvement en boucle fermée), ou bien entres images originales (estimation de mouvement en boucle ouverte). Par conséquent, l'estimation des vecteurs de mouvement, et donc l'efficacité de codage, se trouvent optimisées pour le niveau de qualité FGS maximal. 10 Un raffinement progressif de type FGS apporte donc un raffinement des valeurs des échantillons de texture représentant une erreur de prédiction spatiale ou temporelle. Notons qu'aucun raffinement des informations de mouvement n'est transporté par une couche de qualité FGS. Les vecteurs de mouvement associés à chaque macrobloc prédit temporellement sont 15 transportés par la couche de base au dessus de laquelle sont ajoutées les couches FGS. Autrement dit, pour reconstruire un macrobloc prédit temporellement, le vecteur de mouvement utilisé lors de la compensation en mouvement par le décodeur est inchangé quelque soit le niveau de qualité auquel le décodeur considéré opère. 20 Par conséquent, le codeur est en charge de générer un champ de mouvement unique qui sera ensuite utilisé pour la compensation en mouvement dans la couche de base (couche de base H264, spatiale, ou CGS), ainsi que dans toutes les couches FGS au-dessus de cette couche de base. La figure 2 illustre un exemple d'organisation multicouche 25 possible avec le système de compression SVC. La couche de base 200 représente la séquence d'images à son plus bas niveau de résolution spatiale, compressée de façon compatible avec la norme H264/AVC. Comme illustré en figure 2, la couche de base 200 est composée d'images de type I, P et B hiérarchiques. 30 Les images de type B hiérarchiques constituent un moyen de générer une couche de base scalable, c'est-à-dire adaptable, dans la dimension temporelle. Elles sont notées Bi, i > 1, et suivent la règle 2904494 10 suivante : une image de type Bi peut être prédite temporellement à partir des images d'ancrage, images de référence de type I ou P qui apparaissent en frontières du groupe d'images traité (en anglais Group of Pictures noté GOP ), l'entourant, ainsi que des images Bj, j chaque bloc du macrobloc courant en cours de traitement, un bloc de référence pour sa 25 prédiction spatiale. Le rôle du commutateur 750 est ensuite de choisir le mode de codage, parmi la prédiction temporelle, la prédiction spatiale et le codage INTRA, qui fournit les meilleures performances de compression pour le macrobloc courant. Ce choix de mode optimisé au sens débit-distorsion fournit donc le macrobloc de référence utilisé pour prédire chaque macrobloc de 30 l'image courante. Il en résulte une image de prédiction de l'image courante. Comme indiqué par la figure 7, la différence entre l'image originale courante et cette image de prédiction est calculée, et constitue l'image d'erreur de 2904494 20 prédiction à coder. Ce codage est opéré par les étapes de transformation, quantification et codage entropique mentionnées précédemment. Ainsi, le codeur vidéo 700 génère une couche de base et plusieurs couches de raffinement progressif FGS au-dessus de cette couche de base. Le 5 schéma fonctionnel de la figure 7 illustre typiquement un codeur vidéo classique de type H264/AVC, dans lequel des fonctions de génération de niveaux de qualité de type FGS 715 à 725 ont été ajoutées. Ces raffinements FGS viennent progressivement augmenter la quantification de la couche de base, en divisant par deux le pas de quantification d'un niveau de qualité FGS donné par 10 rapport au niveau de qualité précédent. Les indices de quantification des coefficients transformés dans la couche de base, de même que les éléments de raffinement de quantification des couches FGS sont fournies au codeur entropique 745 en charge de générer le train binaire compressé scalable dans la dimension SNR. 15 En parallèle, une reconstruction est réalisée par les fonctions 730 à 740, pour former une image de référence qui sert pour l'estimation et pour la compensation en mouvement effectuées par les fonctions 760 et 765. La figure 8 montre un avantage de la mise en oeuvre de la présente invention, en termes de performances de compression. On observe, en figure 8, 20 les différentes courbes débit-distorsion 805, 810, 815 et 820 que l'on peut envisager d'obtenir lorsque l'estimation de mouvement est effectuée en utilisant successivement les différents niveaux de qualité de base et FGS pouvant être délivrés par le codeur. Sur chacune de ces courbes, plus faible est la distorsion, représentée en ordonnée, et meilleure est la qualité de l'image. La figure 8 25 illustre le fait que prendre, comme références pour l'estimation de mouvement, les images reconstruites à un niveau de qualité donné conduit à une optimisation du codage pour la plage de débit correspondant à ce niveau de qualité. Par exemple, choisir le niveau de qualité FGS maximal, ici FGS3, 30 pour reconstruire les images de référence servant pour l'estimation de mouvement en boucle fermée correspond à une courbe débit distorsion 820 en dessous des autres courbes 805 à 815, c'est-à-dire à une image reconstruite de 2904494 21 meilleure qualité, pour la plage de débit correspondant précisément à ce niveau de qualité, à droite de la figure. Par ailleurs, la figure 8 montre un histogramme hypothétique 825 des différentes valeurs de débit effectivement reçus par un ensemble de clients 5 dans un arbre de transmission multicast, ces valeurs de débit étant des valeurs représentatives du fonctionnement des dispositifs clients. Il apparaît, sur cet exemple, que la plage de débit la plus importante, c'est-à-dire la plus "demandée" par l'ensemble des clients, correspond à une plage de débit compatible avec le deuxième niveau de qualité FGS, appelé FGS2. 10 Grâce à la mise en oeuvre de certains modes de réalisation de la présente invention, on optimise le codage SVC pour ce niveau de qualité. Dans d'autres modes de réalisation de la présente invention, on optimise le codage SVC pour le niveau de qualité correspondant à un minimum d'une fonction de coût représentant la perte de qualité correspondant, pour 15 l'ensemble des utilisateurs, au choix d'un niveau de qualité d'image reconstruite pour déterminer des vecteurs de mouvement. On observe que le principe de l'invention s'applique également dans le cas pratique d'une transmission vidéo point à point, c'est à dire depuis un serveur vidéo vers un unique client. Dans ce cas, la plage de débit pertinente 20 ou importante correspond au débit effectivement reçu par le client unique. Cette bande passante correspond à une couche de qualité de type FGS donnée. Conformément à la présente invention, on optimise les performances de codage pour ce niveau de qualité FGS, et on effectue donc l'estimation de mouvement en utilisant comme images de référence des images reconstruites 25 précisément à ce niveau de qualité utilisé par le client. Ainsi, conformément à la présente invention, on adapte le niveau de qualité de reconstruction des images de référence pour l'estimation de mouvement en fonction d'au moins une valeur d'au moins un paramètre représentative du fonctionnement d'au moins un dispositif de décompression 30 d'image compressée, par exemple les valeurs des débits ou de niveaux de qualité utilisés à la décompression. 2904494 22 On observe, en figure 9, un schéma fonctionnel d'un mode de réalisation particulier d'un codeur FGS 900 mettant en oeuvre la présente invention. Comme le codeur vidéo 700 illustré en figure 7, le codeur vidéo 900 génère une couche de base, compatible H264/AVC, ainsi que des couches de 5 raffinement progressif de type FGS, en fonction d'un niveau de qualité sélectionné. On retrouve donc, en figure 9, les mêmes blocs fonctionnels que dans le codeur illustré en figure 7. Cependant, à ces blocs fonctionnels, s'ajoute un mécanisme 905 de choix adaptatif du niveau de qualité FGS auquel sont reconstruites les images de référence qui servent à l'estimation de mouvement 10 en boucle fermée, en fonction du niveau de qualité d'importance maximale. Ce mécanisme 905, représenté sous la forme d'un commutateur transmettant les coefficients transformés quantifiés dans l'un des quatre niveaux de qualité possibles (base, FGS1, FGS2 ou FGS3) à la fonction de quantification inverse 730, prend en compte des informations provenant du 15 réseau de transmission et indiquant la proportion de clients recevant chacune des couches de qualité parmi la couche de base et les couches de raffinement FGS dans le mode de mise en oeuvre décrit ici. D'une manière générale, les informations provenant du réseau contiennent des valeurs de paramètres représentatives du fonctionnement des dispositifs clients, aptes à recevoir et 20 décompresser l'image compressée. Par exemple, un mécanisme de retour d'information des clients vers le codeur rassemble les valeurs des débits reçus par les clients reliés audit réseau. Le serveur vidéo associé au codeur 900 est par ailleurs capable de déterminer les plages de débit correspondant à chacun des niveaux de qualité 25 délivrés par le codeur et transmis aux clients. Par exemple, en mettant en oeuvre l'enseignement du document Text of ISO/IEC 14496 Advanced Video Coding 3rd Edition de G. Sullivan, T. Wiegand et A. Luthra, disponible auprès de ISO/IEC/JTC 1/SC 29/WG 11, Redmond, WA, USA, on établit une correspondance entre les longueurs des NAL (acronyme de Network 30 Abstraction Layer , pour couche d'abstraction réseau) units, ou unités de transfert du train binaire, correspondant à chaque couche de qualité et les 2904494 23 débits indiqués par ces messages de retour depuis le réseau. Ce mécanisme est décrit plus bas, en regard de la figure 11. Cette mise en correspondance permet au codeur de déterminer la proportion de clients recevant chacun des niveaux de qualité disponibles en 5 sortie du codeur et transmis par le serveur vidéo. Cette proportion de clients est utilisée pour définir l'importance relative de chaque couche de qualité générée par le codeur vidéo. Cette importance relative est utilisée pour effectuer le choix du niveau de qualité de base ou FGS pour la reconstruction d'images de référence au sein de la boucle de prédiction temporelle mise en oeuvre par les 10 fonctions de quantification inverse et de transformation inverse de la compression vidéo. Ainsi, le codeur 900 utilise, comme images de référence, dans son estimateur de mouvement 765, les images reconstruites et affichées par une majorité, au moins relative, de clients de l'application multicast envisagée. Ceci optimise donc la qualité vidéo vue par cette majorité de clients. 15 La figure 10 représente, sous forme d'un logigramme, les étapes mises en oeuvre dans un mode de réalisation particulier du procédé objet de la présente invention, pour réaliser le codage d'une séquence d'images, avec une couche de base et une ou plusieurs couches de raffinement progressif au-dessus de la couche de base. 20 Au cours d'une étape 1005, on reçoit une image originale à compresser, ainsi que des informations d'importance relative de chaque niveau de qualité, calculées et fournies par le procédé illustré en figure 11. Au cours de l'étape 1005, pour chaque macrobloc de l'image originale courante, on effectue une estimation de mouvement après avoir 25 recherché, de manière connue en soi, dans une image de référence, un macrobloc qui lui ressemble le plus au sens d'un critère débit-distorsion. Le macrobloc ainsi trouvé sert de macrobloc de référence pour la prédiction temporelle du macrobloc original courant. La différence entre les deux macroblocs représente le signal d'erreur de prédiction, qui est compressé via 30 les étapes de transformation 1012, quantification, étape 1015, et codage entropique, étape 1055. 2904494 24 Afin de former les couches de raffinement FGS, l'étape de quantification 1015 est suivie de plusieurs quantifications successives avec un pas de quantification divisé par deux entre deux niveaux de qualité FGS successifs, au cours d'une étape 1020. Le résultat de ces quantifications 5 successives est mis en oeuvre au cours de l'étape de codage entropique 1055 pour générer un train binaire représentant la séquence vidéo sous forme compressée. Par ailleurs, chaque macrobloc d'erreur de prédiction ainsi compressé est ensuite reconstruit. Pour cela il subit tout d'abord une étape de 10 quantification inverse 1025. Cette quantification inverse est opérée au niveau de qualité d'importance relative maximale déterminé par ailleurs par le procédé illustré, sous forme de logigramme, en figure 11. Au cours de l'étape 1025, une quantification inverse est ainsi progressivement appliquée sur l'image jusqu'à atteindre le niveau de qualité d'importance relative maximale. Ensuite, les 15 coefficients transformés obtenus après quantification inverse, étape 1025, subissent une transformation inverse, étape 1030. Chaque macrobloc d'erreur de prédiction ainsi reconstruit est ajouté à son macrobloc de référence, étape 1035, pour donner un macrobloc reconstruit. Ces étapes étant appliquées à chaque macrobloc de l'image, l'image courante est donc complètement 20 reconstruite au niveau de qualité d'importance maximale. Cette image reconstruite subit ensuite un filtrage de réduction des effets de bloc 1037 (deblocking filter), puis est stockée dans une liste d'images de référence, au cours d'une étape 1040. Au cours d'une étape 1045, on détermine si l'image traitée 25 correspond à la dernière image de la séquence d'images à coder. Si oui, on met fin au procédé, étape 1060. Sinon, au cours d'une étape 1050, on passe à la prochaine image de la séquence d'images à coder et on retourne à l'étape 1005. L'image stockée reconstruite au niveau de qualité sélectionné sert d'image de référence pour l'estimation de mouvement appliquée sur les futures 30 images à coder. L'étape de reconstruction précédemment détaillée est donc effectuée de telle manière que l'estimation de mouvement pour les prochaines images de 2904494 25 la séquence est effectuée en référence à des images reconstruites au niveau de qualité le plus important, par exemple le niveau majoritairement perçu par les clients. La figure 11 représente, sous forme d'un logigramme, des étapes 5 mises en oeuvre pour la sélection du niveau de qualité d'importance relative maximale, parmi la couche de base et l'une des couches de type FGS délivrées par le codeur vidéo considéré. Au cours d'une étape 1105, on obtient des informations en provenance du réseau, concernant les débits reçus par l'ensemble des clients 10 de l'arbre de transmission multicast considéré. Dans le mode de réalisation particulier décrit ici, cette information prend la forme d'un nombre de clients recevant un débit donné. L'ensemble des débits est quantifié et réduit à un nombre limité d'intervalles de débits possibles. L'information retournée par le réseau est donc représentée par un tableau de nombres de clients 15 NbClients[Rk] pour chaque débit d'indice k, débit noté Rk, de l'ensemble des débits possibles. On observe que des mécanismes existent pour récupérer cette information synthétisant les conditions de réception de chaque client, et ne sont pas détaillés ici. Les étapes suivantes illustrées en figure 11, visent à calculer les 20 valeurs d'importance relative pour chaque niveau de qualité q dans le groupe {base, FGS1, FGS2, FGS3}. Dans le mode de réalisation du procédé objet de la présente invention illustré en figures 10 et 11, l'importance de chaque niveau de qualité est définie comme la proportion de clients qui reçoivent le niveau de qualité considéré. Cette importance est tout d'abord initialisée à 0 pour chaque 25 niveau de qualité au cours d'une étape 1110. Au cours d'une étape 1115, pour chaque débit Rk, avec les niveaux de qualité (de base ou FGS) générés par le codeur vidéo et délivrés par le serveur vidéo, on calcule la quantité d'information pour chaque niveau de qualité délivré par le serveur par unité de temps, sur une fenêtre temporelle glissante. Cette quantité d'information est 30 calculée en sommant les longueurs des NAL units (ou unité de transfert du train binaire SVC) émises par le serveur vidéo sur la durée de la fenêtre temporelle considérée. Ces longueurs de NAL units sont connues par le serveur vidéo, 2904494 26 puisque les NAL units sont précisément générées et transmises par ce même serveur vidéo. Cette quantité d'information calculée fournit un débit émis pour chaque niveau de qualité. On détermine alors, pour un débit Rk donné, la couche de qualité la plus haute, en partant de la couche de base, concernée 5 par cette valeur de débit, au cours d'une étape 1117. Ceci est donné par : FGS3 Q = Arg min length(q) Rk qe{base,FGS1,FGS2,FGS3} q=base où length(q) représente la longueur totale des NAL units émises pour le niveau de qualité q. Autrement dit, la valeur du débit Rk reçu par certains clients concerne un certain nombre de niveaux de qualité à partir du niveau de 10 base. Au cours d'une étape 1120, pour le niveau de qualité maximal concerné par la valeur de débit Rk, on met à jour la valeur d'importance relative de ce niveau de qualité. Cette mise à jour prend la forme suivante : IQ * IQ + NbClients [Rk 15 En effet, l'importance du niveau de qualité le plus haut concerné Q est augmentée d'autant qu'il y a de clients qui reçoivent le débit Rk. Au cours d'une étape 1125, on détermine si Rk est le dernier intervalle de débit à considérer. Si oui, on passe à l'étape 1135. Sinon, au cours d'une étape 1130, on passe au prochain intervalle de débit et on retourne à 20 l'étape 1115. Au cours de l'étape 1135, on normalise chaque valeur d'importance en la divisant parla somme des valeurs d'importance calculées. Ceci permet d'avoir une valeur d'importance relative comprise entre 0 et 1 pour chaque débit Rk. Enfin, le niveau de qualité de plus grande importance relative est 25 sélectionné au cours d'une étape 1140. Ce niveau le plus important est ensuite pris en compte à partir de l'étape 1025, illustrée en figure 10, pour la reconstruction de l'image de référence. La suite de la description introduit un autre mode de réalisation 30 particulier du procédé objet de la présente invention. Les entrées de ce mode de réalisation consistent en les différents intervalles de débits Rk reçus par les 2904494 27 différents clients multipoints. On détermine alors l'intervalle de débit le plus important, c'est-à-dire qui correspond à un débit reçu par une majorité de clients. Ce débit d'importance maximale est donc déterminé par la simple expression suivante: 5 R = max {Rk } . k Cette valeur de débit R d'importance maximale parmi les différents débits reçus par les différents clients est alors prise en compte dans l'algorithme d'estimation de mouvement contenu dans le processus de prédiction temporelle du codeur vidéo considéré. Dans le mode de réalisation 10 particulier décrit ici, le processus d'estimation de mouvement utilise un algorithme d'optimisation débit distorsion, connu de l'homme du métier et inclus dans le logiciel de référence SVC, pour estimer les vecteurs de mouvement liant les bloc de l'image courante à coder à leur blocs de référence. On modifie donc l'algorithme d'optimisation débit distorsion mis en 15 place dans le logiciel de référence SVC, appelé JSVM (acronyme de Joint Scalable Video Model pour modèle vidéo adaptable unifié), qui a pour but de fournir un logiciel de référence commun aux membres du comité JVT pour évaluer les performances des outils de compression proposés par les membres du comité. En effet, pour chaque partition de sous-macrobloc d'une partition P 20 d'un macrobloc d'une image de type B à coder, l'estimation de mouvement consiste à rechercher un bloc de référence dans une image de référence qui minimise le lagrangien suivant: mon(ron) = Arg min DsAD(P,ron,mon)+2sAD[R(ro,)+R(mon)j} (1) -.Es où la distorsion DSAD, pour une partition de macrobloc ou de sous- 25 macrobloc P, est donnée par l'expression suivante: DSAD(P,rO/1,m0/1) 1 Iorig[, l Iref,0/1[1+M0/1,x , .~+m0/1,y] (2) (i, j)EP Dans l'équation 2, long représente l'ensemble des échantillons de l'image originale en cours de codage et Iref,O/1 représente les échantillons de 30 l'image de référence utilisée pour la recherche du meilleur prédicteur du macrobloc courant. Le symbole 0/1 modélise le fait que la recherche est 2904494 28 effectuée successivement sur les listes indicées 0 et 1 d'images de référence, la liste d'indice 0 contenant les images de référence dans le passé (Lo), utilisées pour la prédiction avant, et la liste d'indice 1 contenant des images futures, utilisées pour la prédiction arrière (L1). Dans l'équation (1), 5 S est l'espace de recherche pour les vecteurs de mouvement. Les termes R(rom) et R(moä) spécifient le coût (nombre de bits) lié au codage des index roä et des composantes du vecteur de mouvement mO/,. Une fois obtenus les vecteurs de mouvement candidats pour chaque partition de sous-macrobloc Pi, i étant l'indice de partition de sous-macrobloc 10 dans la partition de macrobloc P, dans chacune des images de référence des listes Lo et L,, on sélectionne les images de références ro dans Ro et r, dans R,, et les vecteurs de mouvement associés mo et m, qui minimisent le lagrangien suivant : rois = Arg min T1(DsAD(Pi ,roii,monn(ro, 1,i)))+2sAD xR(mo~i(roi))+2sAD xR(ro1i) ron ERoii iEP lEt 15 (3) Pour introduire la notion d'importance relative de chaque niveau de qualité FGS dans les mécanismes de sélection, on modifie la définition de la mesure de distorsion DSAD, comme indiqué par l'équation (4) ci-dessous. DsAD (P, roi, ,level, moi ) = Importance(level) x lori, [a, j ] ù lref,o,i,ievei [i + moii,x , :1+ moii,y (i,j)EP 20 (4) où Importance(level) e [0,1] représente la mesure d'importance relative calculée en mettant en oeuvre les étapes illustrées en figure 11. lmportance(level) est mesurée pour chaque niveau de qualité level dans L = [base, fgsi, fgs2, fgs3}. Par conséquent, Iref,O/1,iew représente l'ensemble des 25 échantillons d'une image de référence candidate reconstruite au niveau de qualité level. Enfin, la dernière étape de sélection de l'image de référence, conformément à l'équation (3), est également modifiée. En effet, elle inclut, en plus, la sélection du niveau de qualité utilisé auquel est décodée l'image de référence utilisée pour la partition de macrobloc courante P. Cette étape de 30 sélection prend à présent la forme de l'équation (5): 2904494 29 (roli,level) = Arg min ~1(D SAD(Pj,roll,level,moli(roli,i )+2sAD xR(moli(roli,i +2sAD xR(roli) ronERoii jEP lEL (5) Ainsi, une optimisation débit-distorsion du choix des vecteurs de mouvement et des images de référence reconstruites utilisées pour l'estimation 5 de mouvement en boucle fermée est effectuée. Ce mode de réalisation de l'invention donne des résultats supérieurs au précédant, du point de vue des performances de compression, dans la mesure où le contenu effectif des images de référence reconstruites à chacun des niveaux de qualité FGS est pris en compte. 10 De plus, dans ce mode de réalisation, le choix du niveau de qualité FGS du bloc de référence pour l'estimation de mouvement est réalisé de façon adaptative pour chaque macrobloc de l'image courante en cours de compression. Ainsi, le processus d'estimation de mouvement est effectué en 15 utilisant comme image(s) de référence une ou plusieurs images reconstruites au niveau de qualité FGS sélectionné en fonction des conditions pratiques de transmission, par exemple la bande passante, dans un environnement multipoint donné. La qualité vidéo perçue est optimisée pour un débit, ou un niveau de qualité, requis par une majorité, au moins relative, de clients. 20 Ainsi, le contexte pratique de transmission des flux scalables ù typiquement les différentes valeurs de bandes passantes disponibles dans le réseau multicast considéré ù est pris en compte pour déterminer l'importance relative d'une couche de qualité FGS parmi un ensemble de plusieurs couches de qualité FGS délivrées par le codeur SVC. 25 La mise en oeuvre de la présente invention permet d'optimiser dynamiquement l'efficacité de compression du codeur SVC pour les couches de qualité correspondant aux besoins effectifs des différents clients multicast. Ainsi, la présente invention offre la fonctionnalité de codage progressif de l'information de texture et s'applique, en particulier, au cas du 30 système SVC en cours de standardisation, mais aussi à tout codeur ayant la capacité de coder des échantillons représentatifs d'un signal de façon 2904494 30 progressive et emboîtée, ou hiérarchisé, par exemple par utilisation de techniques de quantification emboîtée et codage par plans de bits. On observe que l'utilisation du procédé ou du dispositif objets de la présente invention, au niveau du codeur, ne nécessite pas de modification du 5 système ou du procédé de décodage. REVENDICATIONS 1 Procédé de compression d'une séquence d'images, caractérisé en ce qu'il comporte, pour au moins une partie d'une image à compresser : - une étape d'obtention d'au moins une valeur de paramètre représentative du fonctionnement d'au moins un dispositif de décompression d'image compressée ; - une étape de sélection d'un niveau de qualité en fonction d'au moins une dite valeur de paramètre ; - une étape d'estimation d'au moins un vecteur de mouvement entre une partie de l'image à compresser et une partie d'une image de référence reconstruite au niveau de qualité sélectionné et - une étape de codage d'au moins ladite partie d'image à compresser en mettant en oeuvre chaque vecteur de mouvement estimé. 2. Procédé selon la revendication 1, caractérisé en ce que, au cours de l'étape d'obtention d'au moins une valeur de paramètre, un paramètre pour lequel on obtient au moins une valeur est représentatif d'un débit utilisé pour au moins une transmission de données comprimées à destination d'au moins un dispositif de décompression d'image compressée. 3. Procédé selon l'une quelconque des revendications 1 ou 2, caractérisé en ce que, au cours de l'étape de sélection d'un niveau de qualité, on détermine, parmi une pluralité de plages de valeurs d'un paramètre prédéterminé, celle dans laquelle se trouve la majorité, au moins relative, des valeurs dudit paramètre utilisée par des dispositifs de décompression d'image compressée et on sélectionne un niveau de qualité correspondant, de manière prédéterminée, à ladite plage de valeurs. 4. Procédé selon l'une quelconque des revendications 1 à 3, caractérisé en ce que, au cours de l'étape d'obtention d'au moins une valeur de paramètre, au moins un paramètre pour lequel on obtient au moins une valeur est représentatif d'un niveau de qualité mis en oeuvre par un dispositif de décompression d'image compressée. 2904494 32 5. Procédé selon l'une quelconque des revendications 1 à 4, caractérisé en ce que, au cours de l'étape de sélection d'un niveau de qualité, on sélectionne le niveau de qualité qui réalise une optimisation débit-distorsion du choix des vecteurs de mouvement et des images de référence reconstruites 5 utilisées pour l'estimation de mouvement. 6. Procédé selon l'une quelconque des revendications 1 à 5, caractérisé en ce que chaque dite partie d'image est un macrobloc, l'étape de sélection du niveau de qualité étant réalisée individuellement pour chaque macrobloc d'au moins une image de la séquence d'images. 10 7. Procédé selon l'une quelconque des revendications 1 à 6, caractérisé en ce que, au cours de l'étape de codage, on effectue un codage SVC. 8. Procédé selon la revendication 7, caractérisé en ce que, au cours de l'étape de codage, on effectue un codage d'une couche dite de base et 15 d'au moins une couche de qualité de type adaptabilité à fine granularité, ou FGS. 9. Dispositif de compression d'une séquence d'images, caractérisé en ce qu'il comporte un moyen d'obtention d'au moins une valeur de paramètre représentative du fonctionnement d'au moins un dispositif de décompression 20 d'image compressée et, pour au moins une partie d'une image à compresser : - un moyen de sélection d'un niveau de qualité en fonction d'au moins une dite valeur de paramètre ; - un moyen d'estimation d'au moins un vecteur de mouvement entre une partie de l'image à compresser et une partie d'une image de 25 référence reconstruite au niveau de qualité sélectionné et - un moyen de codage d'au moins ladite partie d'image à compresser en mettant en oeuvre chaque vecteur de mouvement estimé. 10. Dispositif selon la revendication 9, caractérisé en ce que le moyen d'obtention d'au moins une valeur de paramètre est adapté à ce qu'un 30 paramètre pour lequel il obtient au moins une valeur soit représentatif d'un débit utilisé pour au moins une transmission de données comprimées à destination d'au moins un dispositif de décompression d'image compressée. 2904494 33 11. Dispositif selon l'une quelconque des revendications 9 ou 10, caractérisé en ce que le moyen de sélection d'un niveau de qualité est adapté à déterminer, parmi une pluralité de plages de valeurs d'un paramètre prédéterminé, celle dans laquelle se trouve la majorité, au moins relative, des 5 valeurs dudit paramètre utilisée par des dispositifs de décompression d'image compressée et à sélectionner un niveau de qualité correspondant, de manière prédéterminée, à ladite plage de valeurs. 12. Dispositif selon l'une quelconque des revendications 9 à 11, caractérisé en ce que le moyen d'obtention d'au moins une valeur de paramètre 10 est adapté à ce qu'au moins un paramètre pour lequel il obtient au moins une valeur soit représentatif d'un niveau de qualité mis en oeuvre par un dispositif de décompression d'image compressée. 13. Dispositif selon l'une quelconque des revendications 9 à 12, caractérisé en ce que le moyen de sélection d'un niveau de qualité est adapté à 15 sélectionner le niveau de qualité qui réalise une optimisation débit-distorsion du choix des vecteurs de mouvement et des images de référence reconstruites utilisées pour l'estimation de mouvement. 14. Dispositif selon l'une quelconque des revendications 9 à 13, caractérisé en ce que chaque dite partie d'image est un macrobloc, le moyen 20 de sélection étant adapté à sélectionner un niveau de qualité individuellement pour chaque macrobloc d'au moins une image de la séquence d'images. 15. Dispositif selon l'une quelconque des revendications 9 à 14, caractérisé en ce que le moyen de codage st adapté à effectuer un codage SVC. 25 16. Dispositif selon la revendication 15, caractérisé en ce que le moyen de codage est adapté à effectuer un codage d'une couche dite de base et d'au moins une couche de qualité de type adaptabilité à fine granularité, ou FGS. 17. Système de télécommunication comprenant une pluralité de 30 dispositifs terminaux reliés par l'intermédiaire d'un réseau de télécommunication, caractérisé en ce qu'il comprend au moins un dispositif terminal équipé d'un dispositif de compression selon l'une quelconque des 2904494 34 revendications 9 à 16 et au moins un dispositif terminal équipé d'un dispositif de décompression adapté à reconstruire des images à partir des données issues dudit dispositif de compression. 18. Programme d'ordinateur chargeable dans un système 5 informatique, ledit programme contenant des instructions permettant la mise en oeuvre du procédé selon l'une quelconque des revendications 1 à 8, lorsque ce programme est chargé et exécuté par un système informatique.