FR3096210A1 - A method of transmitting digital content having several versions accessible from a content server to a playback terminal. - Google Patents

A method of transmitting digital content having several versions accessible from a content server to a playback terminal. Download PDF

Info

Publication number
FR3096210A1
FR3096210A1 FR1906670A FR1906670A FR3096210A1 FR 3096210 A1 FR3096210 A1 FR 3096210A1 FR 1906670 A FR1906670 A FR 1906670A FR 1906670 A FR1906670 A FR 1906670A FR 3096210 A1 FR3096210 A1 FR 3096210A1
Authority
FR
France
Prior art keywords
content
version
segments
segment
terminal
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.)
Granted
Application number
FR1906670A
Other languages
French (fr)
Other versions
FR3096210B1 (en
Inventor
Mathieu Rivoalen
Hervé MARCHAND
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 FR1906670A priority Critical patent/FR3096210B1/en
Publication of FR3096210A1 publication Critical patent/FR3096210A1/en
Application granted granted Critical
Publication of FR3096210B1 publication Critical patent/FR3096210B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/23439Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26258Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
    • 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

L’invention se rapporte à un Procédé de transmission d’un contenu à destination d’un terminal de restitution (8) via un réseau de communication, le contenu (C1) étant accessible depuis un serveur de contenus sous plusieurs versions associées à des qualités de restitution respectives, une version donnée comprenant respectivement plusieurs segments du contenu, caractérisé en ce qu’il comprend les étapes suivantes dans un dispositif (DI) s’intercalant entre le serveur de contenus et le terminal de restitution une première étape de réception au cours de laquelle le dispositif intermédiaire reçoit du serveur de contenus plusieurs versions d’un même contenu ; une deuxième étape de réception d’une requête d’accès à une version donnée du contenu ; et une étape de transmission, à destination du terminal de restitution, de segments associés à la version du contenu demandée lors de la deuxième étape de réception. FIGURE 1The invention relates to a method for transmitting content to a rendering terminal (8) via a communication network, the content (C1) being accessible from a content server in several versions associated with qualities. respective rendering, a given version respectively comprising several segments of the content, characterized in that it comprises the following steps in a device (DI) inserted between the content server and the rendering terminal a first reception step during of which the intermediate device receives from the content server several versions of the same content; a second step of receiving a request for access to a given version of the content; and a step of transmitting, to the rendering terminal, segments associated with the version of the content requested during the second reception step. FIGURE 1

Description

Procédé de transmission d’un contenu numérique ayant plusieurs versions accessibles depuis un serveur de contenus à destination d’un terminal de restitution.Method for transmitting digital content with several versions accessible from a content server to a rendering terminal.

Le domaine de l'invention est celui des contenus multimédia 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, plusieurs versions du contenu sont disponibles ; l'invention concerne un procédé de transmission du contenu numérique ayant plusieurs versions accessibles depuis un serveur de contenus à destination d’un terminal de restitution.Specifically, multiple versions of the content are available; the invention relates to a method for transmitting digital content having several versions accessible from a content server to a rendering terminal.

Les versions du contenu, aussi appelées représentations du contenu, sont associées à des qualités de restitution respectives.Content versions, also called content representations, are associated with respective rendering qualities.

Etat de la techniqueState of the art

Avec la généralisation de la communication sans fil à haut débit et la multiplication des équipements personnels de type téléphone intelligent (en anglais « Smartphone ») ou tablette, la consommation de contenus multimédia numériques, notamment vidéo et/ou audio, a fortement augmenté. En effet, l’accès à un contenu numérique depuis un réseau de type Internet est possible aujourd’hui, pour la plupart de ces équipements personnels, notamment lorsqu’ils appartiennent à un réseau de communication local, tel qu’un réseau domestique.With the generalization of high-speed wireless communication and the proliferation of personal equipment of the smart phone or tablet type, the consumption of digital multimedia content, in particular video and/or audio, has increased sharply. Indeed, access to digital content from an Internet type network is possible today, for most of these personal devices, in particular when they belong to a local communication network, such as a home network.

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 Transfer Protocol »). En particulier, le téléchargement en mode progressif, dit téléchargement adaptatif progressif (en anglais « http Adaptive Streaming » ou HAS), 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 restituées par le terminal au fur et à mesure de leur arrivée. Le terminal client, i.e l’équipement personnel, reçoit et stocke une partie des données numériques dans une mémoire tampon avant de les restituer. 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 Transfer Protocol) family. In particular, downloading in progressive mode, called progressive adaptive downloading (in English "http Adaptive Streaming" or HAS), of digital content, also called streaming, makes it possible to transport and consume data in real time, i.e. say that digital data is transmitted over the network and returned by the terminal as it arrives. The client terminal, i.e. the personal equipment, receives and stores part of the digital data in a buffer memory before restoring it. 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 (HAS) permet de surcroît de diffuser et recevoir des données suivant différentes qualités, aussi appelées représentations ou versions, correspondant par exemple à différents débits. 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 client souhaite accéder à un contenu, ce fichier de description permet de sélectionner le bon format pour le contenu à consommer notamment 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 client et le serveur de contenus.Adaptive progressive downloading (HAS) also makes it possible to broadcast and receive data according to different qualities, also called representations or versions, corresponding for example to different 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 client terminal wishes to access a content, this description file makes it possible to select the correct format for the content to be consumed, in particular 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 client 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 client un ou plusieurs fichiers de description intermédiaires, appelés aussi documents ou manifest, contenant les adresses de différents segments à différentes qualités d’encodage 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 the client one or more intermediate description files, also called documents or manifests, containing the addresses of different segments at different encoding qualities of the multimedia content.

Ainsi, la norme MPEG-DASH (pour l’anglais “Dynamic Adaptive Streaming over HTTP”, en français « diffusion en flux adaptatif dynamique sur HTTP ») est un standard de format de diffusion audiovisuelle sur Internet. Il se base sur la préparation du contenu en différentes présentations de qualité et débit variables, découpées en segments temporels de courte durée (de l’ordre de quelques secondes), également appelés « chunks », ou segments. Chacun de ces segments est rendu disponible individuellement 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 manifest au format XML.Thus, the MPEG-DASH standard (for English “Dynamic Adaptive Streaming over HTTP”, in French “Dynamic adaptive streaming over HTTP”) is an audiovisual format standard for broadcasting on the Internet. It is based on the preparation of the content in different presentations of variable quality and bit rate, cut into short time segments (of the order of a few seconds), also called “chunks”, or segments. Each of these segments is made available individually by means of an exchange protocol. The protocol mainly targeted is the HTTP protocol, but other protocols (eg FTP) can also be used. The organization of the segments and the associated parameters 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 sa mémoire tampon de réception, choisit, pour le prochain segment à charger, une qualité/version dont le débit :
- assure la meilleure qualité possible, et,
- permet un délai de réception compatible avec le rendu ininterrompu du contenu sur le terminal client.
The principle underlying this standard is that the MPEG-DASH client makes an estimate of the bandwidth available for the reception of segments, and, depending on the filling of its reception buffer, chooses, for the next segment to load , a quality/version whose bit rate:
- ensures the best possible quality, and,
- allows a reception time compatible with the uninterrupted rendering of the content on the client terminal.

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 client 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 client, chaque segment doit atteindre le terminal 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 varying network conditions, particularly in terms of bandwidth, existing adaptive download solutions allow the client terminal to switch from one version of the content encoded at a certain bit rate, to another encoded at a other speed, 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 client terminal, each segment must reach the 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 restitution 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 rendering terminal must therefore find a compromise between the overall quality of the content, and its uninterrupted rendering, by carefully selecting the next segment to be downloaded, from 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.

