Brevet FR3008842A1 — publié le 20150123

PROCEDE DE DIFFUSION ADAPTATIVE DE FLUX MULTIMEDIA EN UTILISANT UN INDICE D'ENERGIE L'objet de l'invention concerne un procédé et un système permettant une diffusion adaptative de flux multimédia (choix de la représentation à télécharger), entre un serveur et un ou des terminaux en utilisant au moins un critère d'énergie consommée par le terminal. Elle s'applique, par exemple, pour des terminaux mobiles ayant une autonomie limitée, en particulier lorsqu'un utilisateur souhaite visualiser des vidéos diffusées sur Internet. Généralement, le contenu de données est distribué via des serveurs gérés par des fournisseurs de service. Ainsi, de façon à recevoir un contenu spécifique, un utilisateur va émettre une requête auprès d'un serveur qui stocke ce contenu. L'utilisateur recevra ces données généralement sur un téléphone mobile, une tablette ou tout autre dispositif équivalent. La généralisation des accès haut débit, réseaux 4G par exemple, ainsi que l'avènement du standard de compression de codage vidéo à efficacité élevée HEVC (High Efficiency Video Coding) vont conduire à un usage de la vidéo en ligne plus important que celui observé aujourd'hui. Le problème de l'autonomie de terminaux mobiles est donc un problème crucial. Actuellement, des techniques de réduction de consommation sont connues pour pallier en partie ce problème. Ces techniques sont mises en oeuvre par les fabricants de circuits intégrés. Elles reposent sur l'observation dynamique de l'utilisation des processeurs des terminaux mobiles et ajustent les fréquences de travail et les tensions d'alimentation électrique en fonction du résultat, ce qui va donc modifier la puissance consommée. Malheureusement, la réactivité de ces dispositifs n'est pas suffisante et pourrait être améliorée. Des travaux sont menés pour améliorer le comportement du terminal afin que l'ajustement du couple fréquence/tension d'alimentation du processeur soit plus dynamique et fonction de la complexité de l'image à décoder, permettant ainsi de gérer l'énergie nécessaire; mais ceci aura sans doute une limite liée à la nature du flux à décoder. Les solutions actuelles de diffusion adaptative des flux ou en anglo-saxon « adaptive streaming », quelque soit le standard utilisé, adoptent une stratégie de sélection des segments ou morceaux de média audio/vidéo à télécharger, basée uniquement sur le couple résolution/débit. Ainsi, si les conditions de réseau sont bonnes, le terminal va pouvoir sélectionner et décoder des segments de résolution élevée et de débit élevé, conduisant à une complexité de décodage élevée. Le groupe de travail «green MPEG» propose d'introduire un troisième critère de sélection des segments vidéo à télécharger qui est la consommation d'énergie. Un objectif de la présente invention est de proposer un procédé qui repose sur l'utilisation d'un indice exprimant en relatif l'énergie nécessaire pour le décodage d'un flux ou représentation par rapport au flux le plus gourmand en énergie pour un contenu d'informations donné, ceci de manière indépendante du codeur utilisé pour coder les segments et du processeur du terminal, ainsi que d'indices complémentaires permettant de déduire l'énergie nécessaire à une restitution visuelle et sonore de qualité acceptable. Un autre objectif est de disposer d'un deuxième indice correspondant à l'énergie nécessaire pour le décodage d'un segment d'un flux ou représentation à un instant t par rapport au segment précédent du même flux ou représentation à l'instant t-1, qui permet d'optimiser la gestion de l'énergie dans certains cas d'utilisation. Dans la description, les termes PSR (Power Saving Ratio) ou DOR (Decoding Operation Ratio) plus communément utilisé dans la terminologie MPEG 20 désignent un même rapport d'économie d'énergie. Le procédé selon l'invention est utilisé de façon préférentielle pour des terminaux fonctionnant sur batterie mais peut aussi avoir un intérêt pour un dispositif alimenté sur le secteur. L'invention concerne un procédé de diffusion adaptative de flux de 25 données multimédia ou représentation Fi provenant d'un fournisseur de services, lors d'un téléchargement entre un terminal de réception et un serveur du fournisseur de services, en fonction d'un critère d'énergie, caractérisé en ce qu'il comporte au moins les étapes suivantes : pour le fournisseur de services : 30 - déterminer, pour N représentations, au moins un premier indice d'énergie en calculant pour chacune des représentations Fi d'un segment multimédia, une valeur d'énergie Ei(t) consommée pour décoder la représentation Fi, la valeur maximale d'énergie EMax(t) associée à la représentation la plus consommatrice d'énergie et les valeurs des rapports correspondant Ei(t) mémoriser ces valeurs dans un fichier associant à une représentation Fi au t moins une valeur de rapport E (t) pour le terminal de réception : - mesurer la consommation d'énergie utilisée par le terminal au cours de la restitution de la représentation Fi, et choisir une autre représentation Fi sur la base des indices d'énergie ou agir sur la qualité de la représentation, si la réserve d'énergie du terminal est insuffisante pour restituer sur la durée souhaitée le contenu du flux de données multimédia sur la base de la représentation F. Selon une variante de mise en oeuvre, le procédé détermine un deuxième indice correspondant à une valeur de rapport Ei(t)pour une représentation Fi Ei(t -1) donnée à un instant donné et cette valeur de deuxième indice est utilisée pour analyser l'évolution de la représentation et anticiper/adapter le besoin d'économie 15 d'énergie. Le procédé peut aussi comporter les étapes suivantes : pour le fournisseur de services : - mémoriser les valeurs Et(t) Et(t) et dans un fichier manifest décrivant la EMax(t) Et(t -1) nature et l'adresse de stockage des représentations disponibles ou dans des 20 champs de données pointés par le fichier manifest associant à une représentation Fi un premier indice Et(t) et un deuxième indice Et(t) EMax(t) Et(t -1) pour le terminal de réception : mesurer la consommation d'énergie utilisée par le terminal au cours de la restitution de la représentation Fi, analyser l'évolution de ladite représentation 25 Fi fournie par Et(t) et choisir une autre représentation Fi si la réserve Et(t -1) d'énergie du terminal est insuffisante pour restituer sur la durée souhaitée le contenu du flux de données multimédia sur la base de la représentation Fi EMax(t) Emax(t) Selon une variante de mise en oeuvre, le procédé détermine en plus les caractéristiques fondamentales des valeurs de luminosité et/ou de couleurs des pixels correspondant aux segments multimédia. Le procédé comporte alors les étapes suivantes : pour le fournisseur de services : - mémoriser les caractéristiques fondamentales des valeurs de luminosité et/ou de couleurs des pixels correspondant aux segments multimédia, dans un fichier manifest décrivant la nature et l'adresse de stockage des représentations disponibles ou dans des champs de données pointés par le fichier manifest, pour le terminal de réception : - mesurer la consommation d'énergie utilisée par le terminal au cours de la restitution de la représentation Fi, et - mettre en oeuvre une stratégie d'économie d'énergie par optimisation d'une combinaison: - d'un choix automatique ou manuel d'une représentation Fi, ayant un rapport de consommation d'énergie Ef(t) moins élevé que celle de la représentation Fi, Emax(t) et - d'un mode de restitution sur le terminal de la représentation Fi ou de la représentation Fi ayant une consommation d'énergie moins élevée, en utilisant lesdites caractéristiques fondamentales des valeurs de luminosité et/ou de couleurs des pixels correspondant aux segments multimédia. Selon une variante de réalisation de la stratégie déconomie d'énergie dans le terminal de réception, le procédé comporte par exemple les étapes suivantes : - mesurer la consommation d'énergie utilisée par le terminal au cours de la restitution de la représentation Fi, - comparer la réduction de consommation d'énergie de décodage et d'affichage pour le segment suivant avec le besoin en réduction d'énergie ou comparer l'augmentation de consommation d'énergie de décodage et d'affichage pour le segment suivant avec l'augmentation en énergie supportable par le terminal, - choisir la stratégie de sélection de la représentation et de pilotage de l'affichage permettant de restituer avec une qualité optimale sur la durée souhaitée le contenu multimédia, entre : - sélectionner une représentation Fj, de qualité inférieure mais moins consommatrice et/ou augmenter la saturation de la luminosité dans la restitution de la représentation, - sélectionner une représentation Fj, de qualité supérieure mais plus consommatrice d'énergie et/ou réduire la saturation de la luminosité dans la restitution de la représentation, - garder la même représentation Fi à décoder et le même mode de restitution de cette représentation, Selon un mode de réalisation, on utilise l'indicateur d'économie d'énergie PSRfromMax, -1- E1(t) et/ou l'indicateur PSRfrom Pr ev, =1 E1(t) pour contrôler le EML(t) Et(t -1) choix de la représentation Fi à télécharger et pour anticiper le besoin d'énergie Les valeurs des rapports Et(t) Ei(t) et sont, par exemple, calculées en Em.(t) Ei(t -1) temps réel et le fichier manifest et/ou les champs de données pointés par le fichier manifest sont mis à jour en conséquence. Les données traitées par le procédé sont des données vidéo. Les flux de 20 données multimédia sont, par exemple, codés en une seule couche ou en plusieurs couches interdépendantes. Les valeurs d'énergies des représentations sont basées sur une estimation de la complexité de décodage de chacune des représentations et le procédé utilise les caractéristiques fondamentales des histogrammes des valeurs de 25 luminosité et/ou de couleur des pixels des images du segment vidéo, de type population par classe de valeurs de luminosité et/ou de couleur, pour estimer la consommation de l'écran du terminal pour une restitution visuelle et sonore de qualité acceptable, quelque soit le type rétro-éclairage dans le cas de la technologie à cristaux liquide LCD ou le type éclairage intégré à chaque pixel de couleur dans le 30 cas de la technologie électroluminescente OLED (Organic Li LAnittin iot. 3). L'invention concerne aussi un système pour gérer le choix de la représentation ou flux de données multimédia provenant d'un fournisseur de services, lors d'un téléchargement entre un terminal de réception et un serveur, en fonction de l'énergie dont dispose le terminal caractérisé en ce que le fournisseur de services comprend un module adapté à exécuter les étapes du procédé précité et notamment à calculer au moins un indice d'énergie correspondant au rapport de l'énergie nécessaire pour décoder une représentation Fi par rapport à la représentation qui génère la consommation d'énergie la plus forte. Le système peut comprendre un module adapté à extraire les caractéristiques fondamentales des histogrammes des valeurs de luminosité et/ou de couleurs des pixels correspondant aux segments multimédia le serveur mémorisant les données multimédia, et le terminal de réception comprenant un module de calcul de l'énergie consommée pour le décodage et la restitution d'un flux Fi, un lecteur multimédia adapté à choisir la représentation Fi en fonction de la valeur d'énergie mesurée et des contraintes d'économie d'énergie imposées à ce lecteur, des moyens de communication avec le serveur. Le module de calcul d'indice d'énergie est aussi adapté à déterminer une E(t) valeur correspondant à l'énergie à un instant t et à l'énergie à un instant E(t -1) précédent (t-1) nécessaire pour la restitution d'une représentation Fi donnée. Selon une variante de réalisation, le système comprend, mémorisés sur le serveur, un fichier manifest décrivant la nature et l'adresse de stockage des représentations disponibles, ou bien des champs de données pointés par le fichier manifest comprenant, pour N flux Fi ledit indice d'énergie Et(t) et/ou l'indice Emax(t) E(t) E(t -1) Le terminal de réception est, par exemple, un terminal mobile comprenant un écran et la représentation est un flux vidéo, le module du fournisseur de services est adapté à estimer la complexité de décodage de ce flux vidéo, et il comporte un module adapté à fournir des données permettant d'estimer la consommation d'un écran du terminal utilisateur pour une restitution visuelle et sonore de qualité acceptable. Le système peut comporter un module adapté à extraire les caractéristiques fondamentales des histogrammes des valeurs de luminosité et/ou de couleurs des pixels du segment vidéo, un fichier manifest comprenant pour N flux Fi ledit indice d'énergie Et(t) et lesdites caractéristiques fondamentales des Em.(t) histogrammes H(component x) ou un pointeur vers des champs de données comprenant ces métadonnées. H(component x) désigne les histogrammes établis à partir des composantes de luminosité et de couleurs des images vidéo. L'invention concerne aussi un terminal de réception d'au moins une représentation multimédia Fi en provenance d'un serveur, ledit terminal comprenant au moins un module de calcul de l'énergie consommée pour le décodage et la restitution de ladite représentation sur un ou plusieurs segments, ledit terminal étant caractérisé en ce qu'il comporte un module adapté à définir la stratégie d'économie d'énergie offrant la qualité optimale de restitution et à choisir de manière automatique ou manuelle une représentation parmi plusieurs desdites représentations, lesdites représentations étant définies par un indicateur de consommation d'énergie de la représentation dudit flux par rapport à la représentation dudit flux ayant la consommation maximale et/ou d'un indicateur des caractéristiques fondamentales des histogrammes des valeurs de luminosité et/ou de couleurs des pixels du segment vidéo. Selon un mode de réalisation, le choix automatique est effectué par comparaison d'un paramètre représentatif d'une durée dudit flux avec une donnée représentative de l'énergie disponible sur le terminal. Le terminal comprend, par exemple, un lecteur de données vidéo et un écran permettant la visualisation des données vidéo. D'autres caractéristiques et avantages du procédé selon l'invention apparaîtront mieux à la lecture de la description qui suit d'un exemple de réalisation donné à titre illustratif et nullement limitatif annexé des figures qui représentent : - La figure 1, les modules de base d'un fournisseur de service, utilisés pour calculer l'indice d'énergie associé à un flux de données du côté codeur du système, - La figure 2, le système de la figure 1 associé à un module de mise en forme des flux de données, - La figure 3, un système complet comprenant le système du côté codeur, un serveur et un terminal mobile, et - La figure 4, un diagramme des échanges entre les acteurs du système, - La figure 5, les modules de base et les flots de données, utilisés dans un terminal client pour la sélection et la gestion des flux de données, économes en énergie, - La figure 6, un exemple d'enchaînement des étapes pour une stratégie d'économie d'énergie en décodage et affichage, - La figure 7, un exemple de translation des Métadonnées ratio de décodage dans le référentiel du terminal client de l'instant courant, et - La figure 8, un exemple de translation des Métadonnées ratio de décodage dans le référentiel du terminal client de l'instant précédent. La description qui suit est donnée à titre illustratif et nullement limitatif, pour bien faire comprendre le procédé selon l'invention, dans le cas d'une représentation ou flux vidéo qu'un utilisateur souhaite télécharger sur son terminal. Le mot terminal dans l'exemple donné désigne un téléphone mobile, une tablette ou tout dispositif connecté permettant de recevoir des flux multimédia. Il peut être utilisé, sans sortir du cadre de l'invention, dans le cas de flux ou données multimédia, audio, etc. Le terme flux multimédia peut désigner des programmes variés, tels que des jeux vidéo, des films, de la musique, qui sont distribués à travers des réseaux de communication. Le contenu source multimédia est scindé en plusieurs segments d'une taille qui peut être variable, qui sont ensuite codés (par exemple comprimés) avec différentes valeurs de débits et/ou de résolutions constituant ainsi les diverses représentations disponibles. Ces représentations sont stockées sur un serveur et accompagnées d'un fichier d'index pouvant être dynamique (fichier manifest) décrivant la nature et l'adresse de stockage des représentations disponibles. Le terme « représentation » dans la présente description désigne donc un ensemble de données codées avec des paramètres de compression choisis, ou flux de données. Une représentation est fournie à un instant donné pour une durée pouvant être prédéfinie par l'application ou non définie dans le cas d'une application en direct ou « live ». La figure 1 représente un exemple d'une architecture 20 fournisseur de services, dans lequel les données vidéo Di sont transmises à un premier codeur 100 qui va produire un flux comprimé correspondant à une première représentation vidéo F1, le flux est codé à une première valeur de débit 01 et une valeur de résolution P1. 3008 842 9 Cette représentation vidéo F1 est transmise à un décodeur 110 et à un module 120 adapté à calculer la complexité de décodage de cette représentation vidéo. Le codeur 100 fournit par ailleurs des histogrammes H(component x) de luminosité et de couleurs des images vidéo à un module 130 adapté à en extraire des caractéristiques 5 fondamentales pour une restitution visuelle et sonore de qualité acceptable, comme par exemple, une liste de couples (niveau de saturation de la luminosité des pixels du flux vidéo, niveau de dégradation introduit par cette saturation). Les modules de calcul de complexité de décodage et le module de calcul de caractéristiques fondamentales des histogrammes sont reliés à un processeur 140. Les 10 caractéristiques fondamentales des histogrammes des valeurs de luminosité et/ou de couleur des pixels des images d'un segment vidéo, de type population par classe de valeurs de luminosité et/ou de couleur permettent d'estimer la consommation de l'écran du terminal pour une restitution visuelle et sonore de qualité acceptable par l'utilisateur, quelle soit de type rétro-éclairage dans le cas de la technologie LCD ou 15 de type éclairage intégré. Lors de la préparation d'une représentation, il est possible de générer des segments de divers débit /résolution vidéo, mais aussi sur un même couple débit/résolution, de générer des segments induisant des consommations différentes du terminal de réception. 20 A un instant donné t qui est associé à une représentation vidéo Fi, le module 12; estime la complexité de décodage Cd(Fi) de la représentation vidéo F. On exécute cette étape pour les N codeurs 101, 102, ...10N du système qui génèrent N représentations différentes, N débits QN, N résolutions PN. Chaque codeur 10; est relié à un module 12; pour calculer la complexité de décodage d'une représentation 25 vidéo. Dans le cas d'une application où le contenu est codé et transmis en temps réel (cas d'une application « Live »), la complexité de décodage à l'instant t est celle du segment vidéo démarrant à l'instant t. Dans le cas d'une application où le contenu n'est pas codé et transmis en temps réel (cas d'un contenu vidéo sur demande ou VOD par exemple), la complexité de décodage à l'instant t peut être la complexité 30 moyenne considérée de l'instant t jusqu'à l'instant final du contenu vidéo. Le codeur 100 est également relié à un module unique 130 adapté à calculer les caractéristiques fondamentales de l'histogramme de luminosité des pixels. Le processeur 140 détermine ensuite la valeur la plus élevée Emax d'énergie Ei(t) parmi les N valeurs Ei(t). La valeur de l'énergie Ei(t) pour une représentation Fi tient compte de la complexité de décodage de la représentation, par exemple en nombre de cycles de traitement. A partir de ces valeurs d'énergie, le processeur 140 va déterminer au moins une valeur de rapport Et(t) pour une représentation Fi Em.(t) donnée à un instant donné, consommation.d' énergie.pour.une.représentation.donnée.Fi valeur. max imale.des.consommations.d' énergie.pour.les.N.représentations Ce rapport est calculé pour chacune des représentations et remis à jour régulièrement. Selon une variante complémentaire, le processeur va aussi déterminer pour chacune des N représentations Fi, un second rapport Et(t) en calculant les Et(t -1) valeurs Ei(t -1) et Ei(t) consommées pour décoder les segments pour une représentation à l'instant t-1 et à l'instant t. Dans le cas d'une application où le contenu est codé et transmis en temps réel (cas d'une application « Live »), la complexité de décodage à l'instant t est celle du segment vidéo démarrant à l'instant t. Dans le cas d'une application où le contenu n'est pas codé et transmis en temps réel (cas d'un contenu VOD par exemple), la complexité de décodage à l'instant t peut être la complexité moyenne de l'instant t jusqu'à l'instant final du contenu alors que la complexité de décodage à l'instant t-1 peut être la complexité moyenne prise de l'instant initial jusqu'à l'instant t. Si l'on considère que (t-1) signifie le passé et t l'avenir, alors dans un mode VOD on peut considérer que (t-1) fait référence à la complexité moyenne de tout ce qu'on a joué depuis le début et t tout ce qu'il reste à jouer. Ces valeurs de rapport Et(t) sont par exemple mémorisées dans le Et(t -1) fichier manifest ou dans des champs de données pointés par le fichier manifest et associant à une représentation Fi, un indice Et(t) . Ce second indice utilisé Et(t -1) notamment pour surveiller l'évolution d'une représentation, permet d'adapter plus finement la stratégie d'affichage d'une représentation, par exemple, le terminal pourra choisir une représentation plus complexe, de meilleure qualité en restitution d'images si sa réserve d'énergie le lui permet, et tendre vers un optimum de qualité. Le processeur 140 va ensuite définir pour chacune des N représentations, un ratio d'économie d'énergie PSR (Power Saving Ratio) PSRfromMaxi =1 Et(t) et Em.(t) dans certains cas d'applications, un deuxième indice ou deuxième rapport d'économie d'énergie PSRfromPr ev, =1 Ei(t)représentatif de l'évolution dans le Ei(t - 1) temps de la complexité d'une représentation, ou d'énergie nécessaire pour le décodage d'une représentation. Le système va donc disposer d'un fichier dans lequel, pour une représentation donnée Fi à un instant t, il associe au moins un premier indice PSRfromMaxi représentatif de l'énergie ou de l'économie d'énergie pouvant être réalisée lorsque l'on choisit de télécharger une représentation plutôt qu'une autre, et un deuxième indice PSRfromPrevi représentatif de l'évolution de complexité et donc de l'énergie nécessaire pour le décodage d'une représentation. L'échelle sera par exemple choisie en fonction de la précision de contrôle des processeurs des terminaux. Ces valeurs de rapport peuvent être normalisées sur une échelle quelconque, par exemple une échelle de pourcentage sur 8 ou 16bits. PSRfromMaxi exprimant systématiquement une réduction peut être exprimé par un pourcentage sur un entier non signé de 7 ou 8 bits. PSRfromPrevi exprimant une réduction ou une augmentation, il est possible d'exprimer un pourcentage sur un entier non signé de 16 bits pour des ratios allant de 1/100 à 100 de la façon suivante : PSRfromPrevi = Max (floor(Ei(t - 1) - Ei(t - 1) Ei(t) ( * 100) + décalage) 0) avec un décalage ou offset à 10000, floor est opérateur mathématique connu qui retourne la valeur entière inférieure, Max correspond au maximum. L'offset peut également être porté à 215. Dans ce cas, le terminal client pourra soustraire l'offset à la valeur récupérée sur le serveur pour obtenir le pourcentage à considérer. Si le pourcentage est positif, cela signifie que la ième représentation Fi(t) du segment vidéo en cours à l'instant t est moins complexe que la ième représentation du segment à l'instant précédent t-1, Fi(t-1), et la réduction de la complexité est donnée par son pourcentage. Si le pourcentage est négatif, cela signifie que la ième représentation du segment vidéo en cours à l'instant t est plus complexe que la ième représentation du segment vidéo précédente et l'augmentation de la complexité est donnée par le pourcentage absolu. La valeur du rapport PSRfroinMaxi et la valeur PSRfroinPrevi sont incluses comme des métadonnées associées à une représentation, par exemple, dans un fichier manifest 150 ou dans des champs de données pointés par le fichier manifest. Le flux le plus gourmand en énergie est identifié par une valeur nulle de PSR. Pour chaque autre représentation Fi, on indique une valeur relative de PSRfromMaxi . Les valeurs relatives sont par exemple exprimées, soit en pourcentage %, soit sous forme discrétisée sur une échelle graduée, par exemple par des valeurs +1, +2, etc. Dans le cas de données vidéo, le fichier manifest 150 comprend, par exemple, les Et(t) Et(t) indices et pour chacun des N flux Fi, et les caractéristiques Emax(t) Et(t -1) fondamentales des histogrammes H(component x) ou un pointeur vers des champs 15 de données contenant ces métadonnées. Le fichier manifest 150 ou les champs de données pointés par le fichier manifest peuvent être mis à jour régulièrement, afin de tenir à jour l'état relatif de consommation d'énergie des représentations. En fonction de la stratégie des terminaux, ce fichier manifest pourra être analysé plus ou moins régulièrement, ceci 20 en fonction notamment de la précision requise par l'application. Par exemple, pour une application demandant une réactivité forte, le procédé va regarder les informations du fichier manifest pour chaque segment qu'il va télécharger, alors que pour d'autres types d'application, l'information ne sera fournie que sur le programme dans son ensemble. Il est également possible de déclencher une requête tous les 25 « n » segments. Les flux ou représentations des données issues des codeurs 101, 102, ...1 ON sont mis en forme et encapsulés, figure 2, au moyen d'un module 160 adapté, afin que les représentations soient dans un format accessible aux terminaux. Les données mises en forme ainsi que le fichier manifest 150 et les champs de 30 métadonnées sont transmis au serveur 30 d'un fournisseur de services 20. Le serveur comprend plusieurs mémoires, une mémoire 301 permettant de stocker les flux de données. Le fichier manifest 150 ou les champs de données pointés par le fichier manifest comprennent pour chaque représentation Fi la valeur ou les valeurs de PSRfroinMaxi et PSRfromPr evi mémorisées sur le serveur 30. Le serveur contient aussi un gestionnaire permettant de gérer dynamiquement les requêtes d'un utilisateur. La figure 3 et la figure 4 illustrent un exemple d'échanges entre un terminal de réception 40, le serveur 30 et un fournisseur de services 10. Le fournisseur de services transmet 500 un fichier manifest 150 au serveur définissant ainsi l'ensemble des représentations disponibles. L'utilisateur ou terminal comprend par exemple, une alimentation 401 (pouvant être une batterie dans le cas d'un terminal mobile), un processeur 402 sur lequel fonctionne un lecteur multimédia 405, adapté pour exécuter les étapes du procédé selon l'invention, un écran d'affichage 403, un module de surveillance 404 de la consommation d'énergie de l'alimentation, un ou plusieurs haut-parleurs 406, des moyens de communication 407 avec le serveur, ces moyens de communication étant connus de l'homme du métier. Le terminal de réception 40 émet, 501, vers le serveur 30 une requête Rq de téléchargement d'une représentation vidéo Fi contenant une émission qu'il souhaite visualiser, par exemple. Le lecteur du terminal va déterminer en fonction de l'état du réseau (largeur de bande disponible déterminée à partir de la capacité et de la charge du réseau), la représentation à télécharger parmi les N représentations disponibles décrites dans le fichier manifest. Il commence à télécharger et jouer la représentation Fi, 502, et en même temps il surveille, 503, la consommation d'énergie de la batterie 401 pour le décodage et la restitution de la représentation F. A partir de la valeur de durée totale du contenu multimédia que souhaite télécharger l'utilisateur (cas de la Vidéo à la demande), de sa consommation d'énergie dans le temps, visible par exemple en regardant la vitesse à laquelle la batterie du terminal mobile se décharge, de sa consommation en énergie pour le décodage et la restitution de ou des derniers segments vidéo, de l'évolution de complexité de décodage de la représentation courante Fi et de l'économie d'énergie possible pour la restitution de cette représentation , le lecteur du terminal 40 va estimer s'il aura suffisamment d'énergie pour télécharger, décoder et afficher la totalité du contenu. Si oui, il va continuer à télécharger la représentation Fi voire se permettre de télécharger une représentation plus complexe mais de meilleure qualité. Dans le cas contraire, le ou les processeurs du terminal vont calculer de combien ils doivent réduire leur consommation d'énergie, par exemple de x% par rapport à la représentation courante. Le ou les processeurs doivent alors choisir la meilleure stratégie d'économie d'énergie pour maintenir une qualité optimale de restitution entre une économie d'énergie sur l'écran ou sur le décodage. Ils vont choisir entre garder une même représentation Fi à décoder et agir sur la restitution de cette représentation ou bien sélectionner une autre représentation Fi, 504, 505, si la réserve d'énergie du terminal est jugée insuffisante pour restituer, sur la durée souhaitée, le contenu multimédia sur la base de la représentation Fi, par exemple. Le ou les processeur(s) dispose(nt) pour cela des informations suivantes : - la puissance ou l'énergie moyenne que le terminal peut consommer sur la base de la durée d'utilisation souhaitée et le niveau résiduel de batterie (PconsoCible dans figure 5), - la puissance ou l'énergie consommée par le décodage de la représentation sélectionnée dans le segment précédent à l'instant (t-1); PconsoDec(F*-1)) fournie par le module 503 de surveillance de la consommation dans figure 5 ; - la puissance ou l'énergie consommée par la restitution visuelle et sonore de la représentation sur le ou les derniers segments téléchargés; PconsoAff(Fi(t-1)) fournie par le module 503 de surveillance de la consommation, - les données fournies par le serveur : o données sur les histogrammes des composantes de luminosité et/ou couleurs pour chaque segment vidéo, permettant d'optimiser la consommation de l'écran du terminal utilisateur pour une restitution visuelle et sonore de qualité donnée en jouant sur une baisse de tension d'alimentation des diodes électroluminescentes ou LEDs ou la luminosité globale de l'écran fournit par le système de rétro-éclairage ou des diodes électroluminescentes organiques ou OLEDs et en compensant par une augmentation de luminosité des composantes des pixels, o les indices d'économie d'énergie basés sur les ratios de complexité de décodage de chaque représentation vidéo disponible pour chaque segment PSRfromMax(i) et PSRfromPrev(i), - les données propres au terminal : o les abaques (puissance consommée / tension d'alimentation) de l'écran, o les abaques du processeur (puissance consommée / tension d'alimentation, nb de cycles de traitement par seconde / tension d'alimentation) chargé du décodage. Il est possible d'imaginer, par exemple, une stratégie en deux phases : rechercher en priorité l'économie d'énergie côté écran tant qu'elle n'a pas de conséquence notable sur la qualité de la restitution d'une représentation, puis arbitrer ensuite entre une économie d'énergie supérieure côté écran ou la sélection d'une représentation vidéo moins complexe à décoder en privilégiant la solution qui maintient la meilleure restitution visuelle et sonore. Cet arbitrage peut se faire de la façon décrite ci-après. Les indices d'économie d'énergie PSRfromMax(i) basés sur les ratios de complexité de décodage de chaque représentation i récupérés du serveur et exprimés par rapport à la représentation la plus complexe (0) peuvent être exprimés par rapport à la représentation courante (celle que l'on utilisait à l'instant t-1) que l'on va appeler Ref Rep. Soit PSRfromRefRepi cet indice d'économie d'énergie par rapport à la représentation courante : PSR_fromRefRep(i) = 1- ((1-PSRfromMax(i))/(1 -PSRfromMaxRefReM- Si une échelle de pourcentage a été utilisée, le calcul est alors le suivant : ( 100 - PSRfromMax(i) x 100 PSRfromRefRep(i) = [1 100 - PSRfromMax(Ref Rep)» Les PSR_fromRefRep(i) sont illustrés par les flèches D3 dans la figure 20 7.L'indice d'économie d'énergie PSR_fromPrevRefRep basé sur le ratio de complexité de décodage du prochain segment de la représentation courante par rapport au segment précédent permet d'exprimer l'indice d'économie d'énergie de chaque représentation par rapport à la représentation courante du segment précédent : 25 PSR_fromPrevRefRep(i) = 1- ((1-PSRfromPrevRefRep)x(1-PSRfromRefRep(i))) Si une échelle de pourcentage a été utilisée, le calcul est alors le suivant : PSR_fromPrevRefRep(i) Les PSR_fromPrevRefRep(i) sont illustrés par les flèches D4 dans la figure 8. ((100 - PSR_fromPrev(RefRep))* (100 - PSR_fromRefRep(i) ))1J = [100 100 Ces indices peuvent alors être traduits en rapport d'économie d'énergie à partir des abaques processeur (nb de cycles de traitement par seconde / tension d'alimentation et puissance consommée / tension d'alimentation). Les données sur les histogrammes des composantes de luminosité et/ou couleurs pour chaque segment vidéo permettent de mesurer la marge de manoeuvre possible du côté de l'augmentation de luminosité des composantes des pixels et de la baisse associée de tension d'alimentation des LEDs ou OLEDs pour le terminal. Cette baisse de tension d'alimentation est traduite en économie d'énergie grâce à l'abaque (puissance consommée / tension d'alimentation) de l'écran. La connaissance de l'énergie consommée par le décodage et par la restitution visuelle de la représentation sélectionnées sur le ou les derniers segments téléchargés et la connaissance des ratios d'économie d'énergie possibles pour le décodage des différentes représentations et pour la restitution permettent d'effectuer l'arbitrage suivant au niveau du module 514 (figure 5): le x% d'économie d'énergie souhaité est réparti entre un y% d'économie d'énergie côté écran et un z% d'économie d'énergie souhaitée côté décodage. Il est alors possible de sélectionner sur le serveur la représentation Fi, 505, 520, adaptée à partir des ratios d'économie d'énergie pré-calculés ainsi que la modification des valeurs de luminosité des pixels de la représentation et du rétro-éclairage associé 521(figure 5. La figure 6 illustre un autre exemple de stratégie d'économie d'énergie en décodage et affichage, dans laquelle le terminal peut rechercher une qualité de représentation optimale et consommer toute l'énergie disponible qui lui est allouée sur la durée fixée. Le terminal teste, 601, si la réduction de consommation d'énergie de décodage, représentée par la flèche D1 sur les figures 7 ou 8, et d'affichage pour le segment suivant est supérieure au besoin en réduction d'énergie, représentée par la flèche D5 sur la figure 8, ou bien si l'augmentation de consommation d'énergie de décodage et d'affichage pour le segment suivant est inférieure à l'augmentation en énergie possible pour atteindre la consommation moyenne visée : - Si oui, alors, 602, le procédé va tester si le terminal a une stratégie de qualité de représentation optimale, - Si oui, alors le terminal utilisateur peut sélectionner, 603, une représentation de qualité supérieure mais plus consommatrice d'énergie et/ou une réduction de saturation de la luminosité, ^ Dans le cas contraire, 604, le terminal ne va pas changer de représentation et ne va pas ajuster la luminosité ; ^ Si non, alors, le procédé teste, 605, si la réduction de consommation d'énergie de décodage et d'affichage pour le segment suivant est inférieure au besoin en réduction d'énergie ou bien si l'augmentation de consommation d'énergie de décodage et d'affichage pour le segment suivant est supérieure à l'augmentation en énergie possible pour atteindre la consommation moyenne visée , ^ Si oui, alors le terminal va sélectionner une représentation de qualité inférieure mais moins consommatrice et/ou une augmentation de saturation de la luminosité, 606, ^ Si non, 607, alors le terminal ne vas pas changer de représentation et ne va pas ajuster la luminosité. La figure 8 permet d'illustrer de manière graphique cette stratégie : le terminal va sélectionner la représentation dont la variation de consommation d'énergie de décodage à la hausse ou à la baisse par rapport au segment précédent (représentée par la flèche D4) est la plus proche de la variation de consommation d'énergie souhaitée (représentée par la flèche Di). La flèche D2 représente la variation de consommation par rapport à la représentation la plus consommatrice d'énergie. Pour d'autres cas d'applications, par exemple, où la durée du contenu n'est pas un paramètre connu à l'avance, par exemple dans le cas d'applications en direct ou« live », on peut imaginer que le terminal mobile soit conçu pour afficher la durée d'utilisation possible s'il continue à consommer la représentation choisie. La sélection de flux ne serait alors plus gérée automatiquement, mais l'utilisateur, sur la base de cet indicateur de durée restante possible, pourrait intervenir au moyen d'un bouton ou autre moyen afin de pouvoir changer de flux et trouver un flux moins consommateur en énergie. Les étapes du procédé explicitées précédemment s'appliquent pour des flux de données multimédia qui sont codés en une seule couche ou en plusieurs 30 couches interdépendantes, selon des standards connus de l'homme du métier. Le procédé selon l'invention présente notamment les avantages suivants : le codeur est capable de déterminer une valeur de rapport d'économie d'énergie pour chaque représentation par rapport à la valeur maximale de consommation d'énergie ce qui rend le procédé indépendant de la technologie du codeur utilisé et du type de terminal qui recevra ces flux. D'autre part, en prenant en compte l'évolution de la complexité de décodage d'un segment en cours par rapport à la complexité de décodage du segment à un instant précédent, il est possible d'obtenir la meilleure stratégie de décodage et d'affichage d'une représentation. Le terminal de réception est capable d'adapter la représentation à utiliser en fonction de l'énergie restante de sa batterie, ou de la qualité de restitution requise, car il connaît la durée d'utilisation souhaitée ou de fournir la durée d'utilisation possible de la représentation courante. L'indice d'énergie utilisé pour choisir le flux de données à télécharger est indépendant du processeur de l'utilisateur et du codeur utilisé par le fournisseur de services. REVENDICATIONS1 - Procédé de diffusion adaptative de flux de données multimédia ou représentation Fi provenant d'un fournisseur de services (20), lors d'un téléchargement entre un terminal de réception (40) et un serveur (30) du fournisseur de services (20), en fonction d'un critère d'énergie, caractérisé en ce qu'il comporte au moins les étapes suivantes : pour le fournisseur de services : - déterminer, pour N représentations Fi, au moins un premier indice d'énergie en calculant pour chacune des représentations Fi d'un segment multimédia, une valeur d'énergie Ei(t) consommée pour décoder la représentation Fi à l'instant t , la valeur maximale d'énergie Emax(t) associée à la représentation la plus consommatrice d'énergie, et les valeurs des rapports correspondant Et(t) , mémoriser ces valeurs dans un fichier associant à une représentation Et(t) Fi au moins un rapport , EML(t) pour le terminal de réception : - mesurer la consommation d'énergie utilisée par le terminal au cours de la restitution de la représentation Fi, et choisir une autre représentation Fi sur la base des indices d'énergie ou agir sur la qualité de restitution de la représentation si la réserve d'énergie du terminal est insuffisante pour restituer sur la durée souhaitée le contenu du flux de données multimédia sur la base de la représentation F. 2 - Procédé selon la revendication 1 caractérisé en ce qu'il comporte une étape de 25 détermination d'au moins un deuxième indice correspondant à une valeur de rapport Et(t) pour une représentation Fi donnée à un instant donné et en ce que cette valeur de deuxième indice est utilisée pour analyser l'évolution de la représentation Fi fournie par Ei(t) et anticiper le besoin d'économie d'énergie. Ei(t -1) EML(t) Et(t -1) 3 - Procédé selon l'une des revendications 1 ou 2 caractérisé en ce qu'il comporte en plus les étapes suivantes : pour le fournisseur de services - mémoriser les caractéristiques fondamentales des valeurs de luminosité et/ou de couleurs des pixels correspondant aux segments multimédia, dans un fichier manifest décrivant la nature et l'adresse de stockage des représentations disponibles ou dans des champs de données pointés par le fichier manifest, pour le terminal de réception : - mettre en oeuvre une stratégie d'économie d'énergie par optimisation d'une combinaison : - d'un choix automatique ou manuel d'une représentation Fj, ayant un rapport (t) de consommation d'énergie Ejmoins élevé que celle de la Em.(t) représentation Fi, et - d'un mode de restitution sur le terminal (40) de la représentation Fi ou de la représentation Fi ayant une consommation d'énergie moins élevée en utilisant lesdites caractéristiques fondamentales des valeurs de luminosité et/ou de couleurs des pixels correspondant aux segments multimédia. 4 - Procédé selon l'une des revendications 2 ou 3 caractérisé en ce qu'il comporte au moins les étapes suivantes : - mesurer la consommation d'énergie utilisée par le terminal au cours de la restitution de la représentation Fi, - comparer la réduction de consommation d'énergie de décodage et d'affichage pour le segment suivant avec le besoin en réduction d'énergie ou comparer l'augmentation de consommation d'énergie de décodage et d'affichage pour le segment suivant avec l'augmentation en énergie supportable par le terminal, - choisir la stratégie de sélection de la représentation et de pilotage de l'affichage permettant de restituer avec une qualité optimale sur la durée souhaitée le contenu multimédia, entre :- sélectionner une représentation Fj, de qualité inférieure mais moins consommatrice et/ou augmenter la saturation de la luminosité dans la restitution de la représentation, - sélectionner une représentation Fj, de qualité supérieure mais plus consommatrice d'énergie et/ou réduire la saturation de la luminosité dans la restitution de la représentation, - garder la même représentation Fi à décoder et le même mode de restitution de cette représentation. 5 - Procédé selon l'une des revendications précédentes caractérisé en ce que les flux de données multimédia sont codés en une seule couche ou en plusieurs couches interdépendantes. 6 - Procédé selon l'une des revendications précédentes caractérisé en ce que : - on mémorise les valeurs Et(t) Et(t) et dans un fichier manifest (150) Emax(t) Et(t -1) décrivant la nature et l'adresse de stockage des représentations disponibles ou dans des champs de données pointés par le fichier manifest associant à une représentation Fi un premier indice Et(t) et un deuxième indice Et(t) Emax(t) Et(t - on mémorise les caractéristiques fondamentales des valeurs de luminosité et/ou de couleurs des pixels correspondant aux segments multimédia dans le fichier manifest ou dans des champs de données pointés par le fichier manifest. 7 - Procédé selon l'une des revendications précédentes caractérisé en ce que l'on utilise l'indicateur d'économie d'énergie PSRfroinMaxi Et(t) Maxi =1 et/ou l'indicateur EML(t) PSRfrom Pr ev, =1 Ei(t)pour contrôler le choix de la représentation Fi à télécharger Ei(t - 1) et pour anticiper le besoin d'énergie. 8 - Procédé selon l'une des revendications 2 à 7 caractérisé en ce que les valeurs des rapports Et(t) Et(t) et sont calculées en temps réel et le fichier manifest EML(t) Et(t -1) (150) et/ou les champs de données pointés par le fichier manifest mis à jour en conséquence. 9 - Procédé selon l'une des revendications 1 à 8 caractérisé en ce que les données sont des données vidéo, et en ce que les valeurs d'énergies des représentations sont basées sur une estimation de la complexité de décodage de chacune des représentations et en ce que l'on utilise des caractéristiques fondamentales des histogrammes des valeurs de luminosité et/ou de couleur des pixels des images du segment vidéo, de type population par classe de valeurs de luminosité et/ou de couleur permettant d'estimer la consommation de l'écran du terminal pour une restitution visuelle et sonore de qualité acceptable quelque soit les conditions d'utilisation. 10 - Système pour gérer le choix de la représentation ou flux de données multimédia provenant d'un fournisseur de services (20), lors d'un téléchargement entre un terminal de réception (40) et un serveur (30), en fonction de l'énergie dont dispose le terminal selon les étapes du procédé selon l'une des revendications précédentes caractérisé en ce que le fournisseur de services (10) comprend un module (12i) adapté à calculer au moins un indice d'énergie correspondant au rapport de l'énergie nécessaire pour décoder une représentation Fi par rapport à la représentation qui génère la consommation d'énergie la plus forte. 11 - Système selon la revendication 10 caractérisé en ce qu'il comporte un module (13i) adapté à extraire les caractéristiques fondamentales des valeurs de luminosité et/ou de couleurs des pixels correspondant aux segments multimédia, le serveur (30) mémorise les données multimédia, et le terminal de réception comprend un module (404) de calcul de l'énergie consommée pour le décodage et la restitution d'un flux Fi, un lecteur multimédia (405) adapté à choisir la représentation Fi en fonction de la valeur d'énergie mesurée et des contraintes d'économie d'énergie imposées à ce lecteur, des moyens de communication (407) avec le serveur. 12 - Système selon la revendication 10 caractérisé en ce que le module (12i) est adapté à déterminer une valeur Et(t) correspondant à l'énergie à un instant t et à Et(t -1) l'énergie à un instant précédent (t-1) nécessaire pour la restitution d'une représentation Fi donnée. 13 - Système selon l'une des revendications 10 à 12 caractérisé en ce qu'il comporte mémorisé sur le serveur un fichier manifest (150) décrivant la nature et l'adresse de stockage des représentations disponibles ou des champs de données pointés par le fichier manifest comprenant pour N flux Fi ledit indice d'énergie Et(t) et/ou l'indice Et(t) Et(t -1) 14 - Système selon l'une des revendications 10 à 13 caractérisé en ce que le terminal de réception est un terminal mobile comprenant un écran (130) et en ce que la représentation est un flux vidéo, le module (12) du fournisseur de services étant adapté à estimer la complexité de décodage de ce flux vidéo, et comportant un module (13) adapté à fournir des données permettant d'estimer la consommation d'un écran du terminal utilisateur pour une restitution visuelle et sonore de qualité acceptable. Em.(t) 15 - Système selon la revendication 14 caractérisé en ce qu'il comporte un module adapté à extraire les caractéristiques fondamentales des histogrammes des valeurs de luminosité et/ou de couleurs des pixels du segment vidéo, un fichier manifest (150) comprenant pour N flux Fi ledit indice d'énergie Et(t) et lesdites Em.(t) caractéristiques fondamentales des histogrammes H(component x) ou un pointeur 25 vers des champs de données comprenant ces métadonnées. 16 - Terminal de réception d'au moins une représentation multimédia Fi en provenance d'un serveur (30), ledit terminal comprenant au moins un module (404) de calcul de l'énergie consommée pour le décodage et la restitution de ladite 30 représentation Fi sur un ou plusieurs segments, ledit terminal étant caractérisé en cequ'il comporte un module (402) configuré pour définir une stratégie d'économie d'énergie offrant une qualité optimale de restitution et pour choisir de manière automatique ou manuelle une représentation parmi plusieurs desdites représentations, lesdites représentations étant définies par au moins un indicateur de consommation d'énergie de la représentation dudit flux par rapport à la représentation dudit flux ayant la consommation maximale et/ou d'un indicateur de l'évolution de la représentation et/ou d'un indicateur des caractéristiques fondamentales des histogrammes des valeurs de luminosité et/ou de couleurs des pixels du segment vidéo. 17 - Terminal de réception d'un flux multimédia selon la revendication 16, caractérisé en ce que le choix automatique est effectué par comparaison d'un paramètre représentatif d'une durée dudit flux avec une donnée représentative de l'énergie disponible sur le terminal. 18 - Terminal de réception selon l'une des revendications 16 à 17 caractérisé en ce qu'il comporte un écran (130), un lecteur de données vidéo.