FR3114719A1 - Method for managing the reading of digital content within a multimedia content player terminal connected to a rendering device - Google Patents

Method for managing the reading of digital content within a multimedia content player terminal connected to a rendering device Download PDF

Info

Publication number
FR3114719A1
FR3114719A1 FR2009874A FR2009874A FR3114719A1 FR 3114719 A1 FR3114719 A1 FR 3114719A1 FR 2009874 A FR2009874 A FR 2009874A FR 2009874 A FR2009874 A FR 2009874A FR 3114719 A1 FR3114719 A1 FR 3114719A1
Authority
FR
France
Prior art keywords
content
segments
bandwidth
reading
downloaded
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.)
Pending
Application number
FR2009874A
Other languages
French (fr)
Inventor
Hervé MARCHAND
Mathieu Rivoalen
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Orange SA
Original Assignee
Orange SA
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Orange SA filed Critical Orange SA
Priority to FR2009874A priority Critical patent/FR3114719A1/en
Publication of FR3114719A1 publication Critical patent/FR3114719A1/en
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4331Caching operations, e.g. of an advertisement for later insertion during playback
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/442Monitoring 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
    • H04N21/44209Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Abstract

Procédé de gestion de la lecture d’un contenu numérique au sein d’un terminal lecteur de contenus multimédias connecté à un dispositif de restitution L’invention se rapporte à un procédé de gestion de la lecture d’un contenu numérique (C1) téléchargé depuis un serveur de contenu (SRV) via un réseau de communication, le contenu comprenant plusieurs segments, caractérisé en ce qu’il comprend les étapes suivantes : Une étape préalable d’obtention d’un historique de la variation de la bande passante qui a été disponible sur le réseau sur une période de temps passée; Une étape de réception de segments du contenu téléchargé et de stockage des segments reçus dans une mémoire tampon ; Une étape de détermination d’un instant de démarrage de la lecture des données reçues basée sur l’historique de la variation de la bande passante obtenu lors de l’étape préalable. Figure 1Method for managing the reading of digital content within a multimedia content player terminal connected to a playback device The invention relates to a method for managing the reading of digital content (C1) downloaded from a content server (SRV) via a communication network, the content comprising several segments, characterized in that it comprises the following steps: A prior step of obtaining a history of the variation of the bandwidth which has been available on the network over a past period of time; A step of receiving segments of the downloaded content and storing the received segments in a buffer memory; A step for determining a start time for reading the received data based on the bandwidth variation history obtained during the previous step. Figure 1

Description

Procédé de gestion de la lecture d’un contenu numérique au sein d’un terminal lecteur de contenus multimédias connecté à un dispositif de restitutionMethod for managing the reading of digital content within a multimedia content player terminal connected to a rendering device

Le domaine de l'invention est celui des contenus multimédias numériques, à savoir les contenus audio et/ou vidéo numériques.The field of the invention is that of digital multimedia content, namely digital audio and/or video content.

Plus précisément, l'invention se rapporte à un procédé de gestion de la lecture d’un contenu numérique au sein d’un terminal lecteur de contenus multimédias connecté à un dispositif de restitution.More specifically, the invention relates to a method for managing the playback of digital content within a multimedia content player terminal connected to a playback device.

Le dispositif de restitution est un dispositif capable de restituer des contenus multimédias. Ce dispositif de restitution dispose d’au moins deux sources de données.The rendering device is a device capable of rendering multimedia content. This restitution device has at least two data sources.

Une source de données vise un dispositif capable de fournir un contenu pour être restituer sur le terminal de restitution. Le terminal lecteur de contenus est une source de données. D’autres sources de données sont par exemple une console de jeu, un disque dur, un ordinateur, etc.A data source targets a device capable of providing content to be rendered on the rendering terminal. The content reader terminal is a data source. Other data sources are for example a game console, hard drive, computer, etc.

Une source de données peut être connectée au dispositif de restitution via un port tel qu’un port connexion HDMI, un port USB, etc.A data source can be connected to the rendering device via a port such as an HDMI connection port, a USB port, etc.

On verra dans un exemple de réalisation décrit ci-dessous que le terminal lecteur de contenus multimédias choisi pour illustrer l’invention est un décodeur de télévision numérique (set top box en anglais) ; Le décodeur visé ici est capable de requérir un accès à un contenu ayant plusieurs qualités disponibles. De tels contenus sont par exemple des contenus utilisés dans un contexte de téléchargement adaptatif progressif (HAS) dans lesquels les contenus sont découpés en segments, chaque segment étant disponible selon plusieurs débits d’encodage associés à des qualités de restitution respectives.It will be seen in an exemplary embodiment described below that the multimedia content player terminal chosen to illustrate the invention is a digital television decoder (set top box in English); The decoder referred to here is capable of requesting access to a content having several qualities available. Such content is, for example, content used in an adaptive progressive downloading (HAS) context in which the content is divided into segments, each segment being available according to several encoding bit rates associated with respective restitution qualities.

Etat de la techniqueState of the art

L’accès à un contenu multimédia, tel que la télévision ou la vidéo à la demande, depuis un réseau de type Internet, est possible aujourd’hui, pour la plupart des terminaux de lecture de contenus multimédias.Access to multimedia content, such as television or video on demand, from an Internet type network, is possible today, for most multimedia content playback terminals.

Le terminal de lecture, par exemple un décodeur, émet généralement une requête à destination d’un serveur en indiquant un contenu multimédia choisi. Le décodeur reçoit en retour le contenu multimédia demandé. Dans le cadre d’un réseau de communication local, une telle requête transite par une passerelle d’accès au réseau, par exemple une passerelle résidentielle/domestique.The reading terminal, for example a decoder, generally sends a request to a server indicating a chosen multimedia content. The decoder receives in return the requested multimedia content. In the context of a local communication network, such a request passes through a network access gateway, for example a residential/domestic gateway.

Le terminal de lecture est adapté pour recevoir ces contenus numériques sous forme de données multimédia et pour requérir une restitution sur un dispositif de restitution. Cette restitution consiste à fournir au niveau du terminal de lecture le contenu numérique au terminal de restitution sous une forme accessible à l’utilisateur. Par exemple, des données reçues correspondant à une vidéo sont généralement décodées par le dispositif de lecture de contenus, puis restituées au niveau du terminal de restitution sous la forme d’un affichage de la vidéo correspondante avec sa bande-son associée. Dans la suite, par souci de simplification, on assimilera le contenu numérique à une vidéo et la restitution par le terminal, ou consommation par l’utilisateur du terminal, à une visualisation sur l’écran du terminal.The reading terminal is suitable for receiving these digital contents in the form of multimedia data and for requesting a restitution on a restitution device. This restitution consists in supplying at the level of the reading terminal the digital content to the restitution terminal in a form accessible to the user. For example, received data corresponding to a video are generally decoded by the content playback device, then restored at the level of the restitution terminal in the form of a display of the corresponding video with its associated soundtrack. In the following, for the sake of simplicity, we will assimilate the digital content to a video and the restitution by the terminal, or consumption by the user of the terminal, to a visualization on the screen of the terminal.

La diffusion de contenus numériques sur Internet est souvent basée sur des protocoles client-serveur de la famille HTTP (de l’anglais « Hyper Text Transport Protocol »). En particulier, le téléchargement en mode progressif des contenus numériques, aussi appelé streaming, permet de transporter et consommer les données en temps réel, c'est-à-dire que les données numériques sont transmises sur le réseau et décodées par le terminal de lecture au fur et à mesure de leur arrivée. Le terminal de lecture reçoit et stocke une partie des données numériques dans une mémoire tampon avant de commander la restitution au terminal de restitution. Ce mode de distribution est particulièrement utile quand le débit dont dispose l’utilisateur n’est pas garanti pour le transfert en temps réel de la vidéo.The distribution of digital content on the Internet is often based on client-server protocols of the HTTP (Hyper Text Transport Protocol) family. In particular, downloading digital content in progressive mode, also called streaming, makes it possible to transport and consume data in real time, i.e. the digital data is transmitted over the network and decoded by the playback terminal. as they arrive. The reading terminal receives and stores part of the digital data in a buffer memory before commanding the restitution to the restitution terminal. This distribution mode is particularly useful when the bit rate available to the user is not guaranteed for the real-time transfer of the video.

Le téléchargement progressif adaptatif, en anglais HTTP Adaptative Streaming, d’abréviation HAS, permet de surcroît de diffuser et recevoir des données suivant différentes qualités d’images correspondant par exemple à différents débits d’encodage. Ces différentes qualités sont décrites dans un fichier de paramètres disponible en téléchargement sur un serveur de données, par exemple un serveur de contenus. Quand le terminal de lecture de contenus souhaite accéder à un contenu, ce fichier de description permet de sélectionner une qualité d’image pour le contenu à consommer en fonction de la bande passante disponible ou des capacités de stockage et de décodage du terminal client. Ce type de technique permet notamment de tenir compte des variations de bande passante sur la liaison entre le terminal de lecture et le serveur de contenus.Adaptive progressive downloading, in English HTTP Adaptive Streaming, abbreviated HAS, also makes it possible to broadcast and receive data according to different image qualities corresponding for example to different encoding bit rates. These different qualities are described in a parameter file available for download on a data server, for example a content server. When the content playback terminal wishes to access content, this description file makes it possible to select an image quality for the content to be consumed according to the available bandwidth or the storage and decoding capacities of the client terminal. This type of technique makes it possible in particular to take into account variations in bandwidth on the link between the playback terminal and the content server.

Il existe plusieurs solutions techniques pour faciliter la distribution d’un tel contenu en streaming, comme par exemple les solutions propriétaires Microsoft® Smooth Streaming, Apple® HLS, Adobe® HTTP Dynamic Streaming ou encore la norme MPEG-DASH de l’organisme ISO/IEC qui sera décrite ci-après. Ces méthodes proposent d’adresser au terminal de lecture un ou plusieurs fichiers de description intermédiaires, appelés aussi documents ou manifestes, contenant les adresses des différents segments aux différentes qualités du contenu multimédia.There are several technical solutions to facilitate the distribution of such streaming content, such as the proprietary solutions Microsoft® Smooth Streaming, Apple® HLS, Adobe® HTTP Dynamic Streaming or the MPEG-DASH standard of the ISO/ IEC which will be described below. These methods propose to send to the playback terminal one or more intermediate description files, also called documents or manifests, containing the addresses of the different segments with different qualities of the multimedia content.