De nombreux services de visualisation de ces contenus numériques existent tels que des services de streaming (en français, diffusion en mode continu, ou lecture en continu), 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).There are many services for viewing this digital content, such as streaming services (in French, streaming, or streaming), video on demand (VOD), delayed broadcast of television programs (Replay) , or Network PVR-type offers (for “Network Personal Video Recorder”, ie a digital content recording service performed by the content provider itself rather than at the end user's home).

Un gros problème lié à l’utilisation du téléchargement progressif adaptatif HAS est qu’il est basé sur une transmission de contenus en mode point à point, ce qui entraine inévitablement une charge importante au niveau des plateformes de distribution des contenus et une charge importante sur le réseau de l’opérateur impactant la bande passante offerte par l’opérateur sur son réseau. Plus précisément, les contenus «LIVE» diffusés selon la technique HAS nécessitent une session unique pour chaque utilisateur entre le serveur et le terminal multimédia. Cela nécessite de dimensionner des serveurs de distribution de contenus en conséquence et entraine parfois des interruptions de service quand un contenu «LIVE» est très demandé (évènement sportif comme un match de Football par exemple). La diffusion de contenu en HAS est bien adaptée pour des contenus à la demande (VOD, Replay, …) mais est très consommatrice de ressource réseau (serveur et bande passante) pour des contenus en direct («LIVE»).A big problem with the use of HAS adaptive progressive downloading is that it is based on content transmission in point-to-point mode, which inevitably leads to a heavy load on content distribution platforms and a heavy load on the operator's network impacting the bandwidth offered by the operator on its network. More specifically, “LIVE” content broadcast using the HAS technique requires a single session for each user between the server and the multimedia terminal. This requires sizing content distribution servers accordingly and sometimes leads to service interruptions when "LIVE" content is in high demand (sporting event such as a football match, for example). The distribution of HAS content is well suited for on-demand content (VOD, Replay, etc.) but consumes a lot of network resources (server and bandwidth) for live content (“LIVE”).

Il existe donc un besoin d’une technique permettant de diminuer la consommation de ressources réseaux lors de la diffusion de contenu selon la technologie HAS, tout en conservant une qualité d’images au moins aussi bonne que celles que fournissent les techniques actuelles.There is therefore a need for a technique making it possible to reduce the consumption of network resources during the distribution of content according to the HAS technology, while maintaining an image quality at least as good as that provided by current techniques.

L’inventionThe Invention

L’invention répond à ce besoin en proposant un procédé de transmission d’un contenu à destination d’un terminal de restitution via un réseau de communication, le contenu étant accessible depuis un serveur de contenus sous plusieurs versions associées à des qualités de restitution respectives, une version donnée comprenant respectivement plusieurs segments du contenu, caractérisé en ce qu’il comprend les étapes suivantes dans un dispositif s’intercalant entre le serveur de contenus et le terminal de restitutionThe invention meets this need by proposing a method for transmitting content to a playback terminal via a communication network, the content being accessible from a content server in several versions associated with respective playback qualities. , a given version comprising respectively several segments of the content, characterized in that it comprises the following steps in a device interposed between the content server and the rendering terminal

- une première étape de réception au cours de laquelle le dispositif intermédiaire reçoit du serveur de contenus plusieurs versions d’un même contenu ;- a first reception step during which the intermediate device receives several versions of the same content from the content server;

- une deuxième étape de réception d’une requête d’accès à une version donnée du contenu ;- a second step of receiving a request for access to a given version of the content;

- et une étape de transmission, à destination du terminal de restitution, de segments associés à la version du contenu demandée lors de la deuxième étape de réception.- And a step of transmitting, to the restitution terminal, segments associated with the version of the content requested during the second reception step.

La transmission des requêtes d’accès à un contenu provenant des terminaux de restitution ne s’effectue plus vers le serveur de contenus mais vers un dispositif intermédiaire situé entre le serveur de contenus et le terminal de restitution. On verra dans la suite que la localisation du dispositif intermédiaire sera choisie au plus près du terminal de restitution ; de cette façon, les différentes versions du contenu numérique sont localisés au plus proche de l’utilisateur, sous-entendu du terminal de restitution. La délocalisation de différentes versions d’un contenu dans le dispositif intermédiaire permet de diminuer considérablement la charge du serveur de contenus car la communication n’est plus en mode point à point entre le serveur de contenus et le terminal de restitution comme dans l’état de la technique.The transmission of requests for access to content from rendering terminals no longer takes place to the content server but to an intermediate device located between the content server and the rendering terminal. It will be seen below that the location of the intermediate device will be chosen as close as possible to the restitution terminal; in this way, the different versions of the digital content are located as close as possible to the user, implying the restitution terminal. The relocation of different versions of a content in the intermediate device makes it possible to considerably reduce the load on the content server because the communication is no longer in point-to-point mode between the content server and the rendering terminal as in the state of technique.

Avec l’invention, le serveur de contenus se limite à la transmission de versions d’un même contenu à destination des dispositifs intermédiaires. Le dispositif intermédiaire a en charge quant à lui la transmission d’une version des segments choisie judicieusement pour chaque terminal de restitution. On décrira dans la suite deux modes de réalisation pour la détermination des versions (ou qualités) des segments à transmettre ; un premier mode basé sur la technologie HAS introduite précédemment et dont l’utilisation nécessite un fichier manifest qui sera décrit plus tard ; et un deuxième mode basé sur une autre technologie dans laquelle le terminal de réception comprend un module de réception capable de requérir, sans utilisation d’un fichier manifest, une augmentation, ou une diminution, ou un maintien de la version des segments à transmettre depuis le dispositif intermédiaire.With the invention, the content server is limited to the transmission of versions of the same content to intermediate devices. The intermediate device is in charge of transmitting a version of the segments chosen judiciously for each playback terminal. Two embodiments will be described below for determining the versions (or qualities) of the segments to be transmitted; a first mode based on the HAS technology introduced previously and whose use requires a manifest file which will be described later; and a second mode based on another technology in which the receiving terminal comprises a receiving module capable of requesting, without using a manifest file, an increase, or a decrease, or a maintenance of the version of the segments to be transmitted from the intermediate device.

La localisation choisie pour le dispositif intermédiaire est idéalement un dispositif ayant une fonction de routage de flux de données vers les terminaux de restitution et qui est idéalement capable de créer des groupes d’abonnements permettant de rassembler des utilisateurs souhaitant accéder à un même contenu numérique en même temps, en particulier un contenu «live» tel qu’une chaîne de télévision.The location chosen for the intermediate device is ideally a device having a function of routing data streams to the restitution terminals and which is ideally capable of creating groups of subscriptions making it possible to bring together users wishing to access the same digital content by same time, especially "live" content such as a TV channel.

Selon un premier mode de réalisation, la version choisie pour au moins le premier segment temporel transmis est une version choisie par défaut. Ce premier mode vise à transmettre des premiers segments de préférence d’une version ayant un faible nombre d’octets et donc associée à une faible qualité de restitution. Ce premier mode permet de transmettre les premiers segments assez rapidement, du fait de la petite taille, vers le terminal de restitution concerné, de manière à ce que le ou les premiers segments soient reçus avant leur(s) instant (s) programmé(s) de restitution, respectivement ; la restitution s’effectue dans ce cas sans problème. On verra par la suite que la version des segments transmis varie dans le temps par la suite.According to a first embodiment, the version chosen for at least the first time segment transmitted is a version chosen by default. This first mode aims to transmit first preference segments of a version having a low number of bytes and therefore associated with a low quality of reproduction. This first mode makes it possible to transmit the first segments fairly quickly, due to the small size, to the restitution terminal concerned, so that the first segment(s) are received before their scheduled time(s). ) restitution, respectively; the restitution is carried out in this case without problem. It will subsequently be seen that the version of the segments transmitted varies over time thereafter.

Selon un deuxième mode de réalisation, qui pourra être mis en œuvre alternativement ou cumulativement avec le précédent, le choix de la version d’un segment ultérieur évolue en fonction d’une donnée issue du terminal de restitution, ladite donnée étant issue d’une comparaison entre la durée de transmission d’un segment précédemment transmis et la durée du segment temporel. Ce deuxième mode évite l’utilisation d’un fichier manifest définissant plusieurs versions possibles des segments. Dans ce deuxième mode, le terminal de restitution ne spécifie par une valeur précise d’une version mais une tendance à savoir une augmentation, ou une diminution, ou un maintien de la version pour les segments futurs à transmettre depuis le dispositif intermédiaire.According to a second embodiment, which may be implemented alternatively or cumulatively with the previous one, the choice of the version of a later segment evolves according to data from the restitution terminal, said data being from a comparison between the transmission duration of a previously transmitted segment and the duration of the time segment. This second mode avoids the use of a manifest file defining several possible versions of the segments. In this second mode, the restitution terminal does not specify a precise value of a version but a trend, namely an increase, or a decrease, or a maintenance of the version for the future segments to be transmitted from the intermediate device.

Selon un troisième mode de réalisation, qui pourra être mis en œuvre alternativement ou cumulativement avec les précédents, le contenu reçu lors de la première étape de réception est un contenu transmis en mode multicast. Ce troisième mode de réalisation tire profit des avantages de la diffusion de contenu en multicast tout en permettant grâce à la présence du dispositif intermédiaire de sélectionner la meilleure version du segment temporel à transmettre à destination d’un terminal de restitution.According to a third embodiment, which may be implemented alternatively or cumulatively with the previous ones, the content received during the first reception step is content transmitted in multicast mode. This third embodiment takes advantage of the advantages of multicast content broadcasting while allowing, thanks to the presence of the intermediate device, to select the best version of the time segment to be transmitted to a playback terminal.

Selon un quatrième mode de réalisation, qui pourra être mis en œuvre alternativement ou cumulativement avec les précédents, l’étape de réception est suivie d’une étape de stockage en mémoire des segments reçus du serveur de contenus ; dans ce quatrième mode de réalisation, l’étape de transmission d’un segment temporel d’une version donnée entraîne la suppression dans la mémoire du dispositif intermédiaire des autres versions du segment transmis. Ce deuxième mode permet de supprimer des segments qui ont déjà été restitués et d’augmenter de ce fait l’espace mémoire disponible pour le stockage d’autres segments dans le dispositif intermédiaire.According to a fourth embodiment, which may be implemented alternatively or cumulatively with the previous ones, the reception step is followed by a step of storing in memory the segments received from the content server; in this fourth embodiment, the step of transmitting a time segment of a given version leads to the deletion in the memory of the intermediate device of the other versions of the transmitted segment. This second mode makes it possible to delete segments which have already been restored and thereby to increase the memory space available for storing other segments in the intermediate device.

Selon un premier aspect matériel, l’invention se rapporte à un produit programme d’ordinateur comprenant des instructions de code de programme pour la mise en œuvre d’un procédé de transmission d’un contenu numérique selon le procédé de transmission décrit ci-dessus, lorsqu’il est exécuté par un processeur.According to a first material aspect, the invention relates to a computer program product comprising program code instructions for the implementation of a method for transmitting digital content according to the transmission method described above , when executed by a processor.

