EP3942838A1 - Method for managing the broadcasting of multimedia content, and device for carrying out said method - Google Patents

Method for managing the broadcasting of multimedia content, and device for carrying out said method

Info

Publication number
EP3942838A1
EP3942838A1 EP20728105.6A EP20728105A EP3942838A1 EP 3942838 A1 EP3942838 A1 EP 3942838A1 EP 20728105 A EP20728105 A EP 20728105A EP 3942838 A1 EP3942838 A1 EP 3942838A1
Authority
EP
European Patent Office
Prior art keywords
content
data
live
metadata
period
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
EP20728105.6A
Other languages
German (de)
French (fr)
Inventor
Eric Toullec
Lucas Gregory
Jean LE FEUVRE
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ateme SA
Institut Mines Telecom IMT
Original Assignee
Ateme SA
Institut Mines Telecom IMT
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ateme SA, Institut Mines Telecom IMT filed Critical Ateme SA
Publication of EP3942838A1 publication Critical patent/EP3942838A1/en
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/812Monomedia components thereof involving advertisement data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • H04N21/43079Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen of additional data with content streams on multiple devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/23439Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26258Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44016Processing 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 splicing one content stream with another content stream, e.g. for substituting a video clip
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Definitions

  • the present invention relates to the field of data distribution over a telecommunications network.
  • it relates to the distribution of multimedia content (audio and / or video, subtitles, data, etc.), and in particular to the distribution in real time.
  • the OTT market operates on so-called unmanaged networks (i.e. with uninsured bandwidth and quality of service (in English QoS, for "Quality of Service”). These multi-screen OTT services are provided by distribution / redistribution companies such as television content broadcasters and telecom operators.
  • the distribution of multi-screen content typically uses a video distribution network head comprising a video encoding unit which receives as input content to be encoded and delivers to a formatting unit (sometimes referred to in English as "packager ") Encoded streams known as" elementary streams ".
  • a content received as input is encoded according to a plurality of encoding profiles (a profile being for example defined with coded, resolution and bit rate parameters).
  • the encoded streams (elementary streams) delivered by the video encoding unit are split within the shaping unit into at least two sequences of successive segments, respectively audio and video, the segments generally being of fixed duration (typically a few seconds), the format of which depends on the protocol chosen (for example MPEG2-TS, MP4, etc.).
  • a set of metadata relating to multimedia content sometimes called a media presentation container (from the English “Media Presentation Description”, or MPD) or “manifest” (from the English “manifest” ), is also generated by the formatting unit, for example in the form of a file, for example in XML format, indicating the characteristics of each profile and the available segments corresponding to the content.
  • CDN content distribution networks
  • a terminal for video playback of content distributed in dynamic mode (by
  • the invention aims to improve the situation.
  • the method comprises, in one or more embodiments: obtaining a first a set of content description metadata describing a first multimedia content distributed in dynamic mode; and on reading from the first set of redirection data metadata to a section of a second set of content description metadata, reading from the section of the second metadata set data relating to time synchronization for access to a second multimedia content distributed in dynamic mode.
  • xlink (“Information technology - Dynamic adaptive streaming over http (DASH) - Part 1: Media presentation description and segment formats”), which provides for the possibility of using redirection data in the form of an “xlink »Insertable in a timeslot container of a manifest (which corresponds to a set of content description metadata), an xlink cannot be used to perform a read failover of a first content distributed in dynamic mode to a second content distributed in dynamic mode.
  • the proposed method provides for modifying the use of xlink links by including in the resolution of such a link a time synchronization data read for access to the second content distributed in dynamic mode.
  • the proposed method advantageously makes it possible to insert in the resolution of redirection data, that is to say, in obtaining the data to which the re direction gives access, access to synchronization data temporal for access to the second content distributed in dynamic mode.
  • the proposed method is particularly suitable, although in a non-limiting manner, for the reading, by a reading terminal equipment, of multimedia contents distributed live according to an MPEG DASH, HLS, HDS, MSS or HAS type scheme. . But it is also suitable for reading multimedia contents distributed live according to any scheme in which this reading is performed using sets of content description metadata corresponding to multimedia contents distributed live.
  • the proposed method could advantageously be implemented in any device configured for reading multimedia content, on the basis of a set of multimedia content description metadata, for example in accordance with the MPEG DASH, HLS, standards.
  • HDS, MSS, or HAS such as, without limitation, any computer, smartphone, user equipment, video player, video playback terminal, tablet, etc.
  • the second set of content description metadata may describe the second multimedia content distributed in dynamic mode.
  • Temporalization for accessing the dynamically distributed second media content can be read, in the second set of content description metadata, in a time slot description container relating to the second media content.
  • the timing for accessing the dynamically distributed second media content may include data indicating an availability timestamp of the second media content.
  • the timing for accessing the dynamically distributed second media content may include data indicative of accessibility information of segments of the second media content.
  • Temporalization for access to the second multimedia content distributed in dynamic mode may correspond, in whole or in part, to data relating to a temporal synchronization provided under a root element of the second set of metadata.
  • the first and second sets of metadata are manifests in the “Dynamic adaptive streaming over HTTP” (Hypertext Transfer Protocol), DASH format.
  • temporalization for access to the second multimedia content distributed in dynamic mode may include data indicating an availability timestamp of a first segment of the second content, data indicating a common duration used in the definition of rates associated with the second content and data indicating a timestamp of generation of the second set of metadata and its publication on a multimedia content distribution network.
  • this data may further include one or more several of data indicating a distribution type of the second content, data indicating a generation timestamp of a segment of the second oldest content still available, clock data and data indicating a duration of a smaller buffer time offset used for the second content.
  • multimedia comprising a processor and memory operatively coupled to the processor, wherein the processor is configured to implement the method proposed according to one or more embodiments.
  • a method for managing multimedia content comprising: obtaining a first set of content description metadata describing a first multimedia content distributed in dynamic mode; and on reading from the first set of redirection data metadata to a section of a second set of content description metadata, reading from the section of the second metadata set data relating to time synchronization for access to a second multimedia content distributed in dynamic mode corresponding to the second set of content description metadata.
  • a set of content description metadata describing multimedia content distributed in dynamic mode comprising, in a container describing a time interval, data relating to a time synchronization for the access to multimedia content.
  • a manifesto in DASH format describing multimedia content distributed in dynamic mode comprising, in a container of the “Period” type, data relating to a time synchronization for access to the multimedia content.
  • a computer program loadable into a memory associated with a processor, and comprising portions of code for the implementation of the method proposed according to one or more embodiments during the 'execution of said program by the processor, as well as a set of data representing, for example by compression or encoding, said program computer.
  • Another aspect relates to a non-transient storage medium for a computer executable program, comprising a set of data representing one or more programs, said one or more programs comprising instructions for, during the execution of said one. or several programs by a computer comprising a processing unit operatively coupled to memory means and to an input / output interface module, leading the computer to manage multimedia content according to one or more embodiments of the proposed method.
  • a computer comprising a processing unit operatively coupled to memory means and to an input / output interface module, leading the computer to manage multimedia content according to one or more embodiments of the proposed method.
  • FIG. 1 illustrates an example of a distribution infrastructure according to one or more embodiments.
  • FIG. 1 is a timing diagram illustrating a drop-out from a first live content to a second live content.
  • FIG. 1 illustrates an example of device architecture for implementing the proposed method according to one or more embodiments.
  • the present description refers to functions, engines, units, modules, platforms, and diagram illustrations of methods and devices according to one or more embodiments.
  • Each of the functions, motors, modules, platforms, units and diagrams described can be implemented in hardware, software (including in the form of on-board software ("firmware”), or “middleware”), microcode, or any combination of these.
  • functions, motors, units, modules and / or diagram illustrations can be implemented by computer program instructions or software code, which can be stored or transmitted on a computer readable medium, including a non-transient medium, or a medium loaded in the memory of a generic, specific computer, or of any other apparatus or programmable data processing device to produce a machine, in such a way that computer program instructions or software code executed on the computer or device or programmable data processing device, constitute means of implementing these functions.
  • a computer readable medium include, but are not limited to, computer storage media and communication media, including any medium facilitating the transfer of a computer program from a location to another.
  • computer storage medium s
  • computer storage medium any physical medium that can be accessed by a computer.
  • various forms of computer readable medium can transmit or carry instructions to a computer, such as a router, a gateway, a server, or any data transmission equipment, whether it is wired transmission (by coaxial cable, optical fiber, telephone wires, DSL cable, or Ethernet cable), wireless (by infrared, radio, cellular, microwave), or virtualized transmission equipment (virtual router, virtual gateway, end of virtual tunnel, virtual firewall).
  • a computer such as a router, a gateway, a server, or any data transmission equipment, whether it is wired transmission (by coaxial cable, optical fiber, telephone wires, DSL cable, or Ethernet cable), wireless (by infrared, radio, cellular, microwave), or virtualized transmission equipment (virtual router, virtual gateway, end of virtual tunnel, virtual firewall).
  • the instructions may, depending on the embodiments, include code of any computer programming language or computer program element, such as, without limitation, assembly languages, C, C ++, Visual Basic, HyperText Markup Language (HTML), Extensible Markup Language (XML), HyperText Transfer Protocol (HTTP), Hypertext Preprocessor (PHP), SQL, MySQL, Java, JavaScript, JavaScript Object Notation (JSON), Python, and bash scripting.
  • HTML HyperText Markup Language
  • XML Extensible Markup Language
  • HTTP HyperText Transfer Protocol
  • PHP Hypertext Preprocessor
  • SQL SQL
  • MySQL Java, JavaScript, JavaScript Object Notation
  • Python Python
  • bash scripting any computer programming language or computer program element
  • server or “platform” is meant in the present description any point of service (virtualized or not) or device operating data processing, one or more databases, and / or communication functions of data.
  • server or the term “platform” may refer to a physical processor operably coupled with associated communication, database and data storage functions, or refer to a network, group, set or complex of processors and storage equipment associated data and networking, as well as an operating system and one or more database system (s) and application software in support of the services and functions provided by the server.
  • a computing device can be configured to send and receive signals, by wireless and / or wired transmission network (s), or can be configured for processing and / or storage of data or signals, and can therefore operate as a server.
  • equipment configured to operate as a server can include, by way of non-limiting examples, dedicated rack-mounted servers, desktops, laptops, service gateways (sometimes referred to as “boxes” or “ residential gateway ”), multimedia decoders (sometimes called“ set-top boxes ”), integrated equipment combining various functionalities, such as two or more of the functionalities mentioned above.
  • Servers can vary widely in their configuration or capabilities, but a server will typically include one or more central processing unit (s) and memory.
  • a server can also include one or more mass memory equipment (s), one or more power supply (s), one or more wireless and / or wired network interface (s), one or more several input / output interface (s), one or more operating system (s), such as Windows Server, Mac OS X, Unix, Linux, FreeBSD, or an equivalent.
  • multimedia content is meant in the present description any audio and / or video content, subtitles, data, audiovisual, music, sound, image and interactive graphical interface, and any combination of these types of content.
  • network and “communication network” as used in the present description refer to one or more data links which can couple or connect equipment, possibly virtualized, so as to allow the transport of data.
  • a network can also include a mass memory to store data, such as a NAS (in English "network attached storage” in English, a SAN (in English “storage area network”), or any other form of media readable by a computer. or by a machine, for example.
  • a network may include, in whole or in part, the Internet network, one or more local area networks (or LANs), one or more WAN type networks (in English "Wide area networks"), wired type connections, wireless, cellular, or any combination of these different networks.
  • subnets may use different architectures or be compliant or compatible with different protocols, and interoperate with larger networks. Different types of equipment can be used to make different architectures or different protocols interoperable. For example, a router can be used to provide a communications link or a data link between two LANs that would otherwise be separate and independent.
  • an operative coupling may include one or more wired connection (s) and / or one or more wireless connection (s) between two or more devices that allow simplex and / or duplex communication links. between the equipment or portions of the equipment.
  • an operational coupling or connection may include a wired and / or wireless link coupling to enable data communications between a server of the proposed system and other equipment of the system.
  • app or “application program” (AP) and their variants (“app”, “webapp”, etc.) as used in the present description correspond to any tool which functions and is operated by means of from a computer, to provide or execute one or more function (s) or task (s) for a user or another application program.
  • a user interface may be provided on the equipment on which the application program is implemented.
  • GUI graphical user interface
  • an audio user interface can be played back to the user using a loudspeaker. , headphones or audio output.
  • multimedia content as used in the present description correspond to any content of audio and / or video or audiovisual type.
  • the terms “real-time” distribution, “linear mode” distribution, “linear TV mode” distribution, “dynamic mode” distribution and “live” or “live mode” distribution are used interchangeably to denote the dynamic mode or type distribution (in English “live” or “dynamic” mode) of multimedia content in a distribution system.
  • distribution of content to terminals including in particular the distribution of the content as it is generated, as opposed to the distribution of previously generated content, on a user's access request (distribution on access request or distribution in "static" mode or type (in English, "static”), such as, for example, content recorded on a server, and made available to users by a video on demand (VOD) service .
  • VOD video on demand
  • live content refers to content, for example of multimedia type, distributed, for example according to an OTT distribution mode, in dynamic mode (as opposed to the static distribution mode). Live content will typically be generated by a television channel, or by any type of television media, and may also be broadcast over a multimedia content distribution network, in addition to being made available on content servers in a distribution system. OTT.
  • Reader”, “reading device”, “reading terminal” and “video player” are used interchangeably to designate any type of device, implemented by one or more software, one or more hardware, or a combination of one or more software and one or more hardware, configured to use multimedia content distributed according to a multi-screen distribution protocol, in particular for loading and playing the content.
  • client and “video playback client” are also used interchangeably to refer to any type of device, software and / or hardware, or any function or set of functions, implemented by software and / or hardware within a device, configured to use multimedia content distributed according to a multi-screen distribution protocol, in particular by loading the content from a server and playing the content.
  • Figure 1 illustrates an example of the architecture of a distribution system (1) of
  • FIG. 1 shows a video distribution network head (2) comprising a video encoding unit (4) which receives as input content to be encoded (“contribution”) (3), and delivers to a formatting unit (5) (“packager”) encoded streams known as “elementary streams”.
  • a content received as input is encoded according to a plurality of encoding profiles (a profile being for example defined with parameters of coding, resolution and bit rate).
  • the use of a plurality of encoding profiles has at least two advantages: First of all, a plurality of profiles makes it possible to address reading terminals with the characteristics (coded supported, screen resolution, decoding power ) different.
  • the reader of a client can be configured. to seek to achieve the encoding profile corresponding to the highest bit rate, as a function of the bandwidth measurements that it continuously performs.
  • the encoded streams (elementary streams) delivered by the video encoding unit (4) to
  • the shaping unit are cut into two sequences of successive segments, respectively audio and video, which are generally of fixed duration (typically a few seconds) by the shaping unit (5), the format of which depends the chosen protocol (for example MPEG2-TS, MP4, etc.).
  • the formatting unit For each content, a set of metadata relating to multimedia content, or "manifest", is also generated by the formatting unit. This is typically a file, for example in XML format, indicating the characteristics of each profile and the available segments corresponding to the content.
  • CDN content distribution servers (8a, 8b), called “Content Delivery Network” (from the English “Content Delivery Network”), providing caching capabilities that improve the quality of services provided to users, and minimize access times and latency for viewing content by reading terminals.
  • the contents stored in the CDN servers (8a, 8b) are accessible in read mode to user terminals (10a, 10b, 10c), through a service platform (7) for the distribution of the contents.
  • the clients installed in the terminals (10a, 10b, 10c) can access the content stored on the CDN servers via one or more data communication networks, such as for example the Internet network (9), as illustrated in the figure.
  • FIG. 2a illustrates an example of XML file content corresponding to a
  • DASH Dynamic adaptive streaming over HTTP
  • the DASH manifesto illustrated in FIG. 2a has a hierarchical structure
  • a root element of the document contains the attributes applicable to all the elements of the document (the other elements being sometimes called “child” elements).
  • the root "MPD” can, in addition to the "child” elements, define values
  • attributes including the following attributes that relate to the distribution of live content:
  • the "type” attribute defines the type of content distribution: "static” for
  • VOD Video on Demand
  • the "PublishTime” attribute indicates a date of generation of the manifesto and of its publication on the CDN network. This information makes it possible to record different versions of the same manifesto corresponding to successive publications, in order to detect changes that have occurred from one publication to another.
  • the "AvailabilityEndTime” attribute indicates a generation date of the oldest segment still available.
  • the "MinimumUpdatePeriod" attribute defines the shortest period between
  • MinBufferTime mandatory in the example format illustrated in Figure 2a, defines a common duration used in the definition of the bit rates of the representations.
  • the "TimeShiftBufferDepth" attribute defines the duration of the smallest time offset buffer for all representations of the manifest, ensuring the availability of segments for dynamic type distributions. Its value indicates the time period in the past for which the content associated with the manifest, distributed dynamically, is available on the CDN server. This value can for example be equal to 1 minute, in which case the player can go back to the past (“live” content) for one minute, or retrieve a minute of live content if the user uses the “pause” function. To stop playing live content.
  • the “SuggestedPresentationDelay” attribute defines a fixed time offset which can be applied when presenting each access unit. This setting allows you to squeeze as close as possible to the live content boundary, to ensure that all playback terminals that play the same live content will play it in the same location. For example, we can configure the playback so as to go back 4 seconds in the past to give our a margin of safety in relation to the course of the live content.
  • the "UTCTiming" attribute provides a common clock between the formatting unit and the reading terminal (or video player). It allows you to indicate to the terminal a way to retrieve a clock synchronized with the content server.
  • “Child” elements in the form of containers possibly nested one inside the other, can also be included in the manifesto to specify the files accessible through the manifesto.
  • these “child” elements can be:
  • a “Period” type element describing a time interval, whether or not bounded in time.
  • One or more attributes can be provided for an element of type "Period", among which an attribute (“id") identifying the period
  • Each child element of the "Period" type can itself contain elements.
  • an element of type “Period” can contain two child elements of type “AdaptationSet” each corresponding to a type of content.
  • AdaptationSet is a container which makes it possible to describe available content according to their type. It makes it possible to group together elements concerning the same component of multimedia content such as audio, video or subtitles, but encoded with parameters (bitrates, resolutions, frame rate (in English "framerate”), rate of different sampling rates.
  • bitrates, resolutions, frame rate (in English "framerate") rate of different sampling rates.
  • Encoding parameters can be provided by the element "Representation”, which allows to precisely describe the encoding parameters and access to a component of the media.
  • FIG. 3 illustrates an example of a method for reading live content by a video playback client (or a video player).
  • the illustrated method uses some of the information described above for the example manifesto illustrated in Figure 2a to determine the data segment to download for each "AdaptationSet" of the current period, and thus allow the client to hang on. content to read.
  • the playback of live content put in MPEG-DASH format is mainly linear.
  • the client When connecting to the content server, the client first retrieves the manifest containing information specific to the content distributed in dynamic mode (“live”), then begins reading at the location of the content corresponding to the current time. (in order to follow an event taking place in real time (or live)). To do this, it determines the current period by calculating the time elapsed since the "availabilityStartTime" value indicated in the manifest, then determines the number of the "live” segment in this period by the same means.
  • live information specific to the content distributed in dynamic mode
  • the client obtains (50) a manifest corresponding to the live content to be played, then synchronizes (51) (52) with a multimedia content server via the 'intermediate the value of the attribute "UTCtiming" indicated in the manifest.
  • the client can then determine (53) the elapsed time fe () since the start of the live media content.
  • a delay (“PresentationTimeOffset”) may be applied (54) to the transmission of the multimedia content in order to allow time for the encoder to encode the segments, which leads to the determination of a time fc () defined by fe ()
  • segment duration the size of the segments (segment duration) defined in the manifesto, and a time scale parameter
  • TimeScale an index (57) fi () or a timestamp (56) (“TimeStamp”) ft () of the current time segment can be calculated, depending on the type of segment (55). From this information, the client can obtain (58) a download address (for example a URL (standing for “Uniform Resource Locator”)), then download the current time segment of the multimedia content.
  • the content provider can further influence the behavior of the customer through other means than the manifesto that the customer downloads, such as inserting signage into a data segment.
  • a specific marker for example in the form of a "box”
  • a predetermined tag For example, inserting an "emsg" box in a data segment indicates to the customer that they must immediately reload the manifest.
  • a client configured to play an MP4 or MPEG2 TS file (from English
  • Transport Stream will browse (in English, “parse”) this file (in its ar borescent form) to detect all the information present, including in particular the signaling information of manifest loading request (for example indicated by an "emsg” sign). It is thus possible to signal an unforeseen event which must be taken into account as soon as possible by overriding the value of the "minimumUpdatePeriod” attribute, which is more suitable for incremental changes to the manifesto.
  • live content During an advertising break in content distributed in dynamic mode (“live” content), default advertisements are present in the initial data stream, that is to say corresponding to the live content being played .
  • the content provider may decide to redirect customers to targeted advertisements based on their respective profiles.
  • the current period indicated in the current manifest (corresponding to the live content being played) can be closed, and a new period of a duration equal to that of the initial advertisement can be inserted in the current manifesto, under the form of a time interval description container (“Period” in the case of a container of a manifest in DASH format).
  • This time interval description container can contain re direction data (for example indicated in an xml file by a redirection link of the type "xlink", for "XML Linking Language", type specified in the recommendation W3C "W3C XLINK XML Linking Language (XLink) Version 1.1, W3C Recom mendation”) to an advertising server which, depending on a profile of the client's user, will return a new manifest allowing access to advertisements adapted to this user.
  • the client will read the content described by the “Period” description container of this new manifest for the duration of the period defined by the container. At the end of this period, the client will return to the current manifest in which the advertisement period will also have been closed and a new live period inserted in the form of another time slot description container.
  • the regional dropout scenario can be encountered when a television channel broadcasts in real time national television news which then drop off at fixed times on regional television news, such as for example the television channel France 3
  • This use case is similar to that of advertisements because the duration of the release is known in advance.
  • regional dropouts of varying durations depending on the region we can imagine regional dropouts of varying durations depending on the region.
  • the regulations provide for devices to allow alert messages to be broadcast by interrupting current programs. These messages can be pre-recorded and therefore of known duration or be produced in real time. In the latter case, the duration of the interruption is not known in advance.
  • toggles between multimedia contents are caused by the use of flow switching orders, called "splicing", coming from equipment located upstream of the audio / video encoder.
  • the formatting unit modifies the current manifest (corresponding to the live content being played) to notify the client of a change.
  • the switching order to another flow indicates to the customer that he must switch from a primary flow to a conditional flow, and the order of Splice in indicates to the client that it should revert to the primary stream.
  • the DASH standard provides a mechanism for switching between 2 live content, called manifest chaining (in English, "manifest chaining”), which consists in forcing the DASH client to accompany the switch from a first live content to a second live content by switching to a new manifesto, from a first manifesto.
  • This mechanism thus requires the reader to switch to a secondary manifesto, different from the manifesto in use by the client (called “primary” manifesto or “current” manifesto), for the implementation of a switchover of a first live stream corresponding to the primary manifest, to a second live stream, to which the secondary manifest corresponds.
  • switching from a first manifesto to a second manifesto has some drawbacks, from the point of view of continuity between successive periods (it is impossible to signal the continuity of periods using manifest chaining as specified), from the point of view of view of Digital Right Management (DRM) (as the manifest URL changes when switching, the DASH client should store the original period to determine that the same DRM configuration can be used, which is enough binding from the point of view of the DASH client), and from the point of view of the management of the authentication tokens of the CDN server (as the manifest URL changes during the switchover, the DASH client should store the period d 'origin and the URL after redirection in order to determine that the same URL is used and therefore not to redo the authentication step with the CDN, which is quite restrictive from the point of view of the DASH client).
  • the reader loses knowledge of the primary manifesto, making it complicated, if not impossible, to return to the first live stream at the end of the switchover period (for example when the alert ends. in the case
  • redirection data to data corresponding to the second content
  • a manifest in DASH format an "xlink” type redirection link can thus be inserted in a "Period” type container, as illustrated in Figure 2b.
  • the ISO / IEC 23009-1 specification "Information Technology - Dynamic adaptive streaming over HTTP (DASH) - Part 1: Media presentation description and segment formats” defines the insertion of xlink-type redirect links in a manifest in DASH format.
  • FIG. 2b thus illustrates an example of a manifest in DASH format after insertion of a period pointing to another content in the form of a container of the "Period” type comprising an xlink link pointing to another manifest corresponding to this other content (in particular in that it contains information allowing access to this other content).
  • xmlns "http://www.w3.org/1999/xlink”> ".
  • xmlns: xlink http: //www.w3.org/1999/xlink ”) to download a second manifesto containing data relating to access to the second content, then extract from this second manifest one or more periods, in the form one or more “Period” containers.
  • the customer will use the redirection to get information relating to this new PI period via the information accessible by the xlink link.
  • a third period corresponds to the return to the initial content following the interruption of the period P1.
  • this period corresponds to the first live content and n ' therefore has no specified duration:
  • the ISO / IEC 23009-1 standard specifies that the resolution of an xlink link inserted in a time slot description container (defining a period), i.e. the download of the manifest at the address indicated by the xlink link and extracting the period (s) (time interval containers) from this manifest, must return not the full manifest, but only the period (s) concerned (multiple periods from the remote manifest (second manifest) which can be substituted by resolution of the xlink link at a period of the initial manifesto (first manifesto)).
  • the resolution of an xlink redirection link inserted in a time interval description container ("Period") does not allow the client to obtain information.
  • the standard does not provide that the client can obtain elements specified by the standard as having to be included under the root (PDM) of the remote manifest.
  • PDM root
  • a client is not able to know when the stream (corresponding to the second content) started, and therefore cannot determine which segments are available for the second live content (for example by using the method described above in connection with Figure 3).
  • xlinks type redirection links make it possible to cover the case of a dropout from a first live content to a second non-live content (for example of vod type), to return to live content, i.e. a live->vod-> live switchover sequence, but not the case of a live-live switch-over, including a drop-out from a first live content to a second live content, to eventually return to the first live content.
  • a live->vod-> live switchover sequence i.e. a live->vod-> live switchover sequence
  • the failover targets a second non-live content, for which the client does not need to obtain data to determine when the corresponding stream started, in order to determine which are the available segments, since the start and duration of non-live content are predetermined.
  • the timing information allowing to calculate the progress of the second live content, which is only present as discussed above at the root level (MPD) of the second manifesto, and not at the level of the elements of this second manifesto defining time periods, are not accessible to the client when the baseline is carried out.
  • FIG. 4 illustrates the method proposed according to one or more embodiments.
  • This method can be implemented by any device comprising a processor and a memory, and configured for its implementation, such as, for example, a multimedia content player, a terminal, a device running a DASH client or a client configured for receive and play multimedia content using any other OTT multimedia content distribution protocol, or user equipment (smartphone, tablet, computer, etc.) equipped with a multimedia content player.
  • the device configured for the implementation of the method can be configured to obtain a first set of content description metadata describing a first multimedia content distributed in dynamic mode (for example, for a DASH client, a first manifest in the DASH protocol format, for example in the form of an XML file).
  • the first set of metadata can describe a first multimedia content distributed in dynamic mode, for example by means of metadata relating to a first multimedia content distributed in dynamic mode included in the first set.
  • the device can further be configured to read the first set of data.
  • the second set of content description metadata will correspond to the second multimedia content distributed in dynamic mode.
  • this second set to describe the second content, for example by means of metadata relating to the second content included in the second set.
  • the redirection data used in a first manifesto make it possible to cause a device, while reading this first manifesto, to obtain the data contained in a specific section of a second manifesto, in the course of the reading of the first manifesto, that is to say without changing the current manifesto in reading.
  • This possibility of being able to retrieve data in another manifesto, without however changing manifesto during reading, has several advantages: from the point of view of continuity between successive periods, the manifesto remaining the same, only the content of the failover period is replaced. It is therefore possible to indicate the continuity of periods. From the point of view of DRM management, the manifest URL remaining the same when switching, it is possible for the device (player) to optimize the DRM configuration when returning to the main stream. From the point of view of the management of CDN authentication tokens, the manifest URL remaining the same during the switch, it is possible for the player to continue using the same CDN authentication token during the switching. back to the main stream.
  • redirection data to perform a switch from a first content to a second content, including in the case where the first and second content are distributed in dynamic mode (case where the first content is live content, and the second content is also live content).
  • the temporalization for accessing the dynamically distributed second media content is read from the second set of content description metadata into a time slot description container relating to the second media content.
  • the timing for accessing the dynamically distributed second media content includes data indicating an availability timestamp of the second media content.
  • the timing for accessing the dynamically distributed second media content includes data indicative of accessibility information of segments of the second media content.
  • Temporalization for access to the second multimedia content distributed in dynamic mode correspond, in whole or in part, to data relating to a temporal synchronization provided under a root element of the second set of metadata.
  • timing for accessing the dynamically distributed second media content includes data indicating an availability timestamp of a first segment of the second content, data indicating a common duration used in defining rates associated with the second content, and data indicating a generation timestamp of the second set of metadata and its publication on a multimedia content distribution network.
  • this data may further comprise one or more among data indicating a distribution type of the second content, data indicating a generation timestamp of a segment of the second oldest content still available, clock data and data indicating a duration of a smaller buffer of time offset used for the second content.
  • the time synchronization data inserted in a “Period” container can include at minus the following: availabilityStartTime, minBufferTime, and publishTime.
  • the switching from a first content to a second content can be managed at the level of a first manifesto relating to the first content (currently being read) by the use of a redirection link. to a second manifest relating to the second content, for example signaled by a redirection link of the type "xlink" for the DASH format.
  • the live-live switch in the case where the first and second contents are distributed in dynamic mode, can thus take place without changing the manifesto.
  • the redirection link to a second manifesto xlink point type to a section of the second manifesto, and not towards the entire second manifesto.
  • the client who resolves an xlink embedded in container defining a time interval (a "Period") of the first manifest obtains an address of the second manifest (based on the information provided by the link), then downloads the section of the second manifesto relating to the "Period", that is to say to the time interval defined in the first manifesto.
  • the client downloads into the second manifest information contained in a time slot description container indicated by the redirect link, which is the time slot of the container of the first manifest which includes the redirect link (by xlink example).
  • a live live failover the first multimedia content distributed dynamically to the second multimedia content distributed dynamically and may advantageously be performed using a redirect link, particularly in the context of the ISO / IEC 23009-1 3rd edition using xlink type redirect.
  • the device browsing the first set of metadata, will be able to read redirection data to a section of a second set of description metadata of multimedia content (s) for access to the data of a second multimedia content distributed in dynamic mode.
  • the device can be configured to, on reading these redirection data, read in the section of the second set of metadata of descriptions of multimedia content (s) data relating to a time synchronization for access to the second multimedia content distributed in dynamic mode.
  • the device may furthermore obtain an update of the first set of content description metadata upon the expiration of a period of time corresponding to the duration of the second multimedia content. live, in order to possibly switch back to the first live content once the playback period for the second live content has expired.
  • it may be a container corresponding to the “Period” attribute or element (described above) in a manifesto of format specified by the ISO / IEC 23009-1 standard.
  • these data can be advantageously taken into account during a linear reading by the device of the time interval description container of the second manifest, on reading of redirection information inserted in an interval description container of time of the first manifesto.
  • the timing data inserted in the section of the second manifesto can be grouped together within a specific container, for example entitled “LivePeriod”, and identified in the manifest by corresponding tags ( “LivePeriod” for the start of the container, and “/ LivePeriod” for the end of the container), for example according to XML syntax.
  • a LivePeriod container as proposed in one or more embodiments is illustrated by FIG. 6C.
  • the timing for accessing the dynamically distributed second media content may include data indicative of accessibility information of segments of the second media content.
  • this data can include time synchronization information which will allow the client to know which segments corresponding to the second content are currently accessible.
  • the types of data relating to a time synchronization for access to the second multimedia content distributed in dynamic mode may correspond to at least some of the types of data relating to a time synchronization provided under a root element of the second set of metadata.
  • the syntax of the DASH manifests could be enriched by inserting a copy of the time information necessary for the DASH client to hook the current flow and which is provided at the root of the second manifest, in a new container (or item) added to the time interval description item (container) level for the second live content.
  • timing for accessing the dynamically distributed second multimedia content may include data indicating a type of the second content, and at least one of data indicating an availability timestamp of a first segment of the second content, data indicating a generation timestamp of a segment of the second oldest content still available, and data indicating a common duration used in defining rates associated with the second content, clock data, and data indicating a duration of 'a smaller time shift buffer used for the second content.
  • LivePeriod can be added at the level of the “Period” element, and include time information that will allow the receiver to know when this stream started and which segments are currently accessible.
  • the new “LivePeriod” element may contain elements among the elements “type”, “availabilityStartTime”, “publishTime”, “availabilityEndTime”,
  • the other elements may not be present among the data relating to a time synchronization inserted in the section of the second manifesto which will be read by the client during the resolution of redirection data read in a first manifesto.
  • the same is true for the ⁇ LivePeriod> syntax element, which may not be present in one or more embodiments.
  • FIG. 5 illustrates an exemplary implementation of the method proposed according to one or more embodiments.
  • a DASH client wishing to play a video sequence distributed in dynamic mode first makes a request to a content distribution network (CDN) (401) in order to '' get (402) the manifest (set of description metadata) of the current live stream, providing authentication information.
  • CDN content distribution network
  • the CDN performs a client authentication procedure and, if successful, returns a token (in English,
  • Token redirects it to a network address (for example a URL) to which the current manifest (corresponding to the current live stream) is accessible to the client.
  • the DASH 200 client can thus hook up to the current live stream (403).
  • the DASH client determines, from the information contained in the current manifesto, for example by using the method illustrated in figure 3, the segment that it must download according to the time current and the time elapsed to hang on to the current stream, for example by determining an index of this segment or a timestamp as described above.
  • packager inserts a signal requiring a switch (“box Emsg”) in the last data segment of the current live stream (405) before the switchover date. This "box” is used to indicate to the DASH 407 (400) client that it must immediately reload the current manifest associated with the current live stream. At the same time, and before reloading the current manifest, the packager deletes the period
  • An "xlink” link allows you to indicate a target of the toggle to the manifest.
  • a period is returned replacing the current period of the manifest containing the "xlink” link.
  • a child element of the MPD In order to insert the period of the secondary live stream, a child element of the MPD, called “LivePeriod”, is added in the "Period" element of the secondary manifest that the DASH client will read when the xlink link is resolved. , so that the DASH client can hook the secondary live stream to the current time.
  • the “LivePeriod” element is composed of attributes making it possible to come and calculate the segment of the current period that the reader 407 (400) must recover in order to hook the live stream to take place without the appearance of a time delay. This calculation is equivalent to that presented previously in Figure 3.
  • the DASH client 407 When reloading the current manifest 408, the DASH client 407 will thus load the "xlink” link and resolve the link, that is to say access the data to which the link points. From these data, the reader will calculate and determine the segment of the current period to be recovered in order to hook without temporal delay to the live stream to condare (409).
  • an "Emsg box” (411) in the last data segment of the secondary live stream before the changeover date is entered by the packager.
  • the purpose of this "box” is to indicate to the DASH 412 client that he must reload the current manifest.
  • the packager deletes the period ("period") of the secondary live stream and comes to insert the period of the current live stream (412) via the information (attributes ) of the current manifest always available at the root of the MPD.
  • the DASH client 412 (407; 400) hooks up to the current live stream without time delay.
  • Figures 6a, 6b and 6c illustrate manifests using an indication of re
  • the period PO is the initial period of the live content, it starts at T0 and its duration corresponds to the time before the splice out.
  • the PI period is the dropout period, its duration is fixed and known in advance, it is inserted into the manifest at the same time as the return to live period in order to allow the player to preload the segments. The resolution of the xlink makes it possible to obtain the information related to this period in order to substitute them for that present in the manifest.
  • the period P2 is the period of return to the initial content, it starts at the sum of the durations of the previous periods and its duration is not known.
  • Figure 6b provides an illustration of an exemplary first manifesto including a redirect link pointing to a section of a second manifesto
  • Figure 6c an exemplary second manifesto improved according to the proposed method.
  • the period PO is the initial period of the live content, it starts at T0 and its duration corresponds to the time before the splice out, as described previously in connection with FIG. 6a.
  • the period PI of the manifesto illustrated in FIG. 6b is a dropout period corresponding to live content which we do not know when it started.
  • the resolution of the redirection link (xlink) to read the second manifesto to which it points makes it possible to obtain the timing information (of time synchronization) related to the period defined by the container " Period ”of the second manifest (shown in fig. 6b) in which the redirect link is inserted.
  • a new container new element (“LivePeriod")
  • LivePeriod new element
  • LivePeriod a proposed container
  • type a proposed container
  • availabili- tyStartTime a proposed container
  • publishTime a proposed container
  • minimumUpdatePeriod a proposed container
  • minBufferTime a proposed container
  • timeShiftBuf- ferDepth a proposed container
  • UTCTiming a proposed container
  • FIG. 6d is a time diagram illustrating a dropout livel to live 2 then return to live 1 carried out according to one or more embodiments.
  • the manifest contains only one period corresponding to the primary live stream.
  • the packager performs the following operations: Inserting an ‘emsg ’box in the last data segment of the main stream before the switchover date. This box will indicate to the DASH client that he must immediately reload the manifest. Removed the main live period from the manifesto and added the secondary live period with the xlink link. Resolving this xlink will allow the DASH client to obtain the information about the period (s) of the sub stream and begin decoding.
  • the DASH client continues to play this stream until it receives further information.
  • the packager will have removed the main live period from the manifest, leaving only the secondary live period with the xlink.
  • the DASH client When reloading the manifest, the DASH client will therefore have no choice but to start on the period of the secondary stream, regardless of its read position in the time shift buffer.
  • the same mechanism will be used to force DASH clients to return to the main stream.
  • the packager will insert an emsg box, remove the period of the secondary live stream from the manifesto and add a period corresponding to the main live stream.
  • FIG. 7 illustrates an example of the architecture of a device for playing multimedia content distributed in dynamic mode for the implementation of the proposed method.
  • the device 500 comprises a controller 501, operably coupled to an input interface 502 and to a memory 504, which drives a multimedia content playback unit 503.
  • the input interface 502 is configured to receive from a content server, data segments (audio and / or video segments) corresponding to multimedia content distributed in dynamic mode, as well as sets of metadata corresponding to these contents.
  • the controller 501 is configured to drive the content reading unit
  • multimedia 503 for the implementation of one or more embodiments of the proposed method.
  • the device 500 may be a computer, a computer network, an electronic component, or another device comprising a processor operatively coupled to a memory, as well as, depending on the embodiment chosen, a unit. storage medium, and other associated hardware elements such as a network interface and a media drive for reading and writing to removable storage media (not shown in the figure).
  • the removable storage medium can be, for example, a compact disc (CD), a digital video / versatile disc (DVD), a flash disc, a USB stick, etc.
  • the memory, the data storage unit or the removable storage medium contains instructions which, when executed by the controller 501, cause this controller 501 to perform or control the interface parts of it.
  • the device 500 can be implemented in software form, such as
  • ASIC application specific integrated circuit
  • FPGA Field Programmable Gâte Array

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Databases & Information Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

Disclosed is a method for managing multimedia content, involving: obtaining a first set of content description metadata describing a first multimedia content broadcast in dynamic mode; and upon reading, in the first set of metadata, data redirecting to a section of a second set of content description metadata, reading, in the section of the second set of metadata, data relating to a time synchronization for accessing a second multimedia content broadcast in dynamic mode.

Description

Description Description
Titre de l'invention : Procédé de gestion de contenus multimédia et dispositif pour la mise en œuvre du procédé Title of the invention: Multimedia content management method and device for implementing the method
Domaine et contexte de l’invention Field and context of the invention
[0001] La présente invention se rapporte au domaine de la distribution de données sur un réseau de télécommunication. En particulier, elle se rapporte à la distribution de contenus multimédia (audio et/ou vidéo, sous-titres, données, etc.), et notamment à la distribution en temps réel. The present invention relates to the field of data distribution over a telecommunications network. In particular, it relates to the distribution of multimedia content (audio and / or video, subtitles, data, etc.), and in particular to the distribution in real time.
[0002] Le monde de la distribution ou distribution (en anglais, « broadcast ») de la télévision numérique a connu de véritables mutations au cours de ces dernières années. A la dis tribution traditionnelle réalisée en mode dynamique via des opérateurs de télévision payante (ex. bouquets numériques et/ou fournisseurs d’accès Internet (FAI)) pour la té lévision dite linéaire (ADSL (de l’anglais Asymmetric Digital Subscriber Line), Satellite, Câble, IPTV, Fibre, Télévision Numérique Terrestre (TNT), etc.), se sont ajoutés de nouveaux services audiovisuels tels que la vidéo à la demande (VOD, de l’anglais « Video On Demand »), ou la télévision de rattrapage (en anglais « Catch-Up TV » ou « Replay »). [0002] The world of distribution or distribution (in English, "broadcast") of digital television has undergone real changes in recent years. A traditional distribution carried out in dynamic mode via pay television operators (e.g. digital packages and / or Internet access providers (ISPs)) for so-called linear television (ADSL (standing for Asymmetric Digital Subscriber Line) , Satellite, Cable, IPTV, Fiber, Digital Terrestrial Television (TNT), etc.), new audiovisual services have been added such as video on demand (VOD, standing for “Video On Demand”), or Catch-Up TV (“Catch-Up TV” or “Replay”).
[0003] La conception de nouveaux terminaux toujours plus puissants et plus mobiles, la demande croissante de consommation de contenus indépendants de l’emplacement du consommateurs (en anglais «TV everywhere »), ainsi que le développement d’infrastructures réseaux offrant toujours plus de bande passante, ont conduit à l’émergence d’un nouveau marché ne nécessitant pas de posséder le réseau d’accès vers les utilisateurs, et appelé service par contournement (OTT, de l’anglais The design of new terminals increasingly powerful and more mobile, the growing demand for consumption of content independent of the location of the consumer (in English "TV everywhere"), as well as the development of network infrastructure offering ever more bandwidth, have led to the emergence of a new market that does not require owning the access network to users, and called over-the-air service (OTT, from English
« Over-The-Top »). Le marché OTT opère sur des réseaux dits non managés (i.e. avec bande passante et qualité de service (en anglais QoS, pour « Quality of Service ») non assurées). Ces services OTT multi-écrans sont fournis par les compagnies de dis tribution/redistribution que sont les diffuseurs de contenus télévisuels et les opérateurs télécoms. “Over-The-Top”). The OTT market operates on so-called unmanaged networks (i.e. with uninsured bandwidth and quality of service (in English QoS, for "Quality of Service"). These multi-screen OTT services are provided by distribution / redistribution companies such as television content broadcasters and telecom operators.
[0004] Les infrastructures de distribution sont ainsi aujourd’hui doublées, une pour le [0004] The distribution infrastructures are thus now doubled, one for the
broadcast traditionnel et une (au moins) pour la distribution OTT. traditional broadcast and one (at least) for OTT distribution.
[0005] Afin d’adresser les services de distribution de contenus multi-écrans, divers [0005] In order to address multi-screen content distribution services, various
protocoles ont été développés : Apple HLS (HTTP Live Streaming), Microsoft Smooth Streaming (MSS), Adobe HTTP Dynamic Streaming (HDS), MPEG Dynamic Adaptive Streaming over HTTP (MPEG-DASH). Tous ces protocoles sont basés sur le concept de streaming adaptatif http (en anglais H AS, pour « HTTP Adaptive protocols have been developed: Apple HLS (HTTP Live Streaming), Microsoft Smooth Streaming (MSS), Adobe HTTP Dynamic Streaming (HDS), MPEG Dynamic Adaptive Streaming over HTTP (MPEG-DASH). All these protocols are based on the concept of adaptive streaming http (in English H AS, for "HTTP Adaptive
Streaming »). [0006] La distribution de contenus multi-écrans utilise typiquement une tête de réseau de distribution vidéo comprenant une unité d’encodage vidéo qui reçoit en entrée des contenus à encoder et délivre à une unité de mise en forme (parfois dénommée en anglais « packager ») des flux encodés dits « flux élémentaires ». Un contenu reçu en entrée est encodé selon une pluralité de profils d’encodage (un profil étant par exemple défini avec des paramètres de codée, de résolution et de débit). Streaming ”). The distribution of multi-screen content typically uses a video distribution network head comprising a video encoding unit which receives as input content to be encoded and delivers to a formatting unit (sometimes referred to in English as "packager ") Encoded streams known as" elementary streams ". A content received as input is encoded according to a plurality of encoding profiles (a profile being for example defined with coded, resolution and bit rate parameters).
[0007] Les flux encodés (flux élémentaires) délivrés par l’unité d’encodage vidéo sont découpés au sein de l’unité de mise en forme en au moins deux séquences de segments successifs, respectivement audio et vidéo, les segments étant généralement de durée fixe (typiquement de quelques secondes), dont le format dépend du protocole choisi (par exemple MPEG2-TS, MP4, etc.). Pour chaque contenu, un ensemble de mé- tadonnées relatives à des contenus multimédias, parfois appelé conteneur de pré sentation de media (de l’anglais « Media Présentation Description », ou MPD) ou « manifeste » (de l’anglais « manifest »), est aussi généré par l’unité de mise en forme, par exemple sous forme d’un fichier, par exemple au format XML, indiquant les carac téristiques de chaque profil et les segments disponibles correspondant au contenu. [0007] The encoded streams (elementary streams) delivered by the video encoding unit are split within the shaping unit into at least two sequences of successive segments, respectively audio and video, the segments generally being of fixed duration (typically a few seconds), the format of which depends on the protocol chosen (for example MPEG2-TS, MP4, etc.). For each content, a set of metadata relating to multimedia content, sometimes called a media presentation container (from the English “Media Presentation Description”, or MPD) or “manifest” (from the English “manifest” ), is also generated by the formatting unit, for example in the form of a file, for example in XML format, indicating the characteristics of each profile and the available segments corresponding to the content.
[0008] Ces manifestes et les segments associés sont fournis par l’unité de mise en forme à un serveur de contenus, puis stockés sur des réseaux de distribution de contenus, appelés « CDN » (de l’anglais « Content Delivery Network »), fournissant des capacités de cache qui permettent d'améliorer la qualité des services, et de minimiser les temps d'accès et la latence pour la visualisation de contenus par des terminaux de lecture. [0008] These manifests and the associated segments are supplied by the formatting unit to a content server, then stored on content distribution networks, called “CDN” (standing for “Content Delivery Network”) , providing caching capacities which make it possible to improve the quality of the services, and to minimize the access times and the latency for the visualization of contents by reading terminals.
[0009] Un terminal de lecture vidéo de contenus distribués en mode dynamique (par [0009] A terminal for video playback of content distributed in dynamic mode (by
exemple configuré au sein d’un équipement utilisateur tel qu’un smartphone, une tablette ou un tout autre type d’ordinateur), autrement dit un contenu vidéo de type dynamique, ou « live » (par opposition à un contenu de type statique, comme par exemple un contenu de VOD), sera typiquement configuré pour lire ce contenu en utilisant les informations contenues dans le manifeste associé au contenu. example configured within user equipment such as a smartphone, tablet or any other type of computer), in other words dynamic video content, or “live” (as opposed to static type content, such as, for example, VOD content), will typically be configured to play this content using the information contained in the manifest associated with the content.
[0010] La mise en œuvre d’une lecture de contenu multimédia « live », c’est-à-dire distribué en mode dynamique , sur la base du manifeste associé présente toutefois des li mitations, eu égard à certains nouveaux cas d’usage impliquant un basculement d’un premier contenu live en cours de lecture vers un deuxième contenu live. En effet, les mécanismes existants permettant d’effectuer un basculement d’un premier contenu multimédia vers un deuxième contenu multimédia ne permettent pas de gérer de manière satisfaisante ces nouveaux cas d’usage. The implementation of a playback of multimedia content "live", that is to say distributed in dynamic mode, on the basis of the associated manifesto, however, presents limitations, in view of certain new cases of use involving a switch from a first live content being read to a second live content. In fact, the existing mechanisms for switching from a first multimedia content to a second multimedia content do not allow these new use cases to be satisfactorily managed.
[0011] L’ invention a pour but d’ améliorer la situation. [0011] The invention aims to improve the situation.
[0012] Selon un premier aspect, un procédé de gestion de contenus multimédia est proposé. [0012] According to a first aspect, a method for managing multimedia content is proposed.
Le procédé comprend, dans un ou plusieurs modes de réalisation: obtenir un premier ensemble de métadonnées de description de contenu décrivant un premier contenu multimédia distribué en mode dynamique ; et sur lecture dans le premier ensemble de métadonnées de données de redirection vers une section d’un deuxième ensemble de métadonnées de description de contenu, lire dans la section du deuxième ensemble de métadonnées des données relatives à une synchronisation temporelle pour l’accès à un deuxième contenu multimédia distribué en mode dynamique. The method comprises, in one or more embodiments: obtaining a first a set of content description metadata describing a first multimedia content distributed in dynamic mode; and on reading from the first set of redirection data metadata to a section of a second set of content description metadata, reading from the section of the second metadata set data relating to time synchronization for access to a second multimedia content distributed in dynamic mode.
[0013] Le procédé proposé permet avantageusement d’utiliser des données de redirection pour effectuer un basculement d’un premier contenu multimédia distribué en mode dynamique vers un deuxième contenu multimédia distribué en mode dynamique, sur la base d’un seul ensemble de métadonnées de description de contenu dans lequel les données de redirection sont insérées. [0013] The proposed method advantageously makes it possible to use redirection data to perform a switch from a first multimedia content distributed in dynamic mode to a second multimedia content distributed in dynamic mode, on the basis of a single set of metadata from Description of the content in which the redirect data is inserted.
[0014] Par exemple, dans le cadre de la troisième édition de la spécification ISO/IEC [0014] For example, in the context of the third edition of the ISO / IEC specification
23009-1 (« Information technology - Dynamic adaptative streaming over http (DASH) - Part 1 : Media présentation description and segment formats »), qui prévoit la pos sibilité d’utiliser des données de redirection sous la forme d’un lien « xlink » insérable dans un conteneur d’intervalle de temps d’un manifeste (qui correspond à un ensemble de métadonnées de description de contenu), un lien xlink ne peut être utilisé pour effectuer un basculement en lecture d’un premier contenu distribué en mode dynamique vers un deuxième contenu distribué en mode dynamique. Le procédé proposé prévoit de modifier l’utilisation des liens xlink en insérant dans la résolution d’un tel lien une lecture de données de synchronisation temporelle pour l’accès au deuxième contenu distribué en mode dynamique. 23009-1 (“Information technology - Dynamic adaptive streaming over http (DASH) - Part 1: Media presentation description and segment formats”), which provides for the possibility of using redirection data in the form of an “xlink »Insertable in a timeslot container of a manifest (which corresponds to a set of content description metadata), an xlink cannot be used to perform a read failover of a first content distributed in dynamic mode to a second content distributed in dynamic mode. The proposed method provides for modifying the use of xlink links by including in the resolution of such a link a time synchronization data read for access to the second content distributed in dynamic mode.
[0015] Ainsi, le procédé proposé permet avantageusement d’insérer dans la résolution de données de redirection, c’est-à-dire, dans l’obtention des données auxquelles la re direction donne accès, l’accès à des données de synchronisation temporelle pour l’accès au deuxième contenu distribué en mode dynamique. [0015] Thus, the proposed method advantageously makes it possible to insert in the resolution of redirection data, that is to say, in obtaining the data to which the re direction gives access, access to synchronization data temporal for access to the second content distributed in dynamic mode.
[0016] Cela permet, dans le cas des liens xlink spécifié dans le standard DASH, d’élargir considérablement les cas d’utilisation de ce type de lien, en bénéficiant plus largement des avantages qu’ils procurent, notamment en ce qu’ils permettent un basculement en lecture entre deux contenus, éventuellement tous deux distribués en mode dynamique, sans changer de manifeste en cours de lecture pour l’accès aux contenus. [0016] This makes it possible, in the case of xlink links specified in the DASH standard, to considerably expand the use cases of this type of link, by benefiting more widely from the advantages they provide, in particular in that they allow a switch in reading between two contents, possibly both distributed in dynamic mode, without changing manifest during reading for access to the contents.
[0017] Le procédé proposé convient particulièrement bien, bien que de façon non limitative, pour la lecture, par un équipement terminal de lecture, de contenus multimédia distribués en live selon un schéma de type MPEG DASH, HLS, HDS, MSS, ou HAS. Mais il convient aussi pour la lecture de contenus multimédia distribués en live selon tout schéma dans lequel cette lecture est effectuée en utilisant des ensemble de mé tadonnées de description de contenu correspondant à des contenus multimédia distribués en live. [0018] Le procédé proposé pourra avantageusement être mis en œuvre dans tout dispositif configuré pour la lecture de contenus multimédia, sur la base d’un ensemble de mé- tadonnées de description de contenu multimédia, par exemple conformément aux standards MPEG DASH, HLS, HDS, MSS, ou HAS, tels que, de façon non limitative, tout ordinateur, smartphone, équipement utilisateur, lecteur vidéo, terminal de lecture vidéo, tablette, etc. The proposed method is particularly suitable, although in a non-limiting manner, for the reading, by a reading terminal equipment, of multimedia contents distributed live according to an MPEG DASH, HLS, HDS, MSS or HAS type scheme. . But it is also suitable for reading multimedia contents distributed live according to any scheme in which this reading is performed using sets of content description metadata corresponding to multimedia contents distributed live. [0018] The proposed method could advantageously be implemented in any device configured for reading multimedia content, on the basis of a set of multimedia content description metadata, for example in accordance with the MPEG DASH, HLS, standards. HDS, MSS, or HAS, such as, without limitation, any computer, smartphone, user equipment, video player, video playback terminal, tablet, etc.
[0019] Dans un ou plusieurs modes de réalisation, le deuxième ensemble de métadonnées de description de contenu pourra décrire le deuxième contenu multimédia distribué en mode dynamique. [0019] In one or more embodiments, the second set of content description metadata may describe the second multimedia content distributed in dynamic mode.
[0020] Dans un ou plusieurs modes de réalisation, les données relatives à une synchro [0020] In one or more embodiments, the data relating to a synchronization
nisation temporelle pour l’accès au deuxième contenu multimédia distribué en mode dynamique peuvent être lues, dans le deuxième ensemble de métadonnées de des cription de contenu, dans un conteneur de description d’intervalle de temps relatif au deuxième contenu multimédia. Temporalization for accessing the dynamically distributed second media content can be read, in the second set of content description metadata, in a time slot description container relating to the second media content.
[0021] Dans un ou plusieurs modes de réalisation, les données relatives à une synchro [0021] In one or more embodiments, the data relating to a synchronization
nisation temporelle pour l’accès au deuxième contenu multimédia distribué en mode dynamique peuvent comprendre des données indiquant un horodatage de disponibilité du deuxième contenu multimédia. The timing for accessing the dynamically distributed second media content may include data indicating an availability timestamp of the second media content.
[0022] Dans un ou plusieurs modes de réalisation, les données relatives à une synchro [0022] In one or more embodiments, the data relating to a synchronization
nisation temporelle pour l’accès au deuxième contenu multimédia distribué en mode dynamique peuvent comprendre des données indiquant une information d’accessibilité de segments du deuxième contenu multimédia. The timing for accessing the dynamically distributed second media content may include data indicative of accessibility information of segments of the second media content.
[0023] Dans un ou plusieurs modes de réalisation, les données relatives à une synchro [0023] In one or more embodiments, the data relating to a synchronization
nisation temporelle pour l’accès au deuxième contenu multimédia distribué en mode dynamique peuvent correspondre, en tout ou partie, à des données relatives à une syn chronisation temporelle fournies sous un élément racine du deuxième ensemble de mé tadonnées. Temporalization for access to the second multimedia content distributed in dynamic mode may correspond, in whole or in part, to data relating to a temporal synchronization provided under a root element of the second set of metadata.
[0024] Dans un ou plusieurs modes de réalisation, les premier et deuxième ensembles de métadonnées sont des manifestes au format « Dynamic adaptative streaming over HTTP » (Hypertext Transfer Protocol), DASH. In one or more embodiments, the first and second sets of metadata are manifests in the “Dynamic adaptive streaming over HTTP” (Hypertext Transfer Protocol), DASH format.
[0025] Dans un ou plusieurs modes de réalisation, les données relatives à une synchro [0025] In one or more embodiments, the data relating to a synchronization
nisation temporelle pour l’accès au deuxième contenu multimédia distribué en mode dynamique pourront comprendre des données indiquant un horodatage de disponibilité d’un premier segment du deuxième contenu, des données indiquant une durée commune utilisée dans la définition de débits associés au deuxième contenu et des données indiquant un horodatage de génération du deuxième ensemble de métadonnées et de sa publication sur un réseau de distribution de contenus multimédia. Dans un ou plusieurs modes de réalisation, ces données peuvent en outre comprendre l’un ou plusieurs parmi des données indiquant un type de distribution du deuxième contenu, des données indiquant un horodatage de génération d’un segment du deuxième contenu le plus ancien encore disponible, des données d’horloge et des données indiquant une durée d’un plus petit tampon de décalage temporel utilisé pour le deuxième contenu. temporalization for access to the second multimedia content distributed in dynamic mode may include data indicating an availability timestamp of a first segment of the second content, data indicating a common duration used in the definition of rates associated with the second content and data indicating a timestamp of generation of the second set of metadata and its publication on a multimedia content distribution network. In one or more embodiments, this data may further include one or more several of data indicating a distribution type of the second content, data indicating a generation timestamp of a segment of the second oldest content still available, clock data and data indicating a duration of a smaller buffer time offset used for the second content.
[0026] Selon un deuxième aspect, il est proposé un dispositif de lecture de contenu [0026] According to a second aspect, there is proposed a content reading device
multimédia, comprenant un processeur et une mémoire couplée de manière opéra tionnelle au processeur, dans lequel le processeur est configuré pour la mise en œuvre du procédé proposé selon un ou plusieurs modes de réalisation. multimedia, comprising a processor and memory operatively coupled to the processor, wherein the processor is configured to implement the method proposed according to one or more embodiments.
[0027] Selon un autre aspect, il est proposé un procédé de gestion de contenus multimédia, comprenant : obtenir un premier ensemble de métadonnées de description de contenu décrivant un premier contenu multimédia distribué en mode dynamique ; et sur lecture dans le premier ensemble de métadonnées de données de redirection vers une section d’un deuxième ensemble de métadonnées de description de contenu, lire dans la section du deuxième ensemble de métadonnées des données relatives à une synchro nisation temporelle pour l’accès à un deuxième contenu multimédia distribué en mode dynamique correspondant au deuxième ensemble de métadonnées de description de contenu. [0027] According to another aspect, there is proposed a method for managing multimedia content, comprising: obtaining a first set of content description metadata describing a first multimedia content distributed in dynamic mode; and on reading from the first set of redirection data metadata to a section of a second set of content description metadata, reading from the section of the second metadata set data relating to time synchronization for access to a second multimedia content distributed in dynamic mode corresponding to the second set of content description metadata.
[0028] Selon un autre aspect, il est proposé un procédé de gestion de contenus multimédia, comprenant : lire, sur la base d’un lien de redirection dans un premier ensemble de mé tadonnées de description de contenu décrivant un premier contenu multimédia distribué en mode dynamique, dans une section prédéfinie d’un deuxième ensemble de métadonnées de description du contenu, des données relatives à une synchronisation temporelle pour l’accès à un deuxième contenu multimédia distribué en mode dynamique correspondant au deuxième ensemble de métadonnées de description de contenu. According to another aspect, there is provided a method for managing multimedia content, comprising: reading, on the basis of a redirection link in a first set of content description metadata describing a first multimedia content distributed in dynamic mode, in a predefined section of a second set of content description metadata, data relating to time synchronization for access to a second multimedia content distributed in dynamic mode corresponding to the second set of content description metadata.
[0029] Selon un autre aspect, il est proposé un ensemble de métadonnées de description de contenu décrivant un contenu multimédia distribué en mode dynamique, comprenant, dans un conteneur décrivant un intervalle de temps, des données relatives à une syn chronisation temporelle pour l’accès au contenu multimédia. According to another aspect, there is proposed a set of content description metadata describing multimedia content distributed in dynamic mode, comprising, in a container describing a time interval, data relating to a time synchronization for the access to multimedia content.
[0030] Selon un autre aspect, il est proposé un manifeste au format DASH décrivant un contenu multimédia distribué en mode dynamique, comprenant, dans un conteneur de type « Period », des données relatives à une synchronisation temporelle pour l’accès au contenu multimédia. According to another aspect, there is proposed a manifesto in DASH format describing multimedia content distributed in dynamic mode, comprising, in a container of the “Period” type, data relating to a time synchronization for access to the multimedia content. .
[0031] Selon un autre aspect, il est proposé un programme d’ordinateur, chargeable dans une mémoire associée à un processeur, et comprenant des portions de code pour la mise en œuvre du procédé proposé selon un ou plusieurs modes de réalisation lors de l’exécution dudit programme par le processeur, ainsi qu’un ensemble de données re présentant, par exemple par voie de compression ou d’encodage, ledit programme d’ordinateur. According to another aspect, there is proposed a computer program, loadable into a memory associated with a processor, and comprising portions of code for the implementation of the method proposed according to one or more embodiments during the 'execution of said program by the processor, as well as a set of data representing, for example by compression or encoding, said program computer.
[0032] Un autre aspect concerne un support de stockage non-transitoire d’un programme exécutable par ordinateur, comprenant un ensemble de données représentant un ou plusieurs programmes, lesdits un ou plusieurs programmes comprenant des instructions pour, lors de l’exécution desdits un ou plusieurs programmes par un ordinateur comprenant une unité de traitement couplée de manière opérationnelle à des moyens mémoire et à un module d’interface entrées/sorties, conduire l’ordinateur à gérer un contenu multimédia selon un ou plusieurs modes de réalisation du procédé proposé. Brève description des dessins Another aspect relates to a non-transient storage medium for a computer executable program, comprising a set of data representing one or more programs, said one or more programs comprising instructions for, during the execution of said one. or several programs by a computer comprising a processing unit operatively coupled to memory means and to an input / output interface module, leading the computer to manage multimedia content according to one or more embodiments of the proposed method. Brief description of the drawings
[0033] D'autres particularités et avantages de la présente invention apparaîtront dans la des cription ci-après d'exemples de réalisation non limitatifs, en référence aux dessins annexés, dans lesquels : Other features and advantages of the present invention will become apparent in the following descriptions of non-limiting embodiments, with reference to the accompanying drawings, in which:
Fig· 1 Fig 1
[0034] [fig.l] [0034] [fig.l]
illustre un exemple d’infrastructure de distribution selon un ou plusieurs modes de réalisation. illustrates an example of a distribution infrastructure according to one or more embodiments.
Fig. 2a Fig. 2a
[0035] [fig.2a] [0035] [fig.2a]
illustre un exemple d’ensemble de métadonnées de description de contenus (ou manifeste). illustrates an example set of content description metadata (or manifesto).
Fig. 2b Fig. 2b
[0036] [fig.2b] [0036] [fig.2b]
illustre un exemple d’ensemble de métadonnées de description de contenus (ou manifeste). illustrates an example set of content description metadata (or manifesto).
Fig. 3 Fig. 3
[0037] [fig.3] [0037] [fig.3]
présente le procédé de calcul du segment à télécharger dans le cas d’un contenu multimédia distribué en mode dynamique. presents the method of calculating the segment to be downloaded in the case of multimedia content distributed in dynamic mode.
Fig. 4 Fig. 4
[0038] [fig.4] [0038] [fig.4]
illustre le procédé proposé selon un ou plusieurs modes de réalisation. illustrates the method proposed according to one or more embodiments.
Fig. 5 Fig. 5
[0039] [fig.5] [0039] [fig.5]
illustre le procédé proposé selon un ou plusieurs modes de réalisation. illustrates the method proposed according to one or more embodiments.
Fig. 6a Fig. 6a
[0040] [fig.6a] [0040] [fig.6a]
illustre un exemple d’ensemble de métadonnées de description de contenus (ou manifeste). illustrates an example set of content description metadata (or manifest).
Fig. 6b Fig. 6b
[0041] [fig.6b] [0041] [fig.6b]
illustre un exemple d’ensemble de métadonnées de description de contenus (ou manifeste). illustrates an example set of content description metadata (or manifesto).
Fig. 6c Fig. 6c
[0042] [fig.6c] [0042] [fig.6c]
illustre un exemple d’ensemble de métadonnées de description de contenus (ou manifeste). illustrates an example set of content description metadata (or manifesto).
Fig. 6d Fig. 6d
[0043] [fig.6d] [0043] [fig.6d]
est un diagramme temporel illustrant un décrochage d’un premier contenu live vers un deuxième contenu live. is a timing diagram illustrating a drop-out from a first live content to a second live content.
Fig. 7 Fig. 7
[0044] [fig.7] [0044] [fig.7]
illustre un exemple d’architecture de dispositif pour la mise en œuvre du procédé proposé selon un ou plusieurs modes de réalisation. illustrates an example of device architecture for implementing the proposed method according to one or more embodiments.
Description détaillée detailed description
[0045] Dans la description détaillée ci-après de modes de réalisation du procédé, de In the detailed description below of embodiments of the method,
nombreux détails spécifiques sont présentés pour apporter une compréhension plus complète. Néanmoins, l'homme du métier peut se rendre compte que des modes de réa lisation peuvent être mis en pratique sans ces détails spécifiques. Dans d'autres cas, des caractéristiques bien connues ne sont pas décrites en détail pour éviter de compliquer inutilement la description. many specific details are presented to provide a more complete understanding. Nevertheless, those skilled in the art can appreciate that embodiments can be practiced without these specific details. In other cases, well-known characteristics are not described in detail to avoid unnecessarily complicating the description.
[0046] La présente description fait référence à des fonctions, moteurs, unités, modules, pla teformes, et illustrations de diagrammes des méthodes et dispositifs selon un ou plusieurs modes de réalisation. Chacun des fonctions, moteurs, modules, plateformes, unités et diagrammes décrits peut être mis en œuvre sous forme matérielle, logicielle (y compris sous forme de logiciel embarqué («firmware»), ou de «middleware»), microcode, ou toute combinaison de ces derniers. Dans le cas d’une mise en œuvre sous forme logicielle, les fonctions, moteurs, unités, modules et/ou illustrations de diagrammes peuvent être mis en œuvre par des instructions de programme d’ordinateur ou du code logiciel, qui peut être stocké ou transmis sur un support lisible par or dinateur, incluant un support non transitoire, ou un support chargé en mémoire d’un or dinateur générique, spécifique, ou de tout autre appareil ou dispositif programmable de traitement de données pour produire une machine, de telle sorte que les instructions de programme d’ordinateur ou le code logiciel exécuté(es) sur l’ordinateur ou l’appareil ou dispositif programmable de traitement de données, constituent des moyens de mise en œuvre de ces fonctions. The present description refers to functions, engines, units, modules, platforms, and diagram illustrations of methods and devices according to one or more embodiments. Each of the functions, motors, modules, platforms, units and diagrams described can be implemented in hardware, software (including in the form of on-board software ("firmware"), or "middleware"), microcode, or any combination of these. In the case of implementation in software form, functions, motors, units, modules and / or diagram illustrations can be implemented by computer program instructions or software code, which can be stored or transmitted on a computer readable medium, including a non-transient medium, or a medium loaded in the memory of a generic, specific computer, or of any other apparatus or programmable data processing device to produce a machine, in such a way that computer program instructions or software code executed on the computer or device or programmable data processing device, constitute means of implementing these functions.
[0047] Les modes de réalisation d’un support lisible par ordinateur incluent, de manière non exhaustive, des supports de stockage informatique et des supports de communication, y compris tout support facilitant le transfert d’un programme d’ordinateur d’un endroit vers un autre. Par «support(s) de stockage informatique», on entend tout support physique pouvant être accédé par ordinateur. Les exemples de support de stockage in formatique incluent, de manière non limitative, les disques ou composants de mémoire flash ou tous autres dispositifs à mémoire flash (par exemple des clés USB, des clés de mémoire, des sticks mémoire, des disques-clés), des CD-ROM ou autres dispositifs de stockage optique de données, des DVD, des dispositifs de stockage de données à disque magnétique ou autres dispositifs de stockage magnétique de données, des composants de mémoire de données, des mémoires RAM, ROM, EEPROM, des cartes mémoires («smart cards»), des mémoires de type SSD («Solid State Drive»), et toute autre forme de support utilisable pour transporter ou stocker ou mémoriser des données ou structures de données qui peuvent être lues par un processeur d’ordinateur. [0047] The embodiments of a computer readable medium include, but are not limited to, computer storage media and communication media, including any medium facilitating the transfer of a computer program from a location to another. By “computer storage medium (s)” is meant any physical medium that can be accessed by a computer. Examples of computer storage media include, but are not limited to, flash memory disks or components or any other flash memory devices (eg, USB keys, memory sticks, memory sticks, key disks) , CD-ROMs or other optical data storage devices, DVDs, magnetic disk data storage devices or other magnetic data storage devices, data memory components, RAM, ROM, EEPROM, memory cards (“smart cards”), memories of the SSD (“Solid State Drive”) type, and any other form of support that can be used to transport or store or memorize data or data structures which can be read by a processor. 'computer.
[0048] En outre, diverses formes de support lisible par ordinateur peuvent transmettre ou porter des instructions vers un ordinateur, telles qu’un routeur, une passerelle, un serveur, ou tout équipement de transmission de données, qu’il s’agisse de transmission filaire (par câble coaxial, fibre optique, fils téléphoniques, câble DSL, ou câble Ethernet), sans-fil (par infrarouge, radio, cellulaire, microondes), ou des équipements de transmission virtualisés (routeur virtuel, passerelle virtuelle, extrémité de tunnel virtuel, pare-feu virtuel). Les instructions peuvent, selon les modes de réalisation, comprendre du code de tout langage de programmation informatique ou élément de programme informatique, tel que, sans limitation, les langages assembleur, C, C++, Visual Basic, HyperText Markup Language (HTML), Extensible Markup Language (XML), HyperText Transfer Protocol (HTTP), Hypertext Preprocessor (PHP), SQL, MySQL, Java, JavaScript, JavaScript Object Notation (JSON), Python, et bash scripting. [0048] In addition, various forms of computer readable medium can transmit or carry instructions to a computer, such as a router, a gateway, a server, or any data transmission equipment, whether it is wired transmission (by coaxial cable, optical fiber, telephone wires, DSL cable, or Ethernet cable), wireless (by infrared, radio, cellular, microwave), or virtualized transmission equipment (virtual router, virtual gateway, end of virtual tunnel, virtual firewall). The instructions may, depending on the embodiments, include code of any computer programming language or computer program element, such as, without limitation, assembly languages, C, C ++, Visual Basic, HyperText Markup Language (HTML), Extensible Markup Language (XML), HyperText Transfer Protocol (HTTP), Hypertext Preprocessor (PHP), SQL, MySQL, Java, JavaScript, JavaScript Object Notation (JSON), Python, and bash scripting.
[0049] De plus, les termes «notamment», «par exemple», «exemple», «typiquement» sont utilisés dans la présente description pour désigner des exemples ou illustrations de modes de réalisation non limitatifs, qui ne correspondent pas nécessairement à des modes de réalisation préférés ou avantageux par rapport à d’autres aspects ou modes de réalisation possibles. In addition, the terms "in particular", "for example", "example", "typically" are used in the present description to denote examples or illustrations of nonlimiting embodiments, which do not necessarily correspond to preferred or advantageous embodiments over other possible aspects or embodiments.
[0050] Par «serveur» ou «plateforme», on entend dans la présente description tout point de service (virtualisé ou non) ou dispositif opérant des traitements de données, une ou plusieurs bases de données, et/ou des fonctions de communication de données. Par exemple, et de manière non limitative, le terme «serveur» ou le terme «plateforme» peut faire référence à un processeur physique couplé de manière opérationnelle avec des fonctions de communication, de base de données et de stockage de données associées, ou faire référence à un réseau, un groupe, un ensemble ou un complexe de processeurs et des équipements de stockage de données et de mise en réseau associés, ainsi qu’un système d’exploitation et un ou plusieurs système(s) de base de données et des logiciels applicatifs en support des services et fonctions fournies par le serveur. Un dispositif informatique peut être configuré pour envoyer et recevoir des signaux, par réseau(x) de transmission sans-fil et/ou filaire, ou peut être configuré pour des traitements et/ou du stockage de données ou de signaux, et peut donc fonctionner en tant que serveur. Ainsi, des équipements configurés pour opérer en tant que serveur peuvent inclure, à titre d’exemples non limitatifs, des serveurs dédiés montés sur rack, des ordinateurs de bureau, des ordinateurs portables, des passerelles de service (parfois appelées «box» ou «passerelle résidentielle»), des décodeurs multimédia (parfois appelés «set-top boxes»), des équipements intégrés combinant diverses fonctionnalités, telles que deux ou plus des fonctionnalités mentionnées ci-dessus. Les serveurs peuvent fortement varier dans leur configuration ou leurs capacités, mais un serveur inclura généralement une ou plusieurs unité(s) centrale(s) de traitement et une mémoire. Un serveur peut aussi inclure un ou plusieurs équipement(s) de mémoire de masse, une ou plusieurs alimentation(s) électrique(s), une ou plusieurs interface(s) réseau sans-fil et/ou filaire(s), une ou plusieurs interface(s) d’entrée/sortie, un ou plusieurs système(s) d’exploitation, tel(s) que Windows Server, Mac OS X, Unix, Linux, FreeBSD, or un équivalent. By "server" or "platform" is meant in the present description any point of service (virtualized or not) or device operating data processing, one or more databases, and / or communication functions of data. For example, and without limitation, the term "server" or the term "platform" may refer to a physical processor operably coupled with associated communication, database and data storage functions, or refer to a network, group, set or complex of processors and storage equipment associated data and networking, as well as an operating system and one or more database system (s) and application software in support of the services and functions provided by the server. A computing device can be configured to send and receive signals, by wireless and / or wired transmission network (s), or can be configured for processing and / or storage of data or signals, and can therefore operate as a server. Thus, equipment configured to operate as a server can include, by way of non-limiting examples, dedicated rack-mounted servers, desktops, laptops, service gateways (sometimes referred to as "boxes" or " residential gateway ”), multimedia decoders (sometimes called“ set-top boxes ”), integrated equipment combining various functionalities, such as two or more of the functionalities mentioned above. Servers can vary widely in their configuration or capabilities, but a server will typically include one or more central processing unit (s) and memory. A server can also include one or more mass memory equipment (s), one or more power supply (s), one or more wireless and / or wired network interface (s), one or more several input / output interface (s), one or more operating system (s), such as Windows Server, Mac OS X, Unix, Linux, FreeBSD, or an equivalent.
[0051] Par contenu multimédia, on entend dans la présente description tout contenu audio et/ou vidéo, sous-titres, données, audiovisuel, musique, son, image et interface graphique interactive, et toute combinaison de ces types de contenu. By multimedia content is meant in the present description any audio and / or video content, subtitles, data, audiovisual, music, sound, image and interactive graphical interface, and any combination of these types of content.
[0052] Les termes «réseau» et «réseau de communication» tels qu’utilisés dans la présente description font référence à une ou plusieurs liaisons de données qui peuvent coupler ou connecter des équipements, éventuellement virtualisés, de manière à permettre le transport de données électroniques entre des systèmes informatiques et/ou des modules et/ou d’autres dispositifs ou équipements électroniques, tel qu’entre un serveur et un dispositif client ou d’autres types de dispositifs, y compris entre dispositifs sans fil couplés ou connectés par un réseau sans fil, par exemple. Un réseau peut aussi inclure une mémoire de masse pour stocker des données, tel qu’un NAS (en anglais «network attached storage», un SAN (en anglais «storage area network»), ou toute autre forme de support lisible par un ordinateur ou par une machine, par exemple. Un réseau peut comprendre, en tout ou partie, le réseau Internet, un ou plusieurs réseaux locaux (en anglais «local area networks», ou LANs), un ou plusieurs réseaux de type WAN (en anglais «wide area networks»), des connexions de type filaire, des connexions de type sans fil, de type cellulaire, ou toute combinaison de ces différents réseaux. De manière similaire, des sous-réseaux peuvent utiliser différentes architectures ou être conformes ou compatibles avec différents protocoles, et inter-opérer avec des réseaux de plus grande taille. Différents types d’équipements peuvent être utilisés pour rendre inter opérables différentes architectures ou différents protocoles. Par exemple, un routeur peut être utilisé pour fournir une liaison de communication ou une liaison de données entre deux LANs qui seraient autrement séparés et indépendants. The terms "network" and "communication network" as used in the present description refer to one or more data links which can couple or connect equipment, possibly virtualized, so as to allow the transport of data. between computer systems and / or modules and / or other electronic devices or equipment, such as between a server and a client device or other types of devices, including between wireless devices coupled or connected by a wireless network, for example. A network can also include a mass memory to store data, such as a NAS (in English "network attached storage" in English, a SAN (in English "storage area network"), or any other form of media readable by a computer. or by a machine, for example. A network may include, in whole or in part, the Internet network, one or more local area networks (or LANs), one or more WAN type networks (in English "Wide area networks"), wired type connections, wireless, cellular, or any combination of these different networks. Similarly, subnets may use different architectures or be compliant or compatible with different protocols, and interoperate with larger networks. Different types of equipment can be used to make different architectures or different protocols interoperable. For example, a router can be used to provide a communications link or a data link between two LANs that would otherwise be separate and independent.
[0053] Les termes «couplé de manière opérationnelle», «couplé», «monté», «connecté» et leurs variantes et formes diverses utilisés dans la présente description font référence à des couplages, connexions, montages, qui peuvent être directs ou indirects, et com prennent notamment des connexions entre équipements électroniques ou entre des portions de tels équipements qui permettent des opérations et fonctionnements tels que décrits dans la présente description. De plus, les termes «connectés» et «couplés» ne sont pas limités à des connections ou des couplages physiques ou mécaniques. Par exemple, un couplage de manière opérationnelle peut inclure une ou plusieurs connexion(s) filaire(s) et/ou une ou plusieurs connexion(s) sans-fil entre deux équipements ou plus qui permettent des liaisons de communication simplex et/ou duplex entre les équipements ou des portions des équipements. Selon un autre exemple, un couplage opérationnel ou une connexion peut inclure un couplage par liaison filaire et/ou sans-fil pour permettre des communications de données entre un serveur du système proposé et un autre équipement du système. The terms "operably coupled", "coupled", "mounted", "connected" and their various variants and forms used in the present description refer to couplings, connections, assemblies, which can be direct or indirect , and include in particular connections between electronic equipment or between portions of such equipment which allow operations and functions as described in the present description. In addition, the terms “connected” and “coupled” are not limited to physical or mechanical connections or couplings. For example, an operative coupling may include one or more wired connection (s) and / or one or more wireless connection (s) between two or more devices that allow simplex and / or duplex communication links. between the equipment or portions of the equipment. In another example, an operational coupling or connection may include a wired and / or wireless link coupling to enable data communications between a server of the proposed system and other equipment of the system.
[0054] Les termes «application» ou «programme applicatif» (AP) et leurs variantes («app», «webapp», etc.) tels qu’utilisés dans la présente description correspondent à tout outil qui fonctionne et est opéré au moyen d’un ordinateur, pour fournir ou exécuter une ou plusieurs fonction(s) ou tâche(s) pour un utilisateur ou un autre programme applicatif. Pour interagir avec un programme applicatif, et le contrôler, une interface utilisateur peut être fournie sur l’équipement sur lequel le programme applicatif est mis en œuvre. Par exemple, une interface graphique (en anglais, «graphical user interface» ou GUI) peut être générée et affichée sur un écran de l’équipement utilisateur, ou une interface utilisateur audio peut être restituée à l’utilisateur en utilisant un haut-parleur, un casque ou une sortie audio. The terms “application” or “application program” (AP) and their variants (“app”, “webapp”, etc.) as used in the present description correspond to any tool which functions and is operated by means of from a computer, to provide or execute one or more function (s) or task (s) for a user or another application program. To interact with and control an application program, a user interface may be provided on the equipment on which the application program is implemented. For example, a graphical user interface (GUI) can be generated and displayed on a user equipment screen, or an audio user interface can be played back to the user using a loudspeaker. , headphones or audio output.
[0055] Les termes « contenu multimédia » tel qu’utilisés dans la présente description cor respondent à tout contenu de type audio et/ou vidéo ou audiovisuel. The terms "multimedia content" as used in the present description correspond to any content of audio and / or video or audiovisual type.
[0056] Dans la présente description, les termes distribution « en temps-réel », distribution « en mode linéaire », distribution « en mode TV linéaire », distribution « en mode dynamique » et distribution « live » ou « en mode live » sont utilisés de manière inter changeable pour désigner la distribution en mode ou de type dynamique (en anglais mode « live » ou « dynamic ») d’un contenu multimédia dans un système de dis- tribution de contenus vers des terminaux, comprenant notamment la distribution du contenu à mesure que celui-ci est généré, par opposition à la distribution d’un contenu précédemment généré, sur requête d’accès d’un utilisateur (distribution sur requête d’accès ou distribution en mode ou de type « statique » - en anglais, « static »), tel que, par exemple, un contenu enregistré sur un serveur, et rendu disponible à des uti lisateurs par un service de vidéo à la demande (VOD). In the present description, the terms “real-time” distribution, “linear mode” distribution, “linear TV mode” distribution, “dynamic mode” distribution and “live” or “live mode” distribution are used interchangeably to denote the dynamic mode or type distribution (in English "live" or "dynamic" mode) of multimedia content in a distribution system. distribution of content to terminals, including in particular the distribution of the content as it is generated, as opposed to the distribution of previously generated content, on a user's access request (distribution on access request or distribution in "static" mode or type (in English, "static"), such as, for example, content recorded on a server, and made available to users by a video on demand (VOD) service .
[0057] Dans la présente description, les termes « contenu live » font référence à un contenu, par exemple de type multimédia, distribué, par exemple selon un mode de distribution OTT, en mode dynamique (par opposition au mode statique de distribution). Un contenu live sera typiquement généré par une chaîne de télévision, ou par tout type de média télévisuel, et pourra être par ailleurs diffusé sur un réseau de diffusion de contenus multimédia, outre sa mise à disposition sur des serveurs de contenus dans un système de distribution OTT. In the present description, the terms “live content” refer to content, for example of multimedia type, distributed, for example according to an OTT distribution mode, in dynamic mode (as opposed to the static distribution mode). Live content will typically be generated by a television channel, or by any type of television media, and may also be broadcast over a multimedia content distribution network, in addition to being made available on content servers in a distribution system. OTT.
[0058] Dans la présente description, les termes « terminal », « équipement utilisateur », In the present description, the terms "terminal", "user equipment",
« lecteur », « dispositif de lecture », « terminal de lecture » et « lecteur vidéo » sont utilisés de manière interchangeable pour désigner tout type de dispositif, mis en œuvre par un ou plusieurs logiciels, un ou plusieurs matériels, ou une combinaison d’un ou plusieurs logiciels et d’un ou plusieurs matériels, configuré pour utiliser un contenu multimédia distribué selon un protocole de distribution multi-écrans, notamment en chargement et en lecture du contenu. Les termes « client » et « client de lecture vidéo » sont aussi utilisés de manière interchangeable pour désigner tout type de dispositif, logiciel et/ou matériel, ou toute fonction ou ensemble de fonctions, mise(s) en œuvre par logiciel et/ou matériel au sein d’un dispositif, configurés pour utiliser un contenu multimédia distribué selon un protocole de distribution multi-écrans, notamment en chargement du contenu depuis un serveur et en lecture du contenu. "Reader", "reading device", "reading terminal" and "video player" are used interchangeably to designate any type of device, implemented by one or more software, one or more hardware, or a combination of one or more software and one or more hardware, configured to use multimedia content distributed according to a multi-screen distribution protocol, in particular for loading and playing the content. The terms “client” and “video playback client” are also used interchangeably to refer to any type of device, software and / or hardware, or any function or set of functions, implemented by software and / or hardware within a device, configured to use multimedia content distributed according to a multi-screen distribution protocol, in particular by loading the content from a server and playing the content.
[0059] La figure 1 illustre un exemple d’architecture de système de distribution (1) de Figure 1 illustrates an example of the architecture of a distribution system (1) of
contenus multimédia, dans lequel le procédé proposé peut être mis en œuvre. La figure 1 montre une tête de réseau de distribution vidéo (2) comprenant une unité d’encodage vidéo (4) qui reçoit en entrée des contenus à encoder (« contribution ») (3), et délivre à une unité de mise en forme (5) (« packager ») des flux encodés dits « flux élé mentaires ». Comme illustré sur la figure 1, un contenu reçu en entrée est encodé selon une pluralité de profils d’encodage (un profil étant par exemple défini avec des pa ramètres de codée, de résolution et de débit). L’utilisation d’une pluralité de profils d’encodage présente au moins deux avantages : Tout d’abord, une pluralité de profils permet d’adresser des terminaux de lecture aux caractéristiques (codées supportés, ré solution d’écran, puissance de décodage) différentes. En outre, elle offre aux lecteurs vidéo de ces terminaux la possibilité de s’adapter en fonction de la bande passante réseau disponible. En effet, le lecteur d’un client (d’un terminal) pourra être configuré pour chercher à atteindre le profil d’encodage correspondant au plus haut débit, en fonction des mesures de bande passante qu’il effectue en permanence. multimedia content, in which the proposed method can be implemented. FIG. 1 shows a video distribution network head (2) comprising a video encoding unit (4) which receives as input content to be encoded (“contribution”) (3), and delivers to a formatting unit (5) (“packager”) encoded streams known as “elementary streams”. As illustrated in FIG. 1, a content received as input is encoded according to a plurality of encoding profiles (a profile being for example defined with parameters of coding, resolution and bit rate). The use of a plurality of encoding profiles has at least two advantages: First of all, a plurality of profiles makes it possible to address reading terminals with the characteristics (coded supported, screen resolution, decoding power ) different. In addition, it offers the video players of these terminals the possibility of adapting according to the available network bandwidth. Indeed, the reader of a client (of a terminal) can be configured. to seek to achieve the encoding profile corresponding to the highest bit rate, as a function of the bandwidth measurements that it continuously performs.
[0060] Les flux encodés (flux élémentaires) délivrés par l’unité d’encodage vidéo (4) à The encoded streams (elementary streams) delivered by the video encoding unit (4) to
l’unité de mise en forme sont découpés en deux séquences de segments successifs, res pectivement audio et vidéo, qui sont généralement de durée fixe (typiquement de quelques secondes) par l’unité de mise en forme (5), dont le format dépend du protocole choisi (par exemple MPEG2-TS, MP4, etc.). Pour chaque contenu, un ensemble de métadonnées relatives à des contenus multimédias, ou manifeste (en anglais « manifest »), est aussi généré par l’unité de mise en forme. Il s’agit ty piquement d’un fichier, par exemple au format XML, indiquant les caractéristiques de chaque profil et les segments disponibles correspondant au contenu. the shaping unit are cut into two sequences of successive segments, respectively audio and video, which are generally of fixed duration (typically a few seconds) by the shaping unit (5), the format of which depends the chosen protocol (for example MPEG2-TS, MP4, etc.). For each content, a set of metadata relating to multimedia content, or "manifest", is also generated by the formatting unit. This is typically a file, for example in XML format, indicating the characteristics of each profile and the available segments corresponding to the content.
[0061] Ces manifestes et les segments associés sont fournis par l’unité de mise en forme (5) à un serveur de contenus (6) (« Origin Server » sur la figure 1), puis stockés sur des serveurs de distribution de contenu (8a, 8b), appelés « CDN » (de l’anglais « Content Delivery Network »), fournissant des capacités de cache qui permettent d'améliorer la qualité des services fournis aux utilisateurs, et de minimiser les temps d'accès et la latence pour la visualisation de contenus par des terminaux de lecture. These manifests and the associated segments are provided by the formatting unit (5) to a content server (6) (“Origin Server” in FIG. 1), then stored on content distribution servers (8a, 8b), called "CDN" (from the English "Content Delivery Network"), providing caching capabilities that improve the quality of services provided to users, and minimize access times and latency for viewing content by reading terminals.
[0062] Les contenus stockés dans les serveurs CDN (8a, 8b) sont accessibles en lecture à des terminaux (10a, 10b, 10c) utilisateurs, par le biais d’une plateforme de services (7) pour la distribution des contenus. Les clients installés dans les terminaux (10a, 10b, 10c) peuvent accéder aux contenus stockés sur les serveurs CDN par l’intermédiaire d’un ou plusieurs réseaux de communication de données, comme par exemple le réseau Internet (9), comme illustré sur la figure. The contents stored in the CDN servers (8a, 8b) are accessible in read mode to user terminals (10a, 10b, 10c), through a service platform (7) for the distribution of the contents. The clients installed in the terminals (10a, 10b, 10c) can access the content stored on the CDN servers via one or more data communication networks, such as for example the Internet network (9), as illustrated in the figure.
[0063] La figure 2a illustre un exemple de contenu de fichier XML correspondant à un FIG. 2a illustrates an example of XML file content corresponding to a
manifeste utilisant le format DASH (ou MPEG-DASH). Un manifeste de ce type présente une arborescence de conteneurs XML imbriqués, comme illustré par la figure 2a. Bien que la présente description fournisse des exemples de modes de réalisation basés sur le format DASH spécifié dans la troisième édition du document ISO/IEC 23009-1 « Information Technology - Dynamic adaptive streaming over HTTP manifest using the DASH (or MPEG-DASH) format. One such manifesto presents a tree structure of nested XML containers, as shown in Figure 2a. Although this description provides examples of embodiments based on the DASH format specified in the third edition of ISO / IEC 23009-1 "Information Technology - Dynamic adaptive streaming over HTTP
(DASH) - Part 1 : Media présentation description and segment formats », l’homme du métier peut se rendre compte que les procédés proposés ne sont pas limités à un type ou un format particulier de manifeste (ou d’ensemble de métadonnées de description de contenu(s) multimédia), et qu’ils s’appliquent à tous types de manifeste, tels que des manifestes utilisant d’autres protocoles et formats de distribution OTT, comme par exemple les protocoles et formats HLS, MSS et HDS mentionnés ci-dessus. (DASH) - Part 1: Media presentation description and segment formats ”, those skilled in the art can realize that the proposed methods are not limited to a particular type or format of manifest (or set of descriptive metadata of multimedia content (s), and that they apply to all types of manifests, such as manifests using other OTT protocols and distribution formats, such as for example the HLS, MSS and HDS protocols and formats mentioned above -above.
[0064] Le manifeste DASH illustré sur la figure 2a présente une structure hiérarchique [0064] The DASH manifesto illustrated in FIG. 2a has a hierarchical structure
organisée selon l’arborescence suivante: organized according to the following tree structure:
[0065] Un élément racine du document (de l’anglais Media Présentation Description, MPD) contient les attributs applicables à l’ensemble des éléments du document (les autres éléments étant parfois dénommés éléments « enfants »). A root element of the document (from the English Media Presentation Description, MPD) contains the attributes applicable to all the elements of the document (the other elements being sometimes called “child” elements).
[0066] La racine « MPD » peut, outre des éléments « enfants », définir des valeurs The root "MPD" can, in addition to the "child" elements, define values
d’attributs, parmi lesquels les attributs suivants qui sont relatifs à la distribution d’un contenu live : attributes, including the following attributes that relate to the distribution of live content:
[0067] L’attribut « type » définit le type de distribution du contenu: « static » pour les [0067] The "type" attribute defines the type of content distribution: "static" for
contenus distribués en mode statique (typiquement les contenus distribués selon un service de Vidéo à la Demande (VOD)) et « dynamic » pour les contenus distribués en mode dynamique. content distributed in static mode (typically content distributed according to a Video on Demand (VOD) service) and “dynamic” for content distributed in dynamic mode.
[0068] L’attribut « AvailabilityStartTime », se rapportant au mode de distribution The "AvailabilityStartTime" attribute, relating to the distribution mode
dynamique, définit la date (par exemple au format temps universel coordonné (en anglais « UTC », pour « Coordinated Universal Time »)) de disponibilité du premier segment généré pour le service courant. Cette information peut être utilisée pour indiquer l’heure de démarrage du service, de manière à être utilisée par un terminal de lecture comme point d’ancrage temporel du début du service. dynamic, defines the date (for example in the format coordinated universal time (in English "UTC", for "Coordinated Universal Time")) of availability of the first segment generated for the current service. This information can be used to indicate the start time of the service, so that it can be used by a reading terminal as a time anchor point for the start of the service.
[0069] L’attribut « PublishTime » indique une date de génération du manifeste et de sa pu blication sur le réseau CDN. Cette information permet d’enregistrer différentes versions d’un même manifeste correspondant à des publications successives, afin de détecter des changements intervenus d’une publication à l’autre. The "PublishTime" attribute indicates a date of generation of the manifesto and of its publication on the CDN network. This information makes it possible to record different versions of the same manifesto corresponding to successive publications, in order to detect changes that have occurred from one publication to another.
[0070] L’attribut « AvailabilityEndTime » indique une date de génération du segment le plus ancien encore disponible. [0070] The "AvailabilityEndTime" attribute indicates a generation date of the oldest segment still available.
[0071] L’attribut « MinimumUpdatePeriod » définit la période la plus courte entre des [0071] The "MinimumUpdatePeriod" attribute defines the shortest period between
changements potentiels dans le MPD. La valeur de cet attribut peut être utilisée par le terminal de lecture du contenu pour configurer une fréquence à laquelle il télécharge le manifeste, étant informé du fait que le manifeste sera mis à jour par l’unité de mise en forme au moins à la fréquence indiquée par cet attribut. potential changes in the MPD. The value of this attribute can be used by the content reader terminal to configure a frequency with which it downloads the manifest, being informed that the manifest will be updated by the formatting unit at least at the frequency indicated by this attribute.
[0072] L’attribut « MinBufferTime », obligatoire dans l’exemple de format illustré par la Figure 2a, définit une durée commune utilisée dans la définition des débits des repré sentations. The "MinBufferTime" attribute, mandatory in the example format illustrated in Figure 2a, defines a common duration used in the definition of the bit rates of the representations.
[0073] L’attribut « TimeShiftBufferDepth » définit la durée du plus petit buffer de décalage temporel pour toutes les représentations du manifeste, garantissant la disponibilité des segments pour les distributions de type dynamique. Sa valeur indique la période dans le passé pour laquelle le contenu associé au manifeste, distribué en mode dynamique, est disponible sur le serveur CDN. Cette valeur peut par exemple être égale à 1 minute, auquel cas le lecteur peut revenir dans le passé (du contenu « live ») pendant une minute, ou récupérer une minute de contenu live dans le cas où l’utilisateur utilise la fonction « pause » pour interrompre la lecture du contenu live. [0073] The "TimeShiftBufferDepth" attribute defines the duration of the smallest time offset buffer for all representations of the manifest, ensuring the availability of segments for dynamic type distributions. Its value indicates the time period in the past for which the content associated with the manifest, distributed dynamically, is available on the CDN server. This value can for example be equal to 1 minute, in which case the player can go back to the past (“live” content) for one minute, or retrieve a minute of live content if the user uses the “pause” function. To stop playing live content.
[0074] L’attribut « SuggestedPresentationDelay » définit un décalage fixe dans le temps qui peut être appliqué lors de la présentation de chaque access unit. Ce paramètre permet de se caler le plus près possible de la limite du contenu live, pour s’assurer que tous les terminaux de lecture qui lisent le même contenu live vont le lire au même endroit. Par exemple, on peut configurer la lecture de manière à revenir 4 secondes dans le passé pour se donner une marge de sécurité par rapport au déroulement du contenu live. The “SuggestedPresentationDelay” attribute defines a fixed time offset which can be applied when presenting each access unit. This setting allows you to squeeze as close as possible to the live content boundary, to ensure that all playback terminals that play the same live content will play it in the same location. For example, we can configure the playback so as to go back 4 seconds in the past to give ourselves a margin of safety in relation to the course of the live content.
[0075] L’attribut « UTCTiming » fournit une horloge commune entre l’unité de mise en forme et le terminal de lecture (ou lecteur vidéo). Il permet d’indiquer au terminal un moyen permettant de récupérer une horloge synchronisée avec le serveur de contenus. [0075] The "UTCTiming" attribute provides a common clock between the formatting unit and the reading terminal (or video player). It allows you to indicate to the terminal a way to retrieve a clock synchronized with the content server.
[0076] Des éléments « enfants », sous forme de conteneurs éventuellement imbriqués les uns dans les autres, peuvent en outre être inclus dans le manifeste pour préciser les fichiers accessibles par l’intermédiaire du manifeste. En référence à la figure 2a, ces éléments « enfants » peuvent être : [0076] "Child" elements, in the form of containers possibly nested one inside the other, can also be included in the manifesto to specify the files accessible through the manifesto. With reference to FIG. 2a, these “child” elements can be:
[0077] Un élément de type « Period », décrivant un intervalle de temps, borné ou non dans le temps. Un ou plusieurs attributs peuvent être fournis pour un élément de type « Period », parmi lesquels un attribut (« id ») d’identification de période A “Period” type element, describing a time interval, whether or not bounded in time. One or more attributes can be provided for an element of type "Period", among which an attribute ("id") identifying the period
(« id= « PO » » sur la figure 2), un attribut (« start ») de temps de démarrage de période (« start= « PTOS » » sur la figure 2), et un attribut (« duration ») de durée de période (non présent pour une période ouverte, c’est-à-dire non encore terminée). La valeur de l’attribut de temps de démarrage de période (0 secondes dans l’exemple illustré sur la figure 2a) pourra être combinée avec la valeur de l’élément « availabilityStartTime » décrit ci-dessus) ("Id =" PO "" in Figure 2), a period start time attribute ("start") ("start =" PTOS "" in Figure 2), and an attribute ("duration") of period duration (not present for an open period, that is to say not yet terminated). The value of the period start time attribute (0 seconds in the example shown in Figure 2a) can be combined with the value of the "availabilityStartTime" element described above)
[0078] Chaque élément enfant de type « Period » peut lui-même contenir des éléments Each child element of the "Period" type can itself contain elements.
enfants. Par exemple, comme illustré sur la figure 2a, un élément de type « Period » peut contenir deux éléments enfants de type « AdaptationSet » correspondant chacun à un type de contenu. children. For example, as illustrated in FIG. 2a, an element of type “Period” can contain two child elements of type “AdaptationSet” each corresponding to a type of content.
[0079] L’élément de type « AdaptationSet » est un conteneur qui permet de décrire des contenus disponibles en fonction de leur type. Il permet de regrouper des éléments concernant la même composante d’un contenu multimédia de types audio, vidéo ou sous-titres, mais encodés avec des paramètres (débits, résolutions, taux d’image (en anglais « framerate »), taux d’échantillonnage (en anglais « sample rate »)) différents. Dans l’exemple de la figure 2, un seul profil d’encodage est disponible, et ce profil est décrit pour sa composante vidéo (contentType=" video" id="0" maxLrameRate="25" The element of type "AdaptationSet" is a container which makes it possible to describe available content according to their type. It makes it possible to group together elements concerning the same component of multimedia content such as audio, video or subtitles, but encoded with parameters (bitrates, resolutions, frame rate (in English "framerate"), rate of different sampling rates. In the example of Figure 2, only one encoding profile is available, and this profile is described for its video component (contentType = "video" id = "0" maxLrameRate = "25"
Un lecteur vidéo peut ainsi, par exemple, obtenir rapidement les paramètres de profil d’encodage vidéo utilisés pour l’encodage du contenu décrit dans le manifeste illustré sur la figure 2 : bande passante, paramètres du codeur vidéo, taux d’images, résolution, format des images, etc. (« bandwidth="4000000" codecs="hevl.2.4.L120.90" frameRate=”25" height="1080" id="vl" sar="l:l" width="1920"”). For example, a video player can quickly obtain the video encoding profile parameters used for encoding the content described in the illustrated manifesto. in figure 2: bandwidth, video encoder parameters, frame rate, resolution, frame format, etc. ("Bandwidth =" 4000000 "codecs =" hevl.2.4.L120.90 "frameRate =" 25 "height =" 1080 "id =" vl "sar =" l: l "width =" 1920 "").
[0080] Des paramètres d’encodage peuvent être fournis par l’élément « Représentation », qui permet de décrire précisément les paramètres d’encodage et d’accès à une composante du média. [0080] Encoding parameters can be provided by the element "Representation", which allows to precisely describe the encoding parameters and access to a component of the media.
[0081] La figure 3 illustre un exemple de procédé de lecture de contenu live par un client de lecture vidéo (ou un lecteur vidéo). Le procédé illustré utilise certaines des in formations décrites ci-dessus pour l’exemple de manifeste illustré sur la figure 2a pour déterminer le segment de données à télécharger pour chaque « AdaptationSet » de la période courante, et ainsi permettre au client de s’accrocher au contenu à lire. FIG. 3 illustrates an example of a method for reading live content by a video playback client (or a video player). The illustrated method uses some of the information described above for the example manifesto illustrated in Figure 2a to determine the data segment to download for each "AdaptationSet" of the current period, and thus allow the client to hang on. content to read.
[0082] La lecture d’un contenu live mis au format MPEG-DASH est principalement linéaire. [0082] The playback of live content put in MPEG-DASH format is mainly linear.
Lors de sa connexion au serveur de contenus, le client récupère dans un premier temps le manifeste contenant des informations propres au contenu distribué en mode dynamique (« live »), puis commence la lecture à l’endroit du contenu correspondant à l’heure courante (afin de suivre un événement se déroulant en temps réel (ou live)). Pour ce faire, il détermine la période courante en calculant le temps écoulé depuis la valeur « availabilityStartTime » indiquée dans le manifeste, puis détermine le numéro du segment « live » dans cette période par le même moyen. When connecting to the content server, the client first retrieves the manifest containing information specific to the content distributed in dynamic mode (“live”), then begins reading at the location of the content corresponding to the current time. (in order to follow an event taking place in real time (or live)). To do this, it determines the current period by calculating the time elapsed since the "availabilityStartTime" value indicated in the manifest, then determines the number of the "live" segment in this period by the same means.
[0083] En référence à la figure 3, dans un ou plusieurs modes de réalisation, le client obtient (50) un manifeste correspondant au contenu live à lire, puis se synchronise (51) (52) avec un serveur de contenus multimédia par l’intermédiaire de la valeur de l’attribut « UTCtiming » indiquée dans le manifeste. Referring to Figure 3, in one or more embodiments, the client obtains (50) a manifest corresponding to the live content to be played, then synchronizes (51) (52) with a multimedia content server via the 'intermediate the value of the attribute "UTCtiming" indicated in the manifest.
[0084] A partir de l’attribut « availabilityStartTime » et de l’heure courante [0084] From the "availabilityStartTime" attribute and the current time
(« CurrentTime »), le client peut ensuite déterminer (53) le temps écoulé fe() depuis le démarrage du contenu multimédia live. Comme discuté ci-dessus, suivant les conditions d’encodage, un délai (« PresentationTimeOffset ») peut être appliqué (54) sur la transmission du contenu multimédia afin de laisser du temps à l’encodeur pour encoder les segments, ce qui conduit à la détermination d’un temps fc() défini par fe() ("CurrentTime"), the client can then determine (53) the elapsed time fe () since the start of the live media content. As discussed above, depending on the encoding conditions, a delay ("PresentationTimeOffset") may be applied (54) to the transmission of the multimedia content in order to allow time for the encoder to encode the segments, which leads to the determination of a time fc () defined by fe ()
- PresentationTimeOffset. Enfin, en fonction de la taille des segments (« segment duration ») définie dans le manifeste, et d’un paramètre d’échelle de temps - PresentationTimeOffset. Finally, depending on the size of the segments ("segment duration") defined in the manifesto, and a time scale parameter
(«TimeScale »), un index (57) fi() ou un horodatage (56) (« TimeStamp ») ft() du segment de l’heure courante pourra être calculé, selon le type de segment (55). A partir de ces informations, le client peut obtenir (58) une adresse de téléchargement (par exemple une URL (de l’anglais « Uniform Resource Locator »)), puis télécharger le segment de l’heure courante du contenu multimédia. Un index du segment de l’heure courante pourra par exemple être obtenu en divisant la valeur fc() par la durée d’un segment (en anglais « segment duration ») divisée par la valeur d’échelle de temps (« timescale ») : fi()=fc()/(segment duration/timescale). Un horodatage du segment de l’heure courante pourra par exemple être obtenu en divisant la valeur fc() par la valeur d’échelle de temps (« timescale ») : ft()=fc()/timescale. (“TimeScale”), an index (57) fi () or a timestamp (56) (“TimeStamp”) ft () of the current time segment can be calculated, depending on the type of segment (55). From this information, the client can obtain (58) a download address (for example a URL (standing for “Uniform Resource Locator”)), then download the current time segment of the multimedia content. An index of the current hour segment could for example be obtained by dividing the value fc () by the duration of a segment (in English "segment duration") divided by the time scale value ("Timescale"): fi () = fc () / (segment duration / timescale). A timestamp of the current time segment can for example be obtained by dividing the value fc () by the time scale value (“timescale”): ft () = fc () / timescale.
[0085] Les valeurs décrites ci-dessus sont fournies par le diffuseur au client par The values described above are provided by the broadcaster to the customer by
l’intermédiaire du manifeste. Le diffuseur de contenus peut en outre influer sur le com portement du client par d’autres biais que le manifeste que le client télécharge, notamment en insérant de la signalisation dans un segment de données. Ainsi, l’insertion d’un marqueur (par exemple sous la forme d’une « box ») spécifique identifié par une balise prédéterminée permet de communiquer au client des messages de contrôle. Par exemple, l’insertion d’une box « emsg » dans un segment de données permet d’indiquer au client qu’il doit recharger immédiatement le manifeste. Ainsi, un client configuré pour la lecture d’un fichier MP4 ou MPEG2 TS (de l’anglais through the manifesto. The content provider can further influence the behavior of the customer through other means than the manifesto that the customer downloads, such as inserting signage into a data segment. Thus, the insertion of a specific marker (for example in the form of a "box") identified by a predetermined tag makes it possible to communicate control messages to the customer. For example, inserting an "emsg" box in a data segment indicates to the customer that they must immediately reload the manifest. Thus, a client configured to play an MP4 or MPEG2 TS file (from English
« Transport Stream ») va parcourir (en anglais, « parse ») ce fichier (sous sa forme ar borescente) pour y détecter toutes les informations présentes, dont notamment les in formations de signalisation de requête de chargement du manifeste (par exemple signalée par une signalisation « emsg »). Il est ainsi possible de signaler un évènement non prévu qui doit être pris en compte le plus tôt possible en s’affranchissant de la valeur de l’attribut « minimumUpdatePeriod », qui est plutôt adaptée pour des modi fications incrémentales du manifeste. "Transport Stream") will browse (in English, "parse") this file (in its ar borescent form) to detect all the information present, including in particular the signaling information of manifest loading request (for example indicated by an "emsg" sign). It is thus possible to signal an unforeseen event which must be taken into account as soon as possible by overriding the value of the "minimumUpdatePeriod" attribute, which is more suitable for incremental changes to the manifesto.
[0086] Plusieurs scénarios peuvent cependant venir interrompre la logique de diffusion d’un événement en mode dynamique décrite ci-dessus et illustrée par la figure 3, par exemple lorsqu’un basculement du client sur un contenu multimédia autre que celui en cours de lecture (correspondant à un manifeste dit « principal ») est voulu. Ces inter ruptions de lecture d’un contenu multimédia live peuvent par exemple correspondre à l’insertion de publicités ciblées, à des événements se déroulant également en temps réel comme par exemple un décrochage régional, ou encore à la diffusion d’un message d’alerte. Several scenarios may however interrupt the logic of broadcasting an event in dynamic mode described above and illustrated in FIG. 3, for example when the client switches to multimedia content other than that being read. (corresponding to a so-called "main" manifesto) is wanted. These interruptions in the playback of live multimedia content may for example correspond to the insertion of targeted advertisements, to events also taking place in real time such as, for example, a regional dropout, or even to the broadcasting of a message from alert.
[0087] Le contexte autour du cas de figure d’une insertion de publicités ciblées est le [0087] The context around the scenario of inserting targeted advertisements is the
suivant : Lors d’une coupure publicitaire dans un contenu distribué en mode dynamique (contenu « live »), des publicités par défaut sont présentes dans le flux de données initial, c’est-à-dire correspondant au contenu live en cours de lecture. Le fournisseur de contenu peut décider de rediriger les clients vers des publicités ciblés en fonction de leurs profils respectifs. Pour ce faire, la période courante indiquée dans le manifeste courant (correspondant au contenu live en cours de lecture) peut être clôturée, et une nouvelle période d’une durée égale à celle de la publicité initiale peut être insérée dans le manifeste courant, sous la forme d’un conteneur de description d’intervalle de temps (« Period » pour le cas d’un conteneur d’un manifeste au format DASH). [0088] Ce conteneur de description d’intervalle de temps peut contenir des données de re direction (par exemple signalées dans un fichier xml par un lien de redirection de type « xlink », pour « XML Linking Language », type spécifié dans la recommandation W3C « W3C XLINK XML Linking Language (XLink) Version 1.1, W3C Recom mendation ») vers un serveur de publicité qui, en fonction d’un profil de l’utilisateur du client retournera un nouveau manifeste permettant d’accéder à des publicités adaptées à cet utilisateur. Le client lira le contenu décrit par le conteneur de description d’intervalle de temps (« Period ») de ce nouveau manifeste pendant la durée de la période définie par le conteneur. A la fin de cette période, le client retournera au manifeste courant dans lequel la période de publicité aura aussi été clôturée et une nouvelle période live insérée sous la forme d’un autre conteneur de description d’intervalle de temps. following: During an advertising break in content distributed in dynamic mode ("live" content), default advertisements are present in the initial data stream, that is to say corresponding to the live content being played . The content provider may decide to redirect customers to targeted advertisements based on their respective profiles. To do this, the current period indicated in the current manifest (corresponding to the live content being played) can be closed, and a new period of a duration equal to that of the initial advertisement can be inserted in the current manifesto, under the form of a time interval description container (“Period” in the case of a container of a manifest in DASH format). This time interval description container can contain re direction data (for example indicated in an xml file by a redirection link of the type "xlink", for "XML Linking Language", type specified in the recommendation W3C "W3C XLINK XML Linking Language (XLink) Version 1.1, W3C Recom mendation") to an advertising server which, depending on a profile of the client's user, will return a new manifest allowing access to advertisements adapted to this user. The client will read the content described by the “Period” description container of this new manifest for the duration of the period defined by the container. At the end of this period, the client will return to the current manifest in which the advertisement period will also have been closed and a new live period inserted in the form of another time slot description container.
[0089] La cas de figure du décrochage régional peut se rencontrer lorsqu’une chaine de té lévision diffuse en temps réel des journaux télévisés nationaux qui décrochent ensuite à heures fixes sur des journaux télévisés régionaux, comme par exemple la chaine de té lévision France 3. Ce cas d’usage est similaire à celui des publicités car la durée du dé crochage est connue par avance. En revanche, on peut imaginer des décrochages régionaux de durées variables selon les régions. The regional dropout scenario can be encountered when a television channel broadcasts in real time national television news which then drop off at fixed times on regional television news, such as for example the television channel France 3 This use case is similar to that of advertisements because the duration of the release is known in advance. On the other hand, we can imagine regional dropouts of varying durations depending on the region.
[0090] Pour ce qui est des cas de figure de diffusion d’alertes, la réglementation prévoit des dispositifs devant permettre de diffuser des messages d’alertes en interrompant les programmes en cours. Ces messages peuvent être préenregistrés et donc de durée connue ou être produits en temps réel. Dans ce dernier cas, la durée de l’interruption n’est pas connue à l’avance. [0090] With regard to the scenarios for broadcasting alerts, the regulations provide for devices to allow alert messages to be broadcast by interrupting current programs. These messages can be pre-recorded and therefore of known duration or be produced in real time. In the latter case, the duration of the interruption is not known in advance.
[0091] Cependant, il s’avère que les cas de figure d’un basculement d’un premier contenu live vers un deuxième contenu live sans connaissance de la durée de l’interruption de lecture du premier contenu live ne peuvent être correctement gérés, comme expliqué ci-dessous. However, it turns out that the cases of switching from a first live content to a second live content without knowledge of the duration of the interruption in reading the first live content cannot be correctly managed, as explained below.
[0092] En effet, ces bascules effectuées entre contenus multimédias sont provoquées par l’utilisation d’ordres de basculement de flux, appelés « splicing », provenant d’un équipement situé en amont de l’encodeur audio/vidéo. A la réception de ces ordres, l’unité de mise en forme modifie le manifeste courant (correspondant au contenu live en cours de lecture) pour signaler au client un changement. In fact, these toggles between multimedia contents are caused by the use of flow switching orders, called "splicing", coming from equipment located upstream of the audio / video encoder. Upon receipt of these orders, the formatting unit modifies the current manifest (corresponding to the live content being played) to notify the client of a change.
[0093] Parmi ces ordres de basculement de flux, l’ordre de basculement vers un autre flux (« splice out ») indique au client qu’il doit basculer d’un flux primaire vers un flux se condaire, et l’ordre de basculement de retour (« splice in ») indique au client qu’il doit revenir au flux primaire. Among these flow switching orders, the switching order to another flow ("splice out") indicates to the customer that he must switch from a primary flow to a conditional flow, and the order of Splice in indicates to the client that it should revert to the primary stream.
[0094] La bascule d’un flux primaire live vers un flux secondaire live (les deux flux étant distribués en mode dynamique), dite « bascule live-live », présente des inconvénients qui sont détaillés ci-après. Switching from a live primary stream to a live secondary stream (the two streams being distributed in dynamic mode), known as a "live-live switch", has drawbacks which are detailed below.
[0095] La norme DASH prévoit un mécanisme pour basculer entre 2 contenus live, appelé chaînage de manifestes (en anglais, « manifest chaining »), qui consiste à obliger le client DASH à accompagner le basculement d’un premier contenu live vers un deuxième contenu live par un basculement sur un nouveau manifeste, à partir d’un premier manifeste. Ce mécanisme impose ainsi au lecteur de basculer sur un manifeste secondaire, différent du manifeste en cours d’utilisation par le client (dit manifeste « primaire » ou manifeste « courant »), pour la mise en œuvre d’un basculement d’un premier flux live correspondant au manifeste primaire, vers un deuxième flux live, auquel le manifeste secondaire correspond. Cependant, le basculement d’un premier manifeste vers un deuxième manifeste présente quelques inconvénients, du point de vue de la continuité entre périodes successives (il est impossible de signaler la continuité de périodes en utilisant le manifest chaining tel que spécifié), du point de vue de la gestion des DRM (Digital Right Management) (comme l’URL du manifest change lors de la bascule, le client DASH devrait stocker la période d’origine afin de déterminer que la même configuration DRM peut être utilisée, ce qui est assez contraignant du point de vue du client DASH), et du point de vue de la gestion des jetons (tokens) d’authentification du serveur CDN (comme l’URL du manifest change lors de la bascule, le client DASH devrait stocker la période d’origine et l’URL après redirection afin de déterminer que la même URL est utilisée et donc ne pas refaire l’étape d’authentification auprès du CDN, ce qui est assez contraignant du point de vue du client DASH). En outre, lors de cette bascule le lecteur perd la connaissance du manifeste primaire, rendant compliqué, voire impossible, le retour au premier flux live lors de la fin de la période de basculement (par exemple lors de la fin de diffusion de l’alerte dans le cas de figure d’une diffusion d’alerte évoqué ci-dessus). The DASH standard provides a mechanism for switching between 2 live content, called manifest chaining (in English, "manifest chaining"), which consists in forcing the DASH client to accompany the switch from a first live content to a second live content by switching to a new manifesto, from a first manifesto. This mechanism thus requires the reader to switch to a secondary manifesto, different from the manifesto in use by the client (called “primary” manifesto or “current” manifesto), for the implementation of a switchover of a first live stream corresponding to the primary manifest, to a second live stream, to which the secondary manifest corresponds. However, switching from a first manifesto to a second manifesto has some drawbacks, from the point of view of continuity between successive periods (it is impossible to signal the continuity of periods using manifest chaining as specified), from the point of view of view of Digital Right Management (DRM) (as the manifest URL changes when switching, the DASH client should store the original period to determine that the same DRM configuration can be used, which is enough binding from the point of view of the DASH client), and from the point of view of the management of the authentication tokens of the CDN server (as the manifest URL changes during the switchover, the DASH client should store the period d 'origin and the URL after redirection in order to determine that the same URL is used and therefore not to redo the authentication step with the CDN, which is quite restrictive from the point of view of the DASH client). In addition, during this switchover, the reader loses knowledge of the primary manifesto, making it complicated, if not impossible, to return to the first live stream at the end of the switchover period (for example when the alert ends. in the case of an alert broadcast mentioned above).
[0096] Il est possible d’utiliser pour la gestion d’une bascule d’un premier contenu vers un deuxième contenu des données de redirection (vers des données correspondant au deuxième contenu) insérée dans le manifeste, par exemple sous un élément définissant un intervalle de temps (non nécessairement borné) relatif au deuxième contenu. Dans le cas d’un manifeste au format DASH, un lien de redirection de type « xlink » peut ainsi être inséré dans un conteneur de type « Period », comme illustré sur la figure 2b. La spécification ISO/IEC 23009-1 « Information Technology - Dynamic adaptive streaming over HTTP (DASH) - Part 1 : Media présentation description and segment formats » définit l’insertion de lien de redirection de type xlink dans un manifeste au format DASH. For the management of a switch from a first content to a second content, it is possible to use redirection data (to data corresponding to the second content) inserted in the manifest, for example under an element defining a time interval (not necessarily bounded) relating to the second content. In the case of a manifest in DASH format, an "xlink" type redirection link can thus be inserted in a "Period" type container, as illustrated in Figure 2b. The ISO / IEC 23009-1 specification "Information Technology - Dynamic adaptive streaming over HTTP (DASH) - Part 1: Media presentation description and segment formats" defines the insertion of xlink-type redirect links in a manifest in DASH format.
[0097] La figure 2b illustre ainsi un exemple de manifeste au format DASH après insertion d’une période pointant sur un autre contenu sous la forme d’un conteneur de type « Period » comprenant un lien xlink pointant vers un autre manifeste correspondant à cet autre contenu (notamment en ce qu’il contient des informations permettant d’accéder à cet autre contenu). Le manifeste illustré sur la figure 2b comprend trois périodes, chacune sous forme d’un conteneur de type « Period » : une première période « PO », qui correspond à une période d’un premier contenu live, qui commence à l’instant 0 et qui dure 2 minutes et 18 secondes : «<Period id="P0" start="PT0S" dur ation=”PT2M18S">”. FIG. 2b thus illustrates an example of a manifest in DASH format after insertion of a period pointing to another content in the form of a container of the "Period" type comprising an xlink link pointing to another manifest corresponding to this other content (in particular in that it contains information allowing access to this other content). The manifesto illustrated in FIG. 2b comprises three periods, each in the form of a container of the “Period” type: a first period “PO”, which corresponds to a period of a first live content, which begins at time 0 and which lasts 2 minutes and 18 seconds: "<Period id =" P0 "start =" PT0S "dur ation =" PT2M18S ">".
[0098] Après 2 minutes et 18 secondes, un ordre de bascule (splice) est reçu et le manifeste est mis à jour en conséquence : la période courante est fermée et l’attribut de durée (« duration="PT2M18S" ») ajouté dans le manifeste. Une deuxième période (« PI ») correspondant à un deuxième contenu, de durée 30s (correspondant par exemple à la durée d’un deuxième contenu d’une ou plusieurs publicités), commence à l’instant T0 + la durée de la période PO (2minutes et 18 secondes) (start="PT138S"). Le lien xlink (xlink:actuate="onLoad"xlink:href="http://..." After 2 minutes and 18 seconds, a toggle order (splice) is received and the manifest is updated accordingly: the current period is closed and the duration attribute ("duration =" PT2M18S "") added in the manifesto. A second period ("PI") corresponding to a second content, of duration 30s (corresponding for example to the duration of a second content of one or more advertisements), begins at the instant T0 + the duration of the period PO (2minutes and 18 seconds) (start = "PT138S"). The xlink link (xlink: actuate = "onLoad" xlink: href = "http: // ..."
xmlns:xlink=http://www.w3.org/1999/xlink dans l’exemple illustré sur la figure 2b), inséré comme attribut supplémentaire du conteneur « Period » PI, permet d’accéder à ce deuxième contenu : « <Period id="Pl" start="PT138S" duration="PT30S" xlink:actuate="onLoad" xlink:href="http://..." xmlns: xlink = http: //www.w3.org/1999/xlink in the example shown in Figure 2b), inserted as an additional attribute of the PI “Period” container, allows access to this second content: “< Period id = "Pl" start = "PT138S" duration = "PT30S" xlink: actuate = "onLoad" xlink: href = "http: // ..."
xmlns:xlink="http://www.w3.org/1999/xlink"> ». Sur lecture de ce lien xlink, le client résoudra le lien, c’est-à-dire accédera à l’URL indiquée par le lien (dans l’exemple illustré dans la propriété « "xlink:href="http://..." xmlns: xlink = "http://www.w3.org/1999/xlink"> ". On reading this xlink link, the client will resolve the link, i.e. access the URL indicated by the link (in the example shown in the property "" xlink: href = "http: //. .. "
xmlns:xlink=http://www.w3.org/1999/xlink») pour télécharger un deuxième manifeste contenant des données relatives à l’accès au deuxième contenu, puis extraira de ce deuxième manifeste une ou plusieurs périodes, sous la forme d’un ou plusieurs conteneurs « Period ». Ainsi, le client utilisera la redirection pour aller chercher des in formations relatives à cette nouvelle période PI via les informations accessibles par le lien xlink. xmlns: xlink = http: //www.w3.org/1999/xlink ”) to download a second manifesto containing data relating to access to the second content, then extract from this second manifest one or more periods, in the form one or more “Period” containers. Thus, the customer will use the redirection to get information relating to this new PI period via the information accessible by the xlink link.
[0099] Une troisième période (conteneur « Period » « P2 ») correspond au retour au contenu initial suite à l’interruption de la période Pl. Dans l’exemple de la figure 2b, cette période correspond au premier contenu live et n’a donc pas de durée spécifiée : A third period (container "Period" "P2") corresponds to the return to the initial content following the interruption of the period P1. In the example of FIG. 2b, this period corresponds to the first live content and n ' therefore has no specified duration:
« <Period id="P2" start="PT168S"> ». "<Period id =" P2 "start =" PT168S ">".
[0100] Toutefois, un problème a été identifié, qui empêcherait le bon déroulement d’une bascule live-live (d’un premier contenu live auquel est associé un premier manifeste vers un deuxième contenu live auquel est associé un deuxième manifeste) qui uti liserait un mécanisme de redirection (par exemple un lien de redirection de type xlink) pour signaler la cible de la bascule tel que spécifié dans la spécification ISO/IEC 23009-1 mentionnée ci-dessus. En effet, les informations de synchronisation temporelle nécessaires au client pour obtenir les segments du deuxième contenu live seront présentes au niveau de l’élément racine du deuxième manifeste (élément MPD dans le format DASH), comme décrit ci-dessus en lien avec les figure 2a et 2b, mais pas au niveau de chaque conteneur définissant un intervalle de temps (non néces sairement borné) relatif au deuxième contenu. Le standard ISO/IEC 23009- 1 spécifie que la résolution d’un lien xlink inséré dans un conteneur de description d’intervalle de temps (définissant une période), c’est-à-dire le téléchargement du manifeste à l’adresse indiquée par le lien xlink et l’extraction de la ou des périodes (conteneurs d’intervalle de temps) de ce manifeste, doit retourner non pas le manifeste complet, mais seulement la ou les périodes concernées (plusieurs périodes du manifeste distant (deuxième manifeste) pouvant venir se substituer par résolution du lien xlink à une période du manifeste initial (premier manifeste)). Ainsi, la résolution d’un lien de redirection xlink inséré dans un conteneur de description d’intervalle de temps (« Period ») telle que spécifiée dans le standard ISO/IEC 23009-1, ne permet pas au client d’obtenir des informations contenues dans le manifeste distant vers lequel le lien pointe autre que les informations contenues dans un conteneur de description d’intervalle de temps de ce manifeste distant. En particulier, le standard ne prévoit pas que le client puisse obtenir des éléments spécifiés par le standard comme devant être inclus sous la racine (MPD) du manifeste distant. La conséquence de cette limitation du standard est qu’à partir d’une seule période d’un contenu live (à partir uniquement des informations fournies dans un conteneur de définition d’intervalle de temps (par exemple de type [0100] However, a problem has been identified which would prevent the smooth running of a live-live switch (from a first live content with which is associated a first manifesto to a second live content with which is associated a second manifesto) which uses would read a redirection mechanism (eg xlink type redirection link) to signal the target of the toggle as specified in the ISO / IEC 23009-1 specification mentioned above. Indeed, the time synchronization information necessary for the client to obtain the segments of the second live content will be present at the level of the root element of the second manifest (MPD element in the DASH format), as described above in connection with FIGS. 2a and 2b, but not at the level of each container defining a time interval (not necessarily limited) relating to the second content. The ISO / IEC 23009-1 standard specifies that the resolution of an xlink link inserted in a time slot description container (defining a period), i.e. the download of the manifest at the address indicated by the xlink link and extracting the period (s) (time interval containers) from this manifest, must return not the full manifest, but only the period (s) concerned (multiple periods from the remote manifest (second manifest) which can be substituted by resolution of the xlink link at a period of the initial manifesto (first manifesto)). Thus, the resolution of an xlink redirection link inserted in a time interval description container ("Period") as specified in the ISO / IEC 23009-1 standard, does not allow the client to obtain information. contained in the remote manifest to which the link points other than the information contained in a timeslot description container of that remote manifest. In particular, the standard does not provide that the client can obtain elements specified by the standard as having to be included under the root (PDM) of the remote manifest. The consequence of this limitation of the standard is that from a single period of live content (from only the information provided in a time interval definition container (for example of type
« Period »)), un client n’est pas capable de savoir quand le flux (correspondant au deuxième contenu) a commencé, et ne peut donc pas déterminer quels sont les segments disponibles pour le deuxième contenu live (par exemple en utilisant le procédé décrit ci-dessus en lien avec la figure 3). "Period")), a client is not able to know when the stream (corresponding to the second content) started, and therefore cannot determine which segments are available for the second live content (for example by using the method described above in connection with Figure 3).
[0101] Aussi, tels qu’ils sont spécifiés actuellement, les liens de redirection de type xlinks permettent de couvrir le cas d’un décrochage depuis un premier contenu live vers un deuxième contenu non live (par exemple de type vod), pour revenir vers un contenu live, soit une séquence de basculement live->vod->live, mais pas le cas d’un bas culement live-live, comprenant un décrochage depuis un premier contenu live vers un deuxième contenu live, pour éventuellement revenir vers le premier contenu live. En effet, la résolution d’un lien de redirection de type xlink permet au client DASH d’obtenir une ou plusieurs périodes (un conteneur de description d’intervalle de temps) de manifeste, et non pas un manifeste complet. Cela ne pose pas de difficulté lorsque le basculement a pour cible un deuxième contenu non live, pour lequel il n’est pas né cessaire au client d’obtenir des données permettant de déterminer quand le flux cor respondant a commencé, afin de déterminer quels sont les segments disponibles, puisque le commencement et la durée du contenu non live sont prédéterminés. Par contre, les informations de timing permettant de calculer l’avancement du deuxième contenu live, qui ne sont présentes comme discuté ci-dessus qu’au niveau de la racine (MPD) du second manifeste, et non pas au niveau des éléments de ce second manifeste définissant des périodes temporelles, ne sont pas accessibles au client lorsque le bas culement est effectué. [0101] Also, as they are currently specified, xlinks type redirection links make it possible to cover the case of a dropout from a first live content to a second non-live content (for example of vod type), to return to live content, i.e. a live->vod-> live switchover sequence, but not the case of a live-live switch-over, including a drop-out from a first live content to a second live content, to eventually return to the first live content. This is because resolving an xlink type redirect allows the DASH client to get one or more periods (a time slot description container) of manifest, not a full manifest. This does not pose a problem when the failover targets a second non-live content, for which the client does not need to obtain data to determine when the corresponding stream started, in order to determine which are the available segments, since the start and duration of non-live content are predetermined. On the other hand, the timing information allowing to calculate the progress of the second live content, which is only present as discussed above at the root level (MPD) of the second manifesto, and not at the level of the elements of this second manifesto defining time periods, are not accessible to the client when the baseline is carried out.
[0102] La figure 4 illustre le procédé proposé selon un ou plusieurs modes de réalisation. Ce procédé peut être mis en œuvre par tout dispositif comprenant un processeur et une mémoire, et configuré pour sa mise en oeuvre, tel que par exemple, un lecteur de contenus multimédia, un terminal, un équipement exécutant un client DASH ou un client configuré pour recevoir et lire des contenus multimédia selon tout autre protocole de distribution OTT de contenus multimédia, ou un équipement utilisateur (smartphone, tablette, ordinateur, etc.) équipé d’un lecteur de contenus multimédia. [0102] FIG. 4 illustrates the method proposed according to one or more embodiments. This method can be implemented by any device comprising a processor and a memory, and configured for its implementation, such as, for example, a multimedia content player, a terminal, a device running a DASH client or a client configured for receive and play multimedia content using any other OTT multimedia content distribution protocol, or user equipment (smartphone, tablet, computer, etc.) equipped with a multimedia content player.
[0103] Dans un ou plusieurs modes de réalisation, le dispositif configuré pour la mise en œuvre du procédé peut être configuré pour obtenir un premier ensemble de mé- tadonnées de description de contenu décrivant un premier contenu multimédia distribué en mode dynamique (par exemple, pour un client DASH, un premier manifeste au format de protocole DASH, par exemple sous forme d’un fichier XML). Le premier ensemble de métadonnées peut décrire un premier contenu multimédia distribué en mode dynamique, par exemple par le biais de métadonnées relatives à un premier contenu multimédia distribué en mode dynamique comprises dans le premier ensemble. [0103] In one or more embodiments, the device configured for the implementation of the method can be configured to obtain a first set of content description metadata describing a first multimedia content distributed in dynamic mode (for example, for a DASH client, a first manifest in the DASH protocol format, for example in the form of an XML file). The first set of metadata can describe a first multimedia content distributed in dynamic mode, for example by means of metadata relating to a first multimedia content distributed in dynamic mode included in the first set.
[0104] Le dispositif peut en outre être configuré pour lire le premier ensemble de mé [0104] The device can further be configured to read the first set of data.
tadonnées, et pour, sur lecture dans le premier ensemble de métadonnées de données de redirection vers une section d’un deuxième ensemble de métadonnées de des cription de contenu, lire (61) dans la section du deuxième ensemble de métadonnées des données relatives à une synchronisation temporelle pour l’accès à un deuxième contenu multimédia distribué en mode dynamique. tadata, and for, on reading from the first metadata set of redirect data to a section of a second set of content description metadata, read (61) from the section of the second set of metadata data relating to a time synchronization for access to a second multimedia content distributed in dynamic mode.
[0105] Typiquement, le deuxième ensemble de métadonnées de description de contenu cor respondra au deuxième contenu multimédia distribué en mode dynamique. Par exemple, ce deuxième ensemble pour décrire le deuxième contenu, par exemple par le biais de métadonnées relatives au deuxième contenu comprises dans le deuxième ensemble. [0105] Typically, the second set of content description metadata will correspond to the second multimedia content distributed in dynamic mode. For example, this second set to describe the second content, for example by means of metadata relating to the second content included in the second set.
[0106] Ainsi, les données de redirection utilisées dans un premier manifeste permettent d’amener un dispositif, en cours de lecture de ce premier manifeste, à obtenir les données contenues dans une section spécifique d’un deuxième manifeste, dans le cours de la lecture du premier manifeste, c’est-à-dire sans changer de manifeste courant en lecture. [0106] Thus, the redirection data used in a first manifesto make it possible to cause a device, while reading this first manifesto, to obtain the data contained in a specific section of a second manifesto, in the course of the reading of the first manifesto, that is to say without changing the current manifesto in reading.
[0107] Cette possibilité de pouvoir récupérer des données dans un autre manifeste, sans toutefois changer de manifeste en cours de lecture, présente plusieurs avantages : du point de vue de la continuité entre périodes successives, le manifeste restant le même, seul le contenu de la période de basculement est remplacé. Il est donc possible de signaler la continuité de périodes. Du point de vue de la gestion des DRM, l’URL du manifest restant la même lors de la bascule, il est possible pour le dispositif (player) d’optimiser la configuration DRM lors du retour au flux principal. Du point de vue de la gestion des jetons (tokens) d’authentification CDN, l’URL du manifest restant la même lors de la bascule, il est possible pour le player de continuer à utiliser le même token d’authentification au CDN lors du retour au flux principal. This possibility of being able to retrieve data in another manifesto, without however changing manifesto during reading, has several advantages: from the point of view of continuity between successive periods, the manifesto remaining the same, only the content of the failover period is replaced. It is therefore possible to indicate the continuity of periods. From the point of view of DRM management, the manifest URL remaining the same when switching, it is possible for the device (player) to optimize the DRM configuration when returning to the main stream. From the point of view of the management of CDN authentication tokens, the manifest URL remaining the same during the switch, it is possible for the player to continue using the same CDN authentication token during the switching. back to the main stream.
[0108] Il est donc particulièrement intéressant d’utiliser des données de redirection pour effectuer un basculement d’un premier contenu vers un deuxième contenu, y compris dans le cas de figure où les premier et deuxième contenus sont distribués en mode dynamique (cas où le premier contenu est un contenu live, et le deuxième contenu est aussi un contenu live). [0108] It is therefore particularly advantageous to use redirection data to perform a switch from a first content to a second content, including in the case where the first and second content are distributed in dynamic mode (case where the first content is live content, and the second content is also live content).
[0109] Dans un ou plusieurs modes de réalisation, les données relatives à une synchro [0109] In one or more embodiments, the data relating to a synchronization
nisation temporelle pour l’accès au deuxième contenu multimédia distribué en mode dynamique sont lues, dans le deuxième ensemble de métadonnées de description de contenu, dans un conteneur de description d’intervalle de temps relatif au deuxième contenu multimédia. The temporalization for accessing the dynamically distributed second media content is read from the second set of content description metadata into a time slot description container relating to the second media content.
[0110] Dans un ou plusieurs modes de réalisation, les données relatives à une synchro [0110] In one or more embodiments, the data relating to a synchronization
nisation temporelle pour l’accès au deuxième contenu multimédia distribué en mode dynamique comprennent des données indiquant un horodatage de disponibilité du deuxième contenu multimédia. The timing for accessing the dynamically distributed second media content includes data indicating an availability timestamp of the second media content.
[0111] Dans un ou plusieurs modes de réalisation, les données relatives à une synchro [0111] In one or more embodiments, the data relating to a synchronization
nisation temporelle pour l’accès au deuxième contenu multimédia distribué en mode dynamique comprennent des données indiquant une information d’accessibilité de segments du deuxième contenu multimédia. The timing for accessing the dynamically distributed second media content includes data indicative of accessibility information of segments of the second media content.
[0112] Dans un ou plusieurs modes de réalisation, les données relatives à une synchro [0112] In one or more embodiments, the data relating to a synchronization
nisation temporelle pour l’accès au deuxième contenu multimédia distribué en mode dynamique correspondent, en tout ou partie, à des données relatives à une synchro nisation temporelle fournies sous un élément racine du deuxième ensemble de mé tadonnées. Temporalization for access to the second multimedia content distributed in dynamic mode correspond, in whole or in part, to data relating to a temporal synchronization provided under a root element of the second set of metadata.
[0113] Dans un ou plusieurs modes de réalisation, les données relatives à une synchro [0113] In one or more embodiments, the data relating to a synchronization
nisation temporelle pour l’accès au deuxième contenu multimédia distribué en mode dynamique comprennent des données indiquant un horodatage de disponibilité d’un premier segment du deuxième contenu, des données indiquant une durée commune utilisée dans la définition de débits associés au deuxième contenu et des données indiquant un horodatage de génération du deuxième ensemble de métadonnées et de sa publication sur un réseau de distribution de contenus multimédia. Dans un ou plusieurs modes de réalisation, ces données peuvent en outre comprendre l’un ou plusieurs parmi des données indiquant un type de distribution du deuxième contenu, des données indiquant un horodatage de génération d’un segment du deuxième contenu le plus ancien encore disponible, des données d’horloge et des données indiquant une durée d’un plus petit tampon de décalage temporel utilisé pour le deuxième contenu. Par exemple, dans le cas d’un manifeste DASH, les données de synchronisation temporelle insérées dans un conteneur « Period » (qui pourra être lu par un client DASH lors de la résolution d’un lien de redirection de type xlink) pourront comprendre au moins les éléments suivants : availabilityStartTime, minBufferTime et publishTime. timing for accessing the dynamically distributed second media content includes data indicating an availability timestamp of a first segment of the second content, data indicating a common duration used in defining rates associated with the second content, and data indicating a generation timestamp of the second set of metadata and its publication on a multimedia content distribution network. In one or more embodiments, this data may further comprise one or more among data indicating a distribution type of the second content, data indicating a generation timestamp of a segment of the second oldest content still available, clock data and data indicating a duration of a smaller buffer of time offset used for the second content. For example, in the case of a DASH manifesto, the time synchronization data inserted in a “Period” container (which can be read by a DASH client when resolving an xlink type redirection link) can include at minus the following: availabilityStartTime, minBufferTime, and publishTime.
[0114] Comme expliqué ci-dessus, le basculement d’un premier contenu vers un deuxième contenu peut être géré au niveau d’un premier manifeste relatif au premier contenu (en cours de lecture) par l’utilisation d’un lien de redirection vers un deuxième manifeste relatif au deuxième contenu, par exemple signalé par un lien de redirection de type « xlink » pour le format DASH. Le basculement live-live, dans le cas où les premier et deuxième contenus sont distribués en mode dynamique, peut ainsi s’effectuer sans changement de manifeste. As explained above, the switching from a first content to a second content can be managed at the level of a first manifesto relating to the first content (currently being read) by the use of a redirection link. to a second manifest relating to the second content, for example signaled by a redirection link of the type "xlink" for the DASH format. The live-live switch, in the case where the first and second contents are distributed in dynamic mode, can thus take place without changing the manifesto.
[0115] Tel que spécifié par le document ISO/IEC 23009-1 3ème édition, le lien de redirection vers un deuxième manifeste de type xlink pointe vers une section de ce deuxième manifeste, et non pas vers l’intégralité du deuxième manifeste. Ainsi, le client qui résout un lien xlink incorporé dans conteneur définissant un intervalle de temps (une « Period ») du premier manifeste, obtient une adresse du second manifeste (sur la base des informations fournies par le lien), puis télécharge la section du deuxième manifeste relative à la « Period », c’est-à-dire à l’intervalle de temps défini dans le premier manifeste. Ainsi, le client télécharge dans le deuxième manifeste des informations contenues dans un conteneur de description d’intervalle de temps indiqué par le lien de redirection, qui correspond à l’intervalle de temps du conteneur du premier manifeste qui comprend le lien de redirection (par exemple xlink). [0115] As specified by ISO / IEC 23009-1 3rd edition, the redirection link to a second manifesto xlink point type to a section of the second manifesto, and not towards the entire second manifesto. Thus, the client who resolves an xlink embedded in container defining a time interval (a "Period") of the first manifest, obtains an address of the second manifest (based on the information provided by the link), then downloads the section of the second manifesto relating to the "Period", that is to say to the time interval defined in the first manifesto. Thus, the client downloads into the second manifest information contained in a time slot description container indicated by the redirect link, which is the time slot of the container of the first manifest which includes the redirect link (by xlink example).
[0116] Les informations de synchronisation temporelle nécessaires à l’accès au deuxième contenu pour l’intervalle de temps considéré n’étant disponibles qu’à la racine du deuxième manifeste, racine qui n’est pas lue par le client lors de la résolution d’un lien xlink, dans un ou plusieurs modes de réalisation, il est proposé d’inclure dans le conteneur de description d’intervalle de temps du deuxième manifeste (que le client vient lire lorsqu’il résout le lien de redirection) des informations de synchronisation temporelle pour l’accès au second contenu. Un basculement live live, du premier contenu multimédia distribué en mode dynamique vers le deuxième contenu multimédia distribué en mode dynamique pourra ainsi avantageusement être effectué en utilisant un lien de redirection, notamment dans le cadre du standard ISO/IEC 23009-1 3ème édition en utilisant une redirection de type xlink. The time synchronization information necessary for access to the second content for the time interval considered being available only at the root of the second manifesto, which root is not read by the client during the resolution. of an xlink link, in one or more embodiments, it is proposed to include in the time slot description container of the second manifest (which the client comes to read when it resolves the redirect link) information time synchronization for access to the second content. A live live failover, the first multimedia content distributed dynamically to the second multimedia content distributed dynamically and may advantageously be performed using a redirect link, particularly in the context of the ISO / IEC 23009-1 3rd edition using xlink type redirect.
[0117] Dans les modes de réalisation utilisant un mécanisme de redirection vers un deuxième contenu multimédia distribué en mode dynamique, le dispositif, parcourant le premier ensemble de métadonnées, pourra lire des données de redirection vers une section d’un deuxième ensemble de métadonnées de description de contenu (s) multimédia pour l’accès aux données d’un deuxième contenu multimédia distribué en mode dynamique. Le dispositif pourra être configuré pour, sur lecture de ces données de redirection, lire dans la section du deuxième ensemble de métadonnées de des cription de contenu(s) multimédia des données relatives à une synchronisation temporelle pour l’accès au deuxième contenu multimédia distribué en mode dynamique. Ces données relatives à la synchronisation temporelle pourront avanta geusement être exploitées par le dispositif pour l’accès au deuxième contenu live, palliant ainsi à l’absence d’informations de timing, notamment permettant de calculer l’avancement du deuxième contenu live, au niveau du conteneur de description d’intervalle de temps (de l’élément (« Period »)) du deuxième ensemble de mé tadonnées, conteneur vers lequel un lien de redirection de type xlink inséré dans un conteneur de description d’intervalle de temps du premier ensemble pointera (tel que spécifié par le standard ISO/IEC 23009-1 3ème édition). [0117] In the embodiments using a redirection mechanism to a second multimedia content distributed in dynamic mode, the device, browsing the first set of metadata, will be able to read redirection data to a section of a second set of description metadata of multimedia content (s) for access to the data of a second multimedia content distributed in dynamic mode. The device can be configured to, on reading these redirection data, read in the section of the second set of metadata of descriptions of multimedia content (s) data relating to a time synchronization for access to the second multimedia content distributed in dynamic mode. These data relating to the time synchronization can advantageously be used by the device for access to the second live content, thus overcoming the absence of timing information, in particular making it possible to calculate the progress of the second live content, at the level the time interval description container (of the element ("Period")) of the second metadata set, container to which an xlink-type redirection link inserted in a time interval description container of the first all will point (as specified by ISO / IEC 23009-1 3rd edition).
[0118] Ainsi, le procédé proposé permet avantageusement, dans le cadre du standard ISO/ IEC 23009-1, l’utilisation d’un lien de redirection de type xlink pour effectuer un bas culement live live, c’est-à-dire un basculement en lecture d’un premier contenu multimédia distribué en mode dynamique vers un deuxième contenu multimédia distribué en mode dynamique, en insérant dans un conteneur de description d’intervalle de temps d’un deuxième manifeste que le client viendra lire lors de la résolution d’un lien xlink inséré dans un conteneur de description d’intervalle de temps d’un premier manifeste, des données de synchronisation temporelle pour l’accès au deuxième contenu distribué en mode dynamique. [0118] Thus, the proposed method advantageously allows, within the framework of the ISO / IEC 23009-1 standard, the use of a redirection link of the xlink type to perform a live live baseline, that is to say a read switch from a first multimedia content distributed in dynamic mode to a second multimedia content distributed in dynamic mode, by inserting in a time interval description container of a second manifesto that the client will come to read during the resolution an xlink link inserted in a time slot description container of a first manifesto, time synchronization data for access to the second content distributed in dynamic mode.
[0119] Dans un ou plusieurs modes de réalisation, le dispositif pourra, en outre, obtenir une mise à jour du premier ensemble de métadonnées de description de contenu à l’expiration d’une période de temps correspondant à la durée du deuxième contenu multimédia live, ce afin d’éventuellement rebasculer sur le premier contenu live une fois la période de lecture du deuxième contenu live expirée. [0119] In one or more embodiments, the device may furthermore obtain an update of the first set of content description metadata upon the expiration of a period of time corresponding to the duration of the second multimedia content. live, in order to possibly switch back to the first live content once the playback period for the second live content has expired.
[0120] Dans un ou plusieurs modes de réalisation, les données relatives à une synchro [0120] In one or more embodiments, the data relating to a synchronization
nisation temporelle pour l’accès au deuxième contenu multimédia distribué en mode dynamique peuvent être insérées dans une section du deuxième ensemble de mé tadonnées de description de contenu(s) multimédia vers laquelle le lien de redirection inséré dans le premier ensemble de métadonnées pointe, de sorte que ces données soient lues (en tant que données de la section du deuxième ensemble) lors de la ré solution du lien par un dispositif en cours de lecture du premier ensemble de mé tadonnées. Dans un ou plusieurs modes de réalisation, la section du deuxième ensemble de métadonnées de description de contenu(s) multimédia dans laquelle des données relatives à une synchronisation temporelle pour l’accès au deuxième contenu multimédia distribué en mode dynamique sont insérées correspond à un conteneur de description d’intervalle de temps relatif au deuxième contenu multimédia. Il peut s’agir par exemple d’un conteneur correspondant à l’attribut ou l’élément « Period » (décrit ci-dessus) dans un manifeste de format spécifié par le standard ISO/IEC 23009-1. Ainsi, ces données peuvent être avantageusement prises en compte lors d’une lecture linéaire par le dispositif du conteneur de description d’intervalle de temps du deuxième manifeste, sur lecture d’une information de redirection insérée dans un conteneur de description d’intervalle de temps du premier manifeste. temporalization for access to the second multimedia content distributed in dynamic mode can be inserted in a section of the second set of multimedia content description metadata to which the redirect link inserted in the first set of metadata points, from such that this data is read (as the data of the section of the second set) when the link is resolved by a device being read from the first set of metadata. In one or more embodiments, the section of the second set of multimedia content description metadata in which data relating to a time synchronization for access to the second multimedia content distributed in dynamic mode is inserted corresponds to a time slot description container relating to the second multimedia content . For example, it may be a container corresponding to the “Period” attribute or element (described above) in a manifesto of format specified by the ISO / IEC 23009-1 standard. Thus, these data can be advantageously taken into account during a linear reading by the device of the time interval description container of the second manifest, on reading of redirection information inserted in an interval description container of time of the first manifesto.
[0121] Dans un ou plusieurs modes de réalisation, les données de timing insérées dans la section du deuxième manifeste peuvent être regroupées au sein d’un conteneur spécifique, par exemple intitulé « LivePeriod », et repéré dans le manifeste par des balises correspondantes (« LivePeriod » pour le début du conteneur, et « /LivePeriod » pour la fin du conteneur), par exemple selon la syntaxe XML. Un exemple de conteneur LivePeriod tel que proposé dans un ou plusieurs modes de réalisation est illustré par la figure 6C. [0121] In one or more embodiments, the timing data inserted in the section of the second manifesto can be grouped together within a specific container, for example entitled “LivePeriod”, and identified in the manifest by corresponding tags ( “LivePeriod” for the start of the container, and “/ LivePeriod” for the end of the container), for example according to XML syntax. An example of a LivePeriod container as proposed in one or more embodiments is illustrated by FIG. 6C.
[0122] Dans un ou plusieurs modes de réalisation, les données relatives à une synchro [0122] In one or more embodiments, the data relating to a synchronization
nisation temporelle pour l’accès au deuxième contenu multimédia distribué en mode dynamique peuvent comprendre des données indiquant un horodatage de disponibilité du deuxième contenu multimédia. Par exemple, ces données peuvent comprendre des informations de synchronisation temporelle qui permettront au client de savoir quand le flux live correspondant au deuxième contenu a commencé. The timing for accessing the dynamically distributed second media content may include data indicating an availability timestamp of the second media content. For example, this data can include time synchronization information that will allow the client to know when the live stream corresponding to the second content has started.
[0123] Dans un ou plusieurs modes de réalisation, les données relatives à une synchro [0123] In one or more embodiments, the data relating to a synchronization
nisation temporelle pour l’accès au deuxième contenu multimédia distribué en mode dynamique peuvent comprendre des données indiquant une information d’accessibilité de segments du deuxième contenu multimédia. Par exemple, ces données peuvent comprendre des informations de synchronisation temporelle qui permettront au client de savoir quels sont les segments correspondant au deuxième contenu actuellement ac cessibles. The timing for accessing the dynamically distributed second media content may include data indicative of accessibility information of segments of the second media content. For example, this data can include time synchronization information which will allow the client to know which segments corresponding to the second content are currently accessible.
[0124] Dans un ou plusieurs modes de réalisation, les types de données relatives à une syn chronisation temporelle pour l’accès au deuxième contenu multimédia distribué en mode dynamique pourront correspondre à certains au moins des types de données relatifs à une synchronisation temporelle fournis sous un élément racine du deuxième ensemble de métadonnées. In one or more embodiments, the types of data relating to a time synchronization for access to the second multimedia content distributed in dynamic mode may correspond to at least some of the types of data relating to a time synchronization provided under a root element of the second set of metadata.
[0125] Par exemple, la syntaxe des manifestes DASH pourra être enrichie en insérant une copie des informations de temps nécessaires au client DASH pour accrocher le flux en cours et qui sont fournies à la racine du deuxième manifeste, dans un nouveau conteneur (ou élément) ajouté au niveau de l’élément (conteneur) de description d’intervalle de temps pour le deuxième contenu live. [0125] For example, the syntax of the DASH manifests could be enriched by inserting a copy of the time information necessary for the DASH client to hook the current flow and which is provided at the root of the second manifest, in a new container (or item) added to the time interval description item (container) level for the second live content.
[0126] Dans un ou plusieurs modes de réalisation, les données relatives à une synchro [0126] In one or more embodiments, the data relating to a synchronization
nisation temporelle pour l’accès au deuxième contenu multimédia distribué en mode dynamique peuvent comprendre des données indiquant un type du deuxième contenu, et l’un au moins parmi des données indiquant un horodatage de disponibilité d’un premier segment du deuxième contenu, des données indiquant un horodatage de gé nération d’un segment du deuxième contenu le plus ancien encore disponible, et des données indiquant une durée commune utilisée dans la définition de débits associés au deuxième contenu, des données d’horloge, et des données indiquant une durée d’un plus petit tampon de décalage temporel utilisé pour le deuxième contenu. timing for accessing the dynamically distributed second multimedia content may include data indicating a type of the second content, and at least one of data indicating an availability timestamp of a first segment of the second content, data indicating a generation timestamp of a segment of the second oldest content still available, and data indicating a common duration used in defining rates associated with the second content, clock data, and data indicating a duration of 'a smaller time shift buffer used for the second content.
[0127] Par exemple, en utilisant le format DASH, un nouvel élément (par exemple [0127] For example, using the DASH format, a new element (for example
dénommé « LivePeriod ») pourra être ajouté au niveau de l’élément « Period », et comprendre des informations de temps qui permettront au récepteur de savoir quand ce flux a commencé et quels sont les segments actuellement accessibles. Dans un mode de réalisation, le nouvel élément « LivePeriod » pourra contenir des éléments parmi les éléments“type”,“availabilityStartTime”,“publishTime », « availabilityEndTime », called "LivePeriod") can be added at the level of the "Period" element, and include time information that will allow the receiver to know when this stream started and which segments are currently accessible. In one embodiment, the new “LivePeriod” element may contain elements among the elements “type”, “availabilityStartTime”, “publishTime”, “availabilityEndTime”,
« minimumUpdatePeriod”,“minBufferTime”,“timeShiftBufferDepth” et “MinimumUpdatePeriod”, “minBufferTime”, “timeShiftBufferDepth” and
“UTCTiming” pour indiquer au récepteur qu’il s’agit d’un flux live, quand ce flux a commencé et quels sont les segments actuellement accessibles. "UTCTiming" to tell the receiver that this is a live stream, when that stream started, and which segments are currently accessible.
[0128] Dans un mode de réalisation où un basculement d’un premier contenu live vers un deuxième contenu live est opéré sur résolution d’un lien xlink dans un manifeste au format DASH, le type de contenu sera dynamique (distribution en mode dynamique pour un contenu live) (type=dynamic), et le nouvel élément proposé pourra contenir au moins les éléments“availabilityStartTime”,“publishTime » et“minBufferTime”, conformément à la spécification DASH (ISO/IEC 23009-1), section 5.3.1.2 table 5.1, qui spécifie que les éléments suivants sont obligatoires en mode dynamic : availabili tyStartTime, minBufferTime et publishTime. Les autres éléments pourront ne pas être présents parmi les données relatives à une synchronisation temporelle insérées dans la section du deuxième manifeste qui sera lue par le client lors de la résolution de données de redirection lues dans un premier manifeste. Il en est de même pour l’élément de syntaxe <LivePeriod>, qui pourra ne pas être présent dans un ou plusieurs modes de réalisation. [0128] In one embodiment where a switch from a first live content to a second live content is operated on resolution of an xlink link in a manifest in DASH format, the type of content will be dynamic (distribution in dynamic mode for live content) (type = dynamic), and the proposed new element may contain at least the elements “availabilityStartTime”, “publishTime” and “minBufferTime”, according to the DASH specification (ISO / IEC 23009-1), section 5.3. 1.2 table 5.1, which specifies that the following elements are mandatory in dynamic mode: availabili tyStartTime, minBufferTime and publishTime. The other elements may not be present among the data relating to a time synchronization inserted in the section of the second manifesto which will be read by the client during the resolution of redirection data read in a first manifesto. The same is true for the <LivePeriod> syntax element, which may not be present in one or more embodiments.
[0129] Dans un ou plusieurs modes de réalisation, les données relatives à une synchro [0129] In one or more embodiments, the data relating to a synchronization
nisation temporelle insérées dans la section du deuxième manifeste qui sera lue par le client lors de la résolution de données de redirection lues dans un premier manifeste comprendront les données spécifiées comme obligatoires, par le standard applicable, pour l’accès à un contenu distribué en mode dynamique dans l’ensemble de mé- tadonnées correspondant. temporal nization inserted in the section of the second manifesto that will be read by the client during the resolution of redirect data read in a first manifesto will include the data specified as mandatory, by the applicable standard, for access to content distributed in mode dynamic in the whole of corresponding tadata.
[0130] La figure 5 illustre un exemple de mise en œuvre du procédé proposé selon un ou plusieurs modes de réalisation. [0130] FIG. 5 illustrates an exemplary implementation of the method proposed according to one or more embodiments.
[0131] Ainsi, comme précédemment, un client DASH souhaitant lire une séquence vidéo distribuée en mode dynamique (ou flux live courant) effectue dans un premier temps une requête auprès d’un réseau de diffusion de contenu (CDN) (401) afin d’obtenir (402) le manifeste (ensemble de métadonnées de description) du flux live courant, en fournissant des informations d’authentification. Le CDN exécute une procédure d’authentification du client et, en cas de succès, lui retourne un jeton (en anglais, [0131] Thus, as previously, a DASH client wishing to play a video sequence distributed in dynamic mode (or current live stream) first makes a request to a content distribution network (CDN) (401) in order to '' get (402) the manifest (set of description metadata) of the current live stream, providing authentication information. The CDN performs a client authentication procedure and, if successful, returns a token (in English,
« token ») et le redirige vers une adresse réseau (par exemple une URL) à laquelle le manifeste courant (correspondant au flux live courant) est accessible client. Le client DASH 200 peut ainsi se raccrocher au flux live courant (403). Afin de pouvoir se raccrocher correctement au flux live courant, le client DASH détermine, à partir des in formations contenues dans le manifeste courant, par exemple en utilisant le procédé illustré par la figure 3, le segment qu’il doit télécharger selon l’heure courante et le temps écoulé pour se raccrocher au flux courant, par exemple en déterminant un index de ce segment ou un horodatage comme décrit ci-dessus. "Token") and redirects it to a network address (for example a URL) to which the current manifest (corresponding to the current live stream) is accessible to the client. The DASH 200 client can thus hook up to the current live stream (403). In order to be able to correctly hook up to the current live stream, the DASH client determines, from the information contained in the current manifesto, for example by using the method illustrated in figure 3, the segment that it must download according to the time current and the time elapsed to hang on to the current stream, for example by determining an index of this segment or a timestamp as described above.
[0132] Une fois que le client DASH est accroché au flux courant (404), il lit en continu [0132] Once the DASH client is hooked to the current stream (404), it reads continuously
(404, ko) ce flux courant, en l’absence de demande d’ordre de bascule « splice out » client. (404, kb) this current flow, in the absence of a client splice out request.
[0133] Lors de la réception par le packager d’un ordre de « splice out » (404, ok), le [0133] When the packager receives a "splice out" order (404, ok), the
packager insère une signalisation requérant un basculement (« box Emsg ») dans le dernier segment de données du flux live courant (405) avant la date de bascule. Cette « box » permet d’indiquer au client DASH 407 (400) qu’il doit recharger immé diatement le manifeste courant associé au flux live courant. Dans le même temps, et avant le rechargement du manifeste courant, le packager supprime la période packager inserts a signal requiring a switch (“box Emsg”) in the last data segment of the current live stream (405) before the switchover date. This "box" is used to indicate to the DASH 407 (400) client that it must immediately reload the current manifest associated with the current live stream. At the same time, and before reloading the current manifest, the packager deletes the period
(« SUP_PERIOD_CUR_LIVE ») du flux live courant et viens insérer la ou les périodes du flux live secondaire (INS_PERIOD_SEC_LIVE_XLINK) par ("SUP_PERIOD_CUR_LIVE") of the current live stream and insert the period (s) of the secondary live stream (INS_PERIOD_SEC_LIVE_XLINK) by
l’intermédiaire d’un lien « xlink ». Un lien « xlink » permet d’indiquer une cible de la bascule au manifeste. Lors de l’utilisation d’un lien « xlink », une période est retournée venant remplacer la période en cours du manifeste contenant le lien « xlink ». through an "xlink" link. An "xlink" link allows you to indicate a target of the toggle to the manifest. When using an "xlink" link, a period is returned replacing the current period of the manifest containing the "xlink" link.
[0134] Afin d’insérer la période du flux live secondaire, un élément enfant du MPD, appelé « LivePeriod », est ajouté dans l’élément « Period » du manifeste secondaire que le client DASH viendra lire lors de la résolution du lien xlink, afin que le client DASH puisse accrocher le flux live secondaire à l’heure courante. Pour cela, l’élément « LivePeriod » est composé d’attributs permettant de venir calculer le segment de la période courante que le lecteur 407 (400) doit récupérer pour accrocher le flux live se condaire sans l’apparition d’un retard temporel. Ce calcul est équivalent à celui présenté précédemment à la figure 3. Les attributs de l’élément enfant « LivePeriod » peuvent être, dans un ou plusieurs modes de réalisation : type="dynamic" ; In order to insert the period of the secondary live stream, a child element of the MPD, called "LivePeriod", is added in the "Period" element of the secondary manifest that the DASH client will read when the xlink link is resolved. , so that the DASH client can hook the secondary live stream to the current time. For this, the “LivePeriod” element is composed of attributes making it possible to come and calculate the segment of the current period that the reader 407 (400) must recover in order to hook the live stream to take place without the appearance of a time delay. This calculation is equivalent to that presented previously in Figure 3. The attributes of the child element “LivePeriod” can be, in one or more embodiments: type = “dynamic”;
availabilityStartTime ; publishTime ; availabilityEndTime ; minimumUpdatePeriod ; minBufferTime ; timeShiftBufferDepth et UTCTiming. availabilityStartTime; publishTime; availabilityEndTime; minimumUpdatePeriod; minBufferTime; timeShiftBufferDepth and UTCTiming.
[0135] Lors du rechargement du manifeste courant 408, le client DASH 407 va ainsi charger le lien « xlink » et résoudre le lien, c’est-à-dire accéder aux données vers lesquelles le lien pointe. A partir de ces données, le lecteur va calculer et déterminer le segment de la période courante à récupérer pour accrocher sans retard temporel le flux live se condaire (409). [0135] When reloading the current manifest 408, the DASH client 407 will thus load the "xlink" link and resolve the link, that is to say access the data to which the link points. From these data, the reader will calculate and determine the segment of the current period to be recovered in order to hook without temporal delay to the live stream to condare (409).
[0136] Si la durée du flux live secondaire est inconnue, « 410 ko », le lecteur continue la lecture du flux live secondaire tant qu’aucun ordre de « splice in » n’est demandé. [0136] If the duration of the secondary live stream is unknown, "410 kb", the player continues playing the secondary live stream as long as no "splice in" command is requested.
[0137] A l’arrivée d’une demande de « splice in », c’est à dire une demande de retour au flux live courant, une « box Emsg » (411) dans le dernier segment de données du flux live secondaire avant la date de la bascule est introduite par le packager. Comme pré cédemment, cette « box » a pour objet d’indiquer au client DASH 412 qu’il doit recharger le manifeste courant. [0137] On arrival of a "splice in" request, ie a request to return to the current live stream, an "Emsg box" (411) in the last data segment of the secondary live stream before the changeover date is entered by the packager. As before, the purpose of this "box" is to indicate to the DASH 412 client that he must reload the current manifest.
[0138] Dans le même temps, et avant le rechargement du manifest courant, le packager supprime la période (« period ») du flux live secondaire et viens insérer la période du flux live courant (412) par l’intermédiaire des informations (attributs) du manifest courant toujours disponible à la racine du MPD. Lors du rechargement du manifest courant (415), le client DASH 412 (407 ; 400) se raccroche au flux live courant sans retard temporel. At the same time, and before reloading the current manifest, the packager deletes the period ("period") of the secondary live stream and comes to insert the period of the current live stream (412) via the information (attributes ) of the current manifest always available at the root of the MPD. When reloading the current manifest (415), the DASH client 412 (407; 400) hooks up to the current live stream without time delay.
[0139] Sans les dispositions précédentes, c’est-à-dire un élément enfant « LivePeriod », il n’est pas possible lors de l’utilisation d’un lien « xlink » d’attendre un flux live se condaire car les informations permettant le calcul du segment à télécharger pour accrocher le flux live secondaire à l’heure courante ne sont pas disponibles dans un lien « xlink ». En effet, comme expliqué précédemment et illustré figure 3, le calcul permettant de déterminer le segment à télécharger utilise des informations (attributs) qui ne sont disponibles qu’à la racine du manifest. Lors de l’utilisation d’un « xlink », la période du flux/séquence vidéo principale est remplacée par la ou les périodes at teignables par le lien « xlink », et correspondant à une autre séquence vidéo, comme de la publicité par exemple. L’élément enfant « Period » permettant le remplacement d’une période par une autre ne possède pas d’attributs qui permettent le calcul du segment à télécharger afin d’accrocher une séquence vidéo qui se déroule en temps réel. [0139] Without the preceding provisions, that is to say a “LivePeriod” child element, it is not possible, when using an “xlink” link, to wait for a live stream to occur because the information allowing the calculation of the segment to download to hook the secondary live stream to the current time is not available in an "xlink" link. Indeed, as explained above and illustrated in Figure 3, the calculation to determine the segment to download uses information (attributes) that are available only at the root of the manifest. When using an "xlink", the period of the main video stream / sequence is replaced by the period (s) attainable by the "xlink" link, and corresponding to another video sequence, such as advertising for example. . The child element "Period" allowing the replacement of one period by another does not have attributes that allow the calculation of the segment to download in order to catch a video sequence that takes place in real time.
[0140] Les figures 6a, 6b et 6c illustrent des manifestes utilisant une indication de re [0140] Figures 6a, 6b and 6c illustrate manifests using an indication of re
direction pour une insertion de contenu VOD dans un flux live (figure 6a), et pour un décrochage vers un flux live secondaire à partir d’un flux live principal (figures 6b et 6c). direction for inserting VOD content into a live stream (figure 6a), and for dropping off to a secondary live stream from a main live stream (figures 6b and 6c).
[0141] En référence à la figure 6a, la période PO est la période initiale du contenu live, elle démarre à T0 et sa durée correspond au temps avant le splice out. La période PI est la période de décrochage, sa durée est fixe et connue à l’avance, elle est insérée dans le manifest en même temps que la période de retour au live afin de permettre au player de précharger les segments. La résolution du xlink permet d’obtenir les informations liées à cette période afin de les substituer à celles présentes dans le manifest. La période P2 est la période de retour au contenu initial, elle démarre à la somme des durées des périodes précédentes et sa durée n’est pas connue. [0141] Referring to FIG. 6a, the period PO is the initial period of the live content, it starts at T0 and its duration corresponds to the time before the splice out. The PI period is the dropout period, its duration is fixed and known in advance, it is inserted into the manifest at the same time as the return to live period in order to allow the player to preload the segments. The resolution of the xlink makes it possible to obtain the information related to this period in order to substitute them for that present in the manifest. The period P2 is the period of return to the initial content, it starts at the sum of the durations of the previous periods and its duration is not known.
[0142] La figure 6b fournit une illustration d’un exemple de premier manifeste incluant un lien de redirection pointant vers une section d’un deuxième manifeste, et la figure 6c un exemple de deuxième manifeste amélioré selon le procédé proposé. [0142] Figure 6b provides an illustration of an exemplary first manifesto including a redirect link pointing to a section of a second manifesto, and Figure 6c an exemplary second manifesto improved according to the proposed method.
[0143] En référence à la figure 6b, la période PO est la période initiale du contenu live, elle démarre à T0 et sa durée correspond au temps avant le splice out, comme décrit pré cédemment en lien avec la figure 6a. [0143] With reference to FIG. 6b, the period PO is the initial period of the live content, it starts at T0 and its duration corresponds to the time before the splice out, as described previously in connection with FIG. 6a.
[0144] A la différence du manifeste illustré sur la figure 6a, la période PI du manifeste illustré sur la figure 6b est une période de décrochage correspondant à un contenu live dont on ne sait pas quand il a commencé. L’exemple de lien de redirection du premier manifeste illustré sur la figure 6b (xlink:actuate="onLoad" xlink:href="http://..." xmlns:xlink=http://www.w3.org/1999/xlink) inclus dans le conteneur de description d’intervalle de temps <Period id="Pl" start="PT10H00M00S" xlink:actuate="onLoad" xlink:href="http://..." xmlns:xlink="http://www.w3.org/1999/xlink"> <AdaptationSet id="0" contentType=" video" ...> </AdaptationSet> <AdaptationSet id="l" [0144] Unlike the manifesto illustrated in FIG. 6a, the period PI of the manifesto illustrated in FIG. 6b is a dropout period corresponding to live content which we do not know when it started. The example redirect link from the first manifest shown in Figure 6b (xlink: actuate = "onLoad" xlink: href = "http: // ..." xmlns: xlink = http: //www.w3.org/ 1999 / xlink) included in the time slot description container <Period id = "Pl" start = "PT10H00M00S" xlink: actuate = "onLoad" xlink: href = "http: // ..." xmlns: xlink = "http://www.w3.org/1999/xlink"> <AdaptationSet id = "0" contentType = "video" ...> </AdaptationSet> <AdaptationSet id = "l"
contentType=" audio" ...> </AdaptationSet>, </Period>, peut par exemple pointer vers le deuxième manifeste illustré sur la figure 6c. contentType = "audio" ...> </AdaptationSet>, </Period>, can for example point to the second manifesto shown in figure 6c.
[0145] En référence à la figure 6c, la résolution du lien de redirection (xlink) pour lire le deuxième manifeste vers lequel il pointe permet d’obtenir les informations de timing (de synchronisation temporelle) liées à la période définie par le conteneur « Period » du second manifeste (illustré sur la fig. 6b) dans lequel le lien de redirection est inséré. Afin de permettre au client d’accéder aux segments du contenu auquel correspond le deuxième manifeste, un nouveau conteneur (nouvel élément (« LivePeriod »)) est ajouté au niveau du conteneur de description d’intervalle de temps (de l’élément « Period ») vers lequel le lien de redirection (xlink) du premier manifeste (fig. 6b) pointe : « LivePeriod type="dynamic" availabilityS- tartTime="2019-03-01T14:00:00Z" publishTime="2019-03-01T14:00:00Z " minimu- mUpdatePeriod="PT10S" minBufferTime="PT2S" timeShiftBufferDepth="PT10S" UTCTiming=” urn:mpeg:dash:utc:http-ntp:2014” />. Il comprend les informations de temps qui permettront au récepteur de savoir quand ce flux a commencé et quels sont les segments actuellement accessibles. La figure 6c illustre un exemple de conteneur proposé (« LivePeriod ») comprenant les types de données suivants : type ; availabili- tyStartTime ; publishTime ; minimumUpdatePeriod ; minBufferTime ; timeShiftBuf- ferDepth ; UTCTiming, avec des exemples de valeurs pour chacun de ces types de données. [0145] With reference to FIG. 6c, the resolution of the redirection link (xlink) to read the second manifesto to which it points makes it possible to obtain the timing information (of time synchronization) related to the period defined by the container " Period ”of the second manifest (shown in fig. 6b) in which the redirect link is inserted. In order to allow the client to access the segments of the content to which the second manifest corresponds, a new container (new element ("LivePeriod")) is added at the level of the time interval description container (of the element "Period ") To which the redirect link (xlink) of the first manifest (fig. 6b) points:" LivePeriod type = "dynamic" availabilityS- tartTime = "2019-03-01T14: 00: 00Z" publishTime = "2019-03- 01T14: 00: 00Z "minimu- mUpdatePeriod =" PT10S "minBufferTime =" PT2S "timeShiftBufferDepth =" PT10S "UTCTiming =” urn: mpeg: dash: utc: http-ntp: 2014 ”/>. It includes the time information that will allow the receiver to know when this flow started and what are currently accessible segments. FIG. 6c illustrates an example of a proposed container (“LivePeriod”) comprising the following types of data: type; availabili- tyStartTime; publishTime; minimumUpdatePeriod; minBufferTime; timeShiftBuf- ferDepth; UTCTiming, with sample values for each of these data types.
[0146] L’homme du métier comprendra que, bien que ces exemples et illustrations cor respondent au standard du document ISO/IEC 23009-1, ces exemples et illustrations ne sont pas limitatifs, et le procédé proposé peut être mis en œuvre dans d’autres cadres, en particulier dans le cadre d’autres standards, et/ou en utilisant des formats et des syntaxes différentes. [0146] Those skilled in the art will understand that, although these examples and illustrations correspond to the standard of document ISO / IEC 23009-1, these examples and illustrations are not limiting, and the proposed method can be implemented in 'other frameworks, in particular within the framework of other standards, and / or using different formats and syntaxes.
[0147] La figure 6d est un diagramme temporel illustrant un décrochage livel vers live 2 puis retour vers live 1 effectué selon un ou plusieurs modes de réalisation. [0147] FIG. 6d is a time diagram illustrating a dropout livel to live 2 then return to live 1 carried out according to one or more embodiments.
[0148] A l’état initial, le manifeste ne contient qu’une seule période correspondant au flux live primaire. A l’arrivée d’un ordre de splice out le packageur effectue les opérations suivantes : Insertion d’une box‘emsg’ dans le dernier segment de data du flux principal avant la date de la bascule. Cette box indiquera au client DASH qu’il doit recharger immédiatement le manifeste. Suppression de la période du live principal du manifeste et insertion de la période du live secondaire avec le lien xlink. La résolution de ce lien xlink permettra au client DASH d’obtenir les informations relatives à la ou les périodes du flux secondaire et de commencer le décodage. [0148] In the initial state, the manifest contains only one period corresponding to the primary live stream. When a splice out order arrives, the packager performs the following operations: Inserting an ‘emsg ’box in the last data segment of the main stream before the switchover date. This box will indicate to the DASH client that he must immediately reload the manifest. Removed the main live period from the manifesto and added the secondary live period with the xlink link. Resolving this xlink will allow the DASH client to obtain the information about the period (s) of the sub stream and begin decoding.
[0149] La durée du flux live secondaire n’étant pas connue, le client DASH continue la lecture de ce flux tant qu’il ne reçoit pas d’autres informations. [0149] As the duration of the secondary live stream is not known, the DASH client continues to play this stream until it receives further information.
[0150] A l’arrivée d’un ordre de splice in, le packageur effectue les opérations suivantes : [0150] When a splice in order arrives, the packager performs the following operations:
Insertion d’une box‘emsg’ dans le dernier segment de data du flux secondaire avant la date de la bascule. Cette box indiquera au client DASH qu’il doit recharger immé diatement le manifeste. Suppression de la période du live secondaire du manifeste et insertion de la période du live primaire. Le client DASH dispose déjà des informations concernant le flux primaire et peut donc reprendre le décodage. Insertion of an emsg ’box in the last data segment of the secondary stream before the toggle date. This box will indicate to the DASH customer that he must immediately reload the manifest. Removal of the secondary live period from the manifesto and insertion of the primary live period. The DASH client already has the information about the primary stream and can therefore resume decoding.
[0151] Cette phase de retour au live principal nécessite que les ordres de splicing soient syn chronisés entre le packageur principal et le secondaire. [0151] This phase of returning to the main live requires that the splicing orders be synchronized between the main packager and the secondary.
[0152] Retour au flux primaire : Dans le cas d’une bascule vers un flux live secondaire, le client doit commencer la lecture dès la signalisation de la bascule. Cependant, si le client est décalé dans le temps par rapport au déroulement du live (time shift), il va attendre la fin de la période courante avant de basculer. Il ne pourra donc pas avoir accès au début du flux live secondaire. Ce phénomène n’est pas acceptable, en par ticulier pour des bascules de type alerte. Ce problème peut être résolu en insérant une box‘emsg’ dans le segment vidéo précédant la bascule. Cette box indiquera au client DASH qu’il doit recharger le manifeste immédiatement, sans tenir compte de la valeur de l’attribut minimumUpdatePeriod. Dans le même temps, le packager aura supprimé la période du live principal du manifest, ne laissant que la période du live secondaire avec le xlink. Lors du rechargement du manifest, le client DASH n’aura donc pas d’autre choix que de démarrer sur la période du flux secondaire, et ce quel que soit sa position de lecture dans le buffer de time shift. Le même mécanisme sera utilisé pour forcer les clients DASH à retourner au flux principal. Le packageur insérera une box emsg, supprimera la période du flux live secondaire du manifeste et ajoutera une période correspondant au flux live principal. [0152] Return to primary stream: In the case of a switch to a secondary live stream, the client must start reading as soon as the switch is signaled. However, if the client is shifted in time compared to the course of the live (time shift), it will wait until the end of the current period before switching. He will therefore not be able to access the start of the secondary live stream. This phenomenon is not acceptable, in particular for rockers of the alert type. This problem can be solved by inserting an 'emsg' box in the video segment preceding the toggle. This box will tell the DASH client that he must reload the manifest immediately, regardless of the value of the minimumUpdatePeriod attribute. At the same time, the packager will have removed the main live period from the manifest, leaving only the secondary live period with the xlink. When reloading the manifest, the DASH client will therefore have no choice but to start on the period of the secondary stream, regardless of its read position in the time shift buffer. The same mechanism will be used to force DASH clients to return to the main stream. The packager will insert an emsg box, remove the period of the secondary live stream from the manifesto and add a period corresponding to the main live stream.
[0153] Ainsi, le procédé proposé ouvre avantageusement la possibilité d’utiliser des liens de type xlink dans un système utilisant le standard DASH pour effectuer un basculement d’un premier contenu distribué en mode dynamique vers un deuxième contenu lui aussi distribué en mode dynamique. Cela permet d’obtenir un nouveau mode pour opérer un basculement d’un premier contenu distribué en mode dynamique vers un deuxième contenu lui aussi distribué en mode dynamique, en bénéficiant, dans le cadre de ce bas culement, des avantages que ce mode procure (notamment en termes de continuité entre périodes successives, de gestion des DRM et de gestion de l’authentification, comme discuté ci-dessus). Ces avantages peuvent faire défaut dans d’autres méthodes permettant d’effectuer un basculement d’un premier contenu distribué en mode dynamique vers un deuxième contenu lui aussi distribué en mode dynamique, comme par exemple les méthodes reposant sur un changement de manifeste. [0153] Thus, the proposed method advantageously opens up the possibility of using xlink type links in a system using the DASH standard to switch from a first content distributed in dynamic mode to a second content also distributed in dynamic mode. . This makes it possible to obtain a new mode for switching from a first content distributed in dynamic mode to a second content also distributed in dynamic mode, while benefiting, within the framework of this shifting, from the advantages that this mode provides ( in particular in terms of continuity between successive periods, management of DRMs and management of authentication, as discussed above). These advantages may be lacking in other methods of switching from a first content distributed dynamically to a second content also distributed dynamically, for example methods based on a change of manifesto.
[0154] La figure 7 illustre un exemple d’architecture d’un dispositif de lecture de contenus multimédia distribués en mode dynamique pour la mise en œuvre du procédé proposé. [0154] FIG. 7 illustrates an example of the architecture of a device for playing multimedia content distributed in dynamic mode for the implementation of the proposed method.
[0155] En référence à la figure 7, le dispositif 500 comprend un contrôleur 501, couplé de manière opérationnelle à une interface d’entrée 502 et à une mémoire 504, qui pilote une unité de lecture de contenus multimédia 503. [0155] Referring to Figure 7, the device 500 comprises a controller 501, operably coupled to an input interface 502 and to a memory 504, which drives a multimedia content playback unit 503.
[0156] L’interface d’entrée 502 est configurée pour recevoir depuis un serveur de contenus, des segments de données (segments audio et/ou vidéo) correspondant à des contenus multimédia distribué en mode dynamique, ainsi que des ensembles de métadonnées correspondants à ces contenus. [0156] The input interface 502 is configured to receive from a content server, data segments (audio and / or video segments) corresponding to multimedia content distributed in dynamic mode, as well as sets of metadata corresponding to these contents.
[0157] Le contrôleur 501 est configuré pour piloter l’unité de lecture de contenus [0157] The controller 501 is configured to drive the content reading unit
multimédia 503 pour la mise en œuvre d’un ou de plusieurs modes de réalisation du procédé proposé. multimedia 503 for the implementation of one or more embodiments of the proposed method.
[0158] Le dispositif 500 peut être un ordinateur, un réseau d’ordinateurs, un composant élec tronique, ou un autre appareil comportant un processeur couplé de manière opéra tionnelle à une mémoire, ainsi que, selon le mode de réalisation choisi, une unité de stockage de données, et d'autres éléments matériels associés comme une interface de réseau et un lecteur de support pour lire un support de stockage amovible et écrire sur un tel support (non représentés sur la figure). Le support de stockage amovible peut être, par exemple, un disque compact (CD), un disque vidéo/polyvalent numérique (DVD), un disque flash, une clé USB, etc. En fonction du mode de réalisation, la mémoire, l’unité de stockage de données ou le support de stockage amovible contient des instructions qui, lorsqu'elles sont exécutées par le contrôleur 501, amènent ce contrôleur 501 à effectuer ou contrôler les parties interface d’entrée 502, lecture de contenus multimédia 503 et/ou traitement de données des exemples de mise en œuvre du procédé proposé décrits dans les présentes. Le contrôleur 501 peut être un composant implémentant un processeur ou une unité de calcul pour la lecture de contenus multimédia selon le procédé proposé et le contrôle des unités 502, 503 et 504 du dispositif 500. [0158] The device 500 may be a computer, a computer network, an electronic component, or another device comprising a processor operatively coupled to a memory, as well as, depending on the embodiment chosen, a unit. storage medium, and other associated hardware elements such as a network interface and a media drive for reading and writing to removable storage media (not shown in the figure). The removable storage medium can be, for example, a compact disc (CD), a digital video / versatile disc (DVD), a flash disc, a USB stick, etc. Depending on the embodiment, the memory, the data storage unit or the removable storage medium contains instructions which, when executed by the controller 501, cause this controller 501 to perform or control the interface parts of it. input 502, playback of multimedia contents 503 and / or data processing of the examples of implementation of the proposed method described herein. The controller 501 can be a component implementing a processor or a computing unit for the playback of multimedia contents according to the proposed method and the control of the units 502, 503 and 504 of the device 500.
[0159] En outre, le dispositif 500 peut être mis en œuvre sous forme logicielle, comme [0159] In addition, the device 500 can be implemented in software form, such as
décrit ci-dessus, ou sous forme matérielle, comme un circuit intégré spécifique ap plication (ASIC), ou sous forme d'une combinaison d'éléments matériels et logiciels, comme par exemple un programme logiciel destiné à être chargé et exécuté sur un composant de type FPGA (Field Programmable Gâte Array). described above, or in hardware form, such as an application specific integrated circuit (ASIC), or in the form of a combination of hardware and software elements, such as for example a software program intended to be loaded and executed on a component FPGA (Field Programmable Gâte Array) type.
Application industrielle Industrial application
[0160] En fonction du mode de réalisation choisi, certains actes, actions, évènements ou fonctions de chacune des méthodes décrites dans le présent document peuvent être effectués ou se produire selon un ordre différent de celui dans lequel ils ont été décrits, ou peuvent être ajoutés, fusionnés ou bien ne pas être effectués ou ne pas se produire, selon le cas. En outre, dans certains modes de réalisation, certains actes, actions ou évènements sont effectués ou se produisent concurremment et non pas successivement. [0160] Depending on the embodiment chosen, certain acts, actions, events or functions of each of the methods described in this document may be carried out or occur in a different order from that in which they have been described, or may be added, merged or not to be done or not to happen, as the case may be. Further, in some embodiments, certain acts, actions or events are performed or occur concurrently and not sequentially.
[0161] Bien que décrits à travers un certain nombre d’exemples de réalisation détaillés, le procédé de pilotage proposé et le dispositif pour la mise en œuvre d’un mode de réa lisation du procédé comprennent différentes variantes, modifications et perfec tionnements qui apparaîtront de façon évidente à l’homme de l’art, étant entendu que ces différentes variantes, modifications et perfectionnements font partie de la portée de l’invention, telle que définie par les revendications qui suivent. De plus, différents aspects et caractéristiques décrits ci-dessus peuvent être mis en œuvre ensemble, ou sé parément, ou bien substitués les uns aux autres, et l’ensemble des différentes com binaisons et sous -combinaisons des aspects et caractéristiques font partie de la portée de l’invention. En outre, il se peut que certains systèmes et équipements décrits ci- dessus n’incorporent pas la totalité des modules et fonctions décrits pour les modes de réalisation préférés. [0161] Although described through a number of detailed exemplary embodiments, the proposed control method and the device for implementing an embodiment of the method include various variants, modifications and improvements which will appear. obviously to those skilled in the art, it being understood that these different variants, modifications and improvements form part of the scope of the invention, as defined by the claims which follow. In addition, different aspects and characteristics described above can be implemented together, or separately, or substituted for each other, and all the different combinations and sub-combinations of aspects and characteristics are part of the package. scope of the invention. In addition, some systems and equipment described above may not incorporate all of the modules and functions described for the preferred embodiments.

Claims

Revendications Claims
[Revendication 1] Procédé de gestion de contenus multimédia, comprenant: [Claim 1] Method for managing multimedia contents, comprising:
obtenir un premier ensemble de métadonnées de description de contenu décrivant un premier contenu multimédia distribué en mode obtain a first set of content description metadata describing a first multimedia content distributed in the mode
dynamique ; et dynamic; and
sur lecture dans le premier ensemble de métadonnées de données de re direction vers une section d’un deuxième ensemble de métadonnées de description de contenu, lire dans la section du deuxième ensemble de métadonnées des données relatives à une synchronisation temporelle pour l’accès à un deuxième contenu multimédia distribué en mode dynamique. on reading from the first set of data metadata redirecting to a section of a second set of content description metadata, read from the section of the second set of metadata data relating to time synchronization for access to a second multimedia content distributed in dynamic mode.
[Revendication 2] Procédé selon la revendication 1, dans lequel le deuxième ensemble de métadonnées de description de contenu décrit le deuxième contenu multimédia distribué en mode dynamique. [Claim 2] The method of claim 1, wherein the second set of content description metadata describes the second media content distributed dynamically.
[Revendication 3] Procédé selon l’une quelconque des revendications précédentes, dans lequel les données relatives à une synchronisation temporelle pour l’accès au deuxième contenu multimédia distribué en mode dynamique sont lues, dans le deuxième ensemble de métadonnées de description de contenu, dans un conteneur de description d’intervalle de temps relatif au deuxième contenu multimédia. [Claim 3] A method according to any one of the preceding claims, in which the data relating to a time synchronization for the access to the second multimedia content distributed in dynamic mode is read, in the second set of content description metadata, in a time slot description container relating to the second multimedia content.
[Revendication 4] Procédé selon l’une quelconque des revendications précédentes, dans lequel les données relatives à une synchronisation temporelle pour l’accès au deuxième contenu multimédia distribué en mode dynamique comprennent des données indiquant un horodatage de disponibilité du deuxième contenu multimédia. [Claim 4] A method according to any preceding claim, wherein the data relating to time synchronization for access to the second media content distributed dynamically includes data indicating an availability timestamp of the second media content.
[Revendication 5] Procédé selon l’une quelconque des revendications précédentes, dans lequel les données relatives à une synchronisation temporelle pour l’accès au deuxième contenu multimédia distribué en mode dynamique comprennent des données indiquant une information d’accessibilité de segments du deuxième contenu multimédia. [Claim 5] A method according to any preceding claim, wherein the data relating to timing synchronization for access to the second media content distributed dynamically comprises data indicating accessibility information of segments of the second media content. .
[Revendication 6] Procédé selon l’une quelconque des revendications précédentes, dans lequel les données relatives à une synchronisation temporelle pour l’accès au deuxième contenu multimédia distribué en mode dynamique correspondent à des données relatives à une synchronisation temporelle fournies sous un élément racine du deuxième ensemble de métadonnées. [Claim 6] A method according to any preceding claim, wherein the data relating to a time synchronization for access to the second multimedia content distributed in dynamic mode corresponds to data relating to a time synchronization provided under a root element of the. second set of metadata.
[Revendication 7] Procédé selon l’une quelconque des revendications précédentes, dans lequel les données relatives à une synchronisation temporelle pour l’accès au deuxième contenu multimédia distribué en mode dynamique comprennent des données indiquant un horodatage de disponibilité d’un premier segment du deuxième contenu, des données indiquant une durée commune utilisée dans la définition de débits associés au deuxième contenu et des données indiquant un horodatage de génération du deuxième ensemble de métadonnées et de sa publication sur un réseau de distribution de contenus multimédia. [Claim 7] A method according to any preceding claim, wherein the data relating to a time synchronization for accessing the dynamically distributed second media content includes data indicating an availability timestamp of a first segment of the second content, data indicating a common duration used in defining bit rates associated with the second content, and data indicating a timestamp generating the second set of metadata and publishing it on a multimedia content distribution network.
[Revendication 8] Procédé selon l’une quelconque des revendications précédentes, dans lequel les premier et deuxième ensembles de métadonnées sont des ma nifestes au format « Dynamic adaptative streaming over HTTP », [Claim 8] A method according to any preceding claim, wherein the first and second sets of metadata are manifests in "Dynamic adaptive streaming over HTTP" format,
DASH. DASH.
[Revendication 9] Dispositif de lecture de contenu multimédia, comprenant un processeur et une mémoire couplée de manière opérationnelle au processeur, dans lequel le processeur est configuré pour la mise en œuvre d’un procédé selon Tune quelconque des revendications 1 à 8. [Claim 9] A multimedia content playback device, comprising a processor and memory operably coupled to the processor, wherein the processor is configured to implement a method according to any of claims 1 to 8.
[Revendication 10] Programme d’ordinateur, chargeable dans une mémoire associée à un processeur, et comprenant des portions de code pour la mise en œuvre des étapes d’un procédé selon Tune quelconque des revendications 1 à 8 lors de l’exécution dudit programme par le processeur. [Claim 10] A computer program, loadable into a memory associated with a processor, and comprising portions of code for implementing the steps of a method according to any one of claims 1 to 8 during the execution of said program by the processor.
[Revendication 11] Ensemble de données représentant, par exemple par voie de com [Claim 11] A set of data representing, for example by way of communication
pression ou d’encodage, un programme d’ordinateur selon la reven dication 10. pressure or encoding, a computer program according to claim 10.
EP20728105.6A 2019-03-18 2020-03-17 Method for managing the broadcasting of multimedia content, and device for carrying out said method Pending EP3942838A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1902766A FR3094166B1 (en) 2019-03-18 2019-03-18 Multimedia content management method and device for implementing the method
PCT/FR2020/050580 WO2020188219A1 (en) 2019-03-18 2020-03-17 Method for managing the broadcasting of multimedia content, and device for carrying out said method

Publications (1)

Publication Number Publication Date
EP3942838A1 true EP3942838A1 (en) 2022-01-26

Family

ID=67587835

Family Applications (1)

Application Number Title Priority Date Filing Date
EP20728105.6A Pending EP3942838A1 (en) 2019-03-18 2020-03-17 Method for managing the broadcasting of multimedia content, and device for carrying out said method

Country Status (4)

Country Link
US (1) US11831944B2 (en)
EP (1) EP3942838A1 (en)
FR (1) FR3094166B1 (en)
WO (1) WO2020188219A1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11356718B2 (en) * 2020-06-30 2022-06-07 Nbcuniversal Media, Llc Systems and methods for localized adaptive content distribution
US11882170B2 (en) * 2021-04-19 2024-01-23 Tencent America LLC Extended W3C media extensions for processing dash and CMAF inband events
US11750865B1 (en) * 2022-04-08 2023-09-05 CodeShop, B.V. Method and system for synchronization of adaptive streaming transcoder and packager outputs

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101786051B1 (en) * 2009-11-13 2017-10-16 삼성전자 주식회사 Method and apparatus for data providing and receiving
US11025919B2 (en) * 2017-10-03 2021-06-01 Koninklijke Kpn N.V. Client-based adaptive streaming of nonlinear media

Also Published As

Publication number Publication date
FR3094166B1 (en) 2021-04-23
US20220191584A1 (en) 2022-06-16
WO2020188219A1 (en) 2020-09-24
FR3094166A1 (en) 2020-09-25
US11831944B2 (en) 2023-11-28

Similar Documents

Publication Publication Date Title
KR101611383B1 (en) Content-specific identification and timing behavior in dynamic adaptive streaming over hypertext transfer protocol
WO2020188219A1 (en) Method for managing the broadcasting of multimedia content, and device for carrying out said method
EP3381196B1 (en) Method for synchronising an alternative audio stream
FR2845555A1 (en) INTERACTIVE TELEVISION RECEIVING AND BROADCASTING METHODS AND ASSOCIATED DEVICES
EP3127336B1 (en) Device and method for remotely controlling the rendering of multimedia content
EP3942837A1 (en) Method for managing multimedia content, and device for carrying out said method
FR3081647A1 (en) MANAGEMENT OF ADAPTIVE PROGRESSIVE DOWNLOAD (HAS) OF DIGITAL CONTENT WITHIN A REAL-TIME MULTIMEDIA STREAM READER TERMINAL.
WO2021089942A1 (en) Method for managing zapping of digital multimedia contents obtained by http adaptive streaming (has), and corresponding management device, multimedia stream reader and computer program
EP4035408A1 (en) Management of adaptive streaming of an item of digital content over a mobile network with selection of a maximum authorized encoding rate on the basis of a data bucket
WO2020259911A1 (en) Method for managing adaptive progressive downloading (has) of digital content which is broadcast in real time, corresponding administrator, multimedia stream player terminal and computer program
WO2023208688A1 (en) Management of the rendering of an item of multimedia content
WO2021105585A1 (en) Method for managing a list of contents accessible for zapping, the digital contents being downloadable in an http adaptive streaming (has) mode, and corresponding management device, multimedia stream reader and computer program
FR3093605A1 (en) A method of accelerated browsing of digital content obtained by adaptive progressive download (HAS), manager, media player and corresponding computer program.
FR3096210A1 (en) A method of transmitting digital content having several versions accessible from a content server to a playback terminal.
EP4109905A1 (en) Management of the adaptive progressive downloading of digital content in screen saver mode
FR3093603A1 (en) A method of accelerated browsing of digital content obtained by adaptive progressive download (HAS), manager, media player and corresponding computer program.
EP3840391A1 (en) Management of the reproduction of multimedia content and a navigation interface on a screen
WO2020234030A1 (en) Rendering of background or insertion content as part of an adaptive progressive download (has)
FR3131160A1 (en) Method for restoring multimedia content, corresponding computer program and multimedia stream player terminal.
FR3124344A1 (en) Method for managing access to content downloaded in adaptive download mode.
FR3093885A1 (en) method of managing the downloading of images associated with image jumps that may be achieved during accelerated playback of multimedia content.
FR2930098A1 (en) Signal flow i.e. Internet protocol TV flow, transmitting method for digital TV&#39;s set top box in Internet protocol network, involves transmitting components to signal receiving equipment by respecting determined restitution time difference
WO2009112785A1 (en) Reception of metadata on a terminal
US20120296921A1 (en) Method and apparatus for creating/playing a content file
EP2854415A1 (en) Method for dynamic transmission of information data relating to an audio and/or video programme

Legal Events

Date Code Title Description
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: UNKNOWN

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20211015

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

DAV Request for validation of the european patent (deleted)
DAX Request for extension of the european patent (deleted)
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: EXAMINATION IS IN PROGRESS

17Q First examination report despatched

Effective date: 20231018