WO2019220034A1 - Management of adaptive progressive download of a digital content within a restoration terminal of a local communication network - Google Patents
Management of adaptive progressive download of a digital content within a restoration terminal of a local communication network Download PDFInfo
- Publication number
- WO2019220034A1 WO2019220034A1 PCT/FR2019/051030 FR2019051030W WO2019220034A1 WO 2019220034 A1 WO2019220034 A1 WO 2019220034A1 FR 2019051030 W FR2019051030 W FR 2019051030W WO 2019220034 A1 WO2019220034 A1 WO 2019220034A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- content
- client modules
- terminal
- download
- client
- 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.)
- Ceased
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/442—Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
- H04N21/44209—Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/436—Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
- H04N21/43615—Interfacing a Home Network, e.g. for connecting the client to a plurality of peripherals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/4402—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
- H04N21/44029—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display for generating different versions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/61—Network physical structure; Signal processing
- H04N21/6106—Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
- H04N21/6125—Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via Internet
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
Definitions
- the field of the invention is that of digital multimedia contents, namely digital audio and / or video contents. More specifically, the invention relates to the management of adaptive progressive downloading of digital content within a local communication network, such as a home network.
- Access to multimedia content, such as television or video on demand, from an Internet-type network is possible today, for most of the rendering terminals, especially when they are part of a network.
- local communication such as a home network.
- the terminal generally sends a request to a server, indicating the chosen content and receives back a stream of digital data relating to this content.
- a request passes through the access gateway to the network, for example the residential gateway.
- the terminal is adapted to receive these digital contents as multimedia data and to make a restitution.
- This restitution consists in providing at the terminal level the digital content in a form accessible to the user.
- received data corresponding to a video is generally decoded, and then rendered at the terminal as a display of the corresponding video with its associated soundtrack.
- it will equate the digital content to a video and the return by the terminal, or consumption by the user of the terminal to a display on the screen of the terminal.
- the dissemination of digital content on the Internet is often based on client-server protocols of the HTTP ("Hyper Text Transport Protocol") family.
- HTTP Hyper Text Transport Protocol
- the progressive downloading of digital contents also called streaming, makes it possible to transport and consume the data in real time, that is to say that the digital data is transmitted on the network and returned by the terminal as and as they arrive.
- the terminal receives and stores a portion of the digital data in a buffer before rendering them. This distribution mode is particularly useful when the rate available to the user is not guaranteed for the real-time transfer of the video.
- the adaptive progressive download in English HTTP Adaptative Streaming, of abbreviation HAS, allows moreover to diffuse and receive data according to different qualities corresponding for example to different flow rates. These different qualities are described in a parameter file available for download on a data server, for example a content server.
- this description file makes it possible to select the right format for the content to be consumed according to the available bandwidth or the storage and decoding capabilities of the client terminal. This type of technique makes it possible in particular to take account of bandwidth variations on the link between the client terminal and the content server.
- the MPEG-DASH (Dynamic Adaptive Streaming over HTTP) standard is an audiovisual broadcasting format standard on the Internet. It is based on the preparation of the content in different presentations of variable quality and speed, divided into segments of short duration (of the order of a few seconds), also called "chunks". Each of these segments is made available individually by means of an exchange protocol.
- the mainly targeted protocol is the HTTP protocol, but other protocols (eg FTP) can also be used. Segment organization and associated parameters are published in a manifest in XML format.
- the principle underlying this standard is that the MPEG-DASH client makes an estimation of the available bandwidth for the reception of the segments, and, depending on the filling of its reception buffer, chooses, for the next segment to be loaded, a representation whose flow:
- the existing solutions for adaptive download allow the client terminal to switch from one version of the encoded content to a certain bitrate, to another encoded to a different one. other debit, during download.
- each version of the content is divided into segments of the same duration.
- each segment must reach the terminal before its scheduled time of return.
- the perceived quality associated with a segment increases with the size of the segment, expressed in bits, but in the same At the same time, larger segments require more transmission time, and thus present an increased risk of not being received in time for continuous playback of content.
- the rendering terminal must therefore find a compromise between the overall quality of the content, and its uninterrupted restitution, carefully selecting the next segment to download, among the various encoding rates proposed. To do this, there are different algorithms for selecting the quality of the content according to the available bandwidth, which may have more or less aggressive or more or less secure strategies.
- a local communication network when several progressive downloads are launched in parallel, by several rendering terminals, the total bandwidth available for downloading is divided equally between the different streams downloaded.
- a local communication network which has a downlink bandwidth of 6Mb / s, it is simultaneously launching the download of a video on demand (by a first client HAS installed for example on a personal computer), a digital television channel (by a second client HAS installed for example on a television), and access to a streaming film as proposed for example by Netflix ® (by a third client HAS installed for example on a smart phone type), the bandwidth available to each of these three HAS customers is 2Mb / s.
- HAS client here is meant a software or hardware component, or a set of hardware and software components, capable of recovering the segments of a video content at different encoding rates, with a view to their return by a rendering terminal. which he is embarked on.
- the HTTP protocol is based on principles of equal access to a resource.
- the HTTP protocol is in particular based on protocols of the TCP-IP type (set of protocols used for the transfer of data on the Internet) which make it possible to convey the data packets between the different terminals and servers and the access gateway.
- the access gateway that receives the data packets routed according to TCP-IP does not assign priority to them, which results in an equal sharing of the bandwidth.
- the invention responds to this need by proposing a method for managing the adaptive progressive download (HAS) of a digital content within a rendering terminal of a device.
- local communication network comprising a step of obtaining a description file of the digital content, comprising a list of temporal segments of the content each associated with several encoding rates of the content.
- such a management method comprises:
- the invention is based on a completely new and inventive approach to the management of progressive adaptive downloading in a local communication network.
- the invention proposes to instantiate a greater or lesser number of HAS client modules within a rendering terminal, so as to allow finer control of the sharing of the bandwidth between the different restitution terminals. local communication network.
- a higher number of HAS client modules are activated within this terminal; these HAS client modules are controlled, in order to recover in parallel manner the different segments, or "chunks", video.
- a HAS client manager is installed in the rendering terminal, and sends download commands to the different client modules, to indicate which time segment of the content they must download, and at which encoding rate.
- the parallel downloading of the different segments by the different client modules HAS makes it possible, if necessary, to increase the bandwidth devoted to downloading and returning the content by the rendering terminal.
- the determination of the number N of client modules to be activated for downloading the content takes into account a preference of a user of the rendering terminal.
- the client has the possibility, from an interface of the local communication network, for example, to give a weighting, or a priority, to each of the network rendering terminals.
- This weighting can take the form of a note, expressed for example in the form of a number of stars (from one to five for example), allocated to each of the network rendering terminals.
- a larger or smaller number of HAS clients will be instantiated in the rendering terminal (from one to five for example).
- the determination of the number N of client modules to be activated for downloading the content takes into account a dimension of a screen of the terminal of restitution.
- the number of HAS client modules to be activated may be proportional to the size of the diagonal of the display of the rendering terminal. Indeed, we can be content with a lower quality, and therefore a lower flow, for a small screen, such as that of a "smartphone” for example (in French, smart phone or ordiphone). Conversely, a large display screen, such as that of a large diagonal TV, may require a higher quality of playback of content, and therefore a larger share of the bandwidth available for downloading segments of the content.
- the determination of the number N of client modules to be activated for downloading the content takes into account a characteristic of the content belonging to the group comprising :
- a larger part of the bandwidth available for download is for example assigned to short-term content, compared to live broadcast content, for which it is possible for example to return backwards thanks to an option of the type "TimeShifting" (in French, "offset").
- paying content for example, video-on-demand
- giving it a larger share of the bandwidth may also be preferred.
- free content for example, a television program of a free channel
- the determination of the number N of client modules to be activated for downloading the content takes into account a number of users to whom the content is restored.
- the number of people present in front of the screen of the rendering terminal can be detected, by means of a camera, or a beacon of the "Beacon Bluetooth Low Energy" type. If no user is present, it is possible that the content is downloaded only for its soundtrack and audio component: in this case, we can be content with a very low quality for downloading video segments, and therefore a very low bandwidth.
- the quality, and therefore the number of HAS client modules activated within the rendering terminal can then be chosen proportionally to the number of users present. in front of the screen of the restitution terminal: the more the public is, the higher the quality of restitution said to be high.
- the determination of the number N of client modules to be activated for downloading the content takes into account a profile of a user to which the content is restored.
- the age or role of users may be taken into account, for example by giving priority to quality for content intended for parents rather than children.
- the number N of client modules is between 2 and 5, so as to allow a good modularity of bandwidth sharing, without inducing too much complexity in the rendering terminal.
- such a method comprises a download initialization phase, comprising a progressive incrementation of the number i of client modules to which are transmitted the time segment download commands, for i ranging from 1 to N.
- the HAS client manager can begin downloading the content by activating a single HAS client module, until a stable rendering quality is achieved for X seconds (with X, for example, equal to ten times the duration of a time segment ), then instantiate a second client module HAS, and so on, always waiting during a phase of stabilization of the quality of duration X, before activation of an additional client module.
- the invention also relates to a device for managing the adaptive progressive download (HAS) of a digital content within a reproduction terminal of a local communication network, comprising a module for obtaining a description file of the digital content, comprising a list of time segments of the content each associated with several content encoding rates, which comprises:
- the invention also relates to a digital content reproduction terminal, which comprises such a device for managing the adaptive progressive download (HAS) of a digital content.
- HAS adaptive progressive download
- the invention also relates to a computer program product comprising program code instructions for implementing a method as described above, when executed by a processor.
- the invention is also directed to a computer-readable recording medium on which is recorded a computer program comprising program code instructions for executing the steps of the adaptive progressive download management method according to the invention such that described above.
- Such a recording medium may be any entity or device capable of storing the program.
- the medium may include storage means, such as a ROM, for example a CD ROM or a microelectronic circuit ROM, or a magnetic recording means, for example a USB key or a hard disk.
- such a recording medium may be a transmissible medium such as an electrical or optical signal, which may be conveyed via an electrical or optical cable, by radio or by other means, so that the program computer that it contains is executable remotely.
- the program according to the invention can in particular be downloaded to a network, for example the Internet network.
- the recording medium may be an integrated circuit in which the program is incorporated, the circuit being adapted to execute or to be used in the execution of the aforementioned display control method.
- the device for managing the adaptive progressive download (HAS) of a digital content the rendering terminal and the corresponding computer program mentioned above have at least the same advantages as those conferred by the adaptive progressive download management (HAS) method. digital content according to the present invention.
- FIG. 1 represents a progressive download architecture on the Internet based on the use of adaptive streaming according to the invention
- FIG. 2 schematically illustrates the hardware structure of a rendering terminal incorporating an adaptive progressive downloading management device according to one embodiment of the invention
- FIG. 3 illustrates an exemplary embodiment of the adaptive progressive downloading of a content by a rendering terminal of FIG. 2;
- FIG. 4 shows an example of an algorithm making it possible to determine the number of client modules HAS to be activated, corresponding to an initialization phase of the example of FIG. 3.
- the general principle of the invention is based on the activation of a greater or lesser number of HAS client modules in a content reader (or rendering terminal), in order to allow finer control of the sharing of the bandwidth between the different terminals for rendering a local communication network, compared to the techniques of the prior art.
- the terminal 3, for example a smart phone type "smartphone”, the terminal 4, for example a laptop, and the terminal 5, for example a PC-type personal computer are in this example located in a local area network (LAN , 10) controlled by a home gateway 6.
- LAN local area network
- the context of the local network is given as an example and could be easily transposed to a "best effort" Internet network, a corporate network, etc.
- a digital content server 2 is according to this example in the wide area network (WAN, 1) but it could equally well be located in the local area network (LAN, 10), for example in the home gateway 6 or any other equipment capable of host such a content server.
- the content server 2 receives for example channels of digital television content from a broadcast television network, not shown, and / or videos on demand, and makes them available to the client terminals.
- At least one of the client terminals 3-5 wishes to communicate with the content server 2 to receive one or more content (movies, documentaries, advertising sequences, etc.).
- HAS adaptive streaming technique
- URI Universal Resource Identifier
- All these parameters are generally grouped together in a parameter file, called a description file. It should be noted that this parameter file can be a computer file or a set of descriptive information of the content, accessible to a certain address.
- the terminal 3-5 has its own characteristics in terms of decoding capability, display, etc. In a context of progressive adaptive downloading, it can adapt its requests to receive and decode the content requested by the user to the quality that best corresponds to it.
- the contents are available at rates of 512 kb / s (kilobits per second) (Resolution 1, or level 1, denoted by NI), 1024 kb / s (N2), 2048 kb / s (N3) 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.
- “Ci @ Nj" denotes the content number i with the quality j (for example the j-th level Nj of quality described in the description file).
- the service gateway 6 is a home gateway which routes the data between the WAN 1 and the LAN 10, manages the digital contents, in particular by ensuring their reception from the network and their decoding by means of the decoders that the It is assumed here integrated with the gateway 6 or the terminal 3-5.
- the decoders may be located elsewhere in the WAN 1 or local 10, especially at a STB-type element (English Set-Top-Box) associated with a TV (not shown).
- the terminal 3-5 first queries 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 supplying the terminal with the address of the description file 7.
- this file is a manifest type file according to the MPEG-DASH standard (denoted “C.mpd”) and will refer indifferently, depending on the context, to the expression "description file” or "manifest”.
- 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.
- MPD MPEG-DASH manifest file
- This simplified manifest file describes digital contents in an XML syntax (of the English "eXtended Markup Language"), comprising a list of contents in the form of fragments conventionally described between an opening tag ( ⁇ SegmentList> ) and a closing tag ( ⁇ / SegmentList>). Particle cutting makes it possible to adapt finely to fluctuations in the bandwidth.
- Each fragment corresponds to a certain duration ("duration” field) with several levels of quality 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 fragments :
- the service gateway 6 proceeds to obtain the fragments via a download to these addresses. Note that this download is done here, traditionally, through an HTTP URL, but could also be done through a universal address (URI) describing another protocol (dvb: // monsegmentdecontenu for example).
- URI universal address
- the terminal 3 renders a first content referenced C1 (for example a video content on demand), that the terminal 4 renders a second referenced content C2 (for example a film in continuous stream as proposed for example by Netflix ® ) and that the terminal 5 renders a third content referenced C3 (for example a television content chain), all three described in a manifest file 7.
- a first content referenced C1 for example a video content on demand
- a second referenced content C2 for example a film in continuous stream as proposed for example by Netflix ®
- the terminal 5 renders a third content referenced C3 (for example a television content chain), all three described in a manifest file 7.
- the strategy usually preferred is to route the three streams at an equal rate to each of the three rendering terminals 3-5, each of which instantiates a client module HAS.
- the ADSL download link for "Asymmetric Digital Subscriber Line" from the home gateway 6 has a bandwidth of 6 Mb / s
- the bandwidth accessible to each HAS client of each of the rendering terminals 3-5 is The bandwidth is therefore shared equitably according to the HAS clients present (one per rendering terminal 3-5).
- This device is located in the rendering terminal (set top box, TV, real-time media streaming device type Chromecast ® or Key-TV ® , ...) and can control the activation of one or more HAS client modules within the terminal for downloading a given content.
- FIG. 2 represents an architecture of a rendering terminal incorporating such a progressive adaptive download management device according to one embodiment of the invention, for example one of the terminals 3-5 of FIG. 1.
- the rendering terminal 3-5 communicates with the local area network 10 and the extended Internet network 1 via the Ethernet module ETH on the one hand and possibly the WIFI module for local wireless communication.
- the rendering terminal 3-5 furthermore comprises, in accordance with the invention, several modules (only two have been represented here, for the sake of simplification) of an adaptive progressive download HAS able to request a progressive download of one of the contents to one of the qualities proposed in a description file 7.
- the terminal according to the invention also comprises a module MNG management of adaptive progressive download modules HAS, or HAS client modules, capable of determining the number N of client modules HAS to activate for the download of the content, and to transmit to each of these N client modules a download command, indicating to each client module HAS which time segments, to which encoding rate, it must download, according to the information contained in the description file 7.
- a module MNG management of adaptive progressive download modules HAS, or HAS client modules capable of determining the number N of client modules HAS to activate for the download of the content, and to transmit to each of these N client modules a download command, indicating to each client module HAS which time segments, to which encoding rate, it must download, according to the information contained in the description file 7.
- This MNG module for managing the client modules HAS accesses a content rendering parameters file, by which it can determine the optimum number of HAS client modules to be activated for the reproduction of a given content.
- These parameters can be for example the user's preferences for the return of content on this terminal, the display characteristics (screen size, window) of the content, the age / role parameters of the users to which a content is intended ...
- the description files 7 can be recorded for example in the memories M of the rendering terminal 3-5 or be outside.
- the rendering terminal 3-5 may also contain other modules such as an unrepresented hard disk for storing the video fragments, a module for controlling access to the contents, a video interface module, and other modules allowing him to communicating with the outside via different protocols on different physical links, etc.
- the rendering terminal 3-5 may contain an I / O interface module (not shown), allowing the user to enter a restitution preference. content, for example in the form of a number of stars (from one to five, for example), enabling the module MNG to determine the number of client modules HAS to activate.
- Such an I / O module can take the form of a remote control or a touch screen for example.
- the terminal 3-5 can also integrate an interface module with a Bluetooth Low Energy ® camera or beacon, enabling the MNG module for managing HAS client modules to access information relating to the number of users present in front of the terminal. of restitution 3-5.
- module can correspond to a software component as well as a hardware component or a set of hardware and software components, a software component itself corresponding to one or more computer programs or subprograms. in a more general manner to any element of a program capable of implementing a function or a set of functions as described for the modules concerned.
- a hardware component corresponds to any element of a hardware set (or hardware) able to implement a function or a set of functions for the module concerned (integrated circuit, smart card, memory card, etc. .).
- such a rendering terminal 3-5 comprises a random access memory (for example a RAM memory), a processing unit equipped for example with a CPU processor, and driven by a computer program, representative of the management module.
- HAS client modules stored in a read-only memory (for example a ROM or a hard disk).
- the code instructions of the computer program are for example loaded into the RAM before being executed by the processor CPU of the processing unit.
- the RAM contains in particular the manifest description file 7.
- the CPU of the processing unit controls the determination of the number of HAS client modules to be activated, as well as the choice of time segments and associated encoding rates to be downloaded by each. from them, and issuing corresponding commands to each HAS client module.
- FIG. 2 illustrates only one particular way, among several possible, of realizing the rendering terminal 3-5, so that it performs the steps of the method detailed hereinafter, in relation to FIGS. 3 and 4 (in one any of the various embodiments, or in a combination of these embodiments). Indeed, these steps can be carried out indifferently on a reprogrammable calculation machine (a PC computer, a DSP processor or a microcontroller) executing a program comprising a sequence of instructions, or on a dedicated computing machine (for example a set of logical gates such as an FPGA or an ASIC, or any other hardware module).
- a reprogrammable calculation machine a PC computer, a DSP processor or a microcontroller
- a program comprising a sequence of instructions
- a dedicated computing machine for example a set of logical gates such as an FPGA or an ASIC, or any other hardware module.
- the corresponding program (that is to say the sequence of instructions) can be stored in a removable storage medium (such as for example a floppy disk, a CD-ROM or a DVD-ROM) or not, this storage medium being partially or fully readable by a computer or a processor.
- a removable storage medium such as for example a floppy disk, a CD-ROM or a DVD-ROM
- FIG. 30 An exemplary embodiment of the adaptive progressive downloading of a content by a rendering terminal 30, which corresponds for example to one of the terminals 3-5 of FIGS. 1 and 2, is now presented in connection with FIG.
- the rendering terminal 30 comprises a content player VP (for the English "Video Player") 301, a module MNG 302 for managing the client modules HAS, and several client modules HAS, only three of which have been represented here, referenced HAS. -1, HAS-2 and HAS-3. It should be noted that, in most embodiments of the invention, the number of HAS-i client modules is generally between two and five.
- the module MNG 302 for managing HAS client modules is responsible for instantiating the desired number of HAS clients and for controlling the HAS-1, HAS-2 and HAS-3 clients in order to retrieve the different video "chunks" in a parallel manner.
- a content server HAS 2 exposes a video C1 in the form of chunks C1, @ Nj encoded at different encoding rates Nj, where the index i denotes a time identifier of the chunk Cli @ Nj.
- a client module HAS is responsible for picking up its "chunks" from the content server HAS 2 by choosing the video quality Nj according to the available network resource.
- the HAS client module chooses the encoding rate of the next video fragment to download: there are indeed many algorithms to make this choice, whose strategies are more or less safe or aggressive. It is recalled however that, most often, the general principle of such algorithms is based on the downloading of a first fragment at the lowest encoding rate proposed in the manifest, and on the evaluation of the recovery time of this first fragment. .
- the client module HAS evaluates whether, depending on the size of the fragment and the time taken to recover it, the network conditions make it possible to download the next fragment at a higher encoding rate.
- Some algorithms rely on a gradual increase in the quality level of downloaded content fragments; others propose riskier approaches, with jumps in the levels of encoding rates of successive fragments.
- the recovery of the "chunk” by the client module HAS must not exceed 3 seconds, to allow a restitution without interruption of the content by the restitution terminal 30.
- the HAS client module is therefore best suited to achieve the best compromise between rendering quality, and thus encoding rate, as high as possible, and the fragment download time, which must be sufficiently small to allow for a restitution. contained by the terminal 30.
- HAS client modules can be activated in parallel, as described in more detail below.
- the MNG 302 client management module HAS first determines the number of HAS-i client modules to be activated, for example by accessing a file of restitution parameters. A reading of this file enables it, for example, to determine that the user of the rendering terminal 30 has given him a rating of three stars out of five, or that the number of persons present in front of the screen of the rendering terminal 30 is sufficiently high. to activate several HAS client modules, for example three.
- the number of HAS client modules to be activated can result directly from the reading of the restitution parameters file, which may for example be in the form of Table 1. It may also result from a calculation made by the MNG module of 302, according to an algorithm which will not be described here in more detail, which can be multi-criteria, and take into account weightings, for example assigned to the different parameters of Table 1.
- the MNG module 302 thus activates the three client modules HAS-1 to HAS-3, for the purpose of downloading and rendering by the terminal 30 of the content Cl.
- the MNG module 302 retrieves the manifest file 7 to discover the available fragments of the video content C1, and the various video qualities Nj associated.
- the MNG management module 302 drives the client modules HAS-1 to HAS-3, in order to optimally download the various fragments Cli @ Nj.
- the bandwidth recovery is weighted according to the number of clients.
- two other terminals are in the adaptive download phase of content in the local network (for example the terminals
- Terminal 3 (for example assigned to download a delayed television program):
- Terminal 4 (eg assigned to download a live TV channel):
- Terminal 30 for example, assigned to download video on demand:
- the VOD client of the terminal 30 thus recovers half of the total bandwidth, thanks to the activation of three client modules HAS-1 to HAS-3 by the management module MNM 302.
- the management module MNG 302 addresses commands dedicated to each of the client modules HAS-i, so that each client module HAS-i recover autonomously and parallelized the different fragments of the content C1, during a step referenced 312.
- the management MNG module 302 sends the client module HAS-1 a download command fragment 01 C @ N1 (the first time fragment at an encoding rate of 500 kb / s) and fragment C1 4 @ N3 (the fourth time fragment at an encoding rate of 2000 kb / s).
- the client module HAS-2 receives a download command of the C1 2 @ N2 fragment (ie the second temporal fragment at an encoding rate of 1000 kb / s) and of the fragment C1 5 @ N4 (the fifth time fragment at a single time). encoding rate of 3000 kb / s).
- the client module HAS-3 receives, from the management module MNG 302, a download command of the fragment C1 3 @ N3 (the third time fragment at an encoding rate of 2000 kb / s) and the fragment C1 6 @ N3 (ie the sixth time fragment, also at an encoding rate of 2000 kb / s).
- the management module MNG 302 thus continuously calculates, according to the network conditions, what is the optimum encoding rate to be used to enable a continuous reproduction of the content by the terminal 30, and sends the corresponding commands to the various client modules. HAS-i, until the end of the return of the content C1 by the terminal 30.
- the maximum time to retrieve a fragment of the content Cl is therefore N x 3 seconds, where N is the number customer modules HAS-i enabled by the MNG management module 302, and where the duration of a temporal fragment Cl r ( S ) Nj is three seconds.
- the various fragments downloaded by the various client modules HAS-1 to HAS-3 are transmitted to the video player V.P. 301 which decodes them for their return to the user by the terminal 30.
- the algorithm implemented by the management module MNG 302 to determine which fragment at which encoding rate must be downloaded by the client module HAS-i may be one of the already existing algorithms of the prior art, since that the management module MNG 302 takes into account the recovery time of the fragment i-1 by the client HAS-j to determine the encoding bit rate of the fragment i by the client HAS-j + 1. This algorithm will not be described here in more detail.
- the HAS-i client modules are solicited one after the other to retrieve the successive fragments of the content: thus, preferably, if the client HAS-1 retrieves a fragment Cl ,, the client HAS-2 retrieves the fragment Cl i + 1 , and the client HAS-3 retrieves the fragment Cl i + 2 , and so on.
- This description corresponds to the stabilized operating mode of the adaptive progressive download management device of the rendering terminal 30.
- it may be advantageous to operate a progressive scaling up of the download starting with an instantiation a client module HAS-1, then wait for a stabilization phase before activating a second client module HAS-2, and so on alternating new activation and waiting during a stabilization phase.
- An immediate activation of all the HAS-i client modules could indeed cause discomfort for the user, for example in the case of a download of a television content channel, in the event that he decides to "zap ".
- This initialization phase is illustrated in FIG.
- the management module MNG 302 then initiates a counter (44), or "timer", in order to verify that the quality Q of reproduction of the content C1 is stable, for example for a duration of 10 times the duration of a temporal fragment, in this example 30 seconds.
- a counter 44
- timer timer
- the management module MNG 302 can then activate a second client module HAS-2 (47), by sending him the appropriate commands for downloading the fragments of the content Cl. He can again wait for a stabilization time of the quality of thirty seconds before activating the third and last HAS-3 client module.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Information Transfer Between Computers (AREA)
- Communication Control (AREA)
Abstract
Description
Gestion du téléchargement progressif adaptatif d'un contenu numérique au sein d'un terminal de restitution d'un réseau de communication local. Management of adaptive progressive downloading of digital content within a rendering terminal of a local communication network.
1. Domaine de l'invention 1. Field of the invention
Le domaine de l'invention est celui des contenus multimédia numériques, à savoir les contenus audio et/ou vidéo numériques. Plus précisément, l'invention concerne la gestion du téléchargement progressif adaptatif d'un contenu numérique au sein d'un réseau de communication local, tel qu'un réseau domestique. The field of the invention is that of digital multimedia contents, namely digital audio and / or video contents. More specifically, the invention relates to the management of adaptive progressive downloading of digital content within a local communication network, such as a home network.
2. Art antérieur et ses inconvénients 2. Prior art and its disadvantages
L'accès à un contenu multimédia, tel que la télévision ou la vidéo à la demande, depuis un réseau de type Internet, est possible aujourd'hui, pour la plupart des terminaux de restitution, notamment lorsqu'ils font partie d'un réseau de communication local, tel qu'un réseau domestique. Access to multimedia content, such as television or video on demand, from an Internet-type network is possible today, for most of the rendering terminals, especially when they are part of a network. local communication, such as a home network.
Le terminal émet généralement une requête à destination d'un serveur, 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. The terminal generally sends a request to a server, indicating the chosen content and receives back a stream of digital data relating to this content. In the context of a local communication network, such a request passes through the access gateway to the network, for example the residential gateway.
Le terminal 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. Dans la suite, par souci de simplification, on assimilera le contenu numérique à une vidéo et la restitution par le terminal, ou consommation par l'utilisateur du terminal, à une visualisation sur l'écran du terminal. The terminal is adapted to receive these digital contents as multimedia data and to make a restitution. This restitution consists in providing at the terminal level the digital content in a form accessible to the user. For example, received data corresponding to a video is generally decoded, and then rendered at the terminal as a display of the corresponding video with its associated soundtrack. In the following, for the sake of simplification, it will equate the digital content to a video and the return by the terminal, or consumption by the user of the terminal to a display on the screen of the terminal.
La diffusion de contenus numériques sur Internet est souvent basée sur des protocoles client-serveur de la famille HTTP (de l'anglais « Hyper Text Transport Protocol »). En particulier, le téléchargement en mode progressif des contenus numériques, aussi appelé streaming, permet de transporter et consommer les données en temps réel, c'est-à-dire que les données numériques sont transmises sur le réseau et restituées par le terminal au fur et à mesure de leur arrivée. Le terminal 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 dissemination of digital content on the Internet is often based on client-server protocols of the HTTP ("Hyper Text Transport Protocol") family. In particular, the progressive downloading of digital contents, also called streaming, makes it possible to transport and consume the data in real time, that is to say that the digital data is transmitted on the network and returned by the terminal as and as they arrive. The terminal receives and stores a portion of the digital data in a buffer before rendering them. This distribution mode is particularly useful when the rate available to the user is not guaranteed for the real-time transfer of the video.
Le téléchargement progressif adaptatif, en anglais HTTP Adaptative Streaming, d'abréviation HAS, permet de surcroît de diffuser et recevoir des données suivant différentes qualités 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 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. The adaptive progressive download, in English HTTP Adaptative Streaming, of abbreviation HAS, allows moreover to diffuse and receive data according to different qualities corresponding for example to different flow 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 right format for the content to be consumed according to the available bandwidth or the storage and decoding capabilities of the client terminal. This type of technique makes it possible in particular to take account of bandwidth variations 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 manifestes, contenant les adresses des différents segments aux différentes qualités du contenu multimédia. There are several technical solutions to facilitate the distribution of such content streaming, such as Microsoft ® Smooth Streaming proprietary solutions, Apple ® HLS, Adobe ® HTTP Dynamic Streaming or MPEG-DASH ISO standard body / IEC which will be described below. These methods propose to send to the customer one or more intermediate description files, also called documents or manifestos, containing the addresses of the different segments with different qualities of the multimedia content.
Ainsi, la norme MPEG-DASH (pour l'anglais "Dynamic Adaptive Streaming over HTTP", en français « diffusion en 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 de courte durée (de l'ordre de quelques secondes), également appelés « chunks ». 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 manifeste au format XML. Thus, the MPEG-DASH (Dynamic Adaptive Streaming over HTTP) standard is an audiovisual broadcasting format standard on the Internet. It is based on the preparation of the content in different presentations of variable quality and speed, divided into segments of short duration (of the order of a few seconds), also called "chunks". Each of these segments is made available individually by means of an exchange protocol. The mainly targeted protocol is the HTTP protocol, but other protocols (eg FTP) can also be used. Segment organization and 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 son tampon de réception, choisit, pour le prochain segment à charger, une représentation dont le débit : The principle underlying this standard is that the MPEG-DASH client makes an estimation of the available bandwidth for the reception of the segments, and, depending on the filling of its reception buffer, chooses, for the next segment to be loaded, a representation whose flow:
assure la meilleure qualité possible, ensures the best possible quality,
et permet un délai de réception compatible avec le rendu ininterrompu du contenu. and allows a reception delay compatible with the uninterrupted rendering of the content.
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, 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 the variation of the network conditions, especially in terms of bandwidth, the existing solutions for adaptive download allow the client terminal to switch from one version of the encoded content to a certain bitrate, to another encoded to a different one. other debit, during download. Indeed, each version of the content is divided into segments of the same duration. To allow a continuous return of content on the terminal, each segment must reach the terminal before its scheduled time of return. The perceived quality associated with a segment increases with the size of the segment, expressed in bits, but in the same At the same time, larger segments require more transmission time, and thus 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 restitution, carefully selecting the next segment to download, among the various encoding rates proposed. To do this, there are different algorithms for selecting the quality of the content according to the available bandwidth, which may have more or less aggressive or more or less secure strategies.
En outre, dans le cadre d'un réseau de communication local, lorsque plusieurs téléchargements progressifs sont lancés en parallèle, par plusieurs terminaux de restitution, la bande passante totale disponible pour le téléchargement est divisée à parts égales entre les différents flux téléchargés. Ainsi, si dans un réseau de communication local, qui dispose d'une bande passante descendante de 6Mb/s, on lance simultanément le téléchargement d'une vidéo à la demande (par un premier client HAS installé par exemple sur un ordinateur personnel), d'une chaîne de télévision numérique (par un deuxième client HAS installé par exemple sur un téléviseur), et l'accès à un film en flux continu tel que proposé par exemple par Netflix® (par un troisième client HAS installé par exemple sur un téléphone intelligent de type « smartphone »), la bande passante accessible à chacun de ces trois clients HAS est de 2Mb/s. In addition, in the context of a local communication network, when several progressive downloads are launched in parallel, by several rendering terminals, the total bandwidth available for downloading is divided equally between the different streams downloaded. Thus, if in a local communication network, which has a downlink bandwidth of 6Mb / s, it is simultaneously launching the download of a video on demand (by a first client HAS installed for example on a personal computer), a digital television channel (by a second client HAS installed for example on a television), and access to a streaming film as proposed for example by Netflix ® (by a third client HAS installed for example on a smart phone type), the bandwidth available to each of these three HAS customers is 2Mb / s.
Par client HAS, on entend ici un composant logiciel ou matériel, ou un ensemble de composants matériels et logiciels, apte à récupérer les segments d'un contenu vidéo à différents débits d'encodage, en vue de leur restitution par un terminal de restitution sur lequel il est embarqué. By HAS client, here is meant a software or hardware component, or a set of hardware and software components, capable of recovering the segments of a video content at different encoding rates, with a view to their return by a rendering terminal. which he is embarked on.
En effet, le protocole HTTP est basé sur des principes d'égalité d'accès à une ressource. Le protocole HTTP est en particulier basé sur des protocoles de type TCP-IP (ensemble des protocoles utilisés pour le transfert des données sur Internet) qui permettent de véhiculer les paquets de données entre les différents terminaux et serveurs et la passerelle d'accès. La passerelle d'accès qui reçoit les paquets de données acheminés selon TCP-IP ne leur affecte pas de priorité, ce qui aboutit à un partage égalitaire de la bande passante. Indeed, the HTTP protocol is based on principles of equal access to a resource. The HTTP protocol is in particular based on protocols of the TCP-IP type (set of protocols used for the transfer of data on the Internet) which make it possible to convey the data packets between the different terminals and servers and the access gateway. The access gateway that receives the data packets routed according to TCP-IP does not assign priority to them, which results in an equal sharing of the bandwidth.
Or, il n'est pas toujours souhaitable de répartir équitablement la bande passante disponible, et il existe donc un besoin d’une technique permettant de contrôler le partage de la bande passante entre les différents clients HAS, dans le cadre du téléchargement adaptatif progressif de contenus numériques. However, it is not always desirable to distribute the available bandwidth equitably, and there is therefore a need for a technique to control the bandwidth sharing between the different HAS clients, as part of the progressive adaptive download of digital content.
3. Exposé de l’invention 3. Presentation of the invention
L’invention répond à ce besoin en proposant un procédé de gestion du téléchargement progressif adaptatif (HAS) d'un contenu numérique au sein d'un terminal de restitution d'un réseau de communication local, comprenant une étape d'obtention d'un fichier de description du contenu numérique, comprenant une liste de segments temporels du contenu associés chacun à plusieurs débits d'encodage du contenu. The invention responds to this need by proposing a method for managing the adaptive progressive download (HAS) of a digital content within a rendering terminal of a device. local communication network, comprising a step of obtaining a description file of the digital content, comprising a list of temporal segments of the content each associated with several encoding rates of the content.
Selon l'invention, un tel procédé de gestion comprend : According to the invention, such a management method comprises:
une détermination d'un nombre entier N>2 de modules clients à activer au sein du terminal de restitution pour le téléchargement du contenu ; a determination of an integer N> 2 of client modules to be activated within the rendering terminal for downloading the content;
une transmission à chacun des N modules clients à activer d'une commande de téléchargement de l'un au moins des segments temporels à l'un des débits d'encodage du fichier de description ; transmitting to each of the N client modules to activate a download command of at least one of the time segments at one of the encoding rates of the description file;
N téléchargements en parallèle, par chacun des N modules clients, des segments temporels aux débits d'encodage, en accord avec la commande transmise. N downloads in parallel, by each of the N client modules, time segments to the encoding rates, in accordance with the transmitted command.
Ainsi, l’invention repose sur une approche tout à fait nouvelle et inventive de la gestion du téléchargement adaptatif progressif dans un réseau de communication local. En effet, l’invention propose d'instancier un nombre plus ou moins important de modules clients HAS au sein d'un terminal de restitution, de façon à permettre de contrôler plus finement le partage de la bande passante entre les différents terminaux de restitution du réseau de communication local. Lorsqu'il est nécessaire d'accroître la part de bande passante affectée à un terminal de restitution, on active un nombre plus élevé de modules clients HAS au sein de ce terminal ; ces modules clients HAS sont pilotés, afin de récupérer de manière parallélisée les différents segments, ou « chunks », vidéo. Pour ce faire, un manager de clients HAS est installé dans le terminal de restitution, et envoie des commandes de téléchargement aux différents modules clients, afin de leur indiquer quel segment temporel du contenu ils doivent télécharger, et à quel débit d'encodage. Le téléchargement en parallèle des différents segments par les différents modules clients HAS permet, si besoin, d'augmenter la bande passante consacrée au téléchargement et à la restitution du contenu par le terminal de restitution. Thus, the invention is based on a completely new and inventive approach to the management of progressive adaptive downloading in a local communication network. Indeed, the invention proposes to instantiate a greater or lesser number of HAS client modules within a rendering terminal, so as to allow finer control of the sharing of the bandwidth between the different restitution terminals. local communication network. When it is necessary to increase the bandwidth allocated to a rendering terminal, a higher number of HAS client modules are activated within this terminal; these HAS client modules are controlled, in order to recover in parallel manner the different segments, or "chunks", video. To do this, a HAS client manager is installed in the rendering terminal, and sends download commands to the different client modules, to indicate which time segment of the content they must download, and at which encoding rate. The parallel downloading of the different segments by the different client modules HAS makes it possible, if necessary, to increase the bandwidth devoted to downloading and returning the content by the rendering terminal.
Selon un premier aspect de l'invention, la détermination du nombre N de modules clients à activer pour le téléchargement du contenu tient compte d'une préférence d'un utilisateur du terminal de restitution. According to a first aspect of the invention, the determination of the number N of client modules to be activated for downloading the content takes into account a preference of a user of the rendering terminal.
Ainsi, le client a la possibilité, depuis une interface du réseau de communication local par exemple, de donner une pondération, ou une priorité, à chacun des terminaux de restitution du réseau. Cette pondération peut prendre la forme d'une note, exprimée par exemple sous forme d'un nombre d'étoiles (de une à cinq par exemple), attribuée à chacun des terminaux de restitution du réseau. En fonction du choix du nombre d'étoiles, un nombre plus ou moins important de clients HAS sera instancié dans le terminal de restitution (de un à cinq par exemple). Selon un autre aspect de l'invention, qui peut être mis en oeuvre alternativement ou cumulativement avec le précédent, la détermination du nombre N de modules clients à activer pour le téléchargement du contenu tient compte d'une dimension d'un écran du terminal de restitution. Thus, the client has the possibility, from an interface of the local communication network, for example, to give a weighting, or a priority, to each of the network rendering terminals. This weighting can take the form of a note, expressed for example in the form of a number of stars (from one to five for example), allocated to each of the network rendering terminals. Depending on the choice of the number of stars, a larger or smaller number of HAS clients will be instantiated in the rendering terminal (from one to five for example). According to another aspect of the invention, which can be implemented alternatively or cumulatively with the previous one, the determination of the number N of client modules to be activated for downloading the content takes into account a dimension of a screen of the terminal of restitution.
Ainsi, le nombre de modules clients HAS à activer peut être proportionnel à la taille de la diagonale de l'écran du terminal de restitution. En effet, on peut se contenter d'une qualité moindre, et donc d'un débit moins important, pour un écran de petite taille, tel que celui d'un « smartphone » par exemple (en français, téléphone intelligent ou ordiphone). A l'inverse, un grand écran de restitution, tel que celui d'un téléviseur de grande diagonale, peut nécessiter une qualité de restitution du contenu plus élevée, et donc une part plus importante de la bande passante disponible pour le téléchargement des segments du contenu. Thus, the number of HAS client modules to be activated may be proportional to the size of the diagonal of the display of the rendering terminal. Indeed, we can be content with a lower quality, and therefore a lower flow, for a small screen, such as that of a "smartphone" for example (in French, smart phone or ordiphone). Conversely, a large display screen, such as that of a large diagonal TV, may require a higher quality of playback of content, and therefore a larger share of the bandwidth available for downloading segments of the content.
Selon encore un autre aspect de l'invention, qui peut être mis en oeuvre alternativement ou cumulativement avec les précédents, la détermination du nombre N de modules clients à activer pour le téléchargement du contenu tient compte d'une caractéristique du contenu appartenant au groupe comprenant : According to yet another aspect of the invention, which can be implemented alternatively or cumulatively with the above, the determination of the number N of client modules to be activated for downloading the content takes into account a characteristic of the content belonging to the group comprising :
une durée dudit contenu ; a duration of said content;
un type dudit contenu. a type of said content.
Selon ce mode de réalisation, une part plus importante de la bande passante disponible pour le téléchargement est par exemple affectée aux contenus de courte durée, par rapport aux contenus diffusés en direct (« live »), pour lesquels il est par exemple possible de revenir en arrière grâce à une option de type « TimeShifting » (en français, « décalage »). On peut aussi privilégier par exemple un contenu payant (par exemple de la vidéo à la demande), en lui accordant une plus grande part de la bande passante, par rapport à un contenu gratuit (par exemple un programme télévisuel d'une chaîne gratuite). According to this embodiment, a larger part of the bandwidth available for download is for example assigned to short-term content, compared to live broadcast content, for which it is possible for example to return backwards thanks to an option of the type "TimeShifting" (in French, "offset"). For example, paying content (for example, video-on-demand), giving it a larger share of the bandwidth, compared to free content (for example, a television program of a free channel) may also be preferred. .
Selon encore un autre aspect de l'invention, qui peut être mis en oeuvre alternativement ou cumulativement avec les précédents, la détermination du nombre N de modules clients à activer pour le téléchargement du contenu tient compte d'un nombre d'utilisateurs auxquels le contenu est restitué. According to yet another aspect of the invention, which can be implemented alternatively or cumulatively with the previous ones, the determination of the number N of client modules to be activated for downloading the content takes into account a number of users to whom the content is restored.
Le nombre de personnes présentes devant l'écran du terminal de restitution peut être détecté, au moyen d'une caméra, ou d'une balise de type « Beacon Bluetooth Low Energy ». Si aucun utilisateur n'est présent, il est possible que le contenu ne soit téléchargé que pour sa bande son et sa composante audio : dans ce cas, on peut se contenter d'une qualité très basse pour le téléchargement des segments vidéo, et donc d'une bande passante très faible. The number of people present in front of the screen of the rendering terminal can be detected, by means of a camera, or a beacon of the "Beacon Bluetooth Low Energy" type. If no user is present, it is possible that the content is downloaded only for its soundtrack and audio component: in this case, we can be content with a very low quality for downloading video segments, and therefore a very low bandwidth.
La qualité, et donc le nombre de modules clients HAS activés au sein du terminal de restitution, peuvent ensuite être choisis proportionnellement au nombre d'utilisateurs présents devant l'écran du terminal de restitution : plus le public est nombreux, plus la qualité de restitution dit être élevée. The quality, and therefore the number of HAS client modules activated within the rendering terminal, can then be chosen proportionally to the number of users present. in front of the screen of the restitution terminal: the more the public is, the higher the quality of restitution said to be high.
Selon encore un autre aspect de l'invention, qui peut être mis en oeuvre alternativement ou cumulativement avec les précédents, la détermination du nombre N de modules clients à activer pour le téléchargement du contenu tient compte d'un profil d'un utilisateur auquel le contenu est restitué. According to yet another aspect of the invention, which can be implemented alternatively or cumulatively with the previous ones, the determination of the number N of client modules to be activated for downloading the content takes into account a profile of a user to which the content is restored.
Ainsi, on peut tenir compte par exemple de l'âge ou du rôle des utilisateurs, en privilégiant par exemple la qualité pour les contenus destinés aux parents, plutôt qu'aux enfants. For example, the age or role of users may be taken into account, for example by giving priority to quality for content intended for parents rather than children.
Selon un autre aspect de l'invention, le nombre N de modules clients est compris entre 2 et 5, de façon à permettre une bonne modularité du partage de la bande passante, sans induire une trop grande complexité dans le terminal de restitution. According to another aspect of the invention, the number N of client modules is between 2 and 5, so as to allow a good modularity of bandwidth sharing, without inducing too much complexity in the rendering terminal.
Selon encore un autre aspect de l'invention, à l'issue de la détermination du nombre N de modules clients à activer, un tel procédé comprend une phase d'initialisation du téléchargement, comprenant une incrémentation progressive du nombre i de modules clients auxquels sont transmises les commandes de téléchargement de segments temporels, pour i variant de 1 à N. According to yet another aspect of the invention, after the determination of the number N of client modules to be activated, such a method comprises a download initialization phase, comprising a progressive incrementation of the number i of client modules to which are transmitted the time segment download commands, for i ranging from 1 to N.
Il est en effet important de prévoir un algorithme de démarrage progressif, pour permettre une montée en puissance graduelle. Par exemple, le manager de client HAS peut commencer le téléchargement du contenu en activant un unique module client HAS, jusqu'à obtenir une qualité stable de restitution pendant X secondes (avec X par exemple égal à dix fois la durée d'un segment temporel), puis instancier un deuxième module client HAS, et ainsi de suite, en attendant toujours pendant une phase de stabilisation de la qualité de durée X, avant activation d'un module client additionnel. It is indeed important to provide a progressive startup algorithm, to allow a gradual increase in power. For example, the HAS client manager can begin downloading the content by activating a single HAS client module, until a stable rendering quality is achieved for X seconds (with X, for example, equal to ten times the duration of a time segment ), then instantiate a second client module HAS, and so on, always waiting during a phase of stabilization of the quality of duration X, before activation of an additional client module.
L'invention concerne également un dispositif de gestion du téléchargement progressif adaptatif (HAS) d'un contenu numérique au sein d'un terminal de restitution d'un réseau de communication local, comprenant un module d'obtention d'un fichier de description du contenu numérique, comprenant une liste de segments temporels du contenu associés chacun à plusieurs débits d'encodage du contenu, qui comprend : The invention also relates to a device for managing the adaptive progressive download (HAS) of a digital content within a reproduction terminal of a local communication network, comprising a module for obtaining a description file of the digital content, comprising a list of time segments of the content each associated with several content encoding rates, which comprises:
une pluralité de modules clients de téléchargement du contenu, aptes à télécharger des segments temporels du contenu à l'un des débits d'encodage du fichier de description ; un module de gestion des modules clients, apte à déterminer un nombre N de modules clients à activer pour le téléchargement du contenu, et à transmettre à chacun des N modules clients une commande de téléchargement, dédiée au module client et comprenant un identifiant d'au moins un des segments temporels à l'un des débits d'encodage. L'invention concerne encore un terminal de restitution d'un contenu numérique, qui comprend un tel dispositif de gestion du téléchargement progressif adaptatif (HAS) d'un contenu numérique. a plurality of content download client modules, capable of downloading time segments of the content to one of the encoding rates of the description file; a module for managing the client modules, able to determine a number N of client modules to be activated for downloading the content, and to transmit to each of the N client modules a download command, dedicated to the client module and including an identifier of the minus one of the time segments at one of the encoding rates. The invention also relates to a digital content reproduction terminal, which comprises such a device for managing the adaptive progressive download (HAS) of a digital content.
L'invention concerne également un produit programme d’ordinateur comprenant des instructions de code de programme pour la mise en oeuvre d'un procédé tel que décrit précédemment, lorsqu'il est exécuté par un processeur. The invention also relates to a computer program product comprising program code instructions for implementing a method as described above, when executed by a processor.
L'invention vise également un support d'enregistrement lisible par un ordinateur sur lequel est enregistré un programme d'ordinateur comprenant des instructions de code de programme pour l'exécution des étapes du procédé de gestion de téléchargement progressif adaptatif selon l'invention tel que décrit ci-dessus. The invention is also directed to a computer-readable recording medium on which is recorded a computer program comprising program code instructions for executing the steps of the adaptive progressive download management method according to the invention such that described above.
Un tel support d’enregistrement peut être n’importe quelle entité ou dispositif capable de stocker le programme. Par exemple, le support peut comporter un moyen de stockage, tel qu’une ROM, par exemple un CD ROM ou une ROM de circuit microélectronique, ou encore un moyen d’enregistrement magnétique, par exemple une clé USB ou un disque dur. Such a recording medium may be any entity or device capable of storing the program. For example, the medium may include storage means, such as a ROM, for example a CD ROM or a microelectronic circuit ROM, or a magnetic recording means, for example a USB key or a hard disk.
D’autre part, un tel support d’enregistrement peut être un support transmissible tel qu’un signal électrique ou optique, qui peut être acheminé via un câble électrique ou optique, par radio ou par d’autres moyens, de sorte que le programme d'ordinateur qu'il contient est exécutable à distance. Le programme selon l’invention peut être en particulier téléchargé sur un réseau par exemple le réseau Internet. On the other hand, such a recording medium may be a transmissible medium such as an electrical or optical signal, which may be conveyed via an electrical or optical cable, by radio or by other means, so that the program computer that it contains is executable remotely. The program according to the invention can in particular be downloaded to a network, for example the Internet network.
Alternativement, le support d’enregistrement peut être un circuit intégré dans lequel le programme est incorporé, le circuit étant adapté pour exécuter ou pour être utilisé dans l’exécution du procédé de contrôle d'affichage précité. Alternatively, the recording medium may be an integrated circuit in which the program is incorporated, the circuit being adapted to execute or to be used in the execution of the aforementioned display control method.
Le dispositif de gestion du téléchargement progressif adaptatif (HAS) d'un contenu numérique, le terminal de restitution et le programme d’ordinateur correspondants précités présentent au moins les mêmes avantages que ceux conférés par le procédé de gestion du téléchargement progressif adaptatif (HAS) d'un contenu numérique selon la présente invention. The device for managing the adaptive progressive download (HAS) of a digital content, the rendering terminal and the corresponding computer program mentioned above have at least the same advantages as those conferred by the adaptive progressive download management (HAS) method. digital content according to the present invention.
4. Liste des figures 4. List 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 objects, features and advantages of the invention will appear more clearly on reading the following description, given as a simple illustrative and non-limiting example, in relation to the figures, among which:
La figure 1 représente une architecture de téléchargement progressif sur Internet basée sur l'utilisation du streaming adaptatif selon l'invention ; FIG. 1 represents a progressive download architecture on the Internet based on the use of adaptive streaming according to the invention;
la figure 2 illustre de façon schématique la structure matérielle d'un terminal de restitution intégrant un dispositif de gestion de téléchargement progressif adaptatif selon un mode de réalisation de l'invention; la figure 3 illustre un exemple de réalisation du téléchargement progressif adaptatif d'un contenu par un terminal de restitution de la figure 2 ; FIG. 2 schematically illustrates the hardware structure of a rendering terminal incorporating an adaptive progressive downloading management device according to one embodiment of the invention; FIG. 3 illustrates an exemplary embodiment of the adaptive progressive downloading of a content by a rendering terminal of FIG. 2;
la figure 4 présente un exemple d'algorithme permettant de déterminer le nombre de modules clients HAS à activer, correspondant à une phase d'initialisation de l'exemple de la figure 3. FIG. 4 shows an example of an algorithm making it possible to determine the number of client modules HAS to be activated, corresponding to an initialization phase of the example of FIG. 3.
5. Description détaillée de modes de réalisation de l'invention 5. Detailed Description of Embodiments of the Invention
Le principe général de l'invention repose sur l'activation d'un nombre plus ou moins important de modules clients HAS dans un lecteur de contenu (ou terminal de restitution), afin de permettre de contrôler plus finement le partage de la bande passante entre les différents terminaux de restitution d'un réseau de communication local, par rapport aux techniques de l'art antérieur. The general principle of the invention is based on the activation of a greater or lesser number of HAS client modules in a content reader (or rendering terminal), in order to allow finer control of the sharing of the bandwidth between the different terminals for rendering a local communication network, compared to the techniques of the prior art.
On présente désormais, en relation avec la figure 1, une architecture de téléchargement progressif basée sur l'utilisation du streaming adaptatif selon l'invention. We now show, in connection with Figure 1, a progressive download architecture based on the use of adaptive streaming according to the invention.
Le terminal 3, par exemple un téléphone intelligent de type « smartphone », le terminal 4, par exemple un ordinateur portable, et le terminal 5, par exemple un ordinateur personnel de type PC 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. The terminal 3, for example a smart phone type "smartphone", the terminal 4, for example a laptop, and the terminal 5, for example a PC-type personal computer are in this example located in a local area network (LAN , 10) controlled by a home gateway 6. The context of the local network is given as an example and could be easily transposed to a "best effort" Internet network, a corporate network, etc.
Un serveur de contenus numériques 2 se trouve selon cet exemple dans le réseau étendu (WAN, 1) mais il pourrait indifféremment être situé dans le réseau local (LAN, 10), par exemple dans la passerelle domestique 6 ou tout autre équipement capable d'héberger un tel serveur de contenus. 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 according to this example in the wide area network (WAN, 1) but it could equally well be located in the local area network (LAN, 10), for example in the home gateway 6 or any other equipment capable of host such a content server. The content server 2 receives for example channels of digital television content from a broadcast television network, not shown, and / or videos on demand, and makes them available to the client terminals.
Classiquement, au moins l'un des terminaux client 3-5 souhaite entrer en communication avec le serveur de contenus 2 pour recevoir un ou plusieurs contenus (films, documentaires, séquences publicitaires, etc.). Conventionally, at least one of the client terminals 3-5 wishes to communicate with the content server 2 to receive one or more content (movies, documentaries, advertising sequences, etc.).
Il est fréquent, dans ce contexte client-serveur, de recourir, pour échanger les données entre le terminal client 3-5 et le serveur 2, à 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-5 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, in order to exchange data between the client terminal 3-5 and the server 2, an adaptive streaming technique, abbreviated to 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 taking into account the bandwidth variations that may occur on the link between the client terminal 3-5 and the service gateway 6, or between this link. last 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. Chaque niveau de qualité est lui-même découpé sur le serveur de contenus en segments temporels (ou « fragments » de contenu, en anglais « chunks », ces trois mots étant utilisés indifféremment dans l'ensemble de ce document). Classically, different qualities can be encoded for the same content of a chain, corresponding for example to different rates. More generally, we will talk about quality to refer to a certain resolution of the digital content (spatial, temporal resolution, quality level associated with video and / or audio compression) with a certain bitrate. Each level of quality is itself cut on the content server into time segments (or "fragments" of content, in English "chunks", these three words being used interchangeably throughout this document).
La description de ces différentes qualités et de la segmentation temporelle associée, ainsi que les fragments 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 fragments, etc.) est en général regroupé dans un fichier de paramètres, dit fichier de description. 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 fragments of content, are described for the client terminal and made available via their Internet addresses (URI: Universal Resource Identifier). All these parameters (qualities, addresses of the fragments, etc.) are generally grouped together in a parameter file, called a description file. It should be noted that this parameter file can be a computer file or a set of descriptive information of the content, accessible to a certain address.
Le terminal 3-5 possède ses propres caractéristiques en termes de capacité de décodage, d'affichage, etc. Dans un contexte de téléchargement adaptatif progressif, il peut adapter ses requêtes pour recevoir et décoder le contenu demandé par l'utilisateur à la qualité qui lui correspond au mieux. Dans notre exemple, si les contenus sont disponibles aux débits 512 kb/s (kilobits par seconde) (Résolution 1, ou niveau 1, noté NI), 1024 kb/s (N2), 2048 kb/s (N3) 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@Nj » le contenu numéro i avec la qualité j (par exemple le j-ième niveau Nj de qualité décrit dans le fichier de description). The terminal 3-5 has its own characteristics in terms of decoding capability, display, etc. In a context of progressive adaptive downloading, it can adapt its requests to receive and decode the content requested by the user to the quality that best corresponds to it. In our example, if the contents are available at rates of 512 kb / s (kilobits per second) (Resolution 1, or level 1, denoted by NI), 1024 kb / s (N2), 2048 kb / s (N3) 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. Generally speaking, "Ci @ Nj" denotes the content number i with the quality j (for example the j-th level Nj of quality 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 aux décodeurs que l'on suppose ici intégrés à la passerelle 6 ou au terminal 3-5. En variante, les décodeurs peuvent se trouver ailleurs dans le réseau étendu 1 ou local 10, notamment au niveau d'un élément de type STB (de l'anglais Set-Top-Box) associé à un téléviseur (non représenté). In this example, the service gateway 6 is a home gateway which routes the data between the WAN 1 and the LAN 10, manages the digital contents, in particular by ensuring their reception from the network and their decoding by means of the decoders that the It is assumed here integrated with the gateway 6 or the terminal 3-5. Alternatively, the decoders may be located elsewhere in the WAN 1 or local 10, especially at a STB-type element (English Set-Top-Box) associated with a TV (not shown).
Dans cet exemple, pour visualiser un contenu, le terminal 3-5 interroge tout d'abord la passerelle de service 6 pour obtenir une adresse du document de description 7 du contenu (par exemple, Cl) 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 a content, the terminal 3-5 first queries 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 supplying the terminal with the address of the description file 7. In the following, it will be assumed that this file is a manifest type file according to the MPEG-DASH standard (denoted "C.mpd") and will refer indifferently, depending on the context, to the expression "description file" or "manifest".
Alternativement, ce fichier peut être récupéré directement auprès d'un serveur Internet local ou externe au réseau local, ou se trouver déjà sur la passerelle de service ou sur le terminal au moment de la requête. Un exemple de fichier manifest (MPD) conforme à la norme MPEG-DASH et comportant la description de contenus disponibles dans trois qualités différentes (NI = 512 kb/s, N2 = 1024 kb/s, N3 = 2048 kb/s) des contenus fragmenté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 fragments classiquement décrits entre une balise ouvrante (<SegmentList>) et une balise fermante (</SegmentList>). La découpe en fragments permet notamment de s'adapter finement aux fluctuations de la bande passante. Chaque fragment 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 fragments : 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. An example MPEG-DASH manifest file (MPD) containing the description of content available in three different qualities (NI = 512 kb / s, N2 = 1024 kb / s, N3 = 2048 kb / s). This simplified manifest file describes digital contents in an XML syntax (of the English "eXtended Markup Language"), comprising a list of contents in the form of fragments conventionally described between an opening tag (<SegmentList> ) and a closing tag (</ SegmentList>). Particle cutting makes it possible to adapt finely to fluctuations in the bandwidth. Each fragment corresponds to a certain duration ("duration" field) with several levels of quality 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 fragments :
- « Cl_512kb_l.mp4 » pour le premier fragment du contenu « Cl » à 512 kilobits par seconde (« kb ») au format MPEG-4 (« mp4 »), - "Cl_512kb_l.mp4" for the first fragment of the content "Cl" at 512 kilobits per second ("kb") in the MPEG-4 ("mp4") format,
- « Cl_512kb_2.mp4 » pour le second fragment, - "Cl_512kb_2.mp4" for the second fragment,
- etc. - etc.
Une fois qu'elle dispose des adresses de fragments correspondant au contenu souhaité, la passerelle de service 6 procède à l'obtention des fragments 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 fragment addresses corresponding to the desired content, the service gateway 6 proceeds to obtain the fragments via a download to these addresses. Note that this download is done here, traditionally, through an HTTP URL, but could also be done through a universal address (URI) describing another protocol (dvb: // monsegmentdecontenu for example).
On suppose ici que le terminal 3 restitue un premier contenu référencé Cl (par exemple un contenu de vidéo à la demande), que le terminal 4 restitue un deuxième contenu référencé C2 (par exemple un film en flux continu tel que proposé par exemple par Netflix®) et que le terminal 5 restitue un troisième contenu référencé C3 (par exemple une chaîne de contenu télévisuel), tous trois décrits dans un fichier manifest 7. It is assumed here that the terminal 3 renders a first content referenced C1 (for example a video content on demand), that the terminal 4 renders a second referenced content C2 (for example a film in continuous stream as proposed for example by Netflix ® ) and that the terminal 5 renders a third content referenced C3 (for example a television content chain), all three described in a manifest file 7.
Selon l'état de l'art, la stratégie habituellement privilégiée est d'acheminer les trois flux selon un débit égal, vers chacun des trois terminaux de restitution 3-5, qui instancient chacun un module client HAS. According to the state of the art, the strategy usually preferred is to route the three streams at an equal rate to each of the three rendering terminals 3-5, each of which instantiates a client module HAS.
Ainsi, si le lien de téléchargement ADSL (pour « Asymmetric Digital Subscriber Line ») depuis la passerelle domestique 6 présente une bande passante de 6 Mb/s, la bande passante accessible à chaque client HAS de chacun des terminaux de restitution 3-5 est de 2 Mb/s. La bande passante est donc partagée de manière équitable en fonction des clients HAS présents (un par terminal de restitution 3-5). Thus, if the ADSL download link (for "Asymmetric Digital Subscriber Line") from the home gateway 6 has a bandwidth of 6 Mb / s, the bandwidth accessible to each HAS client of each of the rendering terminals 3-5 is The bandwidth is therefore shared equitably according to the HAS clients present (one per rendering terminal 3-5).
Le but du dispositif de gestion de téléchargement selon l'invention, qui sera décrit ultérieurement plus en détails à l'appui des figures 2 et 3, est de pouvoir opérer un contrôle de ce partage de la bande passante entre les différents terminaux. The purpose of the download management device according to the invention, which will be described Later in more detail in support of Figures 2 and 3 is to be able to control this sharing of bandwidth between the different terminals.
Ce dispositif est situé dans le terminal de restitution (set top box, TV, appareil lecteur de flux multimédia en temps réel de type Chromecast® ou Clé-TV®, ...) et permet de piloter l'activation d'un ou plusieurs modules clients HAS au sein du terminal pour le téléchargement d'un contenu donné. This device is located in the rendering terminal (set top box, TV, real-time media streaming device type Chromecast ® or Key-TV ® , ...) and can control the activation of one or more HAS client modules within the terminal for downloading a given content.
La figure 2 représente une architecture d'un terminal de restitution intégrant un tel dispositif de gestion de téléchargement adaptatif progressif selon un mode de réalisation de l'invention, par exemple l'un des terminaux 3-5 de la figure 1. FIG. 2 represents an architecture of a rendering terminal incorporating such a progressive adaptive download management device according to one embodiment of the invention, for example one of the terminals 3-5 of FIG. 1.
Il comprend, classiquement, des mémoires M associées à un processeur CPU. Les mémoires peuvent être de type ROM (de l'anglais « Read Only Memory ») ou RAM (de l'anglais « Random Access Memory ») ou encore Flash. Le terminal de restitution 3-5 communique avec le réseau local 10 et le réseau Internet étendu 1 via le module Ethernet ETH d'une part et éventuellement le module WIFI pour une communication locale sans fils. Le terminal de restitution 3-5 comprend en outre, conformément à l'invention, plusieurs modules (seulement deux ont été représentés ici, par souci de simplification) de téléchargement progressif adaptatif HAS aptes à demander un téléchargement progressif de l'un des contenus à l'une des qualités proposées dans un fichier de description 7. Le terminal selon l'invention comporte également un module MNG de gestion des modules de téléchargement progressif adaptatif HAS, ou modules clients HAS, capable de déterminer le nombre N de modules clients HAS à activer pour le téléchargement du contenu, et à transmettre à chacun de ces N modules clients une commande de téléchargement, indiquant à chaque module client HAS quels segments temporels, à quel débit d'encodage, il doit télécharger, en fonction des informations contenues dans le fichier de description 7. It comprises, conventionally, memories M associated with a CPU processor. The memories can be ROM (Read Only Memory) or RAM (Random Access Memory) or Flash. The rendering terminal 3-5 communicates with the local area network 10 and the extended Internet network 1 via the Ethernet module ETH on the one hand and possibly the WIFI module for local wireless communication. The rendering terminal 3-5 furthermore comprises, in accordance with the invention, several modules (only two have been represented here, for the sake of simplification) of an adaptive progressive download HAS able to request a progressive download of one of the contents to one of the qualities proposed in a description file 7. The terminal according to the invention also comprises a module MNG management of adaptive progressive download modules HAS, or HAS client modules, capable of determining the number N of client modules HAS to activate for the download of the content, and to transmit to each of these N client modules a download command, indicating to each client module HAS which time segments, to which encoding rate, it must download, according to the information contained in the description file 7.
Ce module MNG de gestion des modules clients HAS accède à un fichier de paramètres de restitution des contenus, grâce auxquels il peut déterminer le nombre optimum de modules clients HAS à activer pour la restitution d'un contenu donné. Ces paramètres peuvent être par exemple les préférences de l'utilisateur pour la restitution d'un contenu sur ce terminal, les caractéristiques d'affichage (taille de l'écran, fenêtre) du contenu, les paramètres d'âge/rôle des utilisateurs auxquels un contenu est destiné... This MNG module for managing the client modules HAS accesses a content rendering parameters file, by which it can determine the optimum number of HAS client modules to be activated for the reproduction of a given content. These parameters can be for example the user's preferences for the return of content on this terminal, the display characteristics (screen size, window) of the content, the age / role parameters of the users to which a content is intended ...
Les fichiers de description 7 peuvent être enregistrés par exemple dans les mémoires M du terminal de restitution 3-5 ou se trouver à l'extérieur. The description files 7 can be recorded for example in the memories M of the rendering terminal 3-5 or be outside.
Le terminal de restitution 3-5 selon l'invention peut aussi contenir d'autres modules comme un disque dur non représenté pour le stockage des fragments vidéo, un module de contrôle d'accès aux contenus, un module d'interface vidéo, d'autres modules lui permettant de communiquer avec l'extérieur via différents protocoles sur différents liens physiques, etc.EINotamment, le terminal de restitution 3-5 peut contenir un module d'interface E/S (non représenté), permettant à l'utilisateur de saisir une préférence de restitution du contenu, par exemple sous forme d'un nombre d'étoiles (de une à cinq par exemple), permettant au module MNG de déterminer le nombre de modules clients HAS à activer. Un tel module E/S peut prendre la forme d'une télécommande ou d'un écran tactile par exemple. The rendering terminal 3-5 according to the invention may also contain other modules such as an unrepresented hard disk for storing the video fragments, a module for controlling access to the contents, a video interface module, and other modules allowing him to communicating with the outside via different protocols on different physical links, etc. In particular, the rendering terminal 3-5 may contain an I / O interface module (not shown), allowing the user to enter a restitution preference. content, for example in the form of a number of stars (from one to five, for example), enabling the module MNG to determine the number of client modules HAS to activate. Such an I / O module can take the form of a remote control or a touch screen for example.
Le terminal 3-5 peut également intégrer un module d'interface avec une caméra ou une balise Bluetooth Low Energy®, permettant au module MNG de gestion des modules clients HAS d'accéder à une information relative au nombre d'utilisateurs présents devant le terminal de restitution 3-5. The terminal 3-5 can also integrate an interface module with a Bluetooth Low Energy ® camera or beacon, enabling the MNG module for managing HAS client modules to access information relating to the number of users present in front of the terminal. of restitution 3-5.
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 oeuvre 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 oeuvre une fonction ou un ensemble de fonctions pour le module concerné (circuit intégré, carte à puce, carte à mémoire, etc.). Note that the term module can correspond to a software component as well as a hardware component or a set of hardware and software components, a software component itself corresponding to one or more computer programs or subprograms. in a more general manner 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 set (or hardware) able to implement a function or a set of functions for the module concerned (integrated circuit, smart card, memory card, etc. .).
Plus généralement, un tel terminal de restitution 3-5 comprend une mémoire vive (par exemple une mémoire RAM), une unité de traitement équipée par exemple d’un processeur CPU, et pilotée par un programme d’ordinateur, représentatif du module de gestion des modules clients HAS, stocké dans une mémoire morte (par exemple une mémoire ROM ou un disque dur). A l’initialisation, les instructions de code du programme d’ordinateur sont par exemple chargées dans la mémoire vive avant d’être exécutées par le processeur CPU de l’unité de traitement. La mémoire vive contient notamment le fichier de description manifest 7. Le processeur de l'unité de traitement pilote la détermination du nombre de modules clients HAS à activer, ainsi que le choix des segments temporels et des débits d'encodage associés à télécharger par chacun d'eux, et l'émission des commandes correspondantes vers chaque module client HAS. More generally, such a rendering terminal 3-5 comprises a random access memory (for example a RAM memory), a processing unit equipped for example with a CPU processor, and driven by a computer program, representative of the management module. HAS client modules, stored in a read-only memory (for example a ROM or a hard disk). At initialization, the code instructions of the computer program are for example loaded into the RAM before being executed by the processor CPU of the processing unit. The RAM contains in particular the manifest description file 7. The CPU of the processing unit controls the determination of the number of HAS client modules to be activated, as well as the choice of time segments and associated encoding rates to be downloaded by each. from them, and issuing corresponding commands to each HAS client module.
La figure 2 illustre seulement une manière particulière, parmi plusieurs possibles, de réaliser le terminal de restitution 3-5, afin qu'il effectue les étapes du procédé détaillé ci-après, en relation avec les figures 3 et 4 (dans l'un quelconque des différents modes de réalisation, ou dans une combinaison de ces modes de réalisation). En effet, ces étapes peuvent être réalisées indifféremment sur une machine de calcul reprogrammable (un ordinateur PC, un processeur DSP ou un microcontrôleur) exécutant un programme comprenant une séquence d'instructions, ou sur une machine de calcul dédiée (par exemple un ensemble de portes logiques comme un FPGA ou un ASIC, ou tout autre module matériel). FIG. 2 illustrates only one particular way, among several possible, of realizing the rendering terminal 3-5, so that it performs the steps of the method detailed hereinafter, in relation to FIGS. 3 and 4 (in one any of the various embodiments, or in a combination of these embodiments). Indeed, these steps can be carried out indifferently on a reprogrammable calculation machine (a PC computer, a DSP processor or a microcontroller) executing a program comprising a sequence of instructions, or on a dedicated computing machine (for example a set of logical gates such as an FPGA or an ASIC, or any other hardware module).
Dans le cas où le terminal de restitution 3-5, et notamment le dispositif de gestion de téléchargement progressif adaptatif qu'il intègre, est réalisé avec une machine de calcul reprogrammable, le programme correspondant (c'est-à-dire la séquence d'instructions) pourra être stocké dans un médium de stockage amovible (tel que par exemple une disquette, un CD- ROM ou un DVD-ROM) ou non, ce médium de stockage étant lisible partiellement ou totalement par un ordinateur ou un processeur. In the case where the rendering terminal 3-5, and in particular the adaptive progressive download management device that it integrates, is realized with a reprogrammable calculation machine, the corresponding program (that is to say the sequence of instructions) can be stored in a removable storage medium (such as for example a floppy disk, a CD-ROM or a DVD-ROM) or not, this storage medium being partially or fully readable by a computer or a processor.
On présente désormais, en relation avec la figure 3, un exemple de réalisation du téléchargement progressif adaptatif d'un contenu par un terminal de restitution 30, qui correspond par exemple à l'un des terminaux 3-5 des figures 1 et 2. An exemplary embodiment of the adaptive progressive downloading of a content by a rendering terminal 30, which corresponds for example to one of the terminals 3-5 of FIGS. 1 and 2, is now presented in connection with FIG.
Le terminal de restitution 30 comprend un lecteur de contenu V.P. (pour l'anglais « Video Player ») 301, un module MNG 302 de gestion des modules clients HAS, et plusieurs modules clients HAS, dont trois seulement ont été représentés ici, référencés HAS-1, HAS-2 et HAS-3. On notera que, dans la plupart des modes de réalisation de l'invention, le nombre de modules clients HAS-i est généralement compris entre deux et cinq. Le module MNG 302 de gestion des modules clients HAS est chargé d'instancier le nombre souhaité de clients HAS et de piloter les clients HAS- 1, HAS-2 et HAS-3 afin de récupérer de manière parallélisée les différents « chunks » vidéo. The rendering terminal 30 comprises a content player VP (for the English "Video Player") 301, a module MNG 302 for managing the client modules HAS, and several client modules HAS, only three of which have been represented here, referenced HAS. -1, HAS-2 and HAS-3. It should be noted that, in most embodiments of the invention, the number of HAS-i client modules is generally between two and five. The module MNG 302 for managing HAS client modules is responsible for instantiating the desired number of HAS clients and for controlling the HAS-1, HAS-2 and HAS-3 clients in order to retrieve the different video "chunks" in a parallel manner.
Un serveur de contenu HAS 2 expose une vidéo Cl sous forme de « chunks » Cl,@Nj encodés à différents débits d'encodage Nj, où l'indice i désigne un identifiant temporel du « chunk » Cli@Nj. A content server HAS 2 exposes a video C1 in the form of chunks C1, @ Nj encoded at different encoding rates Nj, where the index i denotes a time identifier of the chunk Cli @ Nj.
Selon l'art antérieur, un module client HAS est chargé de venir récupérer ses « chunks » auprès du serveur de contenu HAS 2 en choisissant la qualité vidéo Nj en fonction de la ressource réseau disponible. On ne décrit pas ici plus en détail la façon dont le module client HAS choisit le débit d'encodage du prochain fragment 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 fragment au débit d'encodage le plus faible proposé dans le manifeste, et sur l'évaluation du temps de récupération de ce premier fragment. Sur cette base, le module client HAS évalue si, en fonction de la taille du fragment et du temps mis pour le récupérer, les conditions réseau permettent de télécharger le fragment suivant à un débit d'encodage plus élevé. Certains algorithmes reposent sur une augmentation progressive du niveau de qualité des fragments de contenu téléchargés ; d'autres proposent de approches plus risquées, avec des sauts dans les niveaux des débits d'encodage des fragments successifs. Dans le cas classique, si un « chunk » vidéo dure 3 secondes, la récupération du « chunk » par le module client HAS ne doit pas excéder 3 secondes, afin de permettre une restitution sans interruption du contenu par le terminal de restitution 30. Il convient donc pour le module client 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 fragment, qui doit être suffisamment faible pour permettre une restitution en contenu par le terminal 30. According to the prior art, a client module HAS is responsible for picking up its "chunks" from the content server HAS 2 by choosing the video quality Nj according to the available network resource. We do not describe here in more detail how the HAS client module chooses the encoding rate of the next video fragment to download: there are indeed many algorithms to make this choice, whose strategies are more or less safe or aggressive. It is recalled however that, most often, the general principle of such algorithms is based on the downloading of a first fragment at the lowest encoding rate proposed in the manifest, and on the evaluation of the recovery time of this first fragment. . On this basis, the client module HAS evaluates whether, depending on the size of the fragment and the time taken to recover it, the network conditions make it possible to download the next fragment at a higher encoding rate. Some algorithms rely on a gradual increase in the quality level of downloaded content fragments; others propose riskier approaches, with jumps in the levels of encoding rates of successive fragments. In the classic case, if a "chunk" video lasts 3 seconds, the recovery of the "chunk" by the client module HAS must not exceed 3 seconds, to allow a restitution without interruption of the content by the restitution terminal 30. The HAS client module is therefore best suited to achieve the best compromise between rendering quality, and thus encoding rate, as high as possible, and the fragment download time, which must be sufficiently small to allow for a restitution. contained by the terminal 30.
Dans le mode de réalisation illustré en figure 3, en revanche, plusieurs modules clients HAS peuvent être activés en parallèles, comme décrit plus en détail ci-après. Dans le cas par exemple où trois modules clients HAS sont activés, qui téléchargent en parallèle les fragments vidéo successifs du contenu, chaque module client HAS dispose donc de 3 x 3 = 9 secondes pour récupérer son chunk vidéo. In the embodiment illustrated in FIG. 3, on the other hand, several HAS client modules can be activated in parallel, as described in more detail below. In the case, for example, where three HAS client modules are activated, which download in parallel the successive video fragments of the content, each client module HAS therefore has 3 x 3 = 9 seconds to recover its video chunk.
Conformément à la figure 3, le module MNG 302 de gestion des clients HAS détermine tout d'abord le nombre de modules clients HAS-i à activer, en accédant par exemple à un fichier de paramètres de restitution. Une lecture de ce fichier lui permet par exemple de déterminer que l'utilisateur du terminal de restitution 30 lui a attribué une note de trois étoiles sur cinq, ou que le nombre de personnes présentes devant l'écran du terminal de restitution 30 est suffisamment élevé pour entraîner l'activation de plusieurs modules clients HAS, par exemple trois. In accordance with FIG. 3, the MNG 302 client management module HAS first determines the number of HAS-i client modules to be activated, for example by accessing a file of restitution parameters. A reading of this file enables it, for example, to determine that the user of the rendering terminal 30 has given him a rating of three stars out of five, or that the number of persons present in front of the screen of the rendering terminal 30 is sufficiently high. to activate several HAS client modules, for example three.
Le nombre de modules clients HAS à activer peut découler directement de la lecture du fichier de paramètres de restitution, qui peut se présenter par exemple sous la forme du Tableau 1. Il peut également résulter d'un calcul opéré par le module MNG de 302, selon un algorithme qui ne sera pas décrit ici plus en détail, qui peut être multicritère, et tenir compte de pondérations, par exemple affectées aux différents paramètres du Tableau 1. The number of HAS client modules to be activated can result directly from the reading of the restitution parameters file, which may for example be in the form of Table 1. It may also result from a calculation made by the MNG module of 302, according to an algorithm which will not be described here in more detail, which can be multi-criteria, and take into account weightings, for example assigned to the different parameters of Table 1.
Tableau 1 Table 1
Le module MNG 302 active donc les trois modules clients HAS-1 à HAS-3, en vue du téléchargement et de la restitution par le terminal 30 du contenu Cl. The MNG module 302 thus activates the three client modules HAS-1 to HAS-3, for the purpose of downloading and rendering by the terminal 30 of the content Cl.
Au cours d'une étape référencée 310, le module MNG 302 récupère le fichier manifest 7 afin de découvrir les fragments disponibles du contenu vidéo Cl, et les différentes qualités vidéo Nj associées. Dans l'exemple de la figure 3, le contenu Cl est par exemple proposé sous forme de fragments de durée 3s, avec un premier débit d'encodage NI = 500 kb/s, un deuxième débit d'encodage N2 = 1000 kb/s, un troisième débit d'encodage N3 = 2000 kb/s, etc. During a step referenced 310, the MNG module 302 retrieves the manifest file 7 to discover the available fragments of the video content C1, and the various video qualities Nj associated. In the example of FIG. 3, the content C1 is for example proposed in the form of fragments of duration 3s, with a first encoding bit rate NI = 500 kb / s, a second encoding bit rate N2 = 1000 kb / s , a third encoding rate N3 = 2000 kb / s, etc.
Au cours d'une étape référencée 311, le module de gestion MNG 302 pilote les modules clients HAS-1 à HAS-3, afin de télécharger de manière optimale les différents fragments Cli@Nj. Il y a autant de sessions TCP que de clients HAS, la récupération de bande passante est donc pondérée en fonction du nombre de clients. During a step referenced 311, the MNG management module 302 drives the client modules HAS-1 to HAS-3, in order to optimally download the various fragments Cli @ Nj. There are as many TCP sessions as there are HAS clients, so the bandwidth recovery is weighted according to the number of clients.
Ainsi, si l'on suppose qu'en plus du terminal de restitution 30, deux autres terminaux sont en phase de téléchargement adaptatif de contenu dans le réseau local (par exemple les terminaux Thus, if it is assumed that in addition to the rendering terminal 30, two other terminals are in the adaptive download phase of content in the local network (for example the terminals
3 et 4 de la figure 1), et que seul un module client HAS est activé dans chacun de ces deux autres terminaux, la répartition de la bande passante de 6 Mb/s se fait donc automatiquement par les mécanismes TCP de la manière suivante : 3 and 4 of Figure 1), and only one HAS client module is activated in each of these two other terminals, the distribution of the bandwidth of 6 Mb / s is therefore done automatically by TCP mechanisms as follows:
• Terminal 3 (par exemple affecté au téléchargement d'un programme de télévision en différé): • Terminal 3 (for example assigned to download a delayed television program):
1 / (1 + 1 + 3) * 6 Mb/s = 1.5 Mb/s 1 / (1 + 1 + 3) * 6 Mb / s = 1.5 Mb / s
• Terminal 4 (par exemple affecté au téléchargement d'une chaîne de télévision en direct): • Terminal 4 (eg assigned to download a live TV channel):
1 / (1 + 1 + 3) * 6 Mb/s = 1.5 Mb/s 1 / (1 + 1 + 3) * 6 Mb / s = 1.5 Mb / s
• Terminal 30 (par exemple affecté au téléchargement de vidéo à la demande) : • Terminal 30 (for example, assigned to download video on demand):
3 / (1 + 1 + 3) * 6 Mb/s = 3 Mb/s 3 / (1 + 1 + 3) * 6 Mb / s = 3 Mb / s
Le client VOD du terminal 30 récupère donc la moitié de la bande passante totale, grâce à l'activation de trois modules clients HAS-1 à HAS-3 par le module MNG de gestion 302. The VOD client of the terminal 30 thus recovers half of the total bandwidth, thanks to the activation of three client modules HAS-1 to HAS-3 by the management module MNM 302.
Pour optimiser le téléchargement du contenu Cl, et sa restitution par le terminal 30, le module de gestion MNG 302 adresse des commandes dédiées à chacun des modules clients HAS- i, de façon que chaque module client HAS-i récupère de manière autonome et parallélisée les différents fragments du contenu Cl, au cours d'une étape référencée 312. To optimize the downloading of the content Cl, and its restitution by the terminal 30, the management module MNG 302 addresses commands dedicated to each of the client modules HAS-i, so that each client module HAS-i recover autonomously and parallelized the different fragments of the content C1, during a step referenced 312.
Ainsi, en mode de fonctionnement stabilisé (i.e. en dehors de la phase d'initialisation ou de démarrage du téléchargement qui sera décrite plus en détail ci-après), le module MNG de gestion 302 adresse au module client HAS-1 une commande de téléchargement du fragment 01C@N1 (soit le premier fragment temporel à un débit d'encodage de 500 kb/s) et du fragment C14@N3 (soit le quatrième fragment temporel à un débit d'encodage de 2000 kb/s). Thus, in stabilized operating mode (ie outside of the initialization phase or the start of the download which will be described in more detail below), the management MNG module 302 sends the client module HAS-1 a download command fragment 01 C @ N1 (the first time fragment at an encoding rate of 500 kb / s) and fragment C1 4 @ N3 (the fourth time fragment at an encoding rate of 2000 kb / s).
Le module client HAS-2 reçoit une commande de téléchargement du fragment C12@N2 (soit le deuxième fragment temporel à un débit d'encodage de 1000 kb/s) et du fragment C15@N4 (soit le cinquième fragment temporel à un débit d'encodage de 3000 kb/s). Enfin, le module client HAS-3 reçoit, du module de gestion MNG 302, une commande de téléchargement du fragment C13@N3 (soit le troisième fragment temporel à un débit d'encodage de 2000 kb/s) et du fragment C16@N3 (soit le sixième fragment temporel, également à un débit d'encodage de 2000 kb/s). The client module HAS-2 receives a download command of the C1 2 @ N2 fragment (ie the second temporal fragment at an encoding rate of 1000 kb / s) and of the fragment C1 5 @ N4 (the fifth time fragment at a single time). encoding rate of 3000 kb / s). Finally, the client module HAS-3 receives, from the management module MNG 302, a download command of the fragment C1 3 @ N3 (the third time fragment at an encoding rate of 2000 kb / s) and the fragment C1 6 @ N3 (ie the sixth time fragment, also at an encoding rate of 2000 kb / s).
Le module de gestion MNG 302 calcule ainsi, en permanence, en fonction des conditions réseau, quel est le débit d'encodage optimum à utiliser pour permettre une restitution en continu du contenu par le terminal 30, et adresse les commandes correspondantes aux différents modules clients HAS-i, et ce jusqu'à la fin de la restitution du contenu Cl par le terminal 30. The management module MNG 302 thus continuously calculates, according to the network conditions, what is the optimum encoding rate to be used to enable a continuous reproduction of the content by the terminal 30, and sends the corresponding commands to the various client modules. HAS-i, until the end of the return of the content C1 by the terminal 30.
On notera que, dans ce mode de réalisation, comme plusieurs fragments temporels sont récupérés en parallèle par les différents modules clients HAS-i, le temps maximal pour récupérer un fragment du contenu Cl est donc de N x 3 secondes, où N est le nombre de modules clients HAS-i activés par le module de gestion MNG 302, et où la durée d'un fragment temporel Clr(S) Nj est de trois secondes. Note that, in this embodiment, as several time fragments are retrieved in parallel by the different client modules HAS-i, the maximum time to retrieve a fragment of the content Cl is therefore N x 3 seconds, where N is the number customer modules HAS-i enabled by the MNG management module 302, and where the duration of a temporal fragment Cl r ( S ) Nj is three seconds.
Les différents fragments téléchargés par les différents modules clients HAS-1 à HAS-3 sont transmis au lecteur vidéo V.P. 301 qui les décode pour leur restitution à l'utilisateur par le terminal 30. The various fragments downloaded by the various client modules HAS-1 to HAS-3 are transmitted to the video player V.P. 301 which decodes them for their return to the user by the terminal 30.
L'algorithme mis en oeuvre par le module de gestion MNG 302 pour déterminer quel fragment à quel débit d'encodage doit être téléchargé par le module client HAS-i peut être l'un des algorithmes déjà existants de l'art antérieur, dès lors que le module de gestion MNG 302 tient compte du temps de récupération du fragment i-1 par le client HAS-j pour déterminer le débit d'encodage du fragment i par le client HAS-j+1. Cet algorithme ne sera donc pas décrit ici plus en détail. On notera cependant que les modules clients HAS-i sont sollicités les uns après les autres pour récupérer les fragments successifs du contenu : ainsi, de préférence, si le client HAS-1 récupère un fragment Cl,, le client HAS-2 récupère le fragment Cli+1, et le client HAS-3 récupère le fragment Cli+2, et ainsi de suite. The algorithm implemented by the management module MNG 302 to determine which fragment at which encoding rate must be downloaded by the client module HAS-i may be one of the already existing algorithms of the prior art, since that the management module MNG 302 takes into account the recovery time of the fragment i-1 by the client HAS-j to determine the encoding bit rate of the fragment i by the client HAS-j + 1. This algorithm will not be described here in more detail. Note, however, that the HAS-i client modules are solicited one after the other to retrieve the successive fragments of the content: thus, preferably, if the client HAS-1 retrieves a fragment Cl ,, the client HAS-2 retrieves the fragment Cl i + 1 , and the client HAS-3 retrieves the fragment Cl i + 2 , and so on.
Cette description correspond au mode de fonctionnement stabilisé du dispositif de gestion de téléchargement progressif adaptatif du terminal de restitution 30. A l'initialisation, il peut s'avérer intéressant d'opérer une montée en charge progressive du téléchargement, en commençant par n'instancier qu'un module client HAS-1, puis attendre une phase de stabilisation avant d'activer un deuxième module client HAS-2, et ainsi de suite en alternant nouvelle activation et attente au cours d'une phase de stabilisation. Une activation immédiate de l'ensemble des modules clients HAS-i pourrait en effet occasionner un inconfort pour l'utilisateur, par exemple dans le cas d'un téléchargement d'une chaîne de contenu télévisuelle, dans le cas où il déciderait de « zapper ». Cette phase d'initialisation est illustrée en figure 4. This description corresponds to the stabilized operating mode of the adaptive progressive download management device of the rendering terminal 30. At initialization, it may be advantageous to operate a progressive scaling up of the download, starting with an instantiation a client module HAS-1, then wait for a stabilization phase before activating a second client module HAS-2, and so on alternating new activation and waiting during a stabilization phase. An immediate activation of all the HAS-i client modules could indeed cause discomfort for the user, for example in the case of a download of a television content channel, in the event that he decides to "zap ". This initialization phase is illustrated in FIG.
Au cours d'une phase de démarrage du téléchargement progressif adaptatif, on peut ainsi prévoir que le module de gestion MNG 302 détermine tout d'abord (42) le nombre optimum N de modules clients HAS-i à activer, par exemple en fonction du type de contenu (payant ou gratuit) choisi au cours d'une étape référencée 41 (ou plus généralement en utilisant le fichier de paramètres de restitution dont un exemple est donné dans le Tableau 1), puis active (43) le premier module client HAS-1 en lui adressant une commande de téléchargement (45) du premier fragment temporal Cli@Nl au débit d'encodage le plus bas proposé dans le manifeste 7 (ici par exemple Nl=512kb/s). During a phase of starting the adaptive progressive download, it is thus possible for the MNG management module 302 to first determine (42) the optimum number N of client modules HAS-i to be activated, for example as a function of the type of content (paid or free) chosen during a step referenced 41 (or more generally using the restitution parameter file, an example of which is given in Table 1), then activates (43) the first client module HAS -1 by sending a download command (45) of the first temporal fragment Cli @ Nl at the lowest encoding rate proposed in the manifest 7 (here for example Nl = 512kb / s).
Le module de gestion MNG 302 initie alors un compteur (44), ou « timer », afin de vérifier que la qualité Q de restitution du contenu Cl est stable, par exemple pendant une durée de 10 fois la durée d'un fragment temporel, soit dans cet exemple 30 secondes. A l'issue de cette durée de 30 secondes de stabilité de la qualité de restitution (46), le module de gestion MNG 302 peut alors activer un deuxième module client HAS-2 (47), en lui adressant les commandes adéquates de téléchargement des fragments du contenu Cl. Il peut à nouveau attendre une durée de stabilisation de la qualité de trente secondes avant d'activer le troisième et dernier module client HAS-3. C'est seulement à l'issue de cette phase d'initialisation et de montée en charge progressive que les trois modules clients HAS-1 à HAS-3 peuvent fonctionner simultanément pour le téléchargement parallèle (48) des différents fragments du contenu Cl, selon les commandes reçues du module de gestion MNG 302, et conformément à l'exemple de la figure 3. The management module MNG 302 then initiates a counter (44), or "timer", in order to verify that the quality Q of reproduction of the content C1 is stable, for example for a duration of 10 times the duration of a temporal fragment, in this example 30 seconds. At the end of this duration of 30 seconds of stability of the quality of reproduction (46), the management module MNG 302 can then activate a second client module HAS-2 (47), by sending him the appropriate commands for downloading the fragments of the content Cl. He can again wait for a stabilization time of the quality of thirty seconds before activating the third and last HAS-3 client module. It is only after this phase of initialization and progressive scaling that the three client modules HAS-1 to HAS-3 can operate simultaneously for the parallel download (48) of the different fragments of the content C1, according to the commands received from the MNG management module 302, and in accordance with the example of FIG.
ANNEXE 1 : exemple de fichier manifest APPENDIX 1: Sample manifest file
Claims
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR1854127A FR3081274B1 (en) | 2018-05-17 | 2018-05-17 | MANAGEMENT OF THE ADAPTIVE PROGRESSIVE DOWNLOAD OF DIGITAL CONTENT FROM A RETURN TERMINAL OF A LOCAL COMMUNICATION NETWORK. |
| FR1854127 | 2018-05-17 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2019220034A1 true WO2019220034A1 (en) | 2019-11-21 |
Family
ID=63834093
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/FR2019/051030 Ceased WO2019220034A1 (en) | 2018-05-17 | 2019-05-06 | Management of adaptive progressive download of a digital content within a restoration terminal of a local communication network |
Country Status (2)
| Country | Link |
|---|---|
| FR (1) | FR3081274B1 (en) |
| WO (1) | WO2019220034A1 (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP3846489A1 (en) * | 2020-01-02 | 2021-07-07 | Orange | 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 |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| FR3124672A1 (en) * | 2021-06-24 | 2022-12-30 | Orange | Support for adaptive progressive download of digital content in screensaver mode |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20140281000A1 (en) * | 2013-03-14 | 2014-09-18 | Cisco Technology, Inc. | Scheduler based network virtual player for adaptive bit rate video playback |
| US20150207743A1 (en) * | 2012-10-18 | 2015-07-23 | Giraffic Technologies Ltd. | Congestion Control Method For Dynamically Maximizing Communication Link Throughout |
-
2018
- 2018-05-17 FR FR1854127A patent/FR3081274B1/en active Active
-
2019
- 2019-05-06 WO PCT/FR2019/051030 patent/WO2019220034A1/en not_active Ceased
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20150207743A1 (en) * | 2012-10-18 | 2015-07-23 | Giraffic Technologies Ltd. | Congestion Control Method For Dynamically Maximizing Communication Link Throughout |
| US20140281000A1 (en) * | 2013-03-14 | 2014-09-18 | Cisco Technology, Inc. | Scheduler based network virtual player for adaptive bit rate video playback |
Non-Patent Citations (1)
| Title |
|---|
| SUNAND TULLIMAS ET AL: "Multimedia streaming using multiple TCP connections", ACM TRANSACTIONS ON MULTIMEDIA COMPUTING COMMUNICATIONS ANDAPPLICATIONS, ASSOCIATION FOR COMPUTING MACHINERY, US, vol. 4, no. 2, 16 May 2008 (2008-05-16), pages 1 - 20, XP058145136, ISSN: 1551-6857, DOI: 10.1145/1352012.1352016 * |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP3846489A1 (en) * | 2020-01-02 | 2021-07-07 | Orange | 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 |
Also Published As
| Publication number | Publication date |
|---|---|
| FR3081274B1 (en) | 2020-08-21 |
| FR3081274A1 (en) | 2019-11-22 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| 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 | |
| WO2019220034A1 (en) | Management of adaptive progressive download of a digital content within a restoration terminal of a local communication network | |
| 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 | |
| EP3926929B1 (en) | Process for managing the playback of digital content within a multimedia content player terminal connected to a restitution device | |
| FR3081647A1 (en) | MANAGEMENT OF ADAPTIVE PROGRESSIVE DOWNLOAD (HAS) OF DIGITAL CONTENT WITHIN A REAL-TIME MULTIMEDIA STREAM READER TERMINAL. | |
| 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 | |
| EP3840391A1 (en) | Management of the reproduction of multimedia content and a navigation interface on a screen | |
| FR3135857A1 (en) | Management of the restitution of multimedia content on several screens. | |
| 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 | |
| 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 | |
| EP4543015A1 (en) | Method for managing access to description files associated with content broadcast in real time | |
| WO2023208688A1 (en) | Management of the rendering of an item of multimedia content | |
| FR3103668A1 (en) | Management of the adaptive progressive download of digital content over the mobile network with determination of a maximum encoding rate allowed over a session based on a bucket of data | |
| WO2025114181A1 (en) | Method for managing the replay of an item of content that has been broadcast in real time | |
| FR3093605A1 (en) | A method of accelerated browsing of digital content obtained by adaptive progressive download (HAS), manager, media player and corresponding computer program. | |
| EP3973714A1 (en) | Rendering of background or insertion content as part of an adaptive progressive download (has) | |
| EP4554231A1 (en) | Method for managing access to description files associated with content broadcast in real time | |
| FR3093603A1 (en) | A method of accelerated browsing of digital content obtained by adaptive progressive download (HAS), manager, media player and corresponding computer program. | |
| FR3143930A1 (en) | Management of management of the provision of segment addresses of multimedia content | |
| EP4066512A1 (en) | Method for managing a list of contents accessible for zapping, the digital contents being downloadable in an http adaptive streaming (has) mode, and corresponding management device, multimedia stream reader and computer program | |
| FR3114719A1 (en) | Method for managing the reading of digital content within a multimedia content player terminal connected to a rendering device | |
| FR3124344A1 (en) | Method for managing access to content downloaded in adaptive download mode. | |
| FR3096210A1 (en) | A method of transmitting digital content having several versions accessible from a content server to a playback terminal. | |
| 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 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 19728501 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 19728501 Country of ref document: EP Kind code of ref document: A1 |