Selon un deuxième aspect matériel, l’invention se rapporte à un support d’enregistrement lisible par un ordinateur sur lequel est enregistré un programme d’ordinateur tel que décrit ci-dessus.According to a second material aspect, the invention relates to a recording medium readable by a computer on which is recorded a computer program as described above.

Selon un troisième aspect matériel l’invention se rapporte à un dispositif, dit dispositif intermédiaire, apte à communiquer avec un serveur de contenus et avec des terminaux de restitution via un réseau de communication, un contenu étant accessible depuis le serveur de contenus sous plusieurs versions, une version donnée comprenant respectivement plusieurs segments du contenu,According to a third material aspect, the invention relates to a device, called an intermediate device, capable of communicating with a content server and with rendering terminals via a communication network, a content being accessible from the content server in several versions , a given version comprising respectively several segments of the content,

comprenant :including:

a. un premier module de réception apte à recevoir du serveur de contenus plusieurs versions d’un même contenu ;at. a first reception module capable of receiving several versions of the same content from the content server;

b. un deuxième module de réception apte à recevoir une requête d’accès à une version donnée d’un contenu ;b. a second reception module able to receive a request for access to a given version of a content;

c. un module de transmission apte à transmettre, à destination du terminal de restitution, des segments associés à la version du contenu demandée lors de la de deuxième étape de réception.vs. a transmission module capable of transmitting, to the restitution terminal, segments associated with the version of the content requested during the second reception step.

Selon un deuxième aspect fonctionnel, l’invention se rapporte à un procédé d’accès par un terminal de restitution à un contenu numérique accessible depuis un dispositif, dit dispositif intermédiaire, plusieurs versions différentes du contenu étant accessibles, une version donnée comprenant respectivement plusieurs segments du contenu ayant des durées respectives, caractérisé en ce qu’il comprend les étapes suivantesAccording to a second functional aspect, the invention relates to a method of access by a playback terminal to digital content accessible from a device, called an intermediate device, several different versions of the content being accessible, a given version respectively comprising several segments content having respective durations, characterized in that it comprises the following steps

- une étape de réception au cours de laquelle le dispositif de restitution reçoit un segment d’une version donnée du contenu depuis le dispositif intermédiaire (DI);- a reception step during which the rendering device receives a segment of a given version of the content from the intermediate device (DI);

- une deuxième étape de mesure de la durée de transmission du segment reçu et de comparaison avec la durée du segment temporel,- a second step of measuring the duration of transmission of the segment received and comparing it with the duration of the time segment,

- en fonction du résultat de l’étape de mesure, une étape de transmission ou pas, à destination du dispositif intermédiaire, d’une demande d’accès à une autre version.- depending on the result of the measurement step, a transmission step or not, to the intermediate device, of a request for access to another version.

Selon un quatrième aspect matériel, l’invention se rapporte à un terminal de restitution comprenant de restitution à un contenu numérique accessible depuis un dispositif, dit dispositif intermédiaire, plusieurs versions différentes du contenu étant accessibles, une version donnée comprenant respectivement plusieurs segments du contenu, caractérisé en ce qu’il comprendAccording to a fourth material aspect, the invention relates to a playback terminal comprising playback of digital content accessible from a device, called an intermediate device, several different versions of the content being accessible, a given version respectively comprising several segments of the content, characterized in that it comprises

- un module de réception apte à recevoir un segment d’une version donnée du contenu depuis le dispositif intermédiaire ;- a reception module capable of receiving a segment of a given version of the content from the intermediate device;

- un module de mesure apte à mesurer la durée de transmission du segment reçu et de comparer la durée mesurée avec la durée du segment temporel,- a measurement module able to measure the duration of transmission of the segment received and to compare the duration measured with the duration of the time segment,

- un module de transmission apte à transmettre ou pas, à destination du dispositif intermédiaire, une demande d’accès à une autre version en fonction du résultat de l’étape de mesure.- a transmission module capable of transmitting or not, to the intermediate device, a request for access to another version depending on the result of the measurement step.

Selon un cinquième aspect matériel, l’invention se rapporte à un produit programme d’ordinateur comprenant des instructions de code de programme pour la mise en œuvre d’un procédé d’accès défini ci-dessus, lorsqu’il est exécuté par un processeur.According to a fifth material aspect, the invention relates to a computer program product comprising program code instructions for the implementation of an access method defined above, when it is executed by a processor .

Selon un quatrième aspect matériel, l’invention se rapporte à un support d’enregistrement lisible par un ordinateur sur lequel est enregistré un programme d’ordinateur défini ci-dessus.According to a fourth material aspect, the invention relates to a recording medium readable by a computer on which is recorded a computer program defined above.

Le dispositif intermédiaire, le dispositif de restitution, et les programme d’ordinateur /supports d’enregistrement correspondants précités présentent au moins les mêmes avantages que ceux conférés par le procédé de transmission selon les différents modes de réalisation de la présente invention.The intermediate device, the rendering device, and the aforementioned corresponding computer programs/recording media have at least the same advantages as those conferred by the transmission method according to the various embodiments of the present invention.

Brève description des figuresBrief description of figures

D'autres buts, caractéristiques et avantages de l'invention apparaîtront plus clairement à la lecture de la description suivante, donnée à titre de simple exemple illustratif, et non limitatif, en relation avec les figures, parmi lesquelles :Other aims, characteristics and advantages of the invention will appear more clearly on reading the following description, given by way of a simple illustrative example, and not limiting, in relation to the figures, among which:

représente une architecture de téléchargement progressif sur Internet basée sur l’utilisation du téléchargement progressif adaptatif selon l’invention; shows an internet progressive downloading architecture based on the use of adaptive progressive downloading according to the invention;

illustre de façon schématique la structure matérielle d’un dispositif de restitution selon un mode de réalisation de l’invention; schematically illustrates the hardware structure of a playback device according to one embodiment of the invention;

illustre de façon schématique plusieurs versions d’un même contenu selon un mode de réalisation. schematically illustrates several versions of the same content according to one embodiment.

illustre de façon schématique la structure matérielle d’un dispositif de restitution selon un mode de réalisation de l’invention; schematically illustrates the hardware structure of a playback device according to one embodiment of the invention;

illustre un mode de réalisation dans lequel des segments correspondants à un segment transmit sont supprimés du dispositif intermédiaire pour augmenter l’espace mémoire disponible dans le dispositif intermédiaire. illustrates an embodiment in which segments corresponding to a transmitted segment are deleted from the intermediate device to increase the memory space available in the intermediate device.

illustre de façon schématique un autre mode de réalisation dans un système informatique comprenant plusieurs dispositifs intermédiaires. schematically illustrates another embodiment in a computer system comprising several intermediate devices.

Description détaillée de l'inventionDetailed description of the invention

On présente désormais, en relation avec la figure 1, un exemple de système informatique dans lequel l’invention peut être mise en œuvre.We now present, in relation to FIG. 1, an example of a computer system in which the invention can be implemented.

Ce système comprend plusieurs terminaux de restitution : Un terminal 3, par exemple un téléphone intelligent de type « Smartphone », un terminal 4, par exemple un ordinateur portable, et un terminal 8, par exemple une clef HDMI connectée à un téléviseur 5. Ces terminaux de restitution, appelés aussi terminaux clients, se trouvent dans cet exemple situé dans un réseau local (LAN, 10) piloté par une passerelle domestique 6. 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.This system comprises several restitution terminals: A terminal 3, for example a smart phone of the "Smartphone" type, a terminal 4, for example a laptop computer, and a terminal 8, for example an HDMI key connected to a television 5. These restitution terminals, also called client terminals, are in this example located in a local area network (LAN, 10) controlled by a home gateway 6. The context of the local area network is given by way of example and could easily be transposed to a Internet network of the "best effort" type, a corporate network, etc.

Un serveur de contenus numériques 2 se trouve selon cet exemple dans le réseau étendu (WAN, 1). Le serveur de contenus 2 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.A digital content server 2 is located according to this example in the wide area network (WAN, 1). The content server 2 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 l’art antérieur, les terminaux 3, 4 et 8 peuvent entrer en communication avec le serveur de contenus 2 pour recevoir un ou plusieurs contenus (films, documentaires, séquences publicitaires, etc.). En général, un terminal émet une requête à destination d’un serveur de contenus 2, en indiquant le contenu choisi et il reçoit en retour un flux de données numériques relatives à ce contenu. Dans le cadre d’un réseau de communication local, une telle requête transite par la passerelle d’accès au réseau, par exemple la passerelle résidentielle.In the prior art, the terminals 3, 4 and 8 can enter into communication with the content server 2 to receive one or more contents (films, documentaries, advertising sequences, etc.). In general, a terminal sends a request to a content server 2, indicating the chosen content and it receives in return a stream of digital data relating to this content. In the context of a local communication network, such a request passes through the network access gateway, for example the residential gateway.

Le terminal de restitution est adapté pour recevoir ces contenus numériques sous forme de données multimédia et pour en faire une restitution. Cette restitution consiste à fournir au niveau du terminal le contenu numérique sous une forme accessible à l’utilisateur. Par exemple, des données reçues correspondant à une vidéo sont généralement décodées, puis restituées au niveau du terminal sous la forme d’un affichage de la vidéo correspondante avec sa bande-son associée.The rendering terminal is suitable for receiving these digital contents in the form of multimedia data and for rendering them. This restitution consists of providing the terminal with the digital content in a form accessible to the user. For example, received data corresponding to a video are generally decoded, then restored at the terminal level in the form of a display of the corresponding video with its associated soundtrack.

