FR3020544A1 - Transmission et telechargement de contenu decompose en segments de donnees temporels - Google Patents
Transmission et telechargement de contenu decompose en segments de donnees temporels Download PDFInfo
- Publication number
- FR3020544A1 FR3020544A1 FR1453686A FR1453686A FR3020544A1 FR 3020544 A1 FR3020544 A1 FR 3020544A1 FR 1453686 A FR1453686 A FR 1453686A FR 1453686 A FR1453686 A FR 1453686A FR 3020544 A1 FR3020544 A1 FR 3020544A1
- Authority
- FR
- France
- Prior art keywords
- segment
- content
- terminal
- information
- encoding
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
- 230000005540 biological transmission Effects 0.000 title claims description 31
- 238000000034 method Methods 0.000 claims abstract description 62
- 238000011156 evaluation Methods 0.000 claims abstract description 36
- 230000002123 temporal effect Effects 0.000 claims abstract description 16
- 238000009877 rendering Methods 0.000 claims abstract description 14
- 238000004590 computer program Methods 0.000 claims description 12
- 101150066284 DET2 gene Proteins 0.000 claims description 7
- 230000006835 compression Effects 0.000 claims description 7
- 238000007906 compression Methods 0.000 claims description 7
- 101000746134 Homo sapiens DNA endonuclease RBBP8 Proteins 0.000 claims description 5
- 101000969031 Homo sapiens Nuclear protein 1 Proteins 0.000 claims description 5
- 102100021133 Nuclear protein 1 Human genes 0.000 claims description 5
- 238000013441 quality evaluation Methods 0.000 claims description 5
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 claims 1
- 230000000875 corresponding effect Effects 0.000 description 23
- 238000012545 processing Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 10
- 230000004044 response Effects 0.000 description 6
- 230000003044 adaptive effect Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 5
- 238000013139 quantization Methods 0.000 description 5
- 102000012677 DET1 Human genes 0.000 description 4
- 101150113651 DET1 gene Proteins 0.000 description 4
- 101100202849 Drosophila melanogaster sel gene Proteins 0.000 description 4
- 230000000750 progressive effect Effects 0.000 description 4
- 230000003068 static effect Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 241001611138 Isma Species 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000004377 microelectronic Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/612—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/762—Media network packet handling at the source
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/442—Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/8543—Content authoring using a description language, e.g. Multimedia and Hypermedia information coding Expert Group [MHEG], eXtensible Markup Language [XML]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Between Computers (AREA)
Abstract
L'invention concerne un procédé de transmission d'un contenu à destination d'un terminal (1), ledit contenu étant préalablement décomposé en une pluralité de segments de données temporels encodés respectivement selon différents profils d'encodage, ledit procédé étant caractérisé en ce qu'il comprend, pour au moins un segment de données temporel encodé considéré parmi ladite pluralité, une étape (E15) de transmission audit terminal d'informations (N1, N2, N3, N4) d'évaluation d'un niveau de qualité de restitution dudit segment de données temporel encodé considéré, lesdites informations d'évaluation étant associées respectivement aux différents profils d'encodage dudit segment de données temporel encodé considéré.
Description
Domaine de l'invention Le domaine de l'invention est celui du traitement de contenus multimédia décomposés en segments de données temporels.
On entend par contenu multimédia tout contenu audio et/ou visuel, ou plus généralement tout autre contenu numérique. L'invention concerne plus spécifiquement la transmission et la réception de tels contenus multimédia, en particulier leur téléchargement continu, aussi appelé streaming.
Elle s'applique notamment à tout terminal client (dans la suite appelé simplement terminal) capable de communiquer sur un réseau de télécommunications pour accéder à un contenu multimédia via une adresse universelle, aussi appelée URI (de l'anglais Uniform Ressource identifier). Présentation de l'art antérieur L'accès à un contenu du type précité à partir d'un terminal est déclenché généralement par une requête au travers d'une adresse URI du contenu. Un tel accès utilise par exemple le protocole http (de l'anglais « Hyper Text Transport Protocol ») qui est un protocole de communication client-serveur développé pour les réseaux Internet et en particulier le Web.
Il est fréquent, dans ce contexte du protocole HTTP, de recourir, pour échanger les données entre un terminal et un serveur de contenus, à une technique de type « HTTP adaptive streaming )>. Ce type de technique permet notamment d'offrir une bonne expérience utilisateur tout en tenant compte par exemple des variations de bande passante sur la liaison entre le terminal et le serveur. Le principe de base d'une telle technique est de mettre à disposition du terminal chaque contenu requis avec différents profils d'encodage. Un profil d'encodage est représentatif de la stratégie d'encodage adoptée pour encoder le contenu à transmettre, laquelle est fonction de certains paramètres de codage utilisés, tels que par exemple le débit d'encodage. Conformément à une telle technique, pour chaque profil disponible, le contenu est décomposé en segments temporels contigus de données média qui sont téléchargeables par les terminaux clients à l'aide du protocole HTTP. Pour un terminal donné, la lecture par ce dernier d'un contenu selon la technique « HTTP adaptative streaming » consiste à: - télécharger et analyser un document de description qui contient des informations de description du contenu, telles que par exemple la résolution de chaque segment du contenu, les profils d'encodage disponibles ainsi que les paramètres d'accès aux segments de données pour chaque profil d'encodage ; - télécharger les segments de données, et, pour chaque segment, sélectionner un profil d'encodage particulier, tel qu'un débit d'encodage proposé pour le segment à télécharger ; - puis analyser et rassembler les segments de données afin de les décoder pour lire le contenu. Selon un aspect de la technique « HTTP adaptative streaming », pour chaque segment de contenu considéré, c'est le terminal qui est en charge de la sélection du profil d'encodage le plus approprié en fonction de paramètres internes au terminal (ex : bande passante mesurée, capacités logicielles du terminal, ressources mémoire du terminal, etc ...). En particulier, il a été observé que pour chaque segment à lire, si les paramètres internes du terminal permettent à ce dernier de télécharger un segment considéré dont la qualité de restitution après décodage est la plus élevée, le terminal sélectionnera généralement le débit d'encodage le plus élevé correspondant à ce segment. Une telle sélection repose sur le principe que plus le débit d'encodage d'un contenu donné est élevé, meilleure est la qualité de restitution de ce contenu après décodage. Un inconvénient de cette technique est que le serveur de contenus risque de recevoir un nombre trop élevé de requêtes d'accès aux segments avec un débit d'encodage élevé. La conséquence serait une saturation de la bande passante réseau ou des serveurs HTTP. Les terminaux seraient donc contraints de requêter les segments suivants avec un débit d'encodage moins élevé et il en résulterait alors une baisse de la qualité de restitution du contenu sur ces terminaux. Par ailleurs, il a été observé qu'en fonction des caractéristiques (détails, mouvement, stationnarité) d'un contenu donné, il est possible d'obtenir une qualité de restitution après décodage qui soit équivalente bien que plusieurs taux de compression différents aient été appliqués à ce contenu. C'est pour cette raison que dans certains services de distribution de contenus, tels que par exemple les services de TV sur satellite, les contenus à transmettre sont encodés à débit variable afin de pouvoir partager ensemble une bande passante globale, tout en assurant une qualité relativement constante pour un même contenu, la criticité à l'encodage des contenus étant variables dans le temps. Par conséquent, encoder un contenu selon un débit qui n'est pas nécessairement le plus élevé ne nuit pas forcément à la qualité d'expérience finale de l'utilisateur du terminal, une fois le contenu restitué (visualisé et/ou écouté) à l'utilisateur sur le terminal. Obiet et résumé de l'invention Un des buts de l'invention est de remédier à des inconvénients de l'état de la technique précité.
A cet effet, un objet de la présente invention concerne un procédé de transmission d'un contenu à destination d'un terminal, un tel contenu étant préalablement décomposé en une pluralité de segments de données temporels qui sont encodés respectivement selon différents profils d'encodage. Un tel procédé est remarquable en ce qu'il comprend, pour au moins un segment de données temporel encodé considéré parmi la pluralité de segments précitée, une étape de transmission au terminal d'informations d'évaluation d'un niveau de qualité de restitution du segment de données temporel encodé considéré, les informations d'évaluation étant associées respectivement aux différents profils d'encodage du segment de données temporel encodé considéré. Une telle disposition présente l'avantage de faire dépendre la restitution d'un contenu sur un terminal d'une évaluation préalable de la qualité de restitution de ce contenu, pour chaque débit d'encodage proposé pour ce contenu, et non plus obligatoirement du débit d'encodage maximal du contenu que peut supporter le terminal.
En particulier, un tel procédé de transmission précité s'avère particulièrement flexible puisqu'il est adapté pour la transmission de segments à débit d'encodage variable dans le temps, tout en évitant le gaspillage inutile de la bande passante du réseau de transmission. Ainsi par exemple, si à un instant courant t, un segment est transmis au terminal avec un débit d'encodage maximal et que le terminal sélectionne, pour ce segment, la qualité de restitution maximale parce que ses capacités sont suffisantes, grâce à l'invention, si à un instant suivant t+1, un segment suivant présente un débit d'encodage inférieur au débit d'encodage maximal, le terminal sera apte, en vue de restituer ce segment, à requérir ce segment auprès du serveur de contenus selon un débit d'encodage inférieur si le terminal identifie, en faisant correspondre, pour chacun des différents profils d'encodage du segment transmis, les informations d'évaluation de niveau de qualité de restitution correspondantes, que le niveau de qualité associé à ce débit d'encodage inférieur est le même ou approximativement le même que celui associé au débit d'encodage maximal. Selon un mode de réalisation particulier, les informations d'évaluation de niveau de qualité de restitution sont ajoutées à des informations de description du contenu qui sont transmises au terminal préalablement à la transmission à ce dernier des segments de données temporels encodés.
Selon ce mode de réalisation, pour un contenu considéré, le niveau de qualité de restitution pour chaque segment et en considération de chacun de ses différents profils d'encodage correspondants, est avantageusement ajouté dans le document de description existant utilisé notamment dans la technique « HTTP adaptative streaming )>.
En outre, un tel mode de réalisation est particulièrement avantageux dans le cas de la transmission de contenus diffusés en différé, tels que par exemple des contenus de type VOD (abréviation anglaise de « Video On Demand »), car le terminal pourra identifier en avance de phase ceux, parmi les segments de données temporels non encore téléchargés, qui ont une qualité de restitution la plus critique. Ainsi, dans le cas où la bande passante du terminal s'avère suffisante, le terminal aura alors la possibilité de télécharger à l'avance ces segments de qualité critique, avec un niveau de qualité optimal. Selon encore un autre mode de réalisation particulier, pour un segment de données temporel encodé considéré à transmettre au terminal, les informations d'évaluation de niveau de qualité de restitution sont ajoutées aux données d'un segment de données temporel encodé transmis précédemment au terminal. Une telle disposition est particulièrement avantageuse dans le cas de la transmission de contenus diffusés en direct, tels que par exemple un match de football ou une émission de télévision, qui ne permet pas de connaître à l'avance les niveaux de qualité de restitution d'un segment de données temporel considéré correspondant à ses différents profils d'encodage. Selon encore un autre mode de réalisation particulier, les informations d'évaluation de niveau de qualité de restitution du contenu sont représentatives de la valeur d'un paramètre de compression appliqué lors de l'encodage des segments de données temporels du contenu, pour chaque profil d'encodage correspondant. Un tel paramètre de compression est une information qui est particulièrement simple à obtenir au niveau du serveur de contenus et qui, plus est, est facilement quantifiable. Il peut s'agir par exemple du pas de quantification qui est déterminé classiquement à partir d'un paramètre appelé QP (abréviation anglaise de « Quantization Parameter >>) appliqué lors de l'encodage d'un contenu, et plus particulièrement lors de la phase de quantification des données du contenu. Des paramètres de compression, autres que le paramètre de quantification précité, peuvent être considérés, tels que par exemple, dans le cas d'un contenu vidéo, un paramètre déterminant le nombre de mode intra disponible, un paramètre décrivant la taille maximale des vecteurs de mouvement, etc.... Les différents modes ou caractéristiques de réalisation précités peuvent être ajoutés indépendamment ou en combinaison les uns avec les autres, aux étapes du procédé de transmission défini ci-dessus. L'invention concerne également un serveur apte à transmettre un contenu à destination d'un terminal, un tel contenu étant préalablement décomposé en une pluralité de segments de données temporels qui sont encodés respectivement selon différents profils d'encodage. Un tel serveur est notamment adapté pour mettre en oeuvre le procédé de transmission précité. Le serveur selon l'invention est remarquable en ce qu'il comprend, pour au moins un segment de données temporel encodé considéré parmi la pluralité de segments précitée, un module de transmission pour transmettre au terminal des informations d'évaluation d'un niveau de qualité de restitution du segment de données temporel encodé considéré, les informations d'évaluation étant associées respectivement aux différents profils d'encodage du segment de données temporel encodé considéré. L'invention concerne également un procédé de téléchargement d'un contenu par un terminal, un tel contenu contenu ayant été préalablement décomposé sous la forme d'une pluralité de segments de données temporels téléchargeables et encodés respectivement selon différents profils d'encodage, comprenant une étape de téléchargement, par le terminal, d'informations de description des segments et de leurs profils d'encodage associés. Un tel procédé est remarquable en ce que pour au moins un segment à télécharger parmi la pluralité de segments, il comprend, à la suite de l'étape de téléchargement précitée, les étapes consistant à : - déterminer, respectivement en association avec chacun des différents profils d'encodage du segment à télécharger, des informations d'évaluation d'un niveau de qualité de restitution du segment à télécharger, - à partir des informations déterminées, sélectionner les informations pour lesquelles le niveau de qualité de restitution a été évalué comme le plus élevé, - déterminer le profil d'encodage associé aux informations sélectionnées, - télécharger le segment selon le profil d'encodage déterminé.
Selon un mode de réalisation particulier, si au cours de l'étape de détermination des informations d'évaluation d'un niveau de qualité de restitution du segment à télécharger, le niveau de qualité de restitution le plus élevé est le même pour deux profils d'encodage différents, le profil d'encodage associé au débit d'encodage le moins élevé est sélectionné.
Une telle disposition a pour avantage d'économiser de façon notable la bande passante de la liaison existant entre le serveur de contenus et le terminal. Selon un autre mode de réalisation particulier, l'étape de détermination des informations d'évaluation de niveau de qualité de restitution consiste à lire les informations à partir des informations de description des segments et de leurs profils d'encodage associés qui ont été préalablement téléchargées. Selon encore un autre mode de réalisation particulier, l'étape de détermination des informations d'évaluation de niveau de qualité de restitution consiste, pour un segment de données temporel encodé considéré à télécharger, à lire les informations d'évaluation de niveau de qualité de restitution parmi les données d'un segment de données temporel encodé précédemment téléchargé. Selon encore un autre mode de réalisation particulier, les informations d'évaluation de niveau de qualité de restitution du contenu sont représentatives de la valeur d'un paramètre de compression appliqué lors de l'encodage des segments de données temporels du contenu, pour chaque profil d'encodage correspondant. Les différents modes ou caractéristiques de réalisation précités peuvent être ajoutés indépendamment ou en combinaison les uns avec les autres, aux étapes du procédé de téléchargement défini ci-dessus.
L'invention concerne également un terminal apte à télécharger un contenu ayant été préalablement décomposé sous la forme d'une pluralité de segments de données temporels téléchargeables et encodés respectivement selon différents profils d'encodage, comprenant un premier module de téléchargement pour télécharger des informations de description des segments précités et de leurs profils d'encodage associés. Un tel terminal est notamment adapté pour mettre en oeuvre le procédé de téléchargement précité. Le terminal selon l'invention est remarquable en ce que, les informations de description ayant été téléchargées par le premier module de téléchargement et pour au moins un segment à télécharger parmi la pluralité de segments, il comprend : - un premier module de détermination pour déterminer, respectivement en association avec chacun des différents profils d'encodage du segment à télécharger, des informations d'évaluation d'un niveau de qualité de restitution du segment à télécharger, - un module de sélection pour sélectionner, à partir des informations déterminées, les informations pour lesquelles le niveau de qualité de restitution a été évalué comme le plus élevé, - un second module de détermination pour déterminer le profil d'encodage associé aux informations sélectionnées, - un second module de téléchargement pour télécharger le segment selon le profil d'encodage déterminé. Un tel terminal est en particulier le terminal client mentionné plus haut dans la description. L'invention concerne encore un programme d'ordinateur comportant des instructions pour mettre en oeuvre le procédé de transmission de contenu selon l'invention, lorsqu'il est exécuté sur un terminal ou plus généralement sur un ordinateur. L'invention concerne encore un programme d'ordinateur comportant des instructions pour mettre en oeuvre le procédé de téléchargement de contenu selon l'invention, lorsqu'il est exécuté sur un terminal ou plus généralement sur un ordinateur. Chacun de ces programmes peut utiliser n'importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet, tel que dans une forme partiellement compilée, ou dans n'importe quelle autre forme souhaitable. L'invention vise également un support d'enregistrement lisible par un ordinateur sur lequel est enregistré un programme d'ordinateur, ce programme comportant des instructions adaptées à la mise en oeuvre du procédé d'accès à une pluralité de contenus selon l'invention, tel que décrit ci-dessus. Un tel support d'enregistrement peut être n'importe quelle entité ou dispositif capable de stocker le programme. Par exemple, le support peut 10 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 une clé USB ou un disque dur. D'autre part, un tel support d'enregistrement peut être un support transmissible tel qu'un signal électrique ou optique, qui peut être acheminé via 15 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'enregistrement peut être un circuit intégré dans lequel le programme est incorporé, le circuit étant adapté pour exécuter 20 ou pour être utilisé dans l'exécution du procédé d'accès précité. Le serveur, le procédé de téléchargement, le terminal et les programme d'ordinateur correspondants précités présentent au moins les mêmes avantages que ceux conférés par le procédé de transmission selon la présente invention. 25 Liste des fiaures D'autres avantages et caractéristiques de l'invention apparaîtront plus clairement à la lecture de la description suivante de plusieurs modes de réalisation particuliers de l'invention, donnés à titre de simples exemples 30 illustratifs et non limitatifs, et des dessins annexés, parmi lesquels : la figure 1 présente de façon schématique une architecture de streaming dans laquelle sont mis en oeuvre le procédé de transmission de contenus et le procédé de téléchargement de contenus selon l'invention ; la figure 2 présente la structure simplifiée d'un serveur de transmission de contenus selon un mode de réalisation de l'invention ; la figure 3 présente la structure simplifiée d'un terminal de restitution de de contenus selon un mode de réalisation de l'invention ; la figure 4A présente de façon schématique les principales étapes d'un procédé de transmission de contenus selon un premier mode de réalisation de l'invention ; - la figure 4B présente de façon schématique les principales étapes d'un procédé de transmission de contenus selon un deuxième mode de réalisation de l'invention ; la figure 5A présente de façon schématique les principales étapes d'un procédé de téléchargement de contenus selon un premier mode de réalisation de l'invention ; la figure 5B présente de façon schématique les principales étapes d'un procédé de téléchargement de contenus selon un deuxième mode de réalisation de l'invention ; la figure 6A présente de façon schématique les principales étapes, mises en oeuvre au niveau du terminal, d'une stratégie de choix de débit d'encodage prenant en compte la qualité de restitution des segments de contenu, selon un premier mode de réalisation de l'invention ; la figure 6B présente de façon schématique les principales étapes, mises en oeuvre au niveau du terminal, d'une stratégie de choix de débit d'encodage prenant en compte la qualité de restitution des segments de contenu, selon un deuxième mode de réalisation de l'invention. Description d'un mode de réalisation particulier de l'invention En relation avec la figure 1, on présente une architecture dans laquelle est mis en oeuvre le procédé d'accès à une pluralité de contenus selon l'invention.
Une telle architecture se présente sous la forme d'un système informatique SYS comprenant un terminal client 1, une plateforme de service 2 à laquelle est abonné l'utilisateur du terminal 1 et un serveur de contenus 3. Le serveur de contenus 3 est apte à fournir un contenu au terminal 1, en réponse à une requête de ce dernier, la fourniture d'un tel contenu étant gérée par la plateforme de service 2. Dans l'exemple représenté sur la figure 1, le terminal 1, la plateforme 2 et le serveur 3 communiquent entre eux via un réseau de communication 4, tel que par exemple de type IP (abréviation anglaise de « Internet Protocol »). La plateforme de service PFS propose différents types de contenus à l'utilisateur UT du terminal 1, tels que par exemple: - des contenus télévisuels TV, notamment ceux à diffusion programmée dans une grille de programmes, - des catalogues VOD (abréviation anglaise de « Video On Demand »), - des catalogues de vidéos et/ou d'images et/ou de photos, - des catalogues de musique ou de podcasts, - des catalogues de livres numériques, - des catalogues d'applications et/ou de services.
Les contenus précités sont préalablement décomposés en une pluralité de segments de données temporels encodés respectivement selon différents profils d'encodage possibles. De telles opération de décomposition et d'encodage sont mises en oeuvre dans un équipement dédié non représenté, qui est relié au serveur de contenus 3.
Dans l'exemple représenté, l'architecture choisie pour illustrer l'invention est une architecture dite streaming basée sur l'utilisation du protocole HTTP. Classiquement, le terminal client 1 souhaite entrer en communication avec le serveur de contenus 3 pour télécharger un contenu multimédia composé d'un ou plusieurs médias (audio, vidéo, etc.).
Dans la suite de l'exemple, le contexte de streaming est conforme à la norme MPEG DASH (Abréviation anglaise de « Dynamic Adaptive Streaming over http >>- norme ISO/IEC 23009-1:2012(E)) de l'organisme de normalisation ISO/IEC dédiée au streaming de contenus multimédia sur Internet. En relation avec la figure 2, on considère maintenant la structure simplifiée du serveur de contenus 3 selon un exemple de réalisation de l'invention. Un tel serveur est adapté pour mettre en oeuvre le procédé de transmission de contenus selon l'invention qui va être décrit ci-dessous. Par exemple, le serveur 3 comprend des ressources physiques et/ou logicielles, en particulier une unité de traitement 110, équipée par exemple d'un processeur Pi, et pilotée par un programme d'ordinateur PG1 120, lui-même stocké dans une mémoire M1 130 et mettant en oeuvre le procédé de transmission de contenus selon l'invention. A l'initialisation, les instructions de code du programme d'ordinateur PG1 120 sont par exemple chargées dans une mémoire RAM (non représentée) avant d'être exécutées par le processeur P1 de l'unité de traitement 110. Le processeur de l'unité de traitement 110 met en oeuvre les étapes du procédé de de transmission de contenus selon l'invention qui va être décrit ci-dessous, selon les instructions du programme d'ordinateur PG1 120. Le serveur 3 comprend classiquement : - un module de stockage ST apte à stocker des informations de description du contenu qui sont destinées à être transmises au terminal 1, préalablement à la transmission proprement dite des segments d'un contenu considéré, - un module de communication COM1 qui est adapté pour transmettre au terminal 1, via le réseau 4, les segments d'un contenu requis par ce dernier. Les informations de description de contenus précitées se présentent par exemple sous la forme d'un ou plusieurs fichiers de description intermédiaires, appelés aussi documents, ou manifests, ou encore ressources, contenant les adresses d'une pluralité de segments composant un contenu considéré, en association avec les différents profils d'encodage attribués à chaque segment. Le serveur 3 est ainsi adapté pour mettre à disposition des contenus avec différentes variantes de débit, chacune des variantes étant disponible sous forme de segments contigus de données média qui sont téléchargeables, via le réseau 4, par le terminal 1, à l'aide du protocole http.
Selon l'invention, pour chaque segment considéré d'un contenu donné, des informations d'évaluation du niveau de qualité de restitution de ce segment, associées respectivement à chacun des profils d'encodage de ce segment, sont stockées dans le serveur 3, par exemple dans le module de stockage ST. Selon l'invention, le serveur comprend un module TR apte à traiter lesdites informations d'évaluation en vue de les transmettre au terminal 1. Le module de stockage ST, le module de communication COM1 et le module de traitement TR sont pilotés par le processeur P1 de l'unité de traitement 110. En relation avec la figure 3, on considère maintenant la structure simplifiée du terminal 1 de téléchargement de contenus, selon un exemple de réalisation de l'invention. Un tel terminal est adapté pour mettre en oeuvre le procédé de téléchargement de contenus selon l'invention qui va être décrit ci-dessous. Le terminal 1 est par exemple un ordinateur portable, comme cela est représenté sur la figure 1, ou bien un téléphone portable, un smartphone (« téléphone intelligent »), une tablette, etc... Dans l'exemple représenté à la figure 3, le terminal 1 comprend des ressources physiques et/ou logicielles, en particulier une unité de traitement 210, équipée par exemple d'un processeur P2, et pilotée par un programme 25 d'ordinateur PG2 220, stocké dans une mémoire M2 230 et mettant en oeuvre le procédé de téléchargement de contenus selon l'invention. Le terminal 1 comprend classiquement un module de communication COM2 adapté pour : - émettre une requête d'accès à une pluralité de contenus mis à disposition dans le serveur de contenus 3 de la figure 1 ou 2, 30 - recevoir en réponse les segments composant ce contenu.
A l'initialisation, les instructions de code du programme d'ordinateur PG2 220 sont par exemple chargées dans une mémoire RAM (non représentée) avant d'être exécutées par le processeur P2 de l'unité de traitement 210. Le processeur de l'unité de traitement 210 met en oeuvre les étapes du procédé de téléchargement de contenus qui va être décrit ci-dessous, selon les instructions du programme d'ordinateur 220. De façon connue en tant que telle, le terminal 1 comprend également : - un module INT de traitement des interactions utilisateurs Ul, - un écran de visualisation EC, - un haut-parleur HP, - une interface DEC de décodage audio/vidéo des segments de contenu de type texte, audio, vidéo ou audiovisuels, ladite interface étant adaptée pour transmettre les signaux décodés à l'écran EC ou dans le haut-parleur HP, - un module TEL de téléchargement contenant un sous-module MTEL1 de téléchargement des fichiers de description des segments d'un contenu considéré et de leurs profils d'encodage associés, ainsi qu'un sous-module MTEL2 de téléchargement des segments proprement dits, une fois ces segments reçus par le module de communication COM2.
Selon l'invention, le terminal 1 comprend en outre : - un premier module de détermination DET1 apte à déterminer, respectivement en association avec chacun des différents profils d'encodage d'un segment à télécharger dans le sous-module MTEL2, des informations d'évaluation d'un niveau de qualité de restitution dudit segment à télécharger, - un module de sélection SEL apte à sélectionner, à partir desdites informations d'évaluation déterminées, les informations pour lesquelles le niveau de qualité de restitution a été évalué comme le plus élevé, - un second module de détermination DET2 apte à déterminer le profil d'encodage associé auxdites informations sélectionnées, Les modules DET1 , SEL et DET2, qui seront décrits plus en détail dans la suite de la description, sont pilotés par le processeur P2 de l'unité de traitement 210.
En relation avec la figure 4A, on présente maintenant les étapes du procédé de transmission de contenus conformément à un premier mode de réalisation selon l'invention. Dans ce premier mode de réalisation représenté, ledit procédé de transmission est mis en oeuvre par le serveur de contenus 3 représenté sur les figures 1 et 2.
Au cours d'une étape El 0 représentée à la figure 4A, il est procédé classiquement, pour chaque contenu, à une étape de réception, en provenance d'un équipement dédié au codage des contenus, d'un fichier 5 (cf figure 1) de description des segments composant chaque contenu et de leurs différents profils d'encodage associés.
Au cours d'une étape El 1 représentée à la figure 4A, il est procédé au téléchargement de ce fichier dans le module de stockage ST du serveur 3. Un exemple de fichier de description 5 conforme à la norme MPEG/DASH est présenté ci-dessous, dans lequel les champs pertinents dans le contexte de l'invention, qui permettent notamment de générer les adresses universelles, sont présentés en caractères gras et en italique. <?xml version="1.0"?> <MPD xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:mpeg:DASH:schema:MPD:2011" xsi:schemaLocation="urn:mpeg:DASH:schema:MPD:2011 DASH- MPD.xsd" type="static" minBufferTime="PT2S" prof iles="urn:mpeg:dash:profile:isoff-on-demand:2011" mediaPresentationDuration="PT612S"> <BaseURL>HTTP:// x.com/</BaseURL> <Period> <AdaptationSet mimeType="video/mp4" codecs="avc1" segmentAlignment="true" startWithSAP="1"> <SegmentTemplate timescale="10000000" media="video $Bandwidth$bps Time $Time$.ismv" initialization="video $Bandwidth$bps.mp4"> <SegmentTimeline> <S t="0" d="20000000" r="306"/> </SegmentTimeline> </SegmentTemplate> <Representation id="v0" width="320" height="180" bandwidth="350000"I> <Representation id="v1" width="480" height="270" bandwidth="700000"I> <Representation id="v2" width="640" height="360" bandwidth="1500000"I> <Representation id="v3" width="854" height="480" bandwidth="3000000"I> </AdaptationSet> <AdaptationSet mimeType="audio/mp4" codecs="mp4a" segmentAlignment="true" startWithSAP="1"> <SegmentTemplate timescale="10000000" media="audio $Bandwidth$bps Time $Time$ Input 4.isma" initialization="audio $Bandwidth$bps Input 4.mp4"> <SegmentTimeline> <S t="0" d="20000000" r="306"/> </SegmentTimeline> </SegmentTemplate> <Representation id="a4" bandwidth="64000"/> </AdaptationSet> </Period> </MPD> Le fichier de description 5 permet de générer des adresses pour chaque segment de données temporels d'un contenu considéré. Cette construction met en oeuvre un mécanisme préalable de résolution d'adresses universelles (URI) décrit dans la la spécification RFC 3986 (spécification : Uniform Resource Identifier (URI): Generic Syntax). Une telle adresse universelle prendra par exemple la forme dvb://contenu1, rtsp://contenu2, HTTP://contenu3, ftp://contenu4, etc. Le terminal 1 doit interpréter certains champs et les modifier de manière appropriée pour construire la première adresse universelle (URL ou 40 URI) du segment de données temporel.
Cette résolution d'URI est faite selon l'élément BaseURL, qui peut être présent à différents niveaux de la hiérarchie du fichier de description 5. Dans cet exemple, les adresses URL sont construites à l'aide des deux champs « BaseUrl » (« HTTP:// x.com/ » et « video/ ») et « SegmentTemplate ».
Le « SegmentTemplate » précisé par la norme MPEG/DASH est un procédé générique de construction des adresses (URI) intermédiaires à partir de différents identifiants, qui sont notamment: - $Time$ : à remplacer par le temps de début du segment de données temporel. Ce temps est fourni par la « SegmentTimeline » qui indique ici un offset de 20000000 pour chaque début de nouveau segment ; - $Number$ : à remplacer par le numéro d'ordre du segment désiré ; - $Bandwidth$ : à remplacer par la valeur de l'attribut « bandwidth » (bande passante) du profil d'encodage considéré.
Comme expliqué précédemment, un même segment peut correspondre à différents profils d'encodage. Dans le fichier ci-dessus, à chaque profil est associé un débit d'encodage respectif. Pour un même segment, le débit d'encodage peut valoir par exemple 350kbps, 700kbps, 1500kbps, 3000kbps. Au cours d'une étape E12 représentée sur la figure 4A, il est procédé, pour chaque segment considéré d'un contenu donné, à la réception en provenance de l'équipement dédié au codage du contenu, puis au téléchargement, d'informations d'évaluation d'un niveau de qualité de restitution associées respectivement à chacun des différents débits d'encodage précités. De telles informations d'évaluation sont par exemple stockées dans le module de stockage ST du serveur de contenu 3. Selon un exemple de réalisation, ces informations d'évaluation sont une note pouvant par exemple être comprise entre 1 et 10, laquelle est attribuée au rapport Signal/Bruit PSNR (abréviation anglaise de « Peak Signal to Noise Ratio ») qui est une mesure de distorsion utilisée classiquement lors du codage d'un contenu numérique. Corrélé au paramètre de quantification, il est ainsi possible de quantifier la performance des différents codeurs utilisés pour coder un segment, en mesurant la qualité de reconstruction de chaque segment compressé par rapport au segment original correspondant. Au cours d'une étape E13 représentée sur la figure 4A, le serveur de contenus 3 transmet le fichier de description 5 au terminal 1, en réponse à une requête d'accès au contenu représenté par ce fichier de description qui a été émise par le terminal 1 à destination du serveur de contenus 3. Au cours d'une étape E14 représentée sur la figure 4A, pour un segment de données temporel encodé courant requis par le terminal 1 après analyse par ce dernier du fichier de description 5, le module TR du serveur de contenus 3 représenté à la figure 2 procède au traitement des notes Ni, N2, N3, N4 correspondant respectivement aux quatre différents débits d'encodage précités d'au moins un autre segment suivant à transmettre, afin de les classer dans un ordre prédéterminé, par exemple de la note la plus basse à la note la plus élevée.
Au cours de cette même étape E14 et comme représenté sur la figure 4A, le module de traitement TR ajoute les notes Ni, N2, N3, N4 aux données encodées du segment courant SG à transmettre, par exemple au début de ce segment. Plus particulièrement en référence à la norme MPEG DASH, ces notes sont ajoutées dans un champ nommé « Event Box » du segment SG.
Chaque note peut être par exemple représentée sur trois octets. Au cours d'une étape E15 représentée sur la figure 4A, le module de communication COM1 transmet au terminal 1 le segment de données temporel encodé courant contenant les notes Ni, N2, N3, N4, en réponse à la requête d'accès à ce segment émise par ledit terminal 1.
En relation avec la figure 4B, on présente maintenant les étapes du procédé de transmission de contenus conformément à un deuxième mode de réalisation selon l'invention. Dans ce deuxième mode de réalisation représenté, ledit procédé de transmission est toujours mis en oeuvre par le serveur de contenus 3 représenté sur les figures 1 et 2.
Au cours d'une étape E20 représentée à la figure 4B, il est procédé, pour chaque contenu, à une étape de réception, en provenance d'un équipement dédié au codage des contenus, d'un fichier 5' de description des segments composant chaque contenu et de leurs différents profils d'encodage associés. Au cours d'une étape E21 représentée à la figure 4B, il est procédé au 5 téléchargement de ce fichier dans le module de stockage ST du serveur 3. Selon ce deuxième mode de réalisation, le fichier de description 5' diffère du fichier de description 5 précité, en ce qu'il contient, pour chaque segment considéré d'un contenu, des informations d'évaluation d'un niveau de qualité de restitution associées respectivement aux différents débits d'encodage de ce 10 contenu. Un exemple de fichier de description 5' conforme à la norme MPEG/DASH est présenté ci-dessous, où conformément à l'invention est insérée une balise <quality> représentée en caractères italiques et gras, qui indique l'adresse dans le serveur de contenus 3 où sont stockées les quatre 15 notes Ni, N2, N3, N4 attribuées respectivement aux quatre profils d'encodage différents d'un segment considéré. <?xml version="1.0"?> <MPD xmlns:xsi="http://www.w3. org/2001/XMLScherna-instance" 20 xmlns="urn:mpeg:DASH:schema:MPD:2011" xsi:schemaLocation="urn:mpeg:DASH:schema:MPD:2011 DASH-MPD.xsd" type="static" minBufferTime="PT2S" profiles="urn:mpeg:dash:profile:isoff-on-demand:2011" 25 mediaPresentationDuration="PT612S"> <Period> <AdaptationSet mimeType="video/mp4" codecs="avc1" segmentAlignment="true" startWithSAP="1"> <SegmentTemplate timescale="10000000" 30 media="video $Bandwidth$bps Time $Time$.ismv" initialization="video $Bandwidth$bps.mp4" startNumber="0" duration="20000000"> </SegmentTemplate> <Representation id="v0" width="320" height="180" bandwidth="350000"/> 35 <Representation id="v1" width="480" height="270" bandwidth="700000"/> <Representation id="v2" width="640" height="360" bandwidth="1500000"/> <Representation id="v3" width="854" height="480" bandwidth="3000000"/> <quality> url="http://Pserver/contentid/qualitylist.xml </quality> </AdaptationSet> <AdaptationSet mimeType="audio/mp4" codecs="mp4a" segmentAlignment="true" startWithSAP="1"> <SegmentTemplate timescale="10000000" media="audio $Bandwidth$bps Time $Time$ Input 4.isma" initialization="audio $Bandwidth$bps Input 4.mp4"> <SegmentTimeline> <S t="0" d="20000000" r="306"/> </SegmentTimeline> </SegmentTemplate> <Representation id="a4" bandwidth="64000"/> </AdaptationSet> </Period> </MP> Une connexion à l'url="httpleserver/contentid/qualitylist.xml pointe alors directement vers les notes Ni, N2, N3, N4 attribuées respectivement aux quatre débits d'encodage différents d'un segment considéré. Dans l'exemple représenté ci-dessous, il existe dix segments de données temporels consécutifs identifiés respectivement par « segment Number="0" », « segment Number="1" » et ainsi de suite jusqu'à « segment Number="9" ». Le premier segment est associé aux quatre notes N1=6, N2=6, N3=6, N4=6. Le deuxième segment est associé aux quatre notes N1=3, N2=3, N3=6, N4=6. Le dixième segment est associé aux quatre notes N1=3, N2=3, N3=3, N4=5. video $Bandwidth$bps Time $Time$.ismv <quality> q="6,6,6,6 </quality> video $Bandwidth$bps Time $Time$.ismv <quality> q="3,3,6,6" </quality> video $Bandwidth$bps Time $Time$.ismv <quality> q="3,3,6,6" </quality> video $Bandwidth$bps Time $Time$.ismv <quality> q="2,4,4,4" </quality> video $Bandwidth$bps Time $Time$.ismv <quality> q=" 3,3,3,3" </quality> video $Bandwidth$bps Time $Time$.ismv <quality> q=" 3,3,3,3" </quality> video $Bandwidth$bps Time $Time$.ismv <quality> q=" 3,3,3,3" </quality> video $Bandwidth$bps Time $Time$.ismv <quality> q="3,3,6,9"</quality> video $Bandwidth$bps Time $Time$.ismv <quality> q="3,3,6,6"</quality> video $Bandwidth$bps Time $Time$.ismv <quality> q=" 3,3,3,5" </quality> <quality list> <segment Number="0" quality="6,6,6,6"/> <segment Number="1" quality="3,3,6,6"/> <segment Number="2" quality="3,3,6,6"/> <segment Number="3" quality="2,4,4,4"/> <segment Number="4" quality="3,3,3,3"/> <segment Number="5" quality="3,3,3,3"/> <segment Number="6" quality="3,3,3,3"/> <segment Number="7" quality="3,3,6,9"/> <segment Number="8" quality="3,3,6,6"/> <segment Number="9" quality="3,3,3,5"/> </quality list> Bien entendu, il existe de nombreux autres exemples possibles de représentation de l'association d'indices de qualité à un segment considéré. Selon un autre exemple, une telle représentation pourrait être réalisée de façon plus contractée.
Comme expliqué précédemment, un même segment pouvant correspondre à différents profils d'encodage, dans le fichier ci-dessus, pour un même segment, les notes Ni, N2, N3, N4 sont associées respectivement aux valeurs de débit d'encodage 350kbps, 700kbps, 1500kbps, 3000kbps. Un autre exemple de fichier de description 5" conforme à la norme MPEG/DASH est présenté ci-dessous, où conformément à l'invention est insérée une balise <quality> représentée en caractères italiques et gras, qui indique, pour chaque segment de données situés à des positions temporelles prédéterminées comprises entre 599625791 ms et 600922207 ms, quatre notes Ni, N2, N3, N4 attribuées respectivement aux quatre profils d'encodage différents d'un segment considéré. <?xml version="1.0" encoding="UTF-8"?> <MPD xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:mpeg:DASH:schema:MPD:2011" xsi:schemaLocation="urn:mpeg:DASH:schema:MPD:2011 DASH-MPD.xsd" type="static" mediaPresentationDuration="PT60.0575" availabilityStartTime="2012-09-18T14:21:43Z" maxSegmentDuration="PT2.0805" minBufferTime="PT5.001S" profiles="urn:mpeg:dash:profile:isoff-live:2011"> <Period> <AdaptationSet mimeType="video/mp4" segmentAlignment="true" startWithSAP="1" maxWidth="854" maxHeight="480" maxFrameRate="25" par="16:9"> <SegmentTemplate presentationTimeOffset="2248592920" timescale="90000" initialization="$Representation1DeHeader.m4s" media="$Representation1D$/$Time$.m4s"> <SegmentTimeline> <5 t="2248592920" d="180000" r="19"/> <5 t="2252192920" d="181800"/> <5 t="2252374720" d="183361"/> <5 t="2252558081" d="180000" r="7"/> </SegmentTimeline> </SegmentTemplate> <Representation id="video1" width="320" height="180" frameRate="25" sar="1:1" scanType="progressive" bandwidth="350000" codecs="avc1.4D400D"/> <Representation id="video2" width="480" height="270" frameRate="25" sar="1:1" scanType="progressive" bandwidth="700000" codecs="avc1.4D4015"/> <Representation id="video3" width="640" height="360" frameRate="25" sar="1:1" scanType="progressive" bandwidth="1500000" codecs="avc1.64001E"/> <Representation id="video4" width="854" height="480" frameRate="25" sar="1:1" scanType="progressive" bandwidth="3000000" codecs="avc1.64001E"/> </AdaptationSet> <AdaptationSet mimeType="audio/mp4" lang="" segmentAlignment="true" startWithSAP="1"> <SegmentTemplate presentationTimeOffset="599624778" timescale="24000" initialization="$Representation1DeHeader.m4s" media="$Representation1D$/$Time$.m4s"> <SegmentTimeline> <5 t="599625791" d="47104"/> <quality> q="6,6,6,6 </quality> <5 t="599672895" d="48128"/> <quality> q="3,3,6,6' </quality> <5 t="600009791" d="47104"/> <quality> q="3,3,6,6' </quality> <5 t="600056895" d="48128"/> <quality> q="2,4,4,4" </quality> <5 t="600393791" d="47104"/> <quality> q="3,3,3,3" </quality> <5 t="600440895" d="48128"/> <quality> q="3,3,3,3' </quality> <5 t="600633407" d="49184"/> <quality> q="3,3,3,3' </quality> <5 t="600682591" d="48128"/> <quality> q="3,3,6,9"</quality> <5 t="600875103" d="47104"/> <quality> q="3,3,6,6'</quality> <5 t="600922207" d="48128"/> <quality> q='3,3,3,5 </quality> </SegmentTimeline> </SegmentTemplate> <Representation id="audio1" audioSamplingRate="24000" bandwidth="32000" codecs="mp4a.40.5"> <AudioChannelConfiguration schemeldUri="urn:mpeg:dash:23003:3:audio channel configuration:2011" val ue="2"/> </Representation> </AdaptationSet> </Period> </MPD> Comme expliqué précédemment, un même segment pouvant correspondre à différents profils d'encodage, dans le fichier ci-dessus, pour un même segment, les notes Ni, N2, N3, N4 sont associées respectivement aux valeurs de débit d'encodage 349952bps, 699968bps, 1499968bps, 800000bps.
Au cours d'une étape E22 représentée sur la figure 4B, le serveur de contenus 3 transmet le fichier de description 5' ou 5" au terminal 1, en réponse à une requête d'accès au contenu représenté par ce fichier de description qui a été émise par le terminal 1 à destination du serveur de contenus 3. Le terminal 1 aura alors accès en avance de phase aux notes de qualité de restitution attribuées à chaque segment, pour chacun de ses profils d'encodage correspondants et pourra ainsi adopter une stratégie de téléchargement de segments respectant une qualité de restitution optimale. Au cours d'une étape E23 représentée sur la figure 4B, le module de communication COM1 du serveur 3 de la figure 2 transmet au terminal 1 le 25 segment de données temporel encodé courant dont le débit d'encodage correspond à l'une des notes Ni, N2, N3, N4, en réponse à la requête d'accès à ce débit émise par ledit terminal 1. En relation avec la figure 5A, on présente maintenant les étapes du 30 procédé de téléchargement de contenus conformément à un premier mode de réalisation selon l'invention. Dans ce premier mode de réalisation représenté, ledit procédé de téléchargement est mis en oeuvre par le terminal 1 représenté sur les figures 1 et 3.
Au cours d'une étape E30 représentée à la figure 5A, le terminal 1 émet auprès du serveur de contenus 3 une requête en téléchargement du fichier de description 5. Au cours d'une étape E31 représentée à la figure 5A, le fichier de description 5 est reçu par le module COM2 du terminal 1, puis est téléchargé dans le sous-module de téléchargement MTEL1. Au cours d'une étape E32 représentée à la figure 5A, le terminal 1 accède à un premier segment SG1 auprès du serveur de contenus 3 grâce à une adresse URL contenue dans le fichier de description 5.
Au cours d'une étape E33 représentée à la figure 5A, le premier segment SG1 est reçu par le module COM2 du terminal 1 de la figure 3, puis est téléchargé dans le sous-module de téléchargement MTEL2. Au cours d'une étape E34 représentée à la figure 5A, le module de détermination DET1 du terminal 1 lit les notes Ni, N2, N3, N4 contenues dans le segment SG1 et attribuées respectivement aux quatre profils d'encodage différents du segment suivant SG2. Au cours d'une étape E35 représentée à la figure 5A, le module SEL du terminal 1 représenté à la figure 3 sélectionne la note la plus élevée ou les notes égales les plus élevées.
Au cours d'une étape E36 représentée à la figure 5A, le module de détermination DET2 du terminal 1 fait correspondre cette note au débit d'encodage le plus élevé qui est inscrit dans le fichier de description 5. Si il existe plusieurs notes les plus élevées qui sont égales, le module de détermination DET2 du terminal 1 fait correspondre ces différentes notes respectivement aux différents débits d'encodage correspondants qui sont inscrits dans le fichier de description 5. Au cours d'une étape E37 représentée à la figure 5A, le terminal 1 accède auprès du serveur de contenus 3 au deuxième segment 5G2, grâce à l'adresse URL pointant sur le débit d'encodage associé à la note la plus élevée ou à l'une des notes les plus élevées contenue(s) dans le fichier de description 5.
Au cours d'une étape E38 représentée à la figure 5A, le deuxième segment SG2 est reçu par le module COM2 du terminal 1 de la figure 3, puis est téléchargé dans le sous-module MTEL2 de ce dernier.
En relation avec la figure 5B, on présente maintenant les étapes du procédé de téléchargement de contenus conformément à un deuxième mode de réalisation selon l'invention. Dans ce deuxième mode de réalisation représenté, ledit procédé de téléchargement est toujours mis en oeuvre par le terminal 1 représenté sur les figures 1 et 3.
Au cours d'une étape E40 représentée à la figure 5B, le terminal 1 émet auprès du serveur de contenus 3 une requête en téléchargement du fichier de description 5' ou 5". Au cours d'une étape E41 représentée à la figure 5B, le fichier de description 5' ou 5" est reçu par le module COM2 du terminal 1, puis est 15 téléchargé dans le sous-module de téléchargement MTEL1. Au cours d'une étape E42 représentée à la figure 5B, le module de détermination DET1 du terminal 1 lit les notes Ni, N2, N3, N4 contenues dans le fichier de description 5' ou 5" et attribuées respectivement aux quatre profils d'encodage différents de chaque segment composant le contenu considéré. 20 Au cours d'une étape E43 représentée à la figure 5B, le module SEL du terminal 1 représenté à la figure 3 sélectionne la note la plus élevée ou les notes égales les plus élevées. Au cours d'une étape E44 représentée à la figure 5B, le module de détermination DET2 du terminal 1 fait correspondre cette note au débit 25 d'encodage le plus élevé qui est inscrit dans le fichier de description 5' ou 5". Si il existe plusieurs notes les plus élevées qui sont égales, le module de détermination DET2 du terminal 1 fait correspondre ces différentes notes respectivement aux différents débits d'encodage correspondants qui sont inscrits dans le fichier de description 5' ou 5". 30 Au cours d'une étape E45 représentée à la figure 5B, pour un segment courant à télécharger, le terminal 1 accède à ce segment auprès du serveur de contenus 3, grâce à l'adresse URL pointant sur le débit d'encodage associé à la note la plus élevée ou à l'une des notes les plus élevées contenue(s) dans le fichier de description 5' ou 5". Au cours d'une étape E46 représentée à la figure 5B, le segment courant est reçu par le module COM2 du terminal 1 de la figure 3, puis est téléchargé dans le sous-module de téléchargement MTEL2. En relation avec la figure 6A, conformément à un premier mode de réalisation selon l'invention, on présente maintenant les étapes d'une stratégie d'adaptation du débit d'encodage d'un segment courant à télécharger qui prend en compte les paramètres de criticité/qualité de restitution d'un contenu. Dans ce premier mode de réalisation représenté, ladite stratégie est mise en oeuvre par le terminal 1 représenté sur les figures 1 et 3. Au cours d'une étape E50 représentée à la figure 6A un segment courant, noté SG,' est reçu par le module COM2 du terminal 1 de la figure 3, puis est téléchargé dans le sous-module de téléchargement MTEL2. Le segment courant SG,, téléchargé présente un débit d'encodage Di, tel que Do<Di <...<Di_i <Di<Di+1<...<DK, avec Au cours d'une étape E51 représentée à la figure 6A, le terminal 1 mesure sa bande passante et teste si elle est ou n'est pas inférieure à D. Dans le cas où la bande passante du terminal 1 est inférieure à Di, au cours d'une étape E52 représentée à la figure 6A, le terminal 1 requiert le téléchargement du segment suivant SG'i correspondant au débit d'encodage Di_1.
Dans le cas où la bande passante du terminal 1 est supérieure à Di, au cours d'une étape E53 représentée à la figure 6A, le terminal 1 évalue si la note d'évaluation de qualité de restitution du segment SG'i correspondant au débit Di_1 est égale à la note d'évaluation de qualité de restitution du segment SG,,,i correspondant au débit D.
Si tel est le cas, au cours d'une étape E54 représentée à la figure 6A, le terminal 1 requiert le téléchargement du segment suivant SG'i correspondant au débit d'encodage Di-1. Si tel n'est pas le cas, au cours d'une étape E55 représentée à la figure 6A, le terminal 1 requiert le téléchargement du segment suivant SGn+i correspondant au débit d'encodage D. En relation avec la figure 6B, conformément à un deuxième mode de réalisation selon l'invention, on présente maintenant les étapes d'une stratégie d'adaptation du débit d'encodage d'un segment courant à télécharger qui prend en compte les paramètres de criticité/qualité de restitution d'un contenu. Dans ce deuxième mode de réalisation représenté, ladite stratégie est toujours mise en oeuvre par le terminal 1 représenté sur les figures 1 et 3. Au cours d'une étape E60 représentée à la figure 6B, un segment courant, noté SGn, est reçu par le module COM2 du terminal 1 de la figure 3, puis est téléchargé dans le sous-module de téléchargement MTEL2. Le segment courant SGn téléchargé présente un débit d'encodage Di, tel que Do<Di <...<Di_i <Di<Di+1<...<DK, avec Au cours d'une étape E61 représentée à la figure 6B, le terminal 1 mesure sa bande passante et teste si elle est ou n'est pas inférieure à Di+ixR, où R est un facteur ou un pourcentage appliqué à la bande passante mesurée en vue d'une décision par le terminal 1 de monter en débit en vue de télécharger le segment suivant SGn+1. Dans le cas où la bande passante du terminal 1 est supérieure à Di+ixR, au cours d'une étape E62 représentée à la figure 6B, le terminal 1 requiert le téléchargement du segment suivant SGn+i correspondant au débit d'encodage Di+1. Dans le cas où la bande passante du terminal 1 est inférieure à Di+ixR, au cours d'une étape E63 représentée à la figure 6B, le terminal 1 mesure sa bande passante et teste si elle est ou n'est pas inférieure à D.
Dans le cas où la bande passante du terminal 1 est inférieure à Di, au cours d'une étape E64 représentée à la figure 6B, le terminal 1 requiert le téléchargement du segment suivant SG'i correspondant au débit d'encodage Di_l- Dans le cas où la bande passante du terminal 1 est supérieure à Di, au cours d'une étape E65 représentée à la figure 6B, le terminal 1 évalue si la note d'évaluation de qualité de restitution du segment SG'i correspondant au débit Di est inférieure à la note d'évaluation de qualité de restitution du segment SG+1 correspondant au débit Di+i - Si tel n'est pas le cas, au cours d'une étape E66 représentée à la figure 6B, le terminal 1 requiert le téléchargement du segment suivant SGn+i correspondant au débit d'encodage D. Si tel est le cas, au cours d'une étape E67 représentée à la figure 6B, le terminal 1 évalue si sa mémoire temporaire (« buffer » en anglais) qui stocke temporairement les segments déjà téléchargés présente une taille suffisante. Si tel n'est pas le cas, au cours d'une étape E68 représentée à la figure 6B, le terminal 1 requiert le téléchargement du segment suivant SGn+i correspondant au débit d'encodage D. Si tel est le cas, au cours d'une étape E69 représentée à la figure 6B, le terminal 1 requiert le téléchargement du segment suivant SGn+i correspondant au débit d'encodage Di+i - L'avantage de la stratégie de téléchargement qui vient d'être décrite ci-dessus est : - de pouvoir disposer au niveau du terminal 1 d'un algorithme de décision plus intelligent qui prend en compte les variations de criticité d'un contenu, - de permettre au terminal 1 de décoder un contenu ayant une qualité de restitution optimale et autant que possible constante en fonction des conditions du réseau de communication 4, - de ne pas surcharger inutilement le réseau de communication 4 lorsqu'un débit d'encodage inférieur pour un segment donné ne donne pas une qualité de restitution inférieure et significative pour ce même segment codé avec un débit d'encodage supérieur. Il va de soi que les modes de réalisation qui ont été décrits ci-dessus ont été donnés à titre purement indicatif et nullement limitatif, et que de nombreuses modifications peuvent être facilement apportées par l'homme de l'art sans pour autant sortir du cadre de l'invention. 15 20 25 30
Claims (13)
- REVENDICATIONS1. Procédé de transmission d'un contenu à destination d'un terminal, ledit contenu étant préalablement décomposé en une pluralité de segments de données temporels encodés respectivement selon différents profils d'encodage, ledit procédé étant caractérisé en ce qu'il comprend, pour au moins un segment de données temporel encodé considéré parmi ladite pluralité, une étape (E15 ; E22) de transmission audit terminal d'informations (N1-N4) d'évaluation d'un niveau de qualité de restitution dudit segment de données temporel encodé considéré, lesdites informations d'évaluation étant associées respectivement aux différents profils d'encodage dudit segment de données temporel encodé considéré.
- 2. Procédé de transmission selon la revendication 1, au cours duquel les informations d'évaluation de niveau de qualité de restitution sont ajoutées à des informations (5) de description du contenu qui sont transmises (E22) au terminal préalablement à la transmission à ce dernier des segments de données temporels encodés.
- 3. Procédé de transmission selon la revendication 1, au cours duquel, pour un segment de données temporel encodé considéré à transmettre au terminal, les informations d'évaluation de niveau de qualité de restitution sont ajoutées aux données d'un segment de données temporel encodé transmis précédemment au terminal.
- 4. Procédé de transmission selon l'une quelconque des revendications 1 à 3, dans lequel les informations d'évaluation de niveau de qualité de restitution dudit contenu sont représentatives de la valeur d'un paramètre de compression appliqué lors de l'encodage des segments de données temporels dudit contenu, pour chaque profil d'encodage correspondant.
- 5. Serveur (3) apte à transmettre un contenu à destination d'un terminal, ledit contenu étant préalablement décomposé en une pluralité de segments de données temporels qui sont encodés respectivement selon différents profils d'encodage, ledit serveur étant caractérisé en ce qu'il comprend, pour au moins un segment de données temporel encodé considéré parmi ladite pluralité, des moyens (COM1) de transmission apte à transmettre audit terminal des informations d'évaluation d'un niveau de qualité de restitution dudit segment de données temporel encodé considéré, lesdites informations d'évaluation étant associées respectivement aux différents profils d'encodage dudit segment de données temporel encodé considéré.
- 6. Procédé de téléchargement d'un contenu par un terminal, ledit contenu ayant été préalablement décomposé sous la forme d'une pluralité de segments de données temporels téléchargeables et encodés respectivement selon différents profils d'encodage, comprenant une étape (E31; E41)) de téléchargement, par ledit terminal, d'informations de description desdits segments et de leurs profils d'encodage associés, ledit procédé étant caractérisé en ce que pour au moins un segment à télécharger parmi ladite pluralité, il comprend, à la suite de ladite étape de téléchargement, les étapes consistant à: - déterminer (E34; E42), respectivement en association avec chacun des différents profils d'encodage du segment à télécharger, des informations d'évaluation d'un niveau de qualité de restitution dudit segment à 25 télécharger, - à partir desdites informations déterminées, sélectionner (E35; E43) les informations pour lesquelles le niveau de qualité de restitution a été évalué comme le plus élevé, - déterminer (E36; E44) le profil d'encodage associé auxdites 30 informations sélectionnées, - télécharger (E38; E46) le segment selon ledit profil d'encodagedéterminé.
- 7. Procédé de téléchargement selon la revendication 6, dans lequel si au cours de l'étape de détermination des informations d'évaluation d'un niveau de qualité de restitution dudit segment à télécharger, le niveau de qualité de restitution le plus élevé est le même pour deux profils d'encodage différents, le profil d'encodage associé au débit d'encodage le moins élevé est sélectionné.
- 8. Procédé de téléchargement selon l'une des revendications 6 ou 7, au cours duquel ladite étape de détermination des informations d'évaluation de niveau de qualité de restitution consiste à lire (E42) lesdites informations à partir desdites informations de description des segments et de leurs profils d'encodage associés qui ont été préalablement téléchargées.
- 9. Procédé de téléchargement selon l'une des revendications 6 ou 7, au cours duquel, ladite étape de détermination des informations d'évaluation de niveau de qualité de restitution consiste, pour un segment de données temporel encodé considéré à télécharger, à lire (E44) lesdites informations d'évaluation de niveau de qualité de restitution parmi les données d'un segment de données temporel encodé précédemment téléchargé.
- 10. Procédé de téléchargement selon l'une quelconque des revendications 6 à 9, dans lequel les informations d'évaluation de niveau de qualité de restitution dudit contenu sont représentatives de la valeur d'un paramètre de compression appliqué lors de l'encodage des segments de données temporels dudit contenu, pour chaque profil d'encodage correspondant.
- 11. Terminal (1) apte à télécharger un contenu ayant été préalablement décomposé sous la forme d'une pluralité de segments de données temporels téléchargeables et encodés respectivement selon différents profils d'encodage,comprenant des premiers moyens (MTEL1) pour télécharger des informations de description desdits segments et de leurs profils d'encodage associés, ledit terminal étant caractérisé en ce que, lesdites informations de description ayant été téléchargées par lesdits moyens de téléchargement et pour au moins un segment à télécharger parmi ladite pluralité, il comprend : - des premiers moyens (DET1) pour déterminer, respectivement en association avec chacun des différents profils d'encodage du segment à télécharger, des informations d'évaluation d'un niveau de qualité de restitution dudit segment à télécharger, - des moyens (SEL) pour sélectionner, à partir desdites informations déterminées, les informations pour lesquelles le niveau de qualité de restitution a été évalué comme le plus élevé, - des seconds moyens (DET2) pour déterminer le profil d'encodage associé auxdites informations sélectionnées, - des seconds moyens (MTEL2) pour télécharger le segment selon ledit profil d'encodage déterminé.
- 12. Programme d'ordinateur comportant des instructions de code de programme pour l'exécution des étapes du procédé de transmission selon l'une 20 quelconque des revendications 1 à 4, lorsque ledit programme est exécuté sur un ordinateur.
- 13. Programme d'ordinateur comportant des instructions de code de programme pour l'exécution des étapes du procédé de téléchargement selon 25 l'une quelconque des revendications 6 à 10, lorsque ledit programme est exécuté sur un ordinateur.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1453686A FR3020544A1 (fr) | 2014-04-24 | 2014-04-24 | Transmission et telechargement de contenu decompose en segments de donnees temporels |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1453686A FR3020544A1 (fr) | 2014-04-24 | 2014-04-24 | Transmission et telechargement de contenu decompose en segments de donnees temporels |
Publications (1)
Publication Number | Publication Date |
---|---|
FR3020544A1 true FR3020544A1 (fr) | 2015-10-30 |
Family
ID=51210582
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR1453686A Withdrawn FR3020544A1 (fr) | 2014-04-24 | 2014-04-24 | Transmission et telechargement de contenu decompose en segments de donnees temporels |
Country Status (1)
Country | Link |
---|---|
FR (1) | FR3020544A1 (fr) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10257839B2 (en) | 2017-03-20 | 2019-04-09 | At&T Intellectual Property I, L.P. | Facilitating communication of radio resource quality to a mobile application |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013044025A2 (fr) * | 2011-09-21 | 2013-03-28 | Qualcomm Incorporated | Signalisation de caractéristiques de segments pour diffusion en continu de données multimédias en réseau |
EP2597884A2 (fr) * | 2010-07-20 | 2013-05-29 | Electronics And Telecommunications Research Institute | Appareil et procédé de fourniture de contenus diffusés en continu |
US20130286868A1 (en) * | 2012-04-27 | 2013-10-31 | Ozgur Oyman | QoE-AWARE RADIO ACCESS NETWORK ARCHITECTURE FOR HTTP-BASED VIDEO STREAMING |
US20140019593A1 (en) * | 2012-07-10 | 2014-01-16 | Vid Scale, Inc. | Quality-driven streaming |
US20140040498A1 (en) * | 2012-08-03 | 2014-02-06 | Ozgur Oyman | Methods for quality-aware adaptive streaming over hypertext transfer protocol |
-
2014
- 2014-04-24 FR FR1453686A patent/FR3020544A1/fr not_active Withdrawn
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2597884A2 (fr) * | 2010-07-20 | 2013-05-29 | Electronics And Telecommunications Research Institute | Appareil et procédé de fourniture de contenus diffusés en continu |
WO2013044025A2 (fr) * | 2011-09-21 | 2013-03-28 | Qualcomm Incorporated | Signalisation de caractéristiques de segments pour diffusion en continu de données multimédias en réseau |
US20130286868A1 (en) * | 2012-04-27 | 2013-10-31 | Ozgur Oyman | QoE-AWARE RADIO ACCESS NETWORK ARCHITECTURE FOR HTTP-BASED VIDEO STREAMING |
US20140019593A1 (en) * | 2012-07-10 | 2014-01-16 | Vid Scale, Inc. | Quality-driven streaming |
US20140040498A1 (en) * | 2012-08-03 | 2014-02-06 | Ozgur Oyman | Methods for quality-aware adaptive streaming over hypertext transfer protocol |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10257839B2 (en) | 2017-03-20 | 2019-04-09 | At&T Intellectual Property I, L.P. | Facilitating communication of radio resource quality to a mobile application |
US10932273B2 (en) | 2017-03-20 | 2021-02-23 | At&T Intellectual Property I, L.P. | Facilitating communication of radio resource quality to a mobile application |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11490145B2 (en) | Content insertion in streaming media content | |
US10313758B2 (en) | Scheduling video content from multiple sources for presentation via a streaming video channel | |
US10698952B2 (en) | Using digital fingerprints to associate data with a work | |
US10116537B2 (en) | Media player analytics | |
EP3028433B1 (fr) | Évitement de saut d'annonces publicitaires dans des systèmes à débit binaire adaptatif | |
US9100461B2 (en) | Automatically publishing streams to multiple destinations | |
US8516144B2 (en) | Startup bitrate in adaptive bitrate streaming | |
WO2020211731A1 (fr) | Procédé de lecture de vidéo, et dispositif associé | |
US20150256577A1 (en) | Directing Fragmented Content | |
JP2016530751A (ja) | 品質対ビットレートが変動するメディアデータストリームの品質を決定するための概念 | |
US20150058448A1 (en) | Internet video streaming system | |
US20130160063A1 (en) | Network delivery of broadcast media content streams | |
EP3225027A1 (fr) | Procédé de composition d'une représentation vidéo intermédiaire | |
US9516357B2 (en) | Recording variable-quality content stream | |
US9866459B1 (en) | Origin failover for live streaming | |
FR3021489A1 (fr) | Procede de telechargement adaptatif de contenus numeriques pour plusieurs ecrans | |
US20190014360A1 (en) | Improved network recording apparatus | |
FR3020544A1 (fr) | Transmission et telechargement de contenu decompose en segments de donnees temporels | |
Klink et al. | Video quality assessment in the DASH technique | |
WO2016110324A1 (fr) | Procédé et appareil améliorés de trick-play en diffusion en continu abr | |
Diallo | Quality of experience and video services adaptation | |
WO2014006092A1 (fr) | Dispositif et procede d'enregistrement de donnees relatifs a une fonction de decalage temporel sur un support d'enregistrement | |
FR3096210A1 (fr) | Procédé de transmission d’un contenu numérique ayant plusieurs versions accessibles depuis un serveur de contenus à destination d’un terminal de restitution. | |
Bresnahan | A Live Broadcast 4K Television System Utilizing the MPEG-DASH Adaptive Bit Rate Protocol and Internet Technologies | |
FR3106029A1 (fr) | Procédé de gestion d’un téléchargement progressif et adaptatif d’un contenu numérique par un terminal lecteur de flux multimédia connecté à un réseau de communication, dispositif de gestion, terminal lecteur de flux multimédia et programme d’ordinateur correspondants. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PLFP | Fee payment |
Year of fee payment: 2 |
|
PLSC | Publication of the preliminary search report |
Effective date: 20151030 |
|
ST | Notification of lapse |
Effective date: 20161230 |