Ainsi, la norme MPEG-DASH (pour l’anglais “Dynamic Adaptive Streaming over HTTP”, en français « diffusion en contenus adaptatif dynamique sur HTTP ») est un standard de format de diffusion audiovisuelle sur Internet. Ce standard se base sur la préparation du contenu en différentes présentations de qualité et débits d’encodage variables, découpées en segments de courte durée (de l’ordre de quelques secondes), également appelés « chunks ». Chacun de ces segments est rendu disponible au moyen d'un protocole d'échange. Le protocole principalement ciblé est le protocole HTTP, mais d'autres protocoles (par exemple FTP) peuvent également être utilisés. L'organisation des segments et les paramètres associés sont publiés dans un manifeste au format XML.Thus, the MPEG-DASH standard (for English "Dynamic Adaptive Streaming over HTTP", in French "diffusion in dynamic adaptive content over HTTP") is a standard for audiovisual broadcasting format on the Internet. This standard is based on the preparation of the content in different presentations of variable quality and encoding rates, cut into short segments (of the order of a few seconds), also called “chunks”. Each of these segments is made available by means of an exchange protocol. The protocol mainly targeted is the HTTP protocol, but other protocols (eg FTP) can also be used. Segment organization and associated settings are published in a manifest in XML format.

Le principe sous-jacent à cette norme est que le client MPEG-DASH effectue une estimation de la bande passante disponible pour la réception des segments, et, en fonction du remplissage de son tampon de réception, choisit, pour le prochain segment à charger, une représentation dont le débit d’encodage assure la meilleure qualité d’image possible, et permet un délai de réception compatible avec la restitution ininterrompue du contenu sur un dispositif de restitution.The principle underlying this standard is that the MPEG-DASH client makes an estimate of the bandwidth available for the reception of the segments, and, according to the filling of its reception buffer, chooses, for the next segment to be loaded, a representation whose encoding rate ensures the best possible image quality, and allows a reception time compatible with the uninterrupted restitution of the content on a restitution device.

Ainsi, pour s’adapter à la variation des conditions réseau, notamment en termes de bande passante, les solutions existantes de téléchargement adaptatif permettent au terminal de lecture de passer d’une version du contenu encodée à un certain débit, à une autre encodée à un autre débit, au cours du téléchargement. En effet, chaque version du contenu est divisée en segments de même durée. Pour permettre une restitution en continu du contenu sur le terminal, chaque segment doit atteindre le terminal de lecture avant son instant programmé de restitution. La qualité perçue associée à un segment augmente avec la taille du segment, exprimée en bits, mais dans le même temps, des segments plus gros requièrent un temps de transmission plus important, et donc présentent un risque accru de ne pas être reçus à temps pour une restitution en continu du contenu.Thus, to adapt to the variation in network conditions, particularly in terms of bandwidth, existing adaptive download solutions allow the playback terminal to switch from one version of the content encoded at a certain bit rate, to another encoded at another flow, during the download. Indeed, each version of the content is divided into segments of the same duration. To allow continuous playback of the content on the terminal, each segment must reach the playback terminal before its scheduled playback time. The perceived quality associated with a segment increases with the size of the segment, expressed in bits, but at the same time, larger segments require more transmission time, and therefore present an increased risk of not being received in time for continuous playback of content.

Le terminal de lecture doit donc trouver un compromis entre la qualité globale du contenu, et sa restitution ininterrompue, en sélectionnant avec soin le prochain segment à télécharger, parmi les différents débits d’encodage proposés. Il existe pour ce faire différents algorithmes de sélection de la qualité du contenu en fonction de la bande passante disponible, qui peuvent présenter des stratégies plus ou moins agressives, ou plus ou moins sécuritaires.The reading terminal must therefore find a compromise between the overall quality of the content, and its uninterrupted reproduction, by carefully selecting the next segment to be downloaded, among the various encoding rates offered. To do this, there are different algorithms for selecting the quality of the content according to the available bandwidth, which can present more or less aggressive strategies, or more or less secure.