Il est fréquent, dans ce contexte client-serveur, de recourir, pour transmettre les données aux terminaux client 3, 4 et 8, à 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 3, 4 et 8 et la passerelle de services 6, ou entre cette dernière et le serveur de contenus 2.It is common, in this client-server context, to use, to transmit the data to the client terminals 3, 4 and 8, an adaptive progressive downloading technique, in English “adaptive streaming”, abbreviated as HAS based on the HTTP protocol. . This type of technique makes it possible in particular to offer a good quality of content to the user by taking into account the variations in bandwidth which may occur on the link between the client terminal 3, 4 and 8 and the service gateway 6, or between the latter and the content server 2.

Classiquement, différentes qualités peuvent être encodées pour le même contenu d’une chaîne, correspondant par exemple à différents débits. 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, parfois aussi de version ou de représentation. Chaque niveau de qualité est lui-même découpé sur le serveur de contenus en segments temporels (en anglais « chunks »), ces deux mots étant utilisés indifféremment dans l’ensemble de ce document).Conventionally, different qualities can be encoded for the same content of a channel, corresponding for example to different bitrates. 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 bit rate, sometimes also of version or representation. Each quality level is itself cut on the content server into time segments (“chunks”), these two 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, sont décrits pour 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. 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, are described for 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, called a description file or 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.

Ces segments ou « chunks » comprennent un ensemble de données représentatives du contenu. Dans l’exemple d’une vidéo, chaque « chunk » de la vidéo comprend notamment une première image dite image « I », ou intra, et une ou plusieurs images qui peuvent être prédites à partir de cette image I par estimation/compensation de mouvement.These segments or “chunks” comprise a set of data representative of the content. In the example of a video, each “chunk” of the video notably comprises a first image called an “I” image, or intra, and one or more images which can be predicted from this I image by estimation/compensation of movement.

Les terminaux 3, 4 et 8 possèdent leurs propres caractéristiques en termes de capacité de décodage, d’affichage, etc. Dans un contexte de téléchargement adaptatif progressif, ils peuvent adapter leurs requêtes pour recevoir et décoder le contenu demandé par l’utilisateur à la qualité qui leur correspond au mieux. Dans notre exemple, si les contenus sont disponibles aux débits 512 kb/s (kilobits par seconde) (Résolution 1, ou niveau 1, noté D1), 1024 kb/s (D2), 2048 kb/s (D3) et que le terminal client dispose d’une bande passante de 3000 kb/s, il peut demander le contenu à n’importe quel débit inférieur à cette limite, par exemple 2048 kb/s. De manière générale, on note « Ci@Dj » le contenu numéro i avec la qualité j (par exemple le j-ième niveau Dj de qualité décrit dans le fichier de description).Terminals 3, 4 and 8 have their own characteristics in terms of decoding capability, display, etc. In a context of progressive adaptive downloading, they can adapt their requests to receive and decode the content requested by the user at the quality that suits them best. In our example, if the content is available at bit rates of 512 kb/s (kilobits per second) (Resolution 1, or level 1, denoted D1), 1024 kb/s (D2), 2048 kb/s (D3) and the client terminal has a bandwidth of 3000 kb/s, it can request the content at any rate below this limit, for example 2048 kb/s. In general, “Ci@Dj” denotes the content number i with the quality j (for example the j-th quality level Dj described in the description file).

La passerelle de service 6 est dans cet exemple une passerelle domestique qui assure le routage des données entre le réseau étendu 1 et le réseau local 10, gère les contenus numériques en assurant notamment leur réception en provenance du réseau et leur décodage grâce à un lecteur de flux multimédia (non représenté), aussi appelé décodeur que l’on suppose ici intégré aux terminaux clients 3, 4 et 8.The service gateway 6 is in this example a home gateway which ensures the routing of data between the extended network 1 and the local network 10, manages the digital contents by ensuring in particular their reception from the network and their decoding thanks to a reader of multimedia stream (not shown), also called a decoder which is assumed here to be integrated into client terminals 3, 4 and 8.

Dans cet exemple, pour visualiser un contenu avec la technique HAS, le terminal 3, 4 ou 8 interroge tout d’abord la passerelle de service 6 pour obtenir une adresse du document de description 7 du contenu (par exemple, C1) souhaité. La passerelle de service 6 répond en fournissant au terminal l’adresse du fichier de description 7. 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 with the HAS technique, the terminal 3, 4 or 8 first interrogates the service gateway 6 to obtain an address of the description document 7 of the desired content (for example, C1). The service gateway 6 responds by providing the terminal with the address of the description file 7. In what follows, it will be assumed that this file is a manifest type file according to the MPEG-DASH standard (denoted “C.mpd”) and will refer interchangeably, 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 (D1 = 512 kb/s, D2 = 1024 kb/s, D3 = 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 :
- « C1_512kb_1.mp4 » pour le premier segment du contenu « C1 » à 512 kilobits par seconde (« kb ») au format MPEG-4 (« mp4 »),
- « C1_512kb_2.mp4 » pour le second segment,
- etc.
An example of a manifest file (MPD) conforming to the MPEG-DASH standard and comprising the description of content available in three different qualities (D1 = 512 kb/s, D2 = 1024 kb/s, D3 = 2048 kb/s) of content segments 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" for the first segment of the "C1" content at 512 kilobits per second ("kb") in MPEG-4 format ("mp4"),
- “C1_512kb_2.mp4” for the second segment,
- etc

Une fois qu’elle dispose des adresses de segments correspondant au contenu souhaité, la passerelle de service 6 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 service gateway 6 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).

Les terminaux 3, 4 ou le téléviseur 5, par exemple via sa connexion à une clef HDMI 8 par branchement sur son port HDMI, sont utilisés pour restituer un contenu numérique tel qu’un programme télévisuel diffusé en direct («live») ou en différé, une vidéo à la demande, etc. 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 7.The terminals 3, 4 or the television set 5, for example via its connection to an HDMI key 8 by plugging into its HDMI port, are used to reproduce digital content such as a television program broadcast live ("live") or in deferred, video on demand, etc. Subsequently, this television program is referred to as content C1. Such C1 content is described in a manifest 7 file.

Dans un exemple, un utilisateur souhaite visualiser un contenu multimédia, tel qu’une émission de télévision, sur son téléviseur 5 connecté à une clé HDMI 8. La clef HDMI 8 est connectée en WiFi® directement à la passerelle résidentielle 6. En variante, la clef HDMI 8 pourrait également être connectée en WiFi® à un autre périphérique nomade du réseau domestique, par exemple à l’ordinateur portable 4 ou au téléphone intelligent 3, par l’intermédiaire duquel elle pourrait accéder au réseau de communication étendu 1.In one example, a user wishes to view multimedia content, such as a television program, on his television set 5 connected to an HDMI key 8. The HDMI key 8 is connected via WiFi® directly to the residential gateway 6. Alternatively, the HDMI key 8 could also be connected via WiFi® to another nomadic peripheral of the home network, for example to the laptop computer 4 or to the smart telephone 3, via which it could access the extended communication network 1.

La clef HDMI 8 peut également être pilotée par l’utilisateur au moyen du téléphone intelligent 3, sur lequel est installée une application logicielle de commande de la clef HDMI 8.The HDMI key 8 can also be controlled by the user by means of the smartphone 3, on which a software application for controlling the HDMI key 8 is installed.

Les segments de contenu obtenus par la passerelle résidentielle 6 sont par exemple transmis en WiFi® à la clef HDMI 8, qui pilote leur affichage sur l’écran du téléviseur 5, pour restitution à l’utilisateur après décodage par un lecteur de flux multimédia 9.The content segments obtained by the residential gateway 6 are for example transmitted via WiFi® to the HDMI key 8, which controls their display on the television screen 5, for restitution to the user after decoding by a multimedia stream player 9 .

La figure 2 représente une architecture d’un dispositif de restitution selon un mode de réalisation de l’invention. Ce dispositif 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. Dans le mode de réalisation, le dispositif de restitution 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 7. Dans un second mode de réalisation, on verra que ce module HAS peut être remplacé par un module de réception.FIG. 2 represents an architecture of a playback device according to one embodiment of the invention. This device conventionally comprises memories M associated with a processor CPU. The memories can be of the ROM ( Read Only Memory ) or RAM ( Random Access Memory ) type, or else Flash. In the embodiment, the rendering device comprises an HAS adaptive progressive downloading module, capable of requesting a progressive downloading of one of the contents at one of the qualities offered in a description file 7. In a second mode of realization, it will be seen that this HAS module can be replaced by a reception module.

Le fichier de description 7 peut être enregistré par exemple dans les mémoires M du lecteur de flux multimédia 9 ou se trouver à l’extérieur.The description file 7 can be recorded for example in the memories M of the multimedia stream player 9 or can be located outside.

Le dispositif de restitution peut aussi contenir d’autres modules (non représentés) comme un disque dur 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 d’une tablette, d’un Smartphone, ou d’une télécommande, grâce à laquelle l’utilisateur peut en contrôler le fonctionnement, etc.The playback device can also contain other modules (not shown) such as a hard disk for storing video segments, a content access control module, a module for processing commands received from a tablet, a Smartphone, or a remote control, thanks to which the user can control its operation, etc.

On notera que le terme module 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.).It will be noted that the term module can correspond both to a software component and to a hardware component or a set of hardware and software components, a software component itself corresponding to one or more programs or computer 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. .).

