Brevet FR3141583A1 — publié le 20240503

Procédé de gestion du téléchargement par un terminal de lecture d’un contenu numérique accessible sous plusieurs formats L’invention se rapporte à un procédé de gestion du téléchargement, depuis un réseau de communication (LI1), par un terminal (STB) d’un contenu numérique (IMG1,IMG2) accessible sous plusieurs formats, le terminal comprenant plusieurs types de décodeurs de contenus aptes à décoder plusieurs formats de contenus respectivement, caractérisé en ce qu’il comprend, pour différents formats d’un même contenu, un calcul des durées d’attente respectives avant restitution du contenu et en ce que le format de contenu sélectionné pour être téléchargé est fonction du résultat du calcul. Figure pour l'abrégé : Figure 1 Procédé de gestion du téléchargement par un terminal de lecture d’un contenu numérique accessible sous plusieurs formats Le domaine de l'invention est celui de la gestion de la restitution de contenus multimédia numériques, à savoir des contenus audio et/ou vidéo numériques. Plus précisément, l'invention concerne la gestion de la sélection du type de contenus à télécharger dans un ensemble de contenus disponibles. Les contenus visés sont codés et requièrent à ce titre des décodeurs spécifiques au type de contenu pour être décodés en vue d’une restitution sur un dispositif de restitution Un contenu peut être une image, un contenu audio, un contenu vidéo, ou tout autres contenus similaires. On verra dans la suite que le contenu utilisé pour illustrer l’invention est une image. Etat de la technique La restitution, sur un dispositif de restitution, d’une interface utilisateur incluant des images nécessite une mise à disposition des images sur un serveur. Les images sont ensuite téléchargées, décodées par un décodeur et affichées sur un dispositif de restitution. Pour réduire la taille de telles images, celles-ci sont compressées (ou encodées) selon des techniques de compression connues de l’homme du métier. Ces techniques de compression offrent des formats de compression plus ou moins optimisés (JPG, WebP, GIF, PNG, …) qui réduit plus ou moins la taille (en Ko) d’un contenu selon la technique de compression utilisée. Il est préférable de proposer des images ayant un taux de compression élevé car le temps de téléchargement est plus rapide et donc théoriquement une durée avant restitution plus courte qu’avec des images avec un taux de compression inférieur. Aujourd’hui, les dispositifs de lecture vidéo sont équipés de décodeur d’images matériels (appelés décodeurs d’images accélérés ou accélérateurs) qui ne supportent qu’un nombre limité de format de compression. Les terminaux de lecture qui n’ont pas d’accélérateur de décodage matériel réalise le décodage par le biais du processeur CPU (sigle anglosaxon de « Central Processing Unit ») du terminal de lecture, de manière logicielle, qui nécessite beaucoup plus de temps de décodage que lorsqu’il est réalisé via un décodeur matériel. Il peut donc arriver qu’une image ayant un fort taux de compression, donc téléchargée rapidement, subisse un retard de restitution du fait de l’absence du décodeur spécifique à ce type d’image sur le terminal de lecture. On connaît par exemple les formats de compression WebP et JPEG (sigle anglosaxon de « Joint Photographic Experts Group »). Le format WebP est un format d’image qui a un meilleur taux de compression que le format JPEG ; il peut y avoir un rapport de deux entre le poids en Kilo-octets d’une image WebP et celui d’une image JPEG pour une qualité de restitution équivalente. On gagne donc du temps lors de la récupération des images WebP depuis un serveur depuis lequel il est téléchargé car à qualité égale la taille de l’image en Ko est beaucoup plus faible. Cependant, la durée avant restitution d’une image WebP est optimale si un décodeur spécifique au format WebP est installé sur le terminal de lecture ; or, aujourd’hui ce n’est pas toujours le cas. En effet, seuls les dispositifs les plus récents ou haut de gammes sont équipés d’un tel décodeur. Si le terminal de lecture n’est pas équipé d’un décodeur matériel, de type GPU (sigle anglosaxon de « Graphics Processing Unit »), spécifique au format WebP, le décodage se fait alors par le processeur du terminal de lecture, de manière logicielle, ce qui nécessite beaucoup plus de temps. L'invention vient améliorer la situation. L’invention L’invention se rapporte à un procédé de gestion du téléchargement, depuis un réseau de communication, par un terminal d’un contenu numérique accessible sous plusieurs formats, le terminal comprenant plusieurs types de décodeurs de contenus aptes à décoder plusieurs formats de contenus respectivement, caractérisé en ce qu’il comprend, pour différents formats d’un même contenu, un calcul des durées d’attente respectives avant restitution du contenu et en ce que le format de contenu sélectionné pour être téléchargé est fonction du résultat du calcul. L’invention se base donc sur un calcul de durée d’attente prévisible avant restitution pour décider, lorsque plusieurs formats d’un même contenu sont disponibles, du format de contenu à télécharger et à restituer. Le format sélectionné ne sera pas forcément le format associé au meilleur taux de compression ; un format de contenu associé à un taux de compression plus faible pouvant être associé à une durée d’attente avant restitution plus faible. Dans un contexte où la rapidité de restitution est souhaitée, l’invention assure une durée avant restitution optimale. Par exemple, il peut donc être plus intéressant de récupérer des images JPEG, plutôt que des images WebP, pourtant plus grosses en taille kilo-octets à télécharger mais plus rapide à décoder. On verra ci-dessous que l’exemple choisi pour illustre l’invention vise une durée avant restitution la plus courte possible. Cependant, l’invention ne se limite pas à une durée cible avant restitution la plus courte. La durée cible avant restitution peut être la durée la plus longue, ou une autre durée choisie selon le contexte. Selon un premier mode de réalisation du procédé, le calcul est réalisé pour des contenus dont le décodeur associé est présent dans le terminal de lecture. Ce premier mode permet d’exclure les contenus qui seraient décodés par le processeur CPU plus consommateur en temps de décodage qu’un décodeur matériel. Selon encore un deuxième mode de mise en œuvre particulier de l'invention, qui pourra être mis en œuvre alternativement ou cumulativement avec le précédent, le calcul de durée d’attente avant restitution comprend un premier calcul d’une durée de téléchargement du contenu, et un deuxième calcul d’une durée de décodage du contenu. Selon ce deuxième mode de réalisation, le résultat du premier calcul est réutilisé plusieurs fois lors de calculs de durées d’attente avant restitution ultérieurs. Ce mode permet de gagner du temps pour le calcul de la durée prévisible avant restitution en conservant plusieurs fois le premier calcul lors de calculs successifs d’estimation de durées d’attente avant restitution et donc en ne recalculant pas la première durée à chaque fois. En effet, dans un réseau dans lequel la bande passante fluctue très peu, le premier calcul n’a pas besoin d’être recalculé à chaque calcul. Ce gain de temps accélère la sélection du contenu et donc sa restitution. Selon une variante du deuxième mode, le contenu est téléchargé via un réseau de communication ayant une bande passante fluctuante ; dans cette configuration, le résultat du premier calcul est réutilisé tant que la bande passante se situe dans un intervalle de bande passante donné. Ce troisième mode réduit le nombre de fois où le premier calcul est réalisé ; Cette réduction du nombre de calcul réalisé accélère la sélection du contenu et donc sa restitution. Selon un aspect matériel, l’invention se rapporte à une entité de gestion du téléchargement, depuis un réseau de communication, par un terminal, d’un contenu numérique accessible sous plusieurs formats, le terminal comprenant plusieurs types de décodeurs de contenus aptes à décoder plusieurs formats de contenus respectivement, caractérisé en ce qu’il comprend un processeur configuré pour réaliser, pour différents formats d’un même contenu, un calcul des durées d’attente respectives avant restitution du contenu, et sélectionner le format de contenu sélectionné à télécharger en fonction du résultat du calcul. Selon un autre aspect matériel, l’invention se rapporte à un terminal lecteur comprenant une entité de gestion telle que définie ci-dessus. Selon un autre aspect matériel, l’invention a pour objet un programme d'ordinateur apte à être mis en œuvre sur une entité de gestion telle que définie ci-dessus, le programme comprenant des instructions de code qui, lorsqu’il est exécuté par un processeur, réalise les étapes du procédé de gestion définies ci-dessus. Selon un autre aspect matériel, l’invention a pour objet un support de données sur lequel a été mémorisée au moins une série d’instructions de code de programme pour l’exécution d’un procédé de gestion tel que défini ci-dessus. Le support en question peut être n'importe quelle entité ou dispositif capable de stocker le programme. Par exemple, le support peut comporter un moyen de stockage, tel qu'une ROM, par exemple un CD ROM ou une ROM de circuit microélectronique, ou encore un moyen d'enregistrement magnétique, par exemple un disque dur. D'autre part, le support d'informations peut être un support transmissible tel qu'un signal électrique ou optique, qui peut être acheminé via un câble électrique ou optique, par radio ou par d'autres moyens. Le programme selon l'invention peut être en particulier téléchargé sur un réseau de type Internet. Alternativement, le support d'informations peut être un circuit intégré dans lequel le programme est incorporé, le circuit étant adapté pour exécuter ou pour être utilisé dans l'exécution du procédé en question. L'invention sera mieux comprise à la lecture de la description qui suit, donnée à titre d'exemple et faite en référence aux dessins annexés sur lesquels : La représente une architecture de téléchargement progressif sur Internet basée sur l’utilisation du streaming adaptatif selon un mode de réalisation du procédé de l’invention ; La illustre de façon schématique la structure matérielle d’un terminal lecteur de flux multimédia ; La illustre des étapes d’un mode de réalisation. Description détaillée de modes de réalisation de l'invention On présente désormais, en relation avec la , un système informatique SYS comprenant un serveur SRV depuis lequel des contenus peuvent être téléchargés, et un terminal de lecture STB depuis lequel des contenus peuvent être lus. Différents types de contenus numériques IMG1/IMG2 ayant été codés ou compressés de différentes manières sont accessibles depuis le serveur SRV. La illustre schématiquement un terminal de lecture STB. Ce dernier a une architecture classique d’un ordinateur ; le décodeur comprend, classiquement, des mémoires M associées à un processeur CPU. Les mémoires peuvent être de type ROM (de l’anglais « Read Only Memory ») ou RAM (de l’anglais « Random Access Memory ») ou encore Flash. Le décodeur communique avec le serveur soit directement au travers d’un réseau étendu WAN soit indirectement au travers d’une passerelle domestique GTW et du réseau Internet étendu WAN. La communication via un réseau LAN s’effectue via un module COM11 relié au processeur CPU assurant une communication locale sans fils de type WiFi avec la passerelle résidentielle GTW. Le terminal de lecture STB comprend en outre un module de téléchargement pour requérir un téléchargement d’un contenu stocké sur le serveur SRV. Dans notre exemple, le terminal de lecture STB est connecté à un téléviseur TV, par l’intermédiaire d’un module de communication COMM2 du type liaison HDMI. Les contenus codés IMG1/IMG2 stockés sur le serveur SRV sont aptes à être décodés par des décodeurs spécifiques DEC1 et DEC2, respectivement. Lorsqu’un contenu est téléchargé et reçu par le terminal de lecture, un décodeur décode le contenu et requiert une restitution du contenu. Le décodage peut être réalisé soit par un décodeur matériel soit par un décodeur logiciel ; le décodeur logiciel est géré par le processeur alors qu’un décodeur matériel est équipé d’un processeur distinct du processeur CPU. En d’autres mots, le décodage logiciel utilise le processeur CPU pour décoder et lire u contenu tandis que le décodage matériel DEC1/DEC2 de type GPU est principalement basé sur unité de traitement graphique, ou GPU , plus performant qu’un processeur CPU pour traiter des contenus multimédias. Selon l’invention, une entité de gestion ENT réalise, pour plusieurs formats de contenu, un calcul de durées d’attente respectives avant restitution du contenu. Ce calcul permet d’obtenir une estimation de durées précédant la restitution du contenu considéré. Ensuite un contenu est sélectionné en fonction du résultat du calcul. Le contenu sélectionné est ensuite téléchargé et restitué. On suppose que le serveur SRV stocke des images IMG1 et IMG2 encodées selon deux techniques d’encodage respectives. Dans notre exemple, les images sont une image JPEG et une image WebP. Le format WebP est un format d’image qui a un taux de compression supérieur au taux de compression JPEG. Il y a un rapport de deux entre le poids en Ko d’une image WebP par rapport à une image JPEG pour une qualité équivalente. Il y a de ce fait un gain certain à privilégier, lorsqu’une qualité d’image optimale est recherchée, un téléchargement d’un contenu codé au format WebP plutôt que JPEG La plupart des terminaux sont équipés de décodeurs matériels de type JPEG. Ce n’est pas le cas pour les images WebP ; seuls quelques terminaux de lecture ou hauts de gamme ont des décodeurs matériels WebP intégrés. S’il n’y a pas de décodeur matériel spécifique WebP, le décodage s’effectue par défaut via le décodeur logiciel du processeur CPU, ce qui nécessite beaucoup plus de temps de traitement, bien plus qu’avec un décodeur WebP. On comprend que, selon que le terminal de lecture est équipé ou pas du décodeur matériel , il peut parfois être plus intéressant de récupérer une image JPEG plus lourde en taille qu’une image WebP mais plus rapide à décoder du fait de l’absence de décodeur WebP. Dans notre exemple, on suppose que le terminal dispose, outre du décodeur logiciel, d’un décodeur matériel JPEG et qu’il n’est pas équipé de décodeur WebP. La illustre des étapes d’un mode de réalisation illustrant l’invention. Le procédé comprend plusieurs étapes référencées ETn (n= 1,…,8). Lors d’une première étape ET1, le terminal de lecture décodeur STB reçoit une demande d’accès à une image. Comme on l’a vu précédemment, une même image est encodée selon plusieurs formats. Lors d’une deuxième étape ET2, le terminal de lecture décodeur STB récupère des informations pour chaque format d’image la taille en kilo-octets des différentes images encodées et les types de formats, à savoir dans notre exemple JPEG et WebP. D’autres informations peuvent être récupérées comme une résolution d’image, ou d’autres informations pouvant avoir un impact sur la durée d’attente avant restitution. Lors d’une troisième tape ET3, le terminal de lecture calcule des durées d’attente respectives avant restitution du contenu pour chaque format d’image ; Lors de ce calcul, un premier calcul estime en fonction de la bande passante courante le temps de téléchargement en fonction de la taille de l’image choisie et de la bande passante courante. La bande passante peut être déterminée grâce à un algorithme connu de l’homme du métier. Un tel algorithme est par exemple un algorithme dit de téléchargement progressif adaptatif, d’abréviation HAS. On rappelle brièvement que, le plus souvent, le principe général de tels algorithmes HAS repose sur le téléchargement d’un segment encodé au débit d’encodage le plus faible proposé dans un fichier « Manifest » (aussi appelé fichier de description par l’homme du métier), et sur l’évaluation du temps de récupération de ce premier segment. Ce temps de récupération peut être assimilé au temps de téléchargement du segment. Supposons que l’image encodée en JPEG a une taille de 1.5Mo (Mo = Méga Octets). Supposons aussi que la bande passante de l’utilisateur (calculée par un algorithme de type HAS) est de 10Mo. Le temps de téléchargement de l’image JPEG sera donc de 0.15 secondes. La même image encodée en WebP a une taille de 1Mo et requiert un temps de téléchargement de 0.1 secondes. Ensuite, le deuxième calcul consiste à déterminer en fonction des capacités du terminal, à savoir en fonction de la présence ou pas du décodeur matériel spécifique à l’image JPEG ou WebP, et des caractéristiques de l’image (résolution / poids en Ko) le temps de décodage prévisible de l’image. Ce deuxième calcul pourrait aussi comprendre le délai de transmission de l’image décodée jusqu’à la restitution de l’image ; cependant, on considère dans cet exemple que ce délai est sans intérêt du fait qu’il est sensiblement le même pour toutes les images décodées et négligeable par rapport au délai de décodage. D’une manière générale, une récupération d’une image sur un serveur comprend deux durées à savoir la durée de téléchargement et la durée de décodage ; les autres durées à savoir la durée de transmission d’une requête de téléchargement d’une image, ou le délai de transmission de l’image décodée vers l’écran, ou toutes autres durées ne sont pas prises en compte dans notre exemple car étant de durées sensiblement égales quel que soit le format d’image sélectionné. La somme des deux résultats précédents, résultats issus du premier et du deuxième calcul, correspond à une durée avant restitution d’une image. Dans notre exemple, concrètement, grâce au deuxième calcul on détermine que l’image JPG peut être décodée par le décodeur matériel JPEG en 0.05 sec et que l’image WebP peut être quant à elle décodée par le processeur CPU en 0.25 sec. Le calcul global regroupant le temps de téléchargement et le temps de décodage donne les résultats suivants : Pour l’image IMG1, la durée prévisible de téléchargement ajoutée à la durée prévisible de décodage de l’image JPG (0.15 + 0.05) donne 0.155 sec de durée avant restitution. Pour l’image IMG2, la durée prévisible de téléchargement ajoutée à la durée prévisible de décodage de l’image JPG temps de téléchargement ajouté au décodage de l’image WebP (0.1 + 0.25) donne 0.35 sec de durée d’attente avant restitution. Si le besoin est d’obtenir une image le plus rapidement possible, l’image JPG est sélectionnée car le temps d’attente prévisible avant restitution est beaucoup plus court qu’avec l’image WebP. Dans notre exemple, lors d’une quatrième étame ET4, l’entité de gestion ENT sélectionne donc l’image JPEG à télécharger, de moins bonne qualité mais dont la durée avant restitution est la plus faible. Lors d’une cinquième étape ET5, le terminal de lecture STB requiert auprès du serveur un téléchargement de l’image JPEG. Lors d’une sixième étape ET6, le terminal de lecture STB reçoit l’image sélectionnée JPEG et décode cette image lors d’une septième étape. Lors d’une huitième étape ET8, l’image JPEG est restituée. On comprend ici que dans le mode de réalisation choisi que le terminal de lecture assure une durée d’attente avant restitution optimale. Le procédé décrit ci-dessus peut faire l’objet de variantes. Selon une première variante, pour gagner du temps dans le calcul, le résultat du premier calcul peut être conservé plusieurs fois lors de calculs ultérieurs. En effet, dans un réseau dans lequel la bande passante fluctue très peu, effectuer le calcul global (premier calcul et deuxième calcul) sans effectuer le premier calcul, à savoir le calcul du temps de téléchargement, à chaque fois, diminue le temps de calcul au temps de calcul lié à la durée de décodage. Selon une deuxième variante, la durée avant restitution se base uniquement sur la deuxième durée liée au type de décodeur présent sur le terminal de lecture. Dans ce mode, la durée de téléchargement n’est pas prise en compte. Selon une troisième variante, une image IMG1 et IMG2 n’ayant pas de décodeur spécifique présent dans le terminal de lecture STB n’est pas accessible à la sélection pour le téléchargement. En reprenant l’exemple ci-dessus dans lequel le terminal de lecture ne comprend que le décodeur JPEG et pas de décodeur WebP ; dans ce cas, l’image WebP n’est pas sélectionnable pour être téléchargée. Seule l’image JPEG est accessible pour le téléchargement. Cette variante est intéressante lorsqu’on considère que la durée de décodage réalisé par le processeur CPU est, dans tous les cas, supérieure à la durée de décodage réalisé par un décodeur matériel. Précisons enfin ici aussi ici que le terme « entité » peut correspondre aussi bien à un composant logiciel qu’à un composant matériel ou un ensemble de composants matériels et logiciels, un composant logiciel correspondant lui-même à un ou plusieurs programmes ou sous-programmes d’ordinateur ou de manière plus générale à tout élément d’un programme apte à mettre en œuvre une fonction ou un ensemble de fonctions telles que décrites pour les modules concernés. De la même manière, un composant matériel correspond à tout élément d’un ensemble matériel (ou hardware) apte à mettre en œuvre une fonction ou un ensemble de fonctions pour le module concerné (circuit intégré, carte à puce, carte à mémoire, etc.) Procédé de gestion du téléchargement, depuis un réseau de communication, par un terminal de lecture (STB) d’un contenu numérique (IMG1,IMG2) accessible sous plusieurs formats, le terminal comprenant plusieurs types de décodeurs de contenus aptes à décoder plusieurs formats de contenus respectivement, caractérisé en ce qu’il comprend, pour différents formats d’un même contenu, un calcul des durées d’attente respectives avant restitution du contenu et en ce que le format de contenu sélectionné pour être téléchargé est fonction du résultat du calcul. Procédé de gestion selon la revendication 1, caractérisé en ce que le calcul est réalisé pour des contenus dont le décodeur associé est présent dans le terminal de lecture. Procédé de gestion selon la revendication 1, en ce que le calcul de durée d’attente avant restitution comprend un premier calcul d’une durée de téléchargement et un deuxième calcul d’une durée de décodage, et en ce que le résultat du premier calcul est réutilisé plusieurs fois lors de calculs de durées d’attente avant restitution ultérieurs. Entité de gestion (ENT) du téléchargement, depuis un réseau de communication, par un terminal, d’un contenu numérique accessible sous plusieurs formats, le terminal comprenant plusieurs types de décodeurs de contenus aptes à décoder plusieurs formats de contenus respectivement, caractérisé en ce qu’il comprend un processeur configuré pour réaliser, pour différents formats d’un même contenu, un calcul des durées d’attente respectives avant restitution du contenu, et sélectionner le format de contenu sélectionné à télécharger est fonction du résultat du calcul. Terminal lecteur (STB) comprenant une entité de gestion (ENT) telle que définie dans la revendication 4. Programme d'ordinateur apte à être mis en œuvre sur une entité de gestion (ENT) telle que définie dans la revendication 4, le programme comprenant des instructions de code qui, lorsqu’il est exécuté par un processeur, réalise les étapes du procédé définies dans la revendication 1. Support de données sur lequel a été mémorisée au moins une série d’instructions de code de programme pour l’exécution d’un procédé selon la revendication 1.