La consommation de contenus numériques en téléchargement progressif adaptatif (HAS) tend à se démocratiser. Elle est notamment utilisée par de nombreux services de streaming (en français, diffusion en mode continu, ou lecture en continu), mais également par certains décodeurs TV, ou set-top-box, qui l’utilisent pour accéder à des contenus délinéarisés, tels que la vidéo à la demande (VOD), la diffusion en différé de programmes télévisuels (Replay), ou encore les offres de type Network PVR (pour « Network Personal Video Recorder », i.e. un service d’enregistrement des contenus numériques, effectué par le fournisseur de contenus lui-même plutôt qu’au domicile de l’utilisateur final).The consumption of digital content in adaptive progressive download (HAS) tends to become more democratic. It is used in particular by many streaming services (in French, streaming in continuous mode, or streaming), but also by certain TV decoders, or set-top-boxes, which use it to access delinearized content, such as video on demand (VOD), delayed broadcast of television programs (Replay), or even Network PVR-type offers (for "Network Personal Video Recorder", i.e. a digital content recording service, performed by the content provider itself rather than at the end user's home).

En outre, d’autres dispositifs tels que des appareils lecteurs de contenus multimédias en temps réel accèdent également aux contenus numériques en mode de téléchargement adaptatif progressif pour des contenus télévisuels en temps réel (ou Live). C’est le cas par exemple de l’appareil Chromecast® développé par Google®, ou de la CléTV® d’Orange®.In addition, other devices such as real-time media player devices also access digital content in progressive adaptive download mode for real-time (or Live) television content. This is the case, for example, of the Chromecast® device developed by Google®, or the CléTV® from Orange®.

De tels appareils se branchent classiquement sur le port HDMI d’un téléviseur et constitue une source de données pour le téléviseur. Ces appareils communiquent, par connexion Wi-Fi®, avec un autre appareil du réseau de communication domestique connecté à un réseau de communication étendu de type Internet (passerelle résidentielle, ordinateur, téléphone intelligent de type smartphone, tablette…), afin de restituer, sur le dispositif de restitution, en l’espèce un téléviseur, le contenu multimédia reçu par une application logicielle compatible. On désignera par la suite ces appareils sous la désignation générique de Clef HDMI.Such devices typically plug into a TV's HDMI port and act as a data source for the TV. These devices communicate, by Wi-Fi® connection, with another device of the domestic communication network connected to an extended communication network of the Internet type (residential gateway, computer, smart phone of the smartphone type, tablet, etc.), in order to restore, on the playback device, in this case a television, the multimedia content received by a compatible software application. These devices will be referred to below under the generic designation of HDMI Key.

De tels appareils peuvent également être utilisés pour accéder à des contenus de type vidéo à la demande, ou pour restituer sur le téléviseur des contenus personnels stockés dans le réseau domestique, tels qu’une vidéo des dernières vacances ou du dernier événement familial.Such devices can also be used to access video-on-demand type content, or to display personal content stored in the home network, such as a video of the last vacation or the last family event, on the television.

Dans un réseau local, plusieurs dispositifs se partagent la bande passante disponible de manière plus ou moins équitable. Il en résulte une part importante d’utilisateurs (environ 10 à 15%) qui ont régulièrement des problèmes de lecture de contenu sur des flux Live car la bande passante dont ils disposent est limitée et est utilisée par d’autres services (Youtube, Netflix, IPTV, téléchargement, …).In a local area network, several devices share the available bandwidth more or less equally. This results in a large share of users (about 10-15%) who regularly have problems playing content on Live streams because the bandwidth they have is limited and is used by other services (Youtube, Netflix , IPTV, download, …).

En conséquence, lors de la lecture d’un contenu, si la bande passante diminue fortement, le terminal client n’a pas le temps de s’adapter et la lecture du contenu se dégrade quelques secondes avant de pouvoir basculer sur des segments de moindre qualité. Une dégradation est une pixellisation de l’image ou une image noire sur l’écran.Consequently, when playing content, if the bandwidth drops sharply, the client terminal does not have time to adapt and the playback of the content deteriorates for a few seconds before being able to switch to segments of lesser quality. Degradation is a pixelation of the image or a black image on the screen.

L’invention vient améliorer la situation.The invention improves the situation.

A cet effet, selon un aspect fonctionnel, l'invention a trait à un procédé de gestion de la lecture d’un contenu numérique téléchargé depuis un serveur de contenu via un réseau de communication le contenu comprenant plusieurs segments, caractérisé en ce qu’il comprend les étapes suivantesTo this end, according to a functional aspect, the invention relates to a method for managing the reading of digital content downloaded from a content server via a communication network, the content comprising several segments, characterized in that it includes the following steps

Une étape préalable d’obtention d’un historique de la variation de la bande passante qui a été disponible sur le réseau sur une période de temps passée ;A preliminary step of obtaining a history of the variation in bandwidth that has been available on the network over a past period of time;

Une étape de réception de segments du contenu téléchargé et de stockage des segments reçus dans une mémoire tampon ;A step of receiving segments of the downloaded content and storing the segments received in a buffer memory;

Une étape de détermination d’un instant de démarrage de la lecture des données reçues basée sur l’historique de la variation de la bande passante obtenu lors de l’étape préalable.A step for determining a start time for reading the received data based on the bandwidth variation history obtained during the previous step.

La solution s’applique à tout type de contenus téléchargeables, notamment des contenus téléchargeables sous forme de segments associés à différents débits d’encodage respectifs comme cela sera expliqué ci-dessous.The solution applies to any type of downloadable content, in particular downloadable content in the form of segments associated with different respective encoding bitrates as will be explained below.

La connaissance de l’historique de la bande passante qui a été disponible sur une période passée permet d’estimer la bande passante future. En effet, on constate qu’au sein d’un même foyer, des habitudes d’accès à des contenus se répètent périodiquement et ces habitudes rendent pertinents l’accès à l’historique du foyer.Knowing the historical bandwidth that has been available over a past period helps to estimate future bandwidth. Indeed, we see that within the same household, habits of access to content are repeated periodically and these habits make access to the history of the household relevant.

L’invention permet de télécharger une partie suffisante du contenu dans la mémoire tampon de telle manière à assurer une restitution du contenu en continu sans dégradation de la qualité de la restitution. L’invention évite en particulier une pixellisation des images voire une restitution d’un écran noir quelques secondes.The invention makes it possible to download a sufficient part of the content into the buffer memory in such a way as to ensure a continuous restitution of the content without degradation of the quality of the restitution. The invention in particular avoids a pixelation of the images or even a reproduction of a black screen for a few seconds.

La solution intéresse particulièrement les contenus « live ». En effet, à la différence des contenus à la demande (replay, NPVR (sigle anglo-saxon de « Network Personnal Video Recorder » ou VOD (sigle anglo-saxon de « video on Demand »), les contenus « live » ou « flux Live » imposent de ne pas stocker trop de segments dans la mémoire tampon du terminal client afin de ne pas introduire trop d’écarts de temps entre le flux live, par exemple une émission en directe (ex : compétition sportive), et ce qui est restitué à l’écran. L’invention offre ainsi un bon équilibre entre la profondeur de stockage de la mémoire tampon tout en assurant le plus faible possible le décalage temporel entre le contenu Live, par exemple une émission diffusée en direct et ce qui est restitué à l’écran.The solution is of particular interest to “live” content. Indeed, unlike on-demand content (replay, NPVR (Anglo-Saxon acronym for "Network Personal Video Recorder" or VOD (Anglo-Saxon acronym for "video on Demand"), "live" or "stream Live" require that too many segments not be stored in the buffer memory of the client terminal so as not to introduce too many time gaps between the live stream, for example a live broadcast (e.g. sports competition), and what is The invention thus offers a good balance between the storage depth of the buffer memory while ensuring the smallest possible time lag between the Live content, for example a program broadcast live and what is rendered on the screen.

Selon un premier mode de mise en œuvre particulier de l'invention, le contenu comprend plusieurs segments associés à plusieurs débits d’encodage respectifs. Dans cette configuration, le procédé comprend une réception de données de segments et de stockage des segments reçus dans la mémoire tampon ; suivie d’une étape de calcul d’une durée de téléchargement estimée du contenu restant à télécharger en prenant compte une bande passante issue de l’historique, une durée de lecture du contenu et un débit d’encodage choisi parmi les débits d’encodage disponibles, l’instant de démarrage étant choisi de telle sorte que la durée de téléchargement estimée du contenu restant à télécharger est inférieure ou égale à la durée du contenu à lire. Ce premier mode vise les contenus accessibles sous forme de segments, chaque segment étant disponible à différents débits d’encodage. Le débit d’encodage choisi peut être l’un des débits disponible.According to a first particular mode of implementation of the invention, the content comprises several segments associated with several respective encoding rates. In this configuration, the method includes receiving segment data and storing the received segments in the buffer memory; followed by a step of calculating an estimated download time of the content remaining to be downloaded taking into account a bandwidth from the history, a playback time of the content and an encoding bit rate chosen from the encoding bit rates available, the start time being chosen such that the estimated download duration of the content remaining to be downloaded is less than or equal to the duration of the content to be read. This first mode targets content accessible in the form of segments, each segment being available at different encoding rates. The chosen encoding bitrate can be one of the available bitrates.

Selon 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 mode, le débit d’encodage choisi parmi les débits d’encodage disponibles est le débit d’encodage maximum disponible. Dans ce deuxième mode, le débit d’encodage choisi est le débit le plus important en kb/s. De cette manière, comme le débit d’encodage sectionné réellement par le terminal de lecture varie, et qu’il plafonne rarement sur la valeur maximum du débit d’encodage, le calcul de la durée de téléchargement du contenu restant calculé sur la base d’un débit d’encodage maximum représente une durée maximum. Cette durée maximum est ensuite comparée à la durée de lecture du contenu. Il résulte de ces calculs un instant de démarra qui garantit un téléchargement de la partie restante à télécharger avant la fin de la lecture du contenu. La lecture s’effectue dans ce cas assurément sans dégradation.According to a second particular mode of implementation of the invention, which may be implemented alternatively or cumulatively with the previous mode, the encoding rate chosen from among the available encoding rates is the maximum available encoding rate. In this second mode, the encoding rate chosen is the highest rate in kb/s. In this way, as the encoding bitrate actually sectioned by the playback terminal varies, and it rarely caps on the maximum value of the encoding bitrate, the calculation of the download time of the remaining content calculated on the basis of 'a maximum encoding bitrate represents a maximum duration. This maximum duration is then compared to the playback duration of the content. The result of these calculations is a start time which guarantees downloading of the remaining part to be downloaded before the end of the reading of the content. The reading takes place in this case without degradation.

Selon encore un troisième mode de mise en œuvre particulier de l'invention, qui pourra être mis en œuvre alternativement ou cumulativement avec les précédents modes, le débit réseau estimé est le débit réseau moyen calculé sur la période passée donnée. Ce troisième mode offre un calcul simple de débit ; Il requiert donc peu de ressources physiques et/ou logicielles dans le terminal de lecture de flux.According to yet another third particular embodiment of the invention, which may be implemented alternatively or cumulatively with the preceding modes, the estimated network bit rate is the average network bit rate calculated over the given past period. This third mode offers a simple flow rate calculation; It therefore requires few physical and/or software resources in the stream reading terminal.

Une variation de la bande passante vise une augmentation ou une diminution de la bande passante. Selon encore un quatrième mode de mise en œuvre particulier de l'invention, qui pourra être mis en œuvre alternativement ou cumulativement avec les précédents modes, des instants de démarrage distincts sont prédéfinis respectivement. Ce quatrième mode se base uniquement sur l’historique pour déterminer l’instant de démarrage et ne nécessite pas d’obtenir la durée de lecture du contenu et la sélection d’un débit d’encodage. Ce mode requiert donc, comme le précédent mode, peu de ressources physiques et/ou logicielles dans le terminal de lecture de flux.Bandwidth variation is an increase or decrease in bandwidth. According to yet another particular fourth mode of implementation of the invention, which may be implemented alternatively or cumulatively with the previous modes, distinct start times are predefined respectively. This fourth mode relies solely on history to determine the start time and does not require obtaining the content playback time and selecting an encoding bitrate. This mode therefore requires, like the previous mode, few physical and/or software resources in the stream reading terminal.

Selon un aspect matériel, l’invention se rapporte à une entité de gestion de la lecture d’un contenu numérique téléchargé depuis un serveur de contenu via un réseau de communication, le contenu comprenant plusieurs segments accessibles depuis un serveur de contenus, caractérisé en ce qu’il comprendAccording to a material aspect, the invention relates to an entity for managing the reading of digital content downloaded from a content server via a communication network, the content comprising several segments accessible from a content server, characterized in that that he understands

Un module d’obtention apte à obtenir un historique de la variation de la bande passante qui a été disponible sur le réseau sur une période de temps passée ;A module for obtaining capable of obtaining a history of the variation of the bandwidth which has been available on the network over a past period of time;

Un module de réception apte à recevoir les segments du contenu téléchargé et de stockage des segments reçus dans une mémoire tampon ;A reception module capable of receiving the segments of the downloaded content and storing the segments received in a buffer memory;

Un module de détermination apte à déterminer un instant de démarrage de la lecture des données reçues basée sur l’historique de la variation de la bande passante obtenu lors de l’étape préalable.A determination module capable of determining a start time for reading the received data based on the history of the bandwidth variation obtained during the previous step.

Selon un autre aspect matériel, l’invention se rapporte à un terminal lecteur de contenus multimédias comprenant une entité telle que définie ci-dessus.According to another material aspect, the invention relates to a multimedia content player terminal comprising an entity as defined above.

Selon un autre aspect matériel, l’invention se rapporte à un programme d’ordinateur apte à être mis en œuvre sur un terminal lecteur de contenus multimédias, 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 le procédé défini ci-dessus.According to another material aspect, the invention relates to a computer program capable of being implemented on a multimedia content player terminal, the program comprising code instructions which, when it is executed by a processor, performs the process steps defined in the process defined above.

Selon un autre aspect matériel, l’invention se rapporte à 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é tel que défini ci-dessus.According to another material aspect, the invention relates to a data medium on which has been stored at least one series of program code instructions for the execution of a method as defined above.

Le support de données 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 mémoire RAM, une mémoire ROM, par exemple un CD ROM ou une ROM de circuit microélectronique, ou encore un moyen d'enregistrement magnétique tel qu’un 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.The data medium can be any entity or device capable of storing the program. For example, the medium may comprise a storage means, such as a RAM memory, a ROM memory, for example a CD ROM or a microelectronic circuit ROM, or even a magnetic recording means such as a hard disk. . On the other hand, the information medium can be a transmissible medium such as an electrical or optical signal, which can be conveyed via an electrical or optical cable, by radio or by other means. The program according to the invention can in particular be downloaded from an Internet-type network. Alternatively, the information carrier may be an integrated circuit in which the program is incorporated, the circuit being adapted to execute or to be used in the execution of the method in question.

Enfin, signalons ici que, dans le présent texte, le terme « module » ou « 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.).Finally, it should be noted here that, in this text, the term "module" or "entity" can correspond both to a software component and to a hardware component or a set of hardware and software components, a corresponding software component itself to one or more computer programs or sub-programs or more generally to any element of a program capable of implementing a function or a set of functions as described for the modules concerned. In the same way, a hardware component corresponds to any element of a hardware (or hardware) assembly capable of implementing a function or a set of functions for the module concerned (integrated circuit, smart card, memory card, etc. .).

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 :The invention will be better understood on reading the following description, given by way of example and made with reference to the appended drawings in which:

La figure 1 représente une architecture de téléchargement progressif sur Internet basée sur l’utilisation du streaming adaptatif selon l’invention ; FIG. 1 represents a progressive downloading architecture on the Internet based on the use of adaptive streaming according to the invention;

La figure 2 illustre de façon schématique la structure matérielle d’un terminal lecteur de flux multimédia en temps réel intégrant une entité de gestion selon un mode de réalisation de l’invention; FIG. 2 schematically illustrates the hardware structure of a real-time multimedia stream player terminal incorporating a management entity according to one embodiment of the invention;

La figure 3 présente les principaux éléments du terminal lecteur ainsi qu’une vue schématique des différents segments d’un contenu principal ; FIG. 3 presents the main elements of the reader terminal as well as a schematic view of the different segments of a main content;

La figure 4 présente un historique de la bande passante sur une période passée donnée sur lequel le calcul de l’instant de lecture du contenu se basera. Figure 4 presents a history of the bandwidth over a given past period on which the calculation of the instant of reading of the content will be based.

La figure 5 présente une vue des échanges de données entre le serveur de contenus et la clé selon un mode de réalisation de l’invention. FIG. 5 presents a view of the data exchanges between the content server and the key according to one embodiment of the invention.

Description détaillée de modes de réalisation de l'invention.Detailed description of embodiments of the invention.

On présente désormais, en relation avec la figure 1, une architecture de téléchargement progressif basée sur l’utilisation du streaming adaptatif HAS selon un mode de réalisation de l’invention. Précisons à nouveau ici que l’invention ne se limite pas à la technologie HAS mais s’étend à toutes autres technologies de téléchargement de données.We now present, in relation to FIG. 1, a progressive downloading architecture based on the use of HAS adaptive streaming according to one embodiment of the invention. It should be specified again here that the invention is not limited to HAS technology but extends to all other data download technologies.

Le système informatique SYS comprend un terminal lecteur de flux multimédia CLTV, par exemple une clé HDMI connectée à un terminal de restitution TV tel qu’un téléviseur.The computer system SYS comprises a multimedia stream player terminal CLTV, for example an HDMI key connected to a TV reproduction terminal such as a television set.

Dans notre exemple, le terminal CLTV est connecté sur un port du téléviseur TV et est donc une source de données pour le téléviseur TV.In our example, the terminal CLTV is connected to a port of the television set TV and is therefore a data source for the television set TV.

Dans notre exemple, le terminal CLTV est situé dans un réseau local LAN piloté par une passerelle domestique GTW. Le contexte du réseau local est donné à titre d’exemple et pourrait être transposé aisément à un réseau Internet de type « best effort », un réseau d’entreprise, etc.In our example, the CLTV terminal is located in a local area network LAN controlled by a GTW home gateway. The context of the local network is given as an example and could easily be transposed to a "best effort" Internet network, a corporate network, etc.

La passerelle GTW est apte à communiquer via un réseau de télécommunication RES tel qu’un réseau étendu WAN connu de l’homme du métier.The gateway GTW is able to communicate via a telecommunications network RES such as a wide area network WAN known to those skilled in the art.

Un serveur de contenus numériques SRV se trouve selon cet exemple dans le réseau étendu WAN mais il pourrait indifféremment être situé dans le réseau local LAN, par exemple dans la passerelle domestique GTW ou tout autre équipement capable d’héberger un tel serveur de contenus.A digital content server SRV is located according to this example in the wide area network WAN but it could either be located in the local area network LAN, for example in the home gateway GTW or any other equipment capable of hosting such a content server.

Le serveur de contenus SRV reçoit par exemple des chaînes de contenus de télévision numérique en provenance d’un réseau de télévision diffusée, non représenté, et/ou des vidéos à la demande, et les met à disposition des terminaux clients.The content server SRV receives, for example, digital television content channels from a broadcast television network, not shown, and/or videos on demand, and makes them available to client terminals.

Dans notre exemple, le terminal de lecture CLTV est un terminal client et peut à ce titre entrer en communication avec le serveur de contenus SRV pour recevoir un ou plusieurs contenus (films, documentaires, séquences publicitaires, etc.).In our example, the reading terminal CLTV is a client terminal and can as such enter into communication with the content server SRV to receive one or more contents (films, documentaries, advertising sequences, etc.).

Il est fréquent, dans ce contexte client-serveur, de recourir, pour échanger les données entre le terminal client CLTV et le serveur SRV, à une technique de téléchargement progressif adaptatif, en anglais « adaptive streaming », abrégé en HAS basée sur le protocole HTTP. Ce type de technique permet notamment d'offrir une bonne qualité de contenus à l’utilisateur en tenant compte des variations de bande passante qui peuvent se produire sur la liaison entre le terminal client CLTV et la passerelle de services GTW, et/ou entre cette dernière et le serveur de contenus SRV.It is common, in this client-server context, to use, to exchange data between the CLTV client terminal and the SRV server, an adaptive progressive downloading technique, in English "adaptive streaming", abbreviated as HAS based on the protocol HTTP. This type of technique makes it possible in particular to offer good quality content to the user by taking account of the variations in bandwidth which may occur on the link between the CLTV client terminal and the GTW service gateway, and/or between this last and the content server SRV.

Classiquement, comme on le verra en référence à la figure 3, différentes qualités peuvent être encodées pour le même contenu d’une chaîne, correspondant par exemple à différents débits d’encodage. Plus généralement, on parlera de qualité pour se référer à une certaine résolution du contenu numérique (résolution spatiale, temporelle, niveau de qualité associée à la compression vidéo et/ou audio) avec un certain débit d’encodage. Chaque niveau de qualité est lui-même découpé sur le serveur de contenus en segments temporels (ou « segments » de contenu, en anglais « chunks », ces trois mots étant utilisés indifféremment dans l’ensemble de ce document).Conventionally, as will be seen with reference to FIG. 3, different qualities can be encoded for the same content of a string, corresponding for example to different encoding bit rates. More generally, we will speak of quality to refer to a certain resolution of the digital content (spatial, temporal resolution, level of quality associated with video and/or audio compression) with a certain encoding bit rate. Each quality level is itself cut on the content server into time segments (or “segments” of content, in English “chunks”, these three words being used interchangeably throughout this document).

La description de ces différentes qualités et de la segmentation temporelle associée, ainsi que les segments de contenu, est accessible par le terminal client et mis à sa disposition via leurs adresses Internet (URI : Universal Ressource Identifier). L’ensemble de ces paramètres (qualités, adresses des segments, etc.) est en général regroupé dans un fichier de paramètres, dit fichier de description ou « manifest MNF ». On notera que ce fichier de paramètres peut être un fichier informatique ou un ensemble d’informations descriptives du contenu, accessible à une certaine adresse.The description of these different qualities and the associated temporal segmentation, as well as the content segments, is accessible by the client terminal and made available to it via their Internet addresses (URI: Universal Resource Identifier). All of these parameters (qualities, segment addresses, etc.) are generally grouped together in a parameter file, known as a description file or “MNF manifest”. It should be noted that this parameter file can be a computer file or a set of information descriptive of the content, accessible at a certain address.

Dans un contexte de téléchargement adaptatif progressif, le terminal CLTV peut adapter ses requêtes pour recevoir et décoder le contenu demandé par l’utilisateur à la qualité qui lui correspond au mieux. Dans notre exemple, les contenus sont disponibles, du plus faible au plus fort, aux débits 416 kb/s (kilobits par seconde) (Résolution 1, ou niveau 1, noté (N1), 680 kb/s (N2), 1200 kb/s (N3) ; dans cette configuration, si le terminal client CLTV dispose d’une bande passante de 5000 kb/s, il peut demander le contenu à n’importe quel débit inférieur à cette limite, par exemple 1200 kb/s. De manière générale, on note « Ci@Nj » le contenu numéro i avec la qualité j (par exemple le j-ième niveau Nj de qualité décrit dans le fichier de description).In a context of progressive adaptive downloading, the CLTV terminal can adapt its requests to receive and decode the content requested by the user at the quality that best suits him. In our example, the contents are available, from weakest to strongest, at 416 kb/s (kilobits per second) speeds (Resolution 1, or level 1, noted (N1), 680 kb/s (N2), 1200 kb /s (N3); in this configuration, if the CLTV client terminal has a bandwidth of 5000 kb/s, it can request the content at any rate below this limit, for example 1200 kb/s. In general, “Ci@Nj” denotes the content number i with the quality j (for example the j-th quality level Nj described in the description file).

Le nombre de débits d’encodage disponibles par segment varie selon le terminal de lecture utilité. Sur la figure 3, le contenu C1 comprend six débits d’encodage par segment à savoir, du plus faible au plus fort, 416 kb/s, 680 kb/s, 1200 kb/s, 1600 kb/s, 2100 kb/s et 5000 kb/s.The number of encoding bitrates available per segment varies according to the playback terminal used. In FIG. 3, the content C1 comprises six encoding bit rates per segment, namely, from lowest to highest, 416 kb/s, 680 kb/s, 1200 kb/s, 1600 kb/s, 2100 kb/s and 5000 kbps.

La passerelle de service GTW est dans cet exemple une passerelle domestique qui assure le routage des données entre le réseau étendu WAN et le réseau local LAN, gère les contenus numériques en assurant notamment leur réception en provenance du réseau et la transmission au terminal lecteur CLTV.The GTW service gateway is in this example a home gateway which ensures the routing of data between the wide area network WAN and the local area network LAN, manages the digital contents by ensuring in particular their reception from the network and the transmission to the reader terminal CLTV.

Dans cet exemple, pour visualiser un contenu, le terminal CLTV interroge tout d’abord la passerelle de service GTW pour obtenir une adresse du fichier de description MNF du contenu (par exemple, C1) souhaité. La passerelle de service GTW répond en fournissant au terminal CLTV l’adresse du fichier de description MNF. Dans la suite, on supposera que ce fichier est un fichier de type manifest selon la norme MPEG-DASH (noté « C.mpd ») et on se réfèrera indifféremment, selon le contexte, à l’expression « fichier de description » ou « manifest».In this example, to view content, the CLTV terminal first interrogates the GTW service gateway to obtain an address of the MNF description file of the desired content (for example, C1). The GTW service gateway responds by providing the CLTV terminal with the address of the MNF description file. In the following, we will assume that this file is a file of the manifest type according to the MPEG-DASH standard (denoted "C.mpd") and we will refer indifferently, depending on the context, to the expression "description file" or " manifest".

Alternativement, ce fichier peut être récupéré directement auprès d’un serveur Internet local ou externe au réseau local, ou se trouver déjà sur la passerelle de service ou sur le terminal au moment de la requête.Alternatively, this file can be retrieved directly from a local Internet server or external to the local network, or already be on the service gateway or on the terminal at the time of the request.

Un exemple de fichier manifest (MPD) conforme à la norme MPEG-DASH et comportant la description de contenus disponibles dans trois qualités différentes (512 kb/s,1024 kb/s,2048 kb/s) des contenus segmentés est présenté en annexe 1. Ce fichier manifest simplifié décrit des contenus numériques dans une syntaxe XML (de l'Anglais « eXtended Markup Language»), comprenant une liste de contenus sous forme de segments classiquement décrits entre une balise ouvrante (<SegmentList>) et une balise fermante (</SegmentList>). La découpe en segments permet notamment de s’adapter finement aux fluctuations de la bande passante. Chaque segment correspond à une certaine durée (champ « duration ») avec plusieurs niveaux de qualité et permet de générer leurs adresses (URL – Uniform Resource Locator). Cette génération est faite dans cet exemple à l’aide des éléments « BaseURL » (« HTTP://server.com») qui indique l’adresse du serveur de contenus et « SegmentURL » qui liste les parties complémentaires des adresses des différents segments :An example of a manifest file (MPD) compliant with the MPEG-DASH standard and comprising the description of content available in three different qualities (512 kb/s, 1024 kb/s, 2048 kb/s) of segmented content is presented in appendix 1 This simplified manifest file describes digital content in an XML syntax (from the English “eXtended Markup Language”), comprising a list of content in the form of segments conventionally described between an opening tag (<SegmentList>) and a closing tag ( </SegmentList>). Cutting into segments makes it possible in particular to adapt finely to fluctuations in bandwidth. Each segment corresponds to a certain duration (“duration” field) with several quality levels and makes it possible to generate their addresses (URL – Uniform Resource Locator). This generation is done in this example using the elements "BaseURL" ("HTTP://server.com") which indicates the address of the content server and "SegmentURL" which lists the complementary parts of the addresses of the different segments :

- « C1_512kb_1.mp4 » pour le premier segment du contenu « C1 » à 512 kilobits par seconde (« kb ») au format MPEG-4 (« mp4 »),- "C1_512kb_1.mp4" for the first segment of the "C1" content at 512 kilobits per second ("kb") in MPEG-4 format ("mp4"),

- « C1_512kb_2.mp4 » pour le second segment,- “C1_512kb_2.mp4” for the second segment,

- etc.- etc.

Une fois qu’elle dispose des adresses de segments correspondant au contenu souhaité, la passerelle de service GTW procède à l’obtention des segments via un téléchargement à ces adresses. On notera que ce téléchargement s’opère ici, traditionnellement, au travers d’une URL HTTP, mais pourrait également s’opérer au travers d’une adresse universelle (URI) décrivant un autre protocole (dvb://monsegmentdecontenu par exemple).Once it has the segment addresses corresponding to the desired content, the GTW service gateway proceeds to obtain the segments via a download to these addresses. It should be noted that this download takes place here, traditionally, through an HTTP URL, but could also take place through a universal address (URI) describing another protocol (dvb://monsegmentdecontent for example).

La clef CLTV est utilisée pour restituer, sur l’écran du téléviseur TV, un programme télévisuel. Par la suite, on désigne ce programme télévisuel sous le nom de contenu C1. Un tel contenu C1 est décrit dans un fichier manifest MNF.The CLTV key is used to display a television program on the TV screen. Subsequently, this television program is referred to as content C1. Such C1 content is described in an MNF manifest file.

En variante, on notera que le contenu C1 peut être un programme télévisuel diffusé en différé, ou une vidéo à la demande, ou une vidéo personnelle de l’utilisateur, ou tout autre contenu multimédia de durée déterminée, pour laquelle l’invention s’applique également.As a variant, it will be noted that the content C1 can be a television program broadcast on a deferred basis, or a video on demand, or a personal video of the user, or any other multimedia content of fixed duration, for which the invention applies. also applies.

Les segments de contenu obtenus par la passerelle résidentielle GTW sont par exemple transmis en WiFi® à la clef CLTV, qui pilote leur affichage sur l’écran du téléviseur TV, pour restitution à l’utilisateur.The content segments obtained by the GTW residential gateway are, for example, transmitted via WiFi® to the CLTV key, which controls their display on the TV screen, for restitution to the user.

La figure 2 représente une architecture d’un terminal de lecture, dans notre exemple une clé CLTV selon un mode de réalisation de l’invention.FIG. 2 represents an architecture of a reading terminal, in our example a CLTV key according to one embodiment of the invention.

La clé CLTV 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.The key CLTV conventionally comprises memories M associated with a processor CPU. The memories can be ROM (Read Only Memory) or RAM (Random Access Memory) or Flash.

La clé CLTV comprend une mémoire tampon appelée aussi antémémoire ou buffer par l’homme du métierThe CLTV key includes a buffer memory also called cache memory or buffer by those skilled in the art

La clef CLTV communique avec le réseau local LAN et le réseau Internet étendu WAN via le module WIFI pour une communication locale sans fils avec la passerelle résidentielle GTW ou un autre terminal de communication du réseau local LAN, par exemple le téléphone intelligent 3.The CLTV key communicates with the local LAN network and the wide area Internet network WAN via the WIFI module for local wireless communication with the GTW residential gateway or another communication terminal of the local LAN network, for example the smartphone 3.

La clef CLTV comprend un module de téléchargement progressif adaptatif HAS apte à demander un téléchargement progressif de l’un des contenus à l’une des qualités proposées dans un fichier de description MNF. Ce fichier de description MNF peut être enregistré par exemple dans les mémoires M de la clef CLTV ou se trouver à l’extérieur.The CLTV key includes an adaptive progressive download module HAS capable of requesting a progressive download of one of the contents at one of the qualities offered in an MNF description file. This MNF description file can be saved for example in the memories M of the CLTV key or can be located outside.

La clé CLTV comprend en outre un mode de gestion MNG dont la fonction sera expliquée ci-après.The CLTV key further comprises a management mode MNG whose function will be explained below.

La clef CLTV peut aussi contenir d’autres modules comme un disque dur non représenté pour le stockage des segments vidéo, un module de contrôle d’accès aux contenus, un module de traitement des commandes reçues du smartphone.The CLTV key can also contain other modules such as a hard disk not shown for storing video segments, a content access control module, a module for processing commands received from the smartphone.

La clé CLTV est connectée à un téléviseur TV, par l’intermédiaire d’une liaison HDMI 1.The CLTV key is connected to a TV set via an HDMI 1 link.

On présente désormais, en relation avec la figure 3, les éléments principaux d’une clé CLTV et une vue schématique d’un contenu principal C1 stocké dans le serveur de contenus SRV sous forme de segments. Plus précisément, le serveur de contenu HAS expose une vidéo C1 sous forme de segments ou « chunks » C1i@Nj encodés à différents débits d’encodage Nj, où l’indice i désigne un identifiant temporel du « chunk » C1i@Nj.We now present, in relation to FIG. 3, the main elements of a CLTV key and a schematic view of a main content C1 stored in the content server SRV in the form of segments. More precisely, the HAS content server exposes a video C1 in the form of segments or "chunks" C1i@Nj encoded at different encoding rates Nj, where the index i designates a temporal identifier of the "chunk" C1i@Nj.

Selon l’art antérieur, le module de téléchargement HAS de la clé CLTV est chargé de venir récupérer des « chunks » auprès du serveur de contenu HAS en choisissant la qualité vidéo Nj en fonction de la ressource réseau disponible. On ne décrit pas ici plus en détail la façon dont le module de téléchargement HAS choisit le débit d’encodage du prochain segment vidéo à télécharger : il existe en effet de nombreux algorithmes permettant d’opérer ce choix, dont les stratégies sont plus ou moins sécuritaires ou agressives. On rappelle cependant que, le plus souvent, le principe général de tels algorithmes repose sur le téléchargement d’un premier segment au débit d’encodage le plus faible proposé dans le fichier manifest, et sur l’évaluation du temps de récupération de ce premier segment. Sur cette base, le module de téléchargement HAS évalue si, en fonction de la taille du segment et du temps mis pour le récupérer, les conditions réseau permettent de télécharger le segment suivant à un débit d’encodage plus élevé. Certains algorithmes reposent sur une augmentation progressive du niveau de qualité des segments de contenu téléchargés ; d’autres proposent des approches plus risquées, avec des sauts dans les niveaux des débits d’encodage des segments successifs.According to the prior art, the HAS download module of the CLTV key is responsible for recovering “chunks” from the HAS content server by choosing the video quality Nj according to the available network resource. The way in which the HAS download module chooses the encoding bit rate of the next video segment to be downloaded is not described here in more detail: there are in fact numerous algorithms allowing this choice to be made, the strategies of which are more or less safe or aggressive. It is recalled however that, most often, the general principle of such algorithms is based on the downloading of a first segment at the lowest encoding rate proposed in the manifest file, and on the evaluation of the recovery time of this first segment. Based on this, the HAS download module evaluates whether, depending on the size of the segment and the time taken to retrieve it, the network conditions allow the next segment to be downloaded at a higher encoding rate. Some algorithms rely on gradually increasing the quality level of downloaded content segments; others propose more risky approaches, with jumps in the levels of encoding bitrates of successive segments.

Dans le cas classique, si un « chunk » vidéo dure 3 secondes, la récupération du « chunk » par le module de téléchargement HAS ne doit pas excéder 3 secondes, afin de permettre une restitution sans interruption du contenu par la clé CLTV. Il convient donc pour le module de téléchargement HAS d’opérer le meilleur compromis entre une qualité de restitution, et donc un débit d’encodage, aussi élevés que possible, et le temps de téléchargement du segment, qui doit être suffisamment faible pour permettre une restitution en continu sur le téléviseur TV.In the classic case, if a video “chunk” lasts 3 seconds, the recovery of the “chunk” by the HAS download module must not exceed 3 seconds, in order to allow uninterrupted restitution of the content by the CLTV key. It is therefore appropriate for the HAS download module to operate the best compromise between a restitution quality, and therefore an encoding bit rate, as high as possible, and the download time of the segment, which must be sufficiently low to allow a continuous playback on the TV set.

Dans le mode de réalisation illustré en figure 3, le module de téléchargement HAS commande le téléchargement d’un segment au débit d’encodage optimal comme décrit plus en détail par la suite.In the embodiment illustrated in FIG. 3, the HAS download module controls the download of a segment at the optimal encoding rate as described in more detail below.

Dans un premier temps, le module HAS récupère le fichier manifest MNF qui correspond au contenu vidéo C1 afin de découvrir les segments disponibles du contenu vidéo C1, et les différentes qualités vidéo Nj associées. Dans l’exemple de la figure 3, le contenu C1 est par exemple proposé sous forme de segments de durée 3s, avec un premier débit d’encodage N1 = 416kb/s, un deuxième débit d’encodage N2 = 680 kb/s, un troisième débit d’encodage N3 = 1200 kb/s, etc.Firstly, the HAS module retrieves the MNF manifest file which corresponds to the video content C1 in order to discover the available segments of the video content C1, and the various associated video qualities Nj. In the example of figure 3, the content C1 is for example offered in the form of segments of duration 3s, with a first encoding rate N1 = 416 kb/s, a second encoding rate N2 = 680 kb/s, a third encoding rate N3 = 1200 kb/s, etc.

Dans un mode de fonctionnement normal, non illustré sur la figure 3, le module HAS opère le téléchargement par exemple, des segments successifs C11@N1 (soit le premier segment temporel à un débit d’encodage de 416 kb/s), puis C12@N3 (soit le deuxième segment temporel à un débit d’encodage de 1600 kb/s), puis C13@N3 (soit le troisième segment temporel à un débit d’encodage de 1200 kb/s), etc.In a normal operating mode, not illustrated in FIG. 3, the HAS module operates the downloading, for example, of successive segments C11@N1 (i.e. the first time segment at an encoding rate of 416 kb/s), then C12 @N3 (i.e. the second time segment at an encoding rate of 1600 kb/s), then C13@N3 (i.e. the third time segment at an encoding rate of 1200 kb/s), etc.

Les différents segments téléchargés par le module de téléchargement HAS sont transmis à un module d’interface INT pour leur restitution à l’utilisateur sur l’écran du téléviseur TV. Le module INT gère de l’interface avec le téléviseur TV, par lequel elle obtient par exemple des informations sur les éventuelles interactions de l’utilisateur avec le téléviseur TV (action sur la télécommande du téléviseur par exemple par appui sur la touche volume ou une touche de changement de canal), et par lequel elle peut piloter l’affichage sur l’écran du téléviseur TV d’un contenu demandé, par exemple une chaîne de télévision ou une interface de navigation concomitamment.The various segments downloaded by the download module HAS are transmitted to an interface module INT for their restitution to the user on the television screen TV. The INT module manages the interface with the television set TV, through which it obtains, for example, information on the possible interactions of the user with the television set TV (action on the television remote control, for example by pressing the volume key or a channel change key), and by which it can control the display on the television screen TV of a requested content, for example a television channel or a navigation interface concomitantly.

L’algorithme mis en œuvre par le module de téléchargement HAS pour déterminer quel segment à quel débit d’encodage doit être téléchargé en mode de fonctionnement normal peut être l’un des algorithmes déjà existants de l’art antérieur. Cet algorithme ne sera donc pas décrit ici plus en détail.The algorithm implemented by the HAS download module to determine which segment at which encoding bitrate should be downloaded in normal operating mode can be one of the already existing algorithms of the prior art. This algorithm will therefore not be described here in more detail.

Selon l’invention, l’instant de démarrage de la lecture du contenu est déterminé en se basant sur un historique des débits réseaux qui ont été disponibles sur une période de temps passée. Le module de gestion MNG va déterminer la quantité de donnée à stocker dans la mémoire tampon avant de déclencher la lecture du contenu.According to the invention, the instant of starting the reading of the content is determined based on a history of the network speeds which have been available over a past period of time. The management module MNG will determine the quantity of data to be stored in the buffer memory before triggering the reading of the content.

En effet, afin d’assurer une lecture en continu du contenu LIVE, lorsque l’utilisateur souhaite le visualiser à la meilleure qualité possible, le lecteur de flux numérique va dans un premier temps mettre en pause la restitution du contenu et remplir sa mémoire tampon (ou « buffer » en anglais) avec les segments temporels du contenu LIVE à un débit d’encodage supérieur au débit d’encodage déterminé en fonction de la disponibilité en bande passante.Indeed, in order to ensure continuous playback of the LIVE content, when the user wishes to view it at the best possible quality, the digital stream reader will first pause the rendering of the content and fill its buffer memory. (or “buffer”) with the time segments of the LIVE content at an encoding rate higher than the encoding rate determined according to the availability of bandwidth.

Cette phase de remplissage de la mémoire tampon se fait tant que le lecteur de flux n’a pas stocké en mémoire suffisamment de contenu, ou segments temporels, pour assurer ensuite une lecture fluide.This buffer filling phase is done as long as the stream reader has not stored enough content, or time segments, in memory to then ensure smooth playback.

Une fois que le lecteur de flux a mis en mémoire tampon, ou stocké, suffisamment de segments temporels du contenu, le lecteur de flux passe alors dans une phase de restitution différée, c’est-à-dire, en mode lecture du contenu. Cette restitution différée s’opère conjointement avec le stockage en mémoire tampon des segments temporels suivants du contenu.Once the stream reader has buffered, or stored, enough time segments of the content, the stream reader then enters a deferred rendering phase, i.e., in playback mode of the content. This delayed rendering occurs in conjunction with the buffering of subsequent time segments of the content.

Ainsi, pendant la lecture, on consomme la vidéo mise en mémoire tampon et on continue à télécharger des segments temporels représentatifs de la vidéo diffusée, de façon à continuer à remplir la mémoire tampon jusqu’à l’instant de démarrage basé sur l’historique comme cela est expliqué ci-dessous.Thus, during playback, the buffered video is consumed and time segments representative of the streamed video are continued to download, so as to continue to fill the buffer until the history-based start time. as explained below.

La figure 4 illustre un historique faisant apparaître la variation de la bande passante disponible sur une période passée donnée, notamment le jeudi 10 septembre 2020 et le vendredi 11 septembre 2020. Cet historique est illustré sous forme de graphique ayant en abscisse le temps t et en ordonnée la valeur de la bande passante BP.Figure 4 illustrates a history showing the variation in available bandwidth over a given past period, in particular Thursday, September 10, 2020 and Friday, September 11, 2020. This history is illustrated in the form of a graph having the time t as the abscissa and the ordered the value of the bandwidth BP.

Un premier mode de réalisation peut consister à définir l’instant de démarrage, ou le taux d’occupation de la mémoire tampon, en se basant sur la variation de la bande passante passée sur une période passée donnée.A first embodiment may consist of defining the start time, or the buffer occupancy rate, based on the variation of the past bandwidth over a given past period.

Une variation de la bande passante peut consister en une augmentation ou une diminution de la bande passante.A variation of the bandwidth can consist of an increase or a decrease in the bandwidth.

Dans notre exemple, pour les deux types de variation, deux instants de démarrage de lecture respectifs sont prédéfinis. Un instant de démarrage est défini lorsque la bande passante va probablement augmenter ; de même, un instant de démarrage est défini lorsque la bande passante va probablement diminuer. Dans notre exemple, le démarrage a lieu lorsque la mémoire tampon atteint un taux d’occupation donné par les segments téléchargés. Ces deux pourcentages sont par exemple 20% et 60%, respectivement.In our example, for the two types of variation, two respective playback start times are predefined. A start time is set when bandwidth is likely to increase; similarly, a start time is set when the bandwidth is likely to decrease. In our example, the start takes place when the buffer reaches a given occupancy rate by downloaded segments. These two percentages are for example 20% and 60%, respectively.

A noter que la variation peut être obtenue de plusieurs manières connues de l’homme du métier, par exemple en calculant une pente d’une droite sur une durée donnée ou la pente d’une tangente obtenue par calcul de dérivée.Note that the variation can be obtained in several ways known to those skilled in the art, for example by calculating a slope of a straight line over a given duration or the slope of a tangent obtained by calculating the derivative.

Plus précisément, dans le cas où la bande passante probable baisse, il est nécessaire de stocker dans la mémoire tampon une partie importante du contenu vidéo à restituer. En référence à la figure 4, ce cas se présente par exemple si l’accès au contenu s’effectue le jeudi à 21h. En effet, le graphique illustré sur la figure 4 montre que la bande passante chute après 21h (une flèche F1 indique la diminution de la bande passante). Dans ce cas, le module de gestion MNG télécharge par exemple 60% du contenu vidéo avant de déclencher la lecture du contenu.More specifically, in the event that the probable bandwidth drops, it is necessary to store in the buffer memory a significant part of the video content to be rendered. With reference to figure 4, this case arises for example if the content is accessed on Thursday at 9 p.m. Indeed, the graph illustrated in Figure 4 shows that the bandwidth drops after 9 p.m. (an arrow F1 indicates the decrease in bandwidth). In this case, the management module MNG downloads for example 60% of the video content before triggering the reading of the content.

Dans le cas où la bande passante probable va croître, il n’est pas nécessaire de stocker une partie importante du contenu vidéo à restituer. En référence à la figure 4, ce cas se présente par exemple si l’accès au contenu s’effectue le vendredi à 21h. En effet, le graphique illustré sur la figure 4 montre que la bande passante a augmenté après 21h le vendredi à la même heure (une flèche F2 indique l’augmentation de la bande passante). Le module de gestion télécharge 20% du contenu vidéo avant de déclencher sa lecture le vendredi à 21h.In the event that the probable bandwidth will grow, it is not necessary to store a significant part of the video content to be rendered. With reference to figure 4, this case arises for example if the content is accessed on Friday at 9 p.m. Indeed, the graph shown in Figure 4 shows that the bandwidth increased after 9 p.m. on Friday at the same time (an arrow F2 indicates the increase in bandwidth). The management module downloads 20% of the video content before triggering its playback on Friday at 9 p.m.

La figure 5 illustre un deuxième mode de réalisation de calcul de l’instant de démarrage de la lecture du contenu C1 basé sur l’historique illustré sur la figure 4. Ce deuxième mode pourra être mis en œuvre alternativement ou cumulativement avec le précédent mode de réalisation.FIG. 5 illustrates a second embodiment for calculating the start time of the reading of the content C1 based on the history illustrated in FIG. 4. This second mode can be implemented alternatively or cumulatively with the previous mode of achievement.

Sur la figure 5 sont représentés deux axes associés au serveur de contenu d’où est téléchargé C1 et la clé CLTV ainsi que les échanges de données s’effectuant entre ces deux dispositifs.Figure 5 shows two axes associated with the content server from which C1 and the CLTV key are downloaded, as well as the data exchanges taking place between these two devices.

Lors d’une première étape ET1, la clé CLTV requiert un accès au contenu C1 auprès du serveur SRV.During a first step ET1, the key CLTV requires access to the content C1 from the server SRV.

A l’instant T0, lors d’une deuxième étape ET2, après réception de la requête, le serveur SRV télécharge successivement des segments (C11@N1,C12@N5,C13@N6,C14@N6,...) du contenu C1 selon la technique décrite ci-dessus du téléchargement adaptatif.At time T0, during a second step ET2, after receiving the request, the server SRV successively downloads segments (C11@N1, C12@N5, C13@N6, C14@N6, etc.) C1 according to the technique described above of adaptive downloading.

Les segments sont reçus successivement par la clé CLTV et sont stockés dans la mémoire tampon de la clé CLTV.The segments are successively received by the CLTV key and are stored in the buffer memory of the CLTV key.

L’entité de gestion MNG détermine, pendant le téléchargement du contenu C1, l’instant T1 de démarrage de la lecture du contenu téléchargé. Selon l’invention, le démarrage de la lecture du contenu a lieu lorsque la durée de téléchargement prévue du contenu restant à télécharger est inférieure ou égale à la durée du contenu à lire.The management entity MNG determines, during the downloading of the content C1, the instant T1 of starting the reading of the downloaded content. According to the invention, the start of the reading of the content takes place when the expected download duration of the content remaining to be downloaded is less than or equal to the duration of the content to be read.

Le système va donc déterminer à partir de l’historique quelle sera la bande passante disponible probable dans les minutes ou heures à venir.The system will therefore determine from the history what the probable available bandwidth will be in the minutes or hours to come.

Dans ce deuxième mode, l’instant de téléchargement est calculé en prenant en compteIn this second mode, the download time is calculated taking into account

- la bande passante passée Dmoy, par exemple une moyenne comme expliqué ci-dessus,- the past bandwidth Dmoy, for example an average as explained above,

- la durée Dlct.C1 de lecture du contenu,- Dlct.C1 content playback duration,

- et également un débit d’encodage des segments à télécharger choisi parmi les débits d’encodage disponibles dans le manifest.- and also an encoding bitrate of the segments to be downloaded chosen from the encoding bitrates available in the manifest.

Dans ce mode, le module de gestion MNG calcule une valeur estimée du débit réseau Dmoy qui a été disponible sur une période passée. La période passé est, de préférence, choisie judicieusement, par exemple la semaine précédente à la même heure.In this mode, the management module MNG calculates an estimated value of the network throughput Dmoy which has been available over a past period. The past period is preferably chosen judiciously, for example the previous week at the same time.

La durée de cette période passée est aussi choisie judicieusement. Par exemple, cette durée démarre à l’heure d’accès au contenu jusque par exemple la mise hors tension du téléviseur TV le même jour en particulier lorsque la durée du contenu ne peut être connue à l’avance.The duration of this past period is also chosen judiciously. For example, this duration starts at the time of access to the content until, for example, the switching off of the television set TV on the same day, in particular when the duration of the content cannot be known in advance.

Si le durée du contenu à restituer est connue à l’avance ; c’est le cas par exemple des contenus à la demande tels que des contenus VOD (sigle anglo-saxon de Video On Demand) la durée de la période passé peut être la durée du contenu à lire. Par exemple, si l’utilisateur accède à un contenu VOD d’une durée de 2 heures un vendredi à 21h ; dans notre exemple, la période passée correspond au vendredi de la semaine précédente et la durée de la période passée correspond à la durée du contenu VOD restituer à savoir deux heures.If the duration of the content to be rendered is known in advance; this is the case for example of on-demand content such as VOD content (Anglo-Saxon acronym for Video On Demand) the duration of the past period can be the duration of the content to be read. For example, if the user accesses VOD content with a duration of 2 hours on a Friday at 9 p.m.; in our example, the past period corresponds to Friday of the previous week and the duration of the past period corresponds to the duration of the VOD content to render, namely two hours.

Dans notre exemple, la valeur estimée est une valeur moyenne des débits réseaux qui ont été disponibles sur cette période passée. L’utilisation d’une moyenne n’est qu’un exemple de mise en œuvre de l’invention ; un autre débit aurait pu être calculé en lieu et place du débit moyen, par exemple en se basant un calcul de médiane, d’une étendue ou de quartiles, ou toutes formules statistiques équivalentes.In our example, the estimated value is an average value of the network speeds that have been available over this past period. The use of an average is only one example of implementing the invention; another flow could have been calculated instead of the average flow, for example based on a calculation of the median, a range or quartiles, or any equivalent statistical formulas.

Ne connaissant pas le débit réseau future et à fortiori les débits d’encodage futurs sélectionnés par la clé CLTV, le débit d’encodage maximum du manifest peut être sélectionné pour le calcul de l’instant de démarrage; en effet, le débit d’encodage maximum est celui qui consommera le plus de bande passante.Not knowing the future network bitrate and a fortiori the future encoding bitrates selected by the CLTV key, the maximum encoding bitrate of the manifest can be selected for the calculation of the start time; indeed, the maximum encoding bitrate is the one that will consume the most bandwidth.

Le calcul de cet instant de démarrage de la lecture du contenu peut être le suivant, sans se limiter à celui-ci :The calculation of this content playback start time can be as follows, without being limited to this:

A l’instant T1, on considère qu’une partie C1a du contenu a été reçue et stockée en mémoire tampon.At time T1, it is considered that a part C1a of the content has been received and stored in buffer memory.

La partie complémentaire C1b de C1 (C1= C1a+C1b) est la partie restante à télécharger.The complementary part C1b of C1 (C1= C1a+C1b) is the remaining part to download.

La quantité de segments restants à télécharger C1b est donnée par la formule :The quantity of remaining segments to download C1b is given by the formula:

C1b = Dmoy X Dtch.C1b,C1b = Davg X Dtch.C1b,

Dtch.C1b étant la durée disponible pour télécharger C1bDtch.C1b being the duration available to download C1b

Lorsque le démarrage de la lecture aura lieu à T1, il restera toute la durée Dlct.C1 de lecture du contenu C1 pour télécharger la partie restante C1b. Il faut donc que la condition suivante soit remplie pour être assurée que la lecture du contenu s’effectuera sans dégradation :When the start of the reading takes place at T1, there will remain the entire duration Dlct.C1 of reading the content C1 to download the remaining part C1b. The following condition must therefore be met to ensure that the content will be played without degradation:

Dtch.C1b ≤ Dlct.C1Dtch.C1b ≤ Dlct.C1

soit :either :

C1b / Dmoy ≤ Dlct.C1C1b / Davg ≤ Dlct.C1

DlctC1 correspondant à la durée totale de lecture du contenu C1.DlctC1 corresponding to the total playback time of content C1.

Dans notre exemple, on souhaite que la lecture s’effectue sans interruption. Un mode de réalisation sera décrit ci-après avec interruption.In our example, we want the playback to be uninterrupted. An embodiment will be described hereinafter with interruption.

La quantité de segments restants à télécharger C1b correspond à la quantité de segments total de C1 moins la quantité de segments déjà téléchargée C1a.The quantity of segments remaining to be downloaded C1b corresponds to the quantity of total segments of C1 minus the quantity of segments already downloaded C1a.

Comme une quantité de donnée reçue correspond à la durée de téléchargement multiplié par le débit d’encodage utilisé, on peut écrire queAs a quantity of data received corresponds to the download time multiplied by the encoding rate used, we can write that

C1b = (Dtch.C1 – Dtch.C1a) X DeC1b = (Dtch.C1 – Dtch.C1a) X From

SoitEither

C1b = (Dtch.C1b) X DeC1b = (Dtch.C1b) X From

Avec De = débit d’encodage du contenu choisi dans la liste des débits inclus dans le manifest.With From = content encoding bitrate chosen from the list of bitrates included in the manifest.

etAnd

Dtch.C1 = durée de téléchargement totale du contenu C1Dtch.C1 = total content download time C1

Plusieurs débits d’encodage sont définis dans le manifest. Le débit d’encodage nécessitant un temps de transmission plus important est celui de meilleure qualité à savoir le débit d’encodage maximum Demax 5000 kb/s dans notre exemple. Dans notre exemple, on choisit donc cette valeur maximum pour le calcul de l’instant de démarrage de la lecture, soit :Several encoding bitrates are defined in the manifest. The encoding bit rate requiring a longer transmission time is that of better quality, namely the maximum encoding bit rate Demax 5000 kb/s in our example. In our example, we therefore choose this maximum value for the calculation of the start time of reading, i.e.:

De = Demax.De = Demax.

On aboutit alors à la condition suivante pour le démarrage de la lecture de C1We then arrive at the following condition for starting the reading of C1

Dlct.C1 Dlct.C1

La lecture de C1 peut donc débuter à T1 quand la durée Dtch.C1a aura atteint la condition suivante est vérifiée :The reading of C1 can therefore begin at T1 when the duration Dtch.C1a has reached the following condition is verified:

Dtch.C1a (1- ) X Dlct.C1Dtch.C1a (1- ) X Dlct.C1

Dans notre exemple, on choisitIn our example, we choose

T1=(1- ) X Dlct.C1T1=(1- ) X Dlct.C1

Une fois la lecture du contenu C1 démarrée à l’instant T1, T1 vérifiant la condition précédente, le téléchargement des segments du contenu complémentaire C2a s’effectue classiquement comme expliqué ci-dessus selon la technique HAS.Once the reading of the content C1 has started at the instant T1, T1 verifying the previous condition, the downloading of the segments of the complementary content C2a is carried out conventionally as explained above according to the HAS technique.

Prenons deux exemples. On considère :Let's take two examples. We consider :

- un contenu d’une durée de 2h28 (148 min),- content lasting 2h28 (148 min),

- associé à un manifest incluant un débit d’encodage vidéo maximum Demax égal à 5000 kb/s,- associated with a manifest including a maximum video encoding rate Demax equal to 5000 kb/s,

- et un débit réseau estimé à 4Mb/s sur une période passée calculée judicieusement.- and a network speed estimated at 4Mb/s over a judiciously calculated past period.

Dans cette configuration, la lecture débutera àIn this configuration, playback will begin at

T1= (1-4000/5000)*148 = 29,6 minutesT1= (1-4000/5000)*148 = 29.6 mins

Le téléchargement de C1a aura alors pris 29,6 minutes.The download of C1a will then have taken 29.6 minutes.

Si le débit réseau estimé est de 2Mb/s :If the estimated network speed is 2 Mb/s:

La lecture ne pourra commencer que (1-2000/5000)*148 = 88,8 minutes après le démarrage du téléchargement.Playback cannot start until (1-2000/5000)*148 = 88.8 minutes after downloading starts.

Le téléchargement de C1a aura alors pris 88,8 minutes.The download of C1a will then have taken 88.8 minutes.

Le mode de réalisation décrit ci-dessus à l’avantage d’assurer une lecture sans dégradation. Une autre variante plus risquée peut consister à prendre non pas le débit d’encodage maximum mais un débit d’encodage intermédiaire. Par exemple, en reprenant l’exemple du manifest décrit ci-dessus, le débit d’encodage reçu aurait pu être 1600 kb/s ou 2100 kb/s.The embodiment described above has the advantage of ensuring reading without degradation. Another more risky variant may consist in taking not the maximum encoding rate but an intermediate encoding rate. For example, using the manifest example described above, the received encoding bitrate could have been 1600 kb/s or 2100 kb/s.

La figure 5 fait apparaître la durée Dtlc.C1a de téléchargement de C1a, la durée de téléchargement de C1b à savoir Dtcl.C1b. Sur cette figure, on s’aperçoit que la durée de téléchargement de C1b à savoir Dtcl.C1b est finalement inférieure à la durée de lecture Dlct.C1 du contenu C1. En effet, les segments téléchargés relatifs à C1b n’étaient pas tous associés au débit maximum Demax.FIG. 5 shows the duration Dtlc.C1a for downloading C1a, the duration for downloading C1b, namely Dtcl.C1b. In this figure, we see that the download time of C1b, namely Dtcl.C1b, is ultimately less than the Dlct.C1 playback time of the content C1. Indeed, the downloaded segments relating to C1b were not all associated with the maximum rate Demax.

Annexe 1Annex 1

Claims (8)

Procédé de gestion de la lecture d’un contenu numérique (C1) téléchargé depuis un serveur de contenu (SRV) via un réseau de communication (RES), le contenu comprenant plusieurs segments, caractérisé en ce qu’il comprend les étapes suivantes :
Une étape préalable d’obtention d’un historique de la variation de la bande passante qui a été disponible sur le réseau (RES) sur une période de temps passée ;
Une étape de réception de segments du contenu téléchargé et de stockage des segments reçus dans une mémoire tampon ;
Une étape de détermination d’un instant de démarrage de la lecture des données reçues basée sur l’historique de la variation de la bande passante obtenu lors de l’étape préalable.
Method for managing the reading of digital content (C1) downloaded from a content server (SRV) via a communication network (RES), the content comprising several segments, characterized in that it comprises the following steps:
A preliminary step of obtaining a history of the variation of the bandwidth that has been available on the network (RES) over a past period of time;
A step of receiving segments of the downloaded content and storing the segments received in a buffer memory;
A step of determining a start time for reading the data received based on the history of the bandwidth variation obtained during the prior step.
Procédé de gestion selon la revendication 1, caractérisé en ce que le contenu comprend plusieurs segments associés à plusieurs débits d’encodage respectifs, et en ce que l’étape de réception est suivie d’une étape de calcul d’une durée de téléchargement estimée du contenu restant à télécharger en prenant compte une bande passante issue de l’historique, une durée de lecture du contenu et un débit d’encodage choisi parmi les débits d’encodage disponibles, l’instant de démarrage étant choisi de telle sorte que la durée de téléchargement estimée du contenu restant à télécharger est inférieure ou égale à la durée du contenu à lire.Management method according to claim 1, characterized in that the content comprises several segments associated with several respective encoding bit rates, and in that the reception step is followed by a step of calculating an estimated download time of the content remaining to be downloaded, taking into account a bandwidth from the history, a content playback time and an encoding bit rate chosen from among the available encoding bit rates, the start time being chosen such that the estimated download time of the content remaining to be downloaded is less than or equal to the duration of the content to be played. Procédé de gestion selon la revendication 2, caractérisé en ce que le débit d’encodage choisi parmi les débits d’encodage disponibles est le débit d’encodage maximum disponible.Management method according to Claim 2, characterized in that the encoding rate chosen from among the available encoding rates is the maximum available encoding rate. Procédé de gestion selon la revendication 2, caractérisé en ce que le débit réseau estimé est le débit réseau moyen calculé sur la période passée donnée.Management method according to Claim 2, characterized in that the estimated network bit rate is the average network bit rate calculated over the given past period. Procédé de gestion selon la revendication 1, caractérisé en ce que la variation de la bande passante comprend une augmentation ou une diminution de la bande passante, en ce que des instants de démarrage distincts sont prédéfinis respectivement.Management method according to Claim 1, characterized in that the variation of the bandwidth comprises an increase or a decrease in the bandwidth, in that distinct start times are predefined respectively. Entité de gestion (MNG) de la lecture d’un contenu numérique téléchargé depuis un serveur de contenu via un réseau de communication, le contenu comprenant plusieurs segments accessibles depuis un serveur de contenus, caractérisé en ce qu’il comprend
Un module d’obtention apte à obtenir un historique de la variation de la bande passante qui a été disponible sur le réseau sur une période de temps passée ;
Un module de réception apte à recevoir les segments du contenu téléchargé et de stockage des segments reçus dans une mémoire tampon;
Un module de détermination apte à déterminer un instant de démarrage de la lecture des données reçues basée sur l’historique de la variation de la bande passante obtenu lors de l’étape préalable.
Management entity (MNG) for reading digital content downloaded from a content server via a communication network, the content comprising several segments accessible from a content server, characterized in that it comprises
an obtaining module capable of obtaining a history of the variation of the bandwidth which has been available on the network over a past period of time;
A reception module capable of receiving the segments of the downloaded content and storing the segments received in a buffer memory;
A determination module capable of determining a start time for the reading of the data received based on the history of the variation of the passband obtained during the preliminary step.
Terminal lecteur de contenus multimédias (CLTV) comprenant une entité telle que définie dans la revendication 6.Multimedia content player terminal (CLTV) comprising an entity as defined in claim 6. Programme d’ordinateur apte à être mis en œuvre sur un terminal lecteur de contenus multimédias tel que défini dans la revendication 7, 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 l’une des revendications 1 à 5.Computer program capable of being implemented on a multimedia content player terminal as defined in claim 7, the program comprising code instructions which, when executed by a processor, carry out the steps of the method defined in one of claims 1 to 5.
FR2009874A 2020-09-29 2020-09-29 Method for managing the reading of digital content within a multimedia content player terminal connected to a rendering device Pending FR3114719A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR2009874A FR3114719A1 (en) 2020-09-29 2020-09-29 Method for managing the reading of digital content within a multimedia content player terminal connected to a rendering device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2009874A FR3114719A1 (en) 2020-09-29 2020-09-29 Method for managing the reading of digital content within a multimedia content player terminal connected to a rendering device
FR2009874 2020-09-29

Publications (1)

Publication Number Publication Date
FR3114719A1 true FR3114719A1 (en) 2022-04-01

Family

ID=73498038

Family Applications (1)

Application Number Title Priority Date Filing Date
FR2009874A Pending FR3114719A1 (en) 2020-09-29 2020-09-29 Method for managing the reading of digital content within a multimedia content player terminal connected to a rendering device

Country Status (1)

Country Link
FR (1) FR3114719A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2894869A1 (en) * 2014-01-10 2015-07-15 Thomson Licensing Method for downloading, at a client terminal, an upcoming sequence of segments of a multimedia content, and corresponding terminal
US20160337430A1 (en) * 2014-01-21 2016-11-17 Alcatel Lucent Improved playback control device and method for streaming media content

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2894869A1 (en) * 2014-01-10 2015-07-15 Thomson Licensing Method for downloading, at a client terminal, an upcoming sequence of segments of a multimedia content, and corresponding terminal
US20160337430A1 (en) * 2014-01-21 2016-11-17 Alcatel Lucent Improved playback control device and method for streaming media content

Similar Documents

Publication Publication Date Title
FR3021489A1 (en) METHOD FOR ADAPTIVE DOWNLOAD OF DIGITAL CONTENT FOR MULTIPLE SCREENS
FR3081647A1 (en) MANAGEMENT OF ADAPTIVE PROGRESSIVE DOWNLOAD (HAS) OF DIGITAL CONTENT WITHIN A REAL-TIME MULTIMEDIA STREAM READER TERMINAL.
WO2019220034A1 (en) Management of adaptive progressive download of a digital content within a restoration terminal of a local communication network
WO2020259911A1 (en) Method for managing adaptive progressive downloading (has) of digital content which is broadcast in real time, corresponding administrator, multimedia stream player terminal and computer program
WO2021089942A1 (en) Method for managing zapping of digital multimedia contents obtained by http adaptive streaming (has), and corresponding management device, multimedia stream reader and computer program
EP4035408A1 (en) Management of adaptive streaming of an item of digital content over a mobile network with selection of a maximum authorized encoding rate on the basis of a data bucket
EP3926929B1 (en) Process for managing the playback of digital content within a multimedia content player terminal connected to a restitution device
FR3114719A1 (en) Method for managing the reading of digital content within a multimedia content player terminal connected to a rendering device
WO2023208688A1 (en) Management of the rendering of an item of multimedia content
EP3840391A1 (en) Management of the reproduction of multimedia content and a navigation interface on a screen
FR3128084A1 (en) method for managing the playback of multimedia content.
WO2021209706A1 (en) Management of access to digital content available via progressive and adaptive streaming and encoded using a variable bit rate encoding method, depending on a network load
FR3096210A1 (en) A method of transmitting digital content having several versions accessible from a content server to a playback terminal.
EP4066512A1 (en) Method for managing a list of contents accessible for zapping, the digital contents being downloadable in an http adaptive streaming (has) mode, and corresponding management device, multimedia stream reader and computer program
EP3846489A1 (en) Method for managing a progressive and adaptive download of digital content by a multimedia stream reader terminal connected to a communication network, corresponding management device, multimedia stream reader terminal and computer program
EP3973714A1 (en) Rendering of background or insertion content as part of an adaptive progressive download (has)
FR3093605A1 (en) A method of accelerated browsing of digital content obtained by adaptive progressive download (HAS), manager, media player and corresponding computer program.
EP4297409A1 (en) Method for managing the playback of multimedia content.
FR3103668A1 (en) Management of the adaptive progressive download of digital content over the mobile network with determination of a maximum encoding rate allowed over a session based on a bucket of data
FR3093603A1 (en) A method of accelerated browsing of digital content obtained by adaptive progressive download (HAS), manager, media player and corresponding computer program.
EP4109905A1 (en) Management of the adaptive progressive downloading of digital content in screen saver mode
FR3114720A1 (en) Management of adaptive progressive downloading of content taking into account the quality of the signal exchanged between the client terminal and the network access point
FR3135857A1 (en) Management of the restitution of multimedia content on several screens.
FR3124344A1 (en) Method for managing access to content downloaded in adaptive download mode.
EP4346216A1 (en) Managing playback of media content

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20220401

PLFP Fee payment

Year of fee payment: 3