Comme indiqué précédemment, dans l’art antérieur, les terminaux clients 3, 4 et 8 peuvent entrer en communication avec le serveur de contenus 2 pour recevoir un ou plusieurs contenus (films, documentaires, séquences publicitaires, etc.). En général, un terminal émet une requête à destination d’un serveur de contenus, en indiquant le contenu choisi et il reçoit en retour un flux de données numériques relatives à ce contenu. Un gros problème lié à l’utilisation de la technologie HAS est qu’elle est basée sur des connections point à point qui entrainent inévitablement une charge importante sur le serveur de contenus et sur le réseau de l’opérateur comme expliqué ci-dessus. A la différence des contenus «LIVE» diffusé en multicast dont les flux de données associés sont répliqués au plus proche du consommateur, les contenus diffusés en HAS nécessitent une session unique pour chaque utilisateur. Cela nécessite de dimensionner des serveurs de distribution de contenus en conséquence.As indicated previously, in the prior art, the client terminals 3, 4 and 8 can enter into communication with the content server 2 to receive one or more contents (films, documentaries, advertising sequences, etc.). In general, a terminal sends a request to a content server, indicating the chosen content and it receives in return a stream of digital data relating to this content. A big problem with the use of HAS technology is that it is based on point-to-point connections which inevitably lead to a heavy load on the content server and on the operator's network as explained above. Unlike "LIVE" content broadcast in multicast, the associated data streams of which are replicated as close as possible to the consumer, content broadcast in HAS requires a single session for each user. This requires sizing content distribution servers accordingly.

Pour résoudre ce problème, le système de l’invention comprend un dispositif DI, appelé dans la suite dispositif intermédiaire, qui s’intercale sur le réseau entre le serveur de contenu 2 et le ou les terminaux de restitution 3, 4 et 8. On verra dans la suite dans plusieurs modes de réalisation que le système peut comprendre un ou plusieurs dispositifs intermédiaires.To solve this problem, the system of the invention comprises a device DI, called in the following intermediate device, which is inserted on the network between the content server 2 and the rendering terminal(s) 3, 4 and 8. will see below in several embodiments that the system can include one or more intermediate devices.

Selon l’invention, la transmission d’un contenu numérique selon l’invention s’effectue en deux phases.According to the invention, the transmission of a digital content according to the invention takes place in two phases.

Le dispositif intermédiaire DI reçoit depuis le serveur de contenus 2, lors d’une première phase, plusieurs versions d’un même contenu, les versions étant associées respectivement à des qualités de restitution respectives.The intermediate device DI receives from the content server 2, during a first phase, several versions of the same content, the versions being respectively associated with respective restitution qualities.

Lors d’une deuxième phase, le dispositif intermédiaire DI fournit la version du contenu au terminal de restitution la plus adapté à l’environnement du terminal de restitution.During a second phase, the intermediate device DI provides the version of the content to the rendering terminal that is most suited to the environment of the rendering terminal.

Deux modes de réalisations vont être décrits ci-dessous. Un premier mode sera décrit dans lequel le module de réception installé dans le terminal de restitution est un module de téléchargement progressif adaptatif HAS comme décrit ci-dessus, et dans lequel un fichier manifest est utilisé. Un deuxième mode sera décrit dans lequel le module est un mode de réception qui n’utilise pas de fichier manifest comme cela sera expliqué ci-dessous. Dans ce deuxième mode, pour déterminer la version des segments ultérieurs, le module de réception mesure le temps de transmission d’un segment depuis le serveur de contenus 2 jusqu’au terminal de restitution concerné et compare ensuite ce temps de réception à la durée du segment. En fonction du résultat, le terminal requiert, auprès du dispositif intermédiaire auquel il est relié, une autre version pour les segments suivants ou un maintien de la version.Two embodiments will be described below. A first mode will be described in which the reception module installed in the rendering terminal is an HAS adaptive progressive download module as described above, and in which a manifest file is used. A second mode will be described in which the module is a receive mode that does not use a manifest file as will be explained below. In this second mode, to determine the version of the subsequent segments, the reception module measures the transmission time of a segment from the content server 2 to the restitution terminal concerned and then compares this reception time with the duration of the segment. Depending on the result, the terminal requests, from the intermediate device to which it is connected, another version for the following segments or a maintenance of the version.

Selon le premier mode de réalisation, le module de téléchargement progressif adaptatif HAS présent dans le terminal de restitution requiert au dispositif intermédiaire DI le téléchargement progressif de l’un des contenus à l’une des qualités proposées dans un fichier de description 7.According to the first embodiment, the adaptive progressive download module HAS present in the restitution terminal requests the intermediate device DI to progressively download one of the contents to one of the qualities offered in a description file 7.

Dans la suite, afin de simplifier l’exposé, un seul contenu numérique C1 sera considéré pour illustrer un accès. L’invention ne se limite pas à ce cet exemple mais s’étend au contraire à un nombre indéterminé de contenus.In the following, in order to simplify the presentation, a single digital content C1 will be considered to illustrate an access. The invention is not limited to this example but, on the contrary, extends to an indeterminate number of contents.

D’une manière générale, à un contenu correspond un ensemble de segments C1i@Dj encodés à différents débits d’encodage Dj, où l’indice i désigne un identifiant temporel, ou position, du « chunk » C1i@Dj dans le contenu numérique.In general, a content corresponds to a set of segments C1i@Dj encoded at different encoding rates Dj, where the index i designates a temporal identifier, or position, of the "chunk" C1i@Dj in the digital content .

Lors de la première phase, le serveur de contenus numériques 2 transmet différentes versions d’un même contenu numérique, les versions étant associées à des versions différentes du contenu numérique considéré. Plus précisément, dans notre exemple, en référence à la figure 1, le serveur de contenus 2 transmet une première version C1/500 du contenu numérique ; cette première version avec D1 égal à 500kb/s du contenu numérique inclus un ensemble de segments C1i@D1 encodés à un premier débit d’encodage D1, où l’indice i désigne un identifiant temporel, ou position, du « chunk » C1i@D1.During the first phase, the digital content server 2 transmits different versions of the same digital content, the versions being associated with different versions of the digital content considered. More precisely, in our example, with reference to FIG. 1, the content server 2 transmits a first version C1/500 of the digital content; this first version with D1 equal to 500kb/s of the digital content includes a set of segments C1i@D1 encoded at a first encoding rate D1, where the index i designates a temporal identifier, or position, of the “chunk” C1i@ D1.

En référence à la figure 1, le serveur de contenus 2 transmet aussi de la même manière une deuxième version C1/1000, une troisième version C1/2000, une quatrième version C1/3000 et une cinquième version C1/5000 de ce même contenu C1.Referring to Figure 1, the content server 2 also transmits in the same way a second version C1/1000, a third version C1/2000, a fourth version C1/3000 and a fifth version C1/5000 of this same content C1 .

L’ensemble des segments transmis est illustré sur la figure 3. Cet ensemble est représenté sous forme de matrice C1i@Dj, Dj correspondant au débit d’encodage et l’indice i désigne un identifiant temporel, ou position, du segment C1i@Dj dans le contenu C1.The set of segments transmitted is illustrated in FIG. 3. This set is represented in the form of a matrix C1i@Dj, Dj corresponding to the encoding rate and the index i designates a temporal identifier, or position, of the segment C1i@Dj in C1 content.

Plus précisément, le dispositif intermédiaire DI reçoit et stocke une voire plusieurs matrices en fonction du nombre de contenu Ck à stocker. Dans cette configuration les différentes matrices seront Cki@Dj, l’indice k désignant un contenu particulier.More specifically, the intermediate device DI receives and stores one or even several matrices depending on the number of contents Ck to be stored. In this configuration the different matrices will be Cki@Dj, the index k designating a particular content.

Dans un exemple illustré par la suite en relation avec la figure 3, le contenu C1 est par exemple proposé sous forme de segments de durée 2s, avec un premier débit d’encodage D1 = 500 kb/s, un deuxième débit d’encodage D2 = 1000 kb/s, un troisième débit d’encodage D3 = 2000 kb/s, etc.In an example illustrated below in relation to FIG. 3, the content C1 is for example offered in the form of segments of duration 2s, with a first encoding rate D1 = 500 kb/s, a second encoding rate D2 = 1000 kb/s, a third encoding rate D3 = 2000 kb/s, etc.

Le dispositif intermédiaire DI reçoit l’ensemble des segments décrits ci-dessus. En outre, dans notre exemple, le dispositif intermédiaire DI stocke le fichier manifest décrit ci-dessus et le transmet à un terminal de resttution lors de la réception d’une demande d’accès au contenu associé au manifest.The intermediate device DI receives all the segments described above. Also, in our example, the intermediate device DI stores the manifest file described above and forwards it to a rendering terminal upon receiving a request to access the content associated with the manifest.

Dans cet exemple, un utilisateur souhaite visualiser un contenu numérique C1, comme une vidéo, sur son téléviseur 5 connecté à une clé HDMI 8.In this example, a user wishes to view digital content C1, such as a video, on his television 5 connected to an HDMI key 8.

Afin de visualiser une vidéo, lors d’une première étape ET1, une requête d’accès REQ(C1) au contenu C1 est transmise par le terminal 8 à destination du dispositif intermédiaire DI. Dans notre exemple, cette requête transite par la passerelle 6.In order to view a video, during a first step ET1, an access request REQ(C1) to the content C1 is transmitted by the terminal 8 to the intermediate device DI. In our example, this request goes through gateway 6.

Lors d’une deuxième étape, une requête d’accès REQ’(C1), identique ou pas à la requête transmise à la première étape, est transmise au serveur de contenus 2 qui télécharge en retour différentes versions du contenu dans le dispositif intermédiaire DI. Cette étape peut aussi être précédée d’une étape de vérification au cours de laquelle le terminal de restitution vérifie si le contenu demandé est déjà en cours de transmission vers un autre terminal de restitution auquel cas le dispositif intermédiaire DI ne réalise pas la deuxième étape mais requiert à la place au dispositif intermédiaire DI une transmission du contenu vers le terminal 8.During a second step, an access request REQ'(C1), identical or not to the request transmitted in the first step, is transmitted to the content server 2 which downloads in return different versions of the content into the intermediate device DI . This step can also be preceded by a verification step during which the restitution terminal verifies whether the requested content is already being transmitted to another restitution terminal, in which case the intermediate device DI does not carry out the second step but instead requires the intermediate device DI to transmit the content to the terminal 8.

A noter que la requête transmise à la première étape aurait pu être transmise directement au serveur de contenus 2. Cette requête pourrait transiter ou pas par le dispositif intermédiaire DI.It should be noted that the request transmitted in the first step could have been transmitted directly to the content server 2. This request may or may not pass through the intermediate device DI.

A noter aussi que l’ordre d’exécution des deux premières étapes est indifférent. En d’autres mots, le téléchargement du contenu dans le dispositif intermédiaire DI peut aussi se faire avant réception d’une requête d’accès ou après réception de la requête d’accès.Note also that the order of execution of the first two steps is irrelevant. In other words, the downloading of the content in the intermediate device DI can also be done before reception of an access request or after reception of the access request.

Lors d’une troisième étape, le dispositif intermédiaire DI transmet en réponse à cette requête un flux de données représentatif du contenu choisi.During a third step, the intermediate device DI transmits in response to this request a data stream representative of the chosen content.

Comme indiqué précédemment, le dispositif intermédiaire DI expose le contenu C1 sous forme de segments, ou « chunks » C1i@Dj encodés à différents débits d’encodage Dj, où l’indice i désigne un identifiant temporel, ou position, du « chunk » C1i@Dj.As indicated previously, the intermediate device DI exposes the content C1 in the form of segments, or “chunks” C1 i @Dj encoded at different encoding bit rates Dj, where the index i designates a temporal identifier, or position, of the “chunk » C1 i @Dj.

Le dispositif intermédiaire DI transmet ensuite des segments à choisissant un débit Dj. On verra dans la suite que les premiers segments sont transmis avec un débit faible, 500kb/s dans notre exemple.The intermediate device DI then transmits segments at a rate Dj. We will see below that the first segments are transmitted with a low bit rate, 500 kb/s in our example.

Ce flux de données est récupéré par le module HAS du terminal de restitution, par exemple la clé HDMI 8 qui en pilote la restitution sur le téléviseur 5 pour une visualisation par l’utilisateur.This data stream is recovered by the HAS module of the restitution terminal, for example the HDMI key 8 which controls the restitution on the television set 5 for viewing by the user.

En général, un module HAS est chargé de venir récupérer les segments temporels auprès du dispositif intermédiaire DI en choisissant la qualité vidéo Dj en fonction de la ressource réseau disponible comme expliqué précédemment. On ne décrit pas ici plus en détail la façon dont le module client 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 manifest, et sur l’évaluation du temps de récupération de ce premier segment. Sur cette base, le module client 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.In general, a HAS module is responsible for recovering the time segments from the intermediate device DI by choosing the video quality Dj according to the available network resource as explained above. We will not describe here in more detail the way in which the HAS client module chooses the encoding rate of the next video segment to be downloaded: there are in fact many algorithms allowing this choice to be made, the strategies of which are more or less secure. 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, and on the evaluation of the recovery time of this first segment. . Based on this, the HAS client module evaluates whether, given 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 un cas classique, si un segment temporel vidéo dure 2 secondes, la récupération du segment par le module HAS ne doit pas excéder 2 secondes afin de permettre une restitution sans interruption du contenu. Il convient donc pour le module 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 5 par exemple.In a classic case, if a video time segment lasts 2 seconds, the recovery of the segment by the HAS module must not exceed 2 seconds in order to allow restitution without interruption of the content. It is therefore appropriate for the HAS 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 restitution in continuously on the TV 5 for example.

Au cours d’une cinquième étape ET5, le module HAS du terminal de restitution 8 récupère le fichier manifest 7 afin de découvrir les segments disponibles du contenu vidéo C1, et les différentes qualités vidéo Dj associées.During a fifth step ET5, the HAS module of the restitution terminal 8 retrieves the manifest file 7 in order to discover the available segments of the video content C1, and the various associated video qualities Dj.

Dans un exemple, non illustré, le module HAS opère lors d’une sixième étape ET6 le téléchargement par exemple, des segments successifs C11@D1 (soit le premier segment temporel à un débit d’encodage de 500 kb/s), puis C12@D3 (soit le deuxième segment temporel à un débit d’encodage de 2000 kb/s), puis C13@D3 (soit le troisième segment temporel à un débit d’encodage de 2000 kb/s), etc.In an example, not illustrated, the HAS module operates during a sixth step ET6 the downloading, for example, of successive segments C1 1 @D1 (i.e. the first time segment at an encoding rate of 500 kb/s), then C1 2 @D3 (i.e. the second time segment at an encoding rate of 2000 kb/s), then C1 3 @D3 (i.e. the third time segment at an encoding rate of 2000 kb/s), etc.

Les différents segments téléchargés par le module client HAS sont transmis au téléviseur 5 via la clé HDMI 8 par exemple pour leur restitution à l’utilisateur.The various segments downloaded by the HAS client module are transmitted to the television set 5 via the HDMI key 8 for example for their restitution to the user.

L’algorithme mis en œuvre par le module client HAS pour déterminer quel segment à quel débit d’encodage doit être téléchargé 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 client module to determine which segment at which encoding bitrate should be downloaded can be one of the already existing algorithms of the prior art. This algorithm will therefore not be described here in more detail.

Selon une variante possible le serveur de contenus transmet les segments en mode multicast. Ce mode tire profit des avantages de la diffusion de contenus en multicast tout en permettant grâce au dispositif intermédiaire DI d’adapter le contenu à chaque client. Cette variante consiste donc à répliquer les segments vidéo, de préférence au plus proche des terminaux de restitution, afin de diminuer la charge au niveau du serveur de contenus et sur e réseau de communication ; et conserver l’adaptation du contenu aux contraintes du réseau d’accès au niveau des terminaux de restitution.According to a possible variant, the content server transmits the segments in multicast mode. This mode takes advantage of the advantages of multicast content distribution while allowing, thanks to the intermediate device DI, to adapt the content to each client. This variant therefore consists in replicating the video segments, preferably as close as possible to the playback terminals, in order to reduce the load on the content server and on the communication network; and keep the adaptation of the content to the constraints of the access network at the level of the restitution terminals.

Selon un deuxième mode de réalisation pouvant être utilisé seul ou en combinaison avec le premier mode de réalisation, un module de réception peut être utilisé en lieu et place du module de téléchargement progressif adaptatif HAS. Dans notre exemple, contrairement au module HAS, le module de réception ne dispose pas de fichier manifest. De manière à déterminer la version des segments à télécharger, le module de réception mesure le temps de récupération d’un segment depuis le serveur de contenus et compare ce temps de récupération à la durée du segment temporel ; et en fonction du résultat de la comparaison, le module de réception décide de requérir une modification (diminution ou augmentation) de la qualité de restitution des segments, sous-entendu de la version des segments ultérieurs.According to a second embodiment which can be used alone or in combination with the first embodiment, a reception module can be used instead of the HAS adaptive progressive download module. In our example, unlike the HAS module, the receiving module does not have a manifest file. In order to determine the version of the segments to be downloaded, the reception module measures the retrieval time of a segment from the content server and compares this retrieval time to the duration of the time segment; and depending on the result of the comparison, the reception module decides to request a modification (reduction or increase) of the quality of restitution of the segments, implied by the version of the subsequent segments.

A noter que dans notre exemple, un maintien d’une version ne nécessite pas de transmission d’une requête à destination du dispositif intermédiaire, seules l’augmentation et la diminution de la version nécessite une requête à destination du dispositif intermédiaire DI.Note that in our example, maintaining a version does not require the transmission of a request to the intermediate device, only the increase and decrease of the version requires a request to the intermediate device DI.

Le dispositif intermédiaire DI est idéalement un routeur apte à router des flux de données vers le terminaux de restitution et apte à former des groupes d’utilisateurs (sous-entendu des terminaux de restitution ou réseaux locaux) vers qui un même contenu numérique peut être transmis ; Dans cette configuration, de manière à recevoir un contenu numérique tel qu’un contenu en direct ou «live», un ou plusieurs utilisateurs s’abonnent à un groupe sur le dispositif intermédiaire DI. Les terminaux de restitution d’un même groupe vont alors télécharger, depuis le dispositif intermédiaire DI, les segments du contenu de différentes qualités.The intermediate device DI is ideally a router capable of routing data streams to the restitution terminals and capable of forming groups of users (implying restitution terminals or local networks) to which the same digital content can be transmitted ; In this configuration, in order to receive digital content such as live or “live” content, one or more users subscribe to a group on the intermediate device DI. The rendering terminals of the same group will then download, from the intermediate device DI, the content segments of different qualities.

Le dispositif intermédiaire DI se charge de répliquer les segments vers les différents utilisateurs d’un même groupe ayant demandé un accès au même contenu et transmet les segments avec une version demandée par le ou les modules de réception concernés comme indiqué ci-dessus.The intermediate device DI is responsible for replicating the segments to the different users of the same group who have requested access to the same content and transmits the segments with a version requested by the reception module(s) concerned as indicated above.

Aussi, lorsque le contenu est un contenu « Live », le dispositif intermédiaire DI stocke dans une mémoire tampon quelques secondes du contenu de façon à pouvoir répliquer les segments temporels vers les différents terminaux de restitution et distribuer les qualités optimales en fonction des besoins des terminaux de restitution. Ce stockage de segments dans une mémoire tampon est nécessaire pour fournir les segments au terminal de restitution, ce dernier stockant aussi quelques secondes dans une mémoire tampon les segments qu’il va restituer. Par exemple, sur un décodeur du type « Clé TV », la consultation d’un contenu «live» nécessite le stockage de segments vidéos sur une quinzaine de secondes. Ce stockage en mémoire tampon dans le terminal de restitution permet de gérer les perturbations possibles de débit sur le réseau.Also, when the content is “Live” content, the intermediate device DI stores a few seconds of content in a buffer memory so as to be able to replicate the time segments to the various rendering terminals and distribute the optimum qualities according to the needs of the terminals of restitution. This storage of segments in a buffer memory is necessary to supply the segments to the rendering terminal, the latter also storing for a few seconds in a buffer memory the segments that it is going to render. For example, on a “TV Key” type decoder, viewing “live” content requires the storage of video segments over about fifteen seconds. This storage in a buffer memory in the restitution terminal makes it possible to manage the possible disturbances of flow on the network.

Selon une variante, la mise en œuvre du procédé de l’invention est conditionnée à la réception d’un nombre minimum de requêtes d’accès au même contenu.According to a variant, the implementation of the method of the invention is conditional on the reception of a minimum number of requests for access to the same content.

En référence à la figure 5, la réception d’une requête d’accès à un segment temporel d’une version donnée, par exemple C1N@D1000, entraîne la suppression des autres versions du même segment de la mémoire du dispositif intermédiaire, à savoir C1N@D500, C1N@D2000, C1N@D3000, et C1N@D5000. Cette caractéristique permet de gagner de l’espace mémoire dans le dispositif intermédiaire DI dès réception d’une requête d’accès à un segment.With reference to FIG. 5, the reception of a request for access to a time segment of a given version, for example C1N@D1000, leads to the deletion of the other versions of the same segment from the memory of the intermediate device, namely C1N@D500, C1N@D2000, C1N@D3000, and C1N@D5000. This feature saves memory space in the intermediate device DI upon receipt of a request for access to a segment.

La figure 6 illustre un autre mode de réalisation incluant deux dispositifs intermédiaires DI1 et DI2. Cet autre mode peut être utilisé seul ou en combinaison avec l’un des modes de réalisation décrits ci-dessus. On choisit ici d’illustrer ce troisième mode en utilisant le deuxième mode décrit ci-dessus c’est-à-dire celui utilisant un module de réception n’ayant pas à dispositif un fichier manifest. Dans ce troisième mode, les dispositifs intermédiaires DI1 et DI2 sont reliés à des réseaux locaux 10-1 et 10-2, respectivement. Le réseau local 10-1 comprend un seul terminal de restitution TRM, le réseau local 10-2 comprend plusieurs terminaux de restitution TRM1-TRM5.FIG. 6 illustrates another embodiment including two intermediate devices DI1 and DI2. This other mode can be used alone or in combination with one of the embodiments described above. We choose here to illustrate this third mode by using the second mode described above, i.e. the one using a reception module that does not have a manifest file as a device. In this third mode, the intermediate devices DI1 and DI2 are connected to local networks 10-1 and 10-2, respectively. The local network 10-1 comprises a single restitution terminal TRM, the local network 10-2 comprises several restitution terminals TRM1-TRM5.

Plusieurs versions d’un même contenu C1 est transmis en mode multicast depuis le serveur de contenus 2 à destination des dispositifs intermédiaires DI1 et DI2.Several versions of the same content C1 is transmitted in multicast mode from the content server 2 to the intermediate devices DI1 and DI2.

Si le contenu est un contenu en temps réel ou «live», les dispositifs intermédiaires DI1 et DI2 stockent les segments reçus en mode multicast dans une mémoire tampon de façon à stocker quelques secondes de vidéos «LIVE» et à répliquer les segments temporels vers les différents terminaux.If the content is real time or “live” content, the intermediate devices DI1 and DI2 store the segments received in multicast mode in a buffer memory so as to store a few seconds of “LIVE” video and to replicate the time segments to the different terminals.

On suppose ci que le terminal TRM du réseau local 10-1 et les terminaux TRM1-TRM5 du réseau local 10-2 requiert un accès au contenu C1.It is assumed here that the terminal TRM of the local network 10-1 and the terminals TRM1-TRM5 of the local network 10-2 require access to the content C1.

Dans notre exemple, après réception de la demande d’accès, n’ayant pas connaissance des besoins en termes de qualité de restitution des terminaux de restitution, le dispositif intermédiaire DI transmet au terminal TRM par défaut un segment vidéo d’une version associée à un faible débit. Suite à la réception, le terminal TRM mesure le temps de récupération de ce segment et vérifie que le temps de récupération du segment n’excède pas la durée du segment. En fonction du résultat, le module de réception du terminal de restitution transmet ou pas un message au dispositif intermédiaire requérant une plus grande qualité, une diminution de qualité voire un maintien de la qualité reçue.In our example, after receiving the access request, not being aware of the needs in terms of playback quality of the playback terminals, the intermediate device DI transmits to the terminal TRM by default a video segment of a version associated with low flow. Following reception, the TRM terminal measures the recovery time for this segment and checks that the segment recovery time does not exceed the duration of the segment. Depending on the result, the reception module of the restitution terminal transmits or not a message to the intermediate device requesting greater quality, a reduction in quality or even maintenance of the received quality.

A noter que les terminaux de restitutions requièrent les versions de segments auprès du dispositif intermédiaire auquel il est relié.It should be noted that the restitution terminals require the segment versions from the intermediate device to which it is connected.

Dans l’exemple utilisant un module de réception, les protocoles RTP/RTCP sur UDP peuvent être utilisés. Dans ce cas, les segments peuvent être transmis au moyen de message UDP ; les demandes de modifications de versions sont transmises par les terminaux de restitution au moyen de RTSP respectifs.In the example using a receiver module, the RTP/RTCP over UDP protocols can be used. In this case, the segments can be transmitted by means of UDP message; the version modification requests are transmitted by the rendering terminals by means of respective RTSPs.

ANNEXE 1 : exemple de fichier manifestAPPENDIX 1: sample manifest file

Claims (12)

Procédé de transmission d’un contenu à destination d’un terminal de restitution (8) via un réseau de communication, le contenu (C1) étant accessible depuis un serveur de contenus sous plusieurs versions associées à des qualités de restitution respectives, une version donnée comprenant respectivement plusieurs segments du contenu, caractérisé en ce qu’il comprend les étapes suivantes dans un dispositif (DI) s’intercalant entre le serveur de contenus et le terminal de restitution
  • une première étape de réception au cours de laquelle le dispositif intermédiaire reçoit du serveur de contenus plusieurs versions d’un même contenu ;
  • une deuxième étape de réception d’une requête d’accès à une version donnée du contenu ;
  • et une étape de transmission, à destination du terminal de restitution, de segments associés à la version du contenu demandée lors de la deuxième étape de réception.
Method for transmitting content to a playback terminal (8) via a communication network, the content (C1) being accessible from a content server in several versions associated with respective playback qualities, a given version respectively comprising several content segments, characterized in that it comprises the following steps in a device (DI) inserted between the content server and the rendering terminal
  • a first reception step during which the intermediate device receives several versions of the same content from the content server;
  • a second step of receiving a request for access to a given version of the content;
  • and a step of transmitting, to the restitution terminal, segments associated with the version of the content requested during the second reception step.
Procédé de transmission selon la revendication 1, caractérisé en ce que la version choisie pour au moins le premier segment temporel transmis est une version choisie par défaut.Transmission method according to Claim 1, characterized in that the version chosen for at least the first time segment transmitted is a version chosen by default. Procédé de transmission selon la revendication 2, caractérisé en ce que le choix de la version d’un segment ultérieur évolue en fonction d’une donnée issue du terminal de restitution, ladite donnée étant issue d’une comparaison entre la durée de transmission d’un segment précédemment transmis et la durée du segment temporel.Transmission method according to Claim 2, characterized in that the choice of the version of a subsequent segment evolves as a function of data coming from the restitution terminal, the said data coming from a comparison between the transmission duration of a previously transmitted segment and the duration of the time segment. Procédé de transmission selon la revendication 1, caractérisé en ce que le contenu reçu lors de la première étape de réception est un contenu transmis en mode multicast.Transmission method according to Claim 1, characterized in that the content received during the first reception step is a content transmitted in multicast mode. Procédé de transmission selon la revendication 1, caractérisé en ce que l’étape de réception est suivie d’une étape de stockage en mémoire des segments reçus du serveur de contenus, et en ce que l’étape de transmission d’un segment temporel d’une version donnée, entraîne la suppression des autres versions du segment transmis.Method of transmission according to claim 1, characterized in that the reception step is followed by a step of storing in memory the segments received from the content server, and in that the step of transmitting a time segment d a given version causes the other versions of the transmitted segment to be deleted. Produit programme d’ordinateur comprenant des instructions de code de programme pour la mise en œuvre d’un procédé de transmission d’un contenu numérique selon l'une quelconque des revendications 1 à 5, lorsqu’il est exécuté par un processeur.Computer program product comprising program code instructions for implementing a method for transmitting digital content according to any one of claims 1 to 5, when executed by a processor. Support d’enregistrement lisible par un ordinateur sur lequel est enregistré un programme d’ordinateur selon la revendication 6.A computer-readable recording medium on which a computer program according to claim 6 is recorded. Dispositif (DI), dit dispositif intermédiaire, apte à communiquer avec un serveur de contenus (2) et avec des terminaux de restitution (3,4,8) via un réseau de communication, un contenu (C1) étant accessible depuis le serveur de contenus sous plusieurs versions, une version donnée comprenant respectivement plusieurs segments du contenu,
comprenant :
  1. un premier module de de réception au cours de laquelle le dispositif intermédiaire reçoit du serveur de contenus plusieurs versions d’un même contenu ;
  2. un deuxième module de réception apte à recevoir une requête d’accès à une version donnée d’un contenu ;
  3. un module de transmission apte à transmettre, à destination du terminal de restitution, des segments associés à la version du contenu demandée lors de la de deuxième étape de réception.
Device (DI), called intermediate device, capable of communicating with a content server (2) and with rendering terminals (3,4,8) via a communication network, a content (C1) being accessible from the content under several versions, a given version comprising respectively several segments of the content,
including:
  1. a first reception module during which the intermediate device receives several versions of the same content from the content server;
  2. a second reception module able to receive a request for access to a given version of a content;
  3. a transmission module capable of transmitting, to the restitution terminal, segments associated with the version of the content requested during the second reception step.
Procédé d’accès par un terminal de restitution à un contenu numérique accessible depuis un dispositif (DI), dit dispositif intermédiaire, plusieurs versions différentes du contenu étant accessibles, une version donnée comprenant respectivement plusieurs segments du contenu ayant des durées respectives, caractérisé en ce qu’il comprend les étapes suivantes
  • une étape de réception au cours de laquelle le dispositif de restitution (8) reçoit un segment d’une version donnée du contenu depuis le dispositif intermédiaire (DI);
  • une deuxième étape de mesure de la durée de transmission du segment reçu et de comparaison avec la durée du segment temporel,
  • en fonction du résultat de l’étape de mesure, une étape de transmission ou pas, à destination du dispositif intermédiaire (DI), d’une demande d’accès à une autre version.
Method of access by a rendering terminal to digital content accessible from a device (DI), called intermediate device, several different versions of the content being accessible, a given version respectively comprising several segments of the content having respective durations, characterized in that that it includes the following steps
  • a reception step during which the rendering device (8) receives a segment of a given version of the content from the intermediate device (DI);
  • a second step of measuring the duration of transmission of the segment received and comparing it with the duration of the time segment,
  • depending on the result of the measurement step, a step of transmitting or not, to the intermediate device (DI), a request for access to another version.
Terminal de restitution comprenant de restitution à un contenu numérique accessible depuis un dispositif (DI), dit dispositif intermédiaire, plusieurs versions différentes du contenu étant accessibles, une version donnée comprenant respectivement plusieurs segments du contenu ayant des durées respectives, caractérisé en ce qu’il comprend
  • un module de réception apte à recevoir un segment d’une version donnée du contenu depuis le dispositif intermédiaire (DI);
  • un module de mesure apte à mesurer la durée de transmission du segment reçu et de comparer la durée mesurée avec la durée du segment temporel,
  • un module de transmission apte à transmettre ou pas, à destination du dispositif intermédiaire, une demande d’accès à une autre version en fonction du résultat de l’étape de mesure.
Restitution terminal comprising restitution of digital content accessible from a device (DI), called intermediate device, several different versions of the content being accessible, a given version respectively comprising several segments of the content having respective durations, characterized in that it understand
  • a receiving module capable of receiving a segment of a given version of the content from the intermediate device (DI);
  • a measurement module able to measure the duration of transmission of the segment received and to compare the duration measured with the duration of the time segment,
  • a transmission module capable of transmitting or not, intended for the intermediate device, a request for access to another version depending on the result of the measurement step.
Produit programme d’ordinateur comprenant des instructions de code de programme pour la mise en œuvre d’un procédé de transmission d’un contenu numérique selon la revendication 9, lorsqu’il est exécuté par un processeur.Computer program product comprising program code instructions for implementing a method for transmitting digital content according to claim 9, when executed by a processor. Support d’enregistrement lisible par un ordinateur sur lequel est enregistré un programme d’ordinateur selon la revendication 11.A computer-readable recording medium on which a computer program according to claim 11 is recorded.
FR1906670A 2019-06-20 2019-06-20 Method for transmitting digital content having several versions accessible from a content server to a rendering terminal. Active FR3096210B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR1906670A FR3096210B1 (en) 2019-06-20 2019-06-20 Method for transmitting digital content having several versions accessible from a content server to a rendering terminal.

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1906670 2019-06-20
FR1906670A FR3096210B1 (en) 2019-06-20 2019-06-20 Method for transmitting digital content having several versions accessible from a content server to a rendering terminal.

Publications (2)

Publication Number Publication Date
FR3096210A1 true FR3096210A1 (en) 2020-11-20
FR3096210B1 FR3096210B1 (en) 2023-10-06

Family

ID=68072746

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1906670A Active FR3096210B1 (en) 2019-06-20 2019-06-20 Method for transmitting digital content having several versions accessible from a content server to a rendering terminal.

Country Status (1)

Country Link
FR (1) FR3096210B1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130262693A1 (en) * 2012-04-02 2013-10-03 Chris Phillips Methods and apparatus for segmenting, distributing, and resegmenting adaptive rate content streams
US20150256583A1 (en) * 2015-05-01 2015-09-10 Elemental Technologies, Inc. Content delivery network video content invalidation through adaptive bitrate manifest manipulation
US20160337426A1 (en) * 2015-05-14 2016-11-17 Hola Networks Ltd. System and Method for Streaming Content from Multiple Servers
US20170188065A1 (en) * 2015-12-29 2017-06-29 Echostar Technologies L.L.C. Methods and systems for assisted content delivery
WO2018049321A1 (en) * 2016-09-12 2018-03-15 Vid Scale, Inc. Method and systems for displaying a portion of a video stream with partial zoom ratios

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130262693A1 (en) * 2012-04-02 2013-10-03 Chris Phillips Methods and apparatus for segmenting, distributing, and resegmenting adaptive rate content streams
US20150256583A1 (en) * 2015-05-01 2015-09-10 Elemental Technologies, Inc. Content delivery network video content invalidation through adaptive bitrate manifest manipulation
US20160337426A1 (en) * 2015-05-14 2016-11-17 Hola Networks Ltd. System and Method for Streaming Content from Multiple Servers
US20170188065A1 (en) * 2015-12-29 2017-06-29 Echostar Technologies L.L.C. Methods and systems for assisted content delivery
WO2018049321A1 (en) * 2016-09-12 2018-03-15 Vid Scale, Inc. Method and systems for displaying a portion of a video stream with partial zoom ratios

Also Published As

Publication number Publication date
FR3096210B1 (en) 2023-10-06

Similar Documents

Publication Publication Date Title
EP2947888A1 (en) Adaptive method for downloading digital content for a plurality of screens
FR3081647A1 (en) MANAGEMENT OF ADAPTIVE PROGRESSIVE DOWNLOAD (HAS) OF DIGITAL CONTENT WITHIN A REAL-TIME MULTIMEDIA STREAM READER TERMINAL.
FR3081274A1 (en) MANAGING THE ADAPTIVE PROGRESSIVE DOWNLOAD OF DIGITAL CONTENT WITHIN A RETURN TERMINAL OF A LOCAL COMMUNICATION NETWORK.
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
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
FR3068852A1 (en) METHOD FOR MANAGING THE RIGHT OF ACCESS TO DIGITAL CONTENT
EP3987820A1 (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
FR3096210A1 (en) A method of transmitting digital content having several versions accessible from a content server to a playback terminal.
EP3926929B1 (en) Process for managing the playback of digital content within a multimedia content player terminal connected to a restitution 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
FR3114719A1 (en) Method for managing the reading of digital content within a multimedia content player terminal connected to a rendering device
WO2021105585A1 (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
EP4109905A1 (en) Management of the adaptive progressive downloading of digital content in screen saver mode
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
FR3093605A1 (en) A method of accelerated browsing of digital content obtained by adaptive progressive download (HAS), manager, media player and corresponding computer program.
FR3093603A1 (en) A method of accelerated browsing of digital content obtained by adaptive progressive download (HAS), manager, media player and corresponding computer program.
FR3128084A1 (en) method for managing the playback of multimedia content.
WO2020234030A1 (en) Rendering of background or insertion content as part of an adaptive progressive download (has)
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
FR3124344A1 (en) Method for managing access to content downloaded in adaptive download mode.
EP4297409A1 (en) Method for managing the playback of multimedia content.
FR3138020A1 (en) Enhanced Hybrid Adaptive Video Streaming
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

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20201120

PLFP Fee payment

Year of fee payment: 3

PLFP Fee payment

Year of fee payment: 4

PLFP Fee payment

Year of fee payment: 5