WO2019011655A1 - Procédé de signalisation d'une substitution à un terminal, procédé de substitution par un terminal, produits programme d'ordinateur, système et terminal correspondants - Google Patents

Procédé de signalisation d'une substitution à un terminal, procédé de substitution par un terminal, produits programme d'ordinateur, système et terminal correspondants Download PDF

Info

Publication number
WO2019011655A1
WO2019011655A1 PCT/EP2018/067266 EP2018067266W WO2019011655A1 WO 2019011655 A1 WO2019011655 A1 WO 2019011655A1 EP 2018067266 W EP2018067266 W EP 2018067266W WO 2019011655 A1 WO2019011655 A1 WO 2019011655A1
Authority
WO
WIPO (PCT)
Prior art keywords
terminal
notification message
content
information
event notification
Prior art date
Application number
PCT/EP2018/067266
Other languages
English (en)
Inventor
David Vincent
Original Assignee
Tdf
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 Tdf filed Critical Tdf
Priority to EA202090274A priority Critical patent/EA202090274A1/ru
Priority to AU2018299752A priority patent/AU2018299752B2/en
Priority to ES18732387T priority patent/ES2922363T3/es
Priority to EP18732387.8A priority patent/EP3652953B1/fr
Publication of WO2019011655A1 publication Critical patent/WO2019011655A1/fr

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/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/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2668Creating a channel for a dedicated end-user group, e.g. insertion of targeted commercials based on end-user profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4331Caching operations, e.g. of an advertisement for later insertion during playback

Definitions

  • Terminal substitution signaling method terminal substitution method, computer program products, system and corresponding terminal.
  • the field of the invention is that of the substitution of content within a broadcast stream (that is to say the replacement of a content by another). We also talk about inserting content, or stall.
  • the invention relates to a method of signaling, at a terminal, the substitution of a content broadcast via a broadcast network to which the terminal is connected by targeted content for the terminal in question, as well as a substitution method. correspondent implemented in the terminal.
  • the invention has many applications, in particular, but not exclusively, in the field of targeted advertising, the method described allowing a personalized (targeted) advertisement to be returned to a terminal instead of an advertisement. broadcast by a broadcast network.
  • the protocol SCTE for "Society of Cable Telecommunications Engineers" in English
  • SCTE for "Society of Cable Telecommunications Engineers” in English
  • the orders in question are either inserted in the SDI stream (for "Serial Digital Interface” in English) produced at the output of the recording studio, or conveyed in parallel with the SDI stream via, for example, an IP connection (for "Internet Protocol ").
  • the orders in SCTE format 104 are conventionally received by the coder which translates them in SCTE format 35 (another protocol) and inserts them in its output MPEG-TS (for "Moving Picture Experts Group - Transport Stream" in English) output, to destination of a multiplexer also embedded in the headend.
  • the multiplexer thus realizes stalls between a national program and a local program on the basis of such received orders to generate a corresponding multiplexed data stream.
  • Such a method must also allow the substitution of content in a flexible manner in order to preserve the user experience, for example by reducing the discontinuities in the rendering to the user that may result from the switchover between the broadcast content and the substitute content. targeted for the terminal in question.
  • a method of signaling, at a terminal, the substitution of a content broadcast via a broadcast network to which the terminal is connected by a targeted substitution content at least for the terminal comprises:
  • At least one substitution information packet comprising temporal information indicative of a time of execution by the terminal of at least one action for the substitution of the content broadcast by the substitution content;
  • the invention proposes a new and inventive solution to allow the signaling to a terminal, via a broadcast network, the substitution of a content broadcast by targeted content (eg a targeted advertisement for a user of the terminal in question) .
  • targeted content eg a targeted advertisement for a user of the terminal in question
  • the claimed method proposes to signal the terminal that it must perform actions allowing the substitution in question (eg start decoding the targeted content, restore the decoded targeted content, etc.) by sending notification messages. events containing no temporal information concerning the date (with reference to the broadcast content) to which the substitution in question is to take place.
  • an action for the substitution is executed by the terminal without knowledge of a temporal information indicative of a time of execution, by the terminal, of the action in question.
  • the terminal executes the action in question immediately upon receipt of the event notification message, ie after execution latency only related to constraints of hardware implementations in the terminal, the execution being triggered by receiving the corresponding event notification message from the terminal.
  • the signaling of the substitution can be based on existing standards, although not dedicated to the signaling of so-called “real time” events, ie whose notification messages do not contain a temporal reference allowing a synchronous execution with respect to the broadcast data stream (eg "streamevent” messages in DSM-CC format (for "Digital Storage Media Command and Control”).
  • the at least one substitution information packet comprises at least one identifying information, the at least one action being a function of the at least one identification information.
  • the generation includes encapsulation of the at least one identification information in the at least one event notification message.
  • a particular action to be executed (e.g. start decoding the targeted content, rendering the decoded targeted content, etc.) is reported in a simple and direct manner to the terminal.
  • the at least one substitution information packet comprises a unique identification information that can take several values each associated in the terminal with a set of at least one action.
  • the generation includes encapsulation of the unique identification information in the at least one event notification message.
  • a particular event (e.g. the beginning of the broadcast content to be substituted, the end of the broadcast content to be substituted, etc.) is reported to the terminal via the identification information.
  • the event notification messages tag the stream of data conveying the broadcast content.
  • the terminal thus deduces from the event that is notified to it one or more actions to be performed for the substitution of the broadcasted content.
  • the action or actions to be performed are obtained in the terminal via an algorithm taking into account the event in question but also the events that have been signified at the terminal prior to the event in question.
  • the at least one substitute information packet further comprises:
  • the insertion is a function of the first information and the generation step includes encapsulation of the filtering information and the second information in the at least one event notification message.
  • an event notification message can be associated with a particular terminal, thereby allowing better targeting of the substitute contents.
  • the use of the same first and second information as well as the same filtering information for several terminals among the plurality of terminals makes it possible to signal the substitution of the same content broadcast to the various terminals in question.
  • the signaling method further comprises:
  • Another insertion, in the data stream, of at least one image making it possible to initiate a decoding, by the terminal, of the data stream,
  • a time difference, in the data stream, between the at least one image and the at least one event notification message being greater than an execution latency of the identified action after receiving the at least one event notification message.
  • the decoding by the terminal of the broadcast content resumes upon the reception of the image in question (eg an intra-coded intra picture or image I placed at the beginning of a GOP (for " Group Of Picture "), thus minimizing the wait before the start of the resumption of the decoding of the broadcasted content, and therefore the waiting time of the waiting elements as well as the risk of a lack of restitution to the user (eg a black screen) at the end of the rendering of such a waiting element.
  • the at least one substitution information packet also includes:
  • the device managing the substitution remains master of the insertion (as well as the moment of insertion if necessary) of such an image in order to optimize the transitions between the renditions of the content broadcast and the content targeted for a given terminal.
  • the at least one substitution information packet follows a SCTE protocol for "Society of Cable Telecommunications Engineers" in English, 35 or 104.
  • the temporal information used for the insertion of the event notification messages is easily transmitted to the device implementing the signaling method via a standardized protocol defining a temporal reference field for synchronizing events (here, for example, the event notification messages) with a clock of the data stream conveying the content broadcast within the broadcast network.
  • the insertion step is implemented at least two times so that:
  • a first event notification message is inserted at a first instant in the data stream conveying said broadcast content within the broadcast network, the first instant substantially corresponding to a beginning of a first inter-sequence preceding the broadcasted content; to substitute, the first event notification message inducing at least a restitution of a first waiting element by the terminal, the restitution of the first waiting element being triggered by a reception of the first event notification message by the terminal and performed without knowledge of a first time information indicative of a time of execution by the terminal of the return of the first waiting element; and
  • a second event notification message is inserted at a second instant in the data stream conveying the content broadcast within the broadcast network, the second instant substantially corresponding to a beginning of the broadcast content to be substituted, the second notification message; event causing at least one masking of the first waiting element by the terminal, the masking of the first waiting element being triggered by a reception of the second event notification message by the terminal and made without knowledge of a second temporal information indicative of a time of execution by the terminal of
  • the insertion step is implemented at least two times so that:
  • a third event notification message is inserted at a third instant in the data stream conveying the content broadcast within the broadcast network, the third instant substantially corresponding to a start of a second interscequence according to the broadcast content to be substituted.
  • the third event notification message inducing at least a return of a second waiting element by the terminal, the restitution of the second waiting element being triggered by a reception of the third event notification message by the terminal and performed without knowledge of a third time information indicative of a time of execution by the terminal of the return of the second waiting element;
  • a fourth event notification message is inserted at a fourth instant in the data stream conveying the content broadcast within the broadcast network, the fourth instant substantially corresponding to a start of another content broadcast after the second broadcast. sequence, the fourth message of event notification inducing at least one masking of the second waiting element by the terminal, the masking of the second waiting element being triggered by a reception of the fourth event notification message by the terminal and carried out without knowledge of a fourth time information indicative of a time of execution by the terminal of the masking of the second waiting element.
  • a waiting element is restored during the transition between the end of the restitution of the targeted substitution content and the resumption of the restitution of the broadcasted content, thus avoiding a lack of restitution to the user (eg a black screen ) during the transition in question (eg while the decoder initiates a new decoding).
  • At least one other image for initiating a decoding, by the terminal, of said other broadcast content is inserted into the data stream.
  • the third event notification message also triggers an action inducing decoding of said other broadcast content.
  • a time gap, in the data stream, between said at least one other image and the third event notification message is greater than an execution latency of the action inducing the decoding of said other content broadcast by said terminal.
  • the decoding by the terminal of the other broadcast content resumes upon the reception of the image in question (eg an internal coded image of intra type or image I placed at the beginning of a GOP (for "Group Of Picture” ), thereby minimizing the wait before the start of the resumption of the decoding of the broadcasted content.
  • the image in question eg an internal coded image of intra type or image I placed at the beginning of a GOP (for "Group Of Picture”
  • a method of substitution, by a terminal, of content broadcast via a broadcast network to which the terminal is connected by a targeted substitution content at least for the terminal According to such a method the terminal performs:
  • An execution of at least one action for the substitution of the content broadcast by the substitute content the execution being triggered by the reception of the said content by the least an event notification message by the terminal and performed without knowledge of a temporal information indicative of a time of execution by the terminal of said at least one action.
  • the action in question is executed by the terminal without knowledge of a temporal information indicative of a time of execution, by the terminal, of the action in question.
  • the terminal executes the action in question immediately upon receipt of the event notification message, ie after execution latency only related to constraints of hardware implementations in the terminal, the execution being triggered by receiving the corresponding event notification message from the terminal.
  • the substitution is controlled (especially in terms of execution time) even though the terminal only supports event notification messages containing no temporal information concerning the date (with reference to the content broadcast) to which the substitution must take place.
  • the signaling in question can be based on existing standards, although not dedicated to the signaling of so-called "real-time" events, ie whose notification messages do not contain a temporal reference allowing a synchronous execution with respect to the flow of data.
  • broadcast data eg as supported by Hybrid Broadcast Broadband TV type hybrid terminals.
  • the execution comprises obtaining at least one identification information encapsulated in the at least one event notification message.
  • the at least one action is a function of the at least one identification information obtained.
  • a particular action to be executed (e.g. start decoding the targeted content, rendering the decoded targeted content, etc.) is reported in a simple and direct manner to the terminal.
  • the execution comprises obtaining a unique identification information that can take several values associated with each, in the terminal, to a separate game of at least one action.
  • the at least one action is a function of the unique identification information obtained.
  • a particular event (e.g. the beginning of the broadcast content to be substituted, the end of the broadcast content to be substituted, etc.) is reported to the terminal via the identification information.
  • the event notification messages tag the stream of data conveying the broadcast content.
  • the terminal thus deduces from the event that is notified to it one or more actions to be performed for the substitution of the broadcasted content.
  • the action or actions to be performed are obtained in the terminal via an algorithm taking into account the event in question but also the events that have been signified at the terminal prior to the event in question.
  • the terminal also performs another reception, via a broadband network to which the terminal is connected, of:
  • a second piece of information making it possible to identify an event stream in the elementary stream component, the at least one event notification message being inserted into the event stream;
  • Filtering information the at least one event notification message further encapsulating the filtering information
  • the use of the same first and second information as well as the same filtering information for a plurality of terminals among the plurality of terminals makes it possible to signal the substitution of the same broadcasted content for the several terminals in question.
  • the terminal also performs reception of the targeted content via the broadcast network or via the broadband network to which the terminal is connected.
  • the terminal can receive the targeted content in question either via the broadcast network (eg via a contents carousel as defined by the HbbTV standard), allowing the targeted content to be obtained even in the absence of another connection. network, or with a content server via a broadband network (eg Internet), to minimize the load of the broadcast network.
  • the broadcast network eg via a contents carousel as defined by the HbbTV standard
  • a content server via a broadband network (eg Internet)
  • the execution step is implemented at least twice so that:
  • a restitution of a first waiting element is executed by the terminal, the restitution of the first waiting element being triggered by a reception of a first event notification message by the terminal and carried out without knowledge of a first temporal information indicative of a time of execution by the terminal of the restitution of the first waiting element, the first event notification message being inserted at a first instant in the data stream conveying the content broadcast within the broadcast network, the first instant substantially corresponding to a beginning of a first interscequence preceding the broadcast content to be substituted;
  • a masking of the first waiting element is executed by the terminal, the masking of the first waiting element being triggered by a reception of a second event notification message by the terminal and made without knowledge of a second information item; temporal indicative of a moment execution by the terminal masking the first waiting element, the second event notification message being inserted at a second time in the data stream conveying the broadcast content within the broadcast network, the second time corresponding substantially at the beginning of the broadcast content to be substituted.
  • the first event notification message also triggers an action inducing decoding of the substitution content by a decoder of the terminal, the decoder generating a first event when the substitution content is available for playback.
  • the terminal performs the masking of the first waiting element and restores the substitution content as soon as the decoder has generated the first event.
  • the restitution of the first waiting element is of shorter duration than in the case where the masking of the first waiting element and the restitution of the substitution content are triggered by the reception of the second event notification message, maximizing thus the time available for the restitution the substitute content.
  • the execution step is implemented at least two more times so that:
  • a restitution of a second waiting element is executed by the terminal, the restitution of the second waiting element being triggered by a reception of a third event notification message by the terminal and carried out without knowledge of a third time information indicative of a time of execution by the terminal of the restitution of the second waiting element, the third event notification message being inserted at a third time in the data stream conveying the content broadcast within the broadcast network, the third instant substantially corresponding to a beginning of a second interscequence following the broadcast content to be substituted;
  • a masking of the second waiting element is executed by the terminal, the masking of the second waiting element being triggered by a reception of a fourth event notification message by the terminal and carried out without knowledge of a fourth information item; temporal indicative of a time of execution by the terminal of the masking of the second waiting element, the fourth event notification message being inserted at a fourth instant in the data stream conveying the content broadcast within the broadcast network , the fourth instant corresponding substantially to a start of another content broadcast according to the second inter-sequence.
  • a waiting element is restored during the transition between the end of the restitution of the targeted substitution content and the resumption of the restitution of the broadcasted content, thus avoiding a lack of restitution to the user (eg a black screen ) during the transition in question (eg while the decoder initiates a new decoding).
  • the decoder generates a second event when the decoding of the substitution content is complete.
  • the terminal executes the restitution of the second waiting element as soon as the decoder has generated the second event.
  • the return of the second waiting element is of longer duration than in the case where the return of the second waiting element is triggered by the reception of the third event notification message. In this way, the risk of encroaching on the beginning of the other content broadcast after the second inter-sequence is minimized. In addition, the risk of a lack of restitution to the user (e.g. a black screen) at the end of the restitution of the substitute content is thus avoided.
  • the filtering information is an identifier of the broadcasted content.
  • the quantity of data conveyed in the system implementing the signaling method is minimized, the same identifier making it possible to indicate to the different entities of the system and to the terminal the content to be substituted, as well as to the terminal to filter the messages of notifications of events intended for it.
  • the at least one action defined via the first encapsulated substitution information belongs to the group comprising:
  • the method claimed makes it possible to signal the terminal that it must start decoding the targeted content or the content broadcast via a notification message containing no temporal information concerning the date (with reference to the broadcast content) at which this decoding switchover must take place. It is the same for the restitution of the content thus decoded, for example on a screen of the terminal.
  • a waiting message eg a moving logo, an animated Graphics Interchange Format (GIF), an inter-advertising sequence, an audio waiting message, etc.
  • GIF Graphics Interchange Format
  • an audio waiting message etc.
  • a waiting message can be restored (so visual and / or sound) while the decoder initiates a new decoding, thus avoiding a lack of restitution to the user (eg a black screen) during this time.
  • the execution by the terminal of the said at least one action is performed with a predetermined effective execution latency, different from an intrinsic latency of the terminal and common with at least one other terminal for which is also targeted the substitution content.
  • the predetermined effective execution latency corresponds to the intrinsic latency of said terminal (ie to the minimum latency related to the hardware implementation of the terminal) to which is added a delay (eg a delay) allowing to obtain the latency of predetermined effective execution in question.
  • a delay eg a delay
  • the terminal is a hybrid terminal supporting the HbbTV standard, for "Hybrid Broadcast Broadband TV" in English.
  • the data stream is in MPEG-TS format, for "Moving Picture Experts Group - Transport Stream” in English and the at least one event notification message is a "stream event" in DSM format.
  • -CC for "Digital Media Storage Media Control and Control”.
  • the first information corresponds to the "Component_TAG” field indicating the PID (for "Packet IDentifier” in English) in which the notification events are inserted
  • the second information corresponds to the "EventJD” field identifying the notification events according to this standard.
  • the invention also relates to a computer program comprising program code instructions for the implementation of a signaling method or a substitution method (according to any one of its various embodiments), when it is run on a computer.
  • a broadcasting system configured to signal, to a terminal, the substitution of a content broadcast via a broadcast network to which the terminal is connected by a targeted substitution content at the terminal. less for the terminal.
  • a broadcasting system comprises:
  • Means for obtaining at least one packet of substitution information comprising temporal information indicative of a time of execution by the terminal of at least one action for the substitution of the content broadcast by the substitution content;
  • Such a broadcasting system is particularly suitable for implementing the signaling method according to the invention (according to any one of the various embodiments mentioned above).
  • a terminal configured to substitute broadcasted content via a broadcast network to which the terminal is connected by a content of substitution ci wheat at least for the terminal.
  • a terminal comprises:
  • Means for executing at least one action for the substitution of the content broadcast by the substitution content the execution being triggered by the reception of said at least one event notification message by the terminal and carried out without knowledge of the temporal information indicative of a time of execution by the terminal of said at least one action.
  • Such a terminal is particularly suitable for implementing the substitution method according to the invention (according to any one of the various embodiments mentioned above).
  • FIG. 1 illustrates an example of a television broadcasting system to which a terminal is connected, according to one embodiment of the invention
  • Figures 2a and 2b illustrate examples of data packet and event notification message structures as used for signaling between the entities of Figure 1;
  • FIG. 3 illustrates the steps of a method of signaling, at a terminal, the substitution of a content broadcast via a broadcast network according to different embodiments of the invention
  • FIG. 4 illustrates the steps of a method of substitution, by a terminal, of a content broadcast via a broadcasting network according to different embodiments of the invention
  • Fig. 5 illustrates an example of sequencing insertion of event notification messages into a data stream according to one embodiment of the invention
  • FIG. 6 illustrates an exemplary structure of a broadcasting system enabling the method of FIG. 3 to be implemented.
  • FIG. 7 illustrates an exemplary structure of a terminal enabling the method of FIG. 4 to be implemented.
  • the general principle of the technique described consists in obtaining at least one packet of substitution information comprising temporal information indicative of a time of execution by a terminal of at least one action for the substitution of a content broadcast by a user. substitution content.
  • An event notification message is generated and inserted into a data stream carrying the broadcast content within a broadcast network at a given time slot by the temporal information in question.
  • the event notification message causes the execution of the at least one action in question.
  • the execution is triggered by a reception of an event notification message by the terminal and is performed without knowledge of the temporal information indicative of the execution time by the terminal of said at least one action in question.
  • the signaling of the substitution can be based on standards already implemented in some terminals although not dedicated to the signaling of events called "real time", ie standards whose notification messages do not contain a temporal reference allowing synchronous execution with respect to the broadcast data stream.
  • FIG. 1 An example of a television broadcasting system 100 to which a terminal 110 is connected according to a first embodiment of the invention is described in connection with FIG.
  • the terminal 110 is a consumer television connected on the one hand to a 120 television broadcast network and on the other hand to a broadband network 130 of the internet type.
  • a terminal 110 is sometimes also called “connected TV”, “SmartTV”, “Digital TV”, “Internet TV”, “Interactive TV”, “hybrid TV”, “PCTV”, “Hybrid Broadcast Broadband TV”, “HbbTV “, Or” H4TV ".
  • the terminal 110 is compatible with the HbbTV standard so that it can download, via the broadband network 130, a particular HbbTV application (allowing the implementation of the substitution by the terminal 110, as detailed below) from an internet server. static 100a.
  • a download is done on the basis of received information (eg an address of the URL type (for "Uniform Resource Locator” in English)) for example via a DVB AIT table (for "Digital Video Broadcasting" and "Application Information Table” in English) contained in the MPEG-TS format data stream received from the television broadcast system 100 via the broadcast network 120.
  • the broadcast network 120 is for example a TNT network (for "Digital Terrestrial Television") using the DVB-T standard to broadcast the data stream in MPEG-TS format.
  • the broadcast network 120 is a satellite network using the DVB-S standard, or a cable network using the DVB-C standard.
  • the broadcast network 120 identifies with a network based on the use of an IP transport protocol and the terminal 110 is for example a "Set-top box" including (or communicating with ) A network gateway connected to the broadband network 130.
  • IP transport protocol is for example the UDP / IP protocol (for "User Datagram Protocol” in English) for multicast type broadcasting, or the TCP / IP protocol. (for "Transmission Control Protocol” in English) for a broadcast unicast type as preferred by so-called OTT broadcasters (for "Over The Top” in English).
  • the network based on the use of an IP transport protocol shares physical resources with the broadband network 130.
  • the terminal 110 is configured to receive event notification messages (230) contained in the data stream in the MPEG-TS format carried by the broadcast network 120.
  • event notification messages (230) are, for example, "StreamEvents" in DSM-CC format (for "Digital Storage Media Command and Control”).
  • the television broadcast system 100 includes an advertising management platform 100c which provides, to a substitution management device 100b (discussed in more detail below), including identification information (2120b31) to be encapsulated in an event notification message (230) to the terminal 110.
  • the identification information (2120b31) identifies an action to be executed by the terminal 110.
  • Such an action is for example: a decoding of a targeted content for the terminal 110, a restitution of the targeted content under a decoded form, a resumption of the decoding of the diffused content, a restitution of a waiting element, etc.
  • the identifying information (2120b31) identifies a particular event.
  • Such an event is for example: the beginning of the broadcast content to be substituted, the end of the broadcast content to be substituted, etc.
  • event notification messages mark the flow of data conveying the broadcast content.
  • the terminal thus deduces from the event that is notified to it one or more actions to be performed for the substitution of the broadcasted content (eg via the execution of an algorithm that takes into account one or more identification information (2120b31) identifying such special events).
  • the advertising management platform 100c provides the substitution management device 100b furthermore:
  • a first piece of information (2120bl) for identifying an elementary stream component of the data stream in the MPEG-TS format eg the "component_tag" field in the DSM-CC format, this field indicating the PID of the elementary stream component in question;
  • a second piece of information (2120b2) for identifying an event stream in the elementary stream component in question (eg the "event_id" field in the DSM-CC format) in which a video coder 100f will insert the notification messages of events (230) to the terminal 110; and
  • the advertising management platform 100c first obtains from the broadcaster managing the broadcast network 120 the "DVB triplet" field enabling it to uniquely identify the content broadcast via the broadcast network 120. question, as well as an identifier (2120b33) (eg an "AdvertJD" field), for identifying an upcoming advertisement in the broadcast stream.
  • an identifier eg an "AdvertJD” field
  • such an identifier also conveys other information (eg a "SlotJD" field) relating to the forthcoming advertisement in question, for example the transit instance identifier of this advertisement over a predefined period (eg since the beginning of the day, the past week, etc.). In this way, the advertising management platform 100c decides whether or not the substitution of the advertisement to come into question on the terminal 110.
  • the advertising management platform 100c When the decision to substitute the advertisement identified by the identifier (2120b33) is taken, the advertising management platform 100c thus generates the first (2120bl) and second (2120b2) information and the filtering information (2120b32). More particularly, the information in question is transmitted to a substitution management device 100b which retransmits them:
  • the static internet server 100a which in turn transmits them to the terminal 110 via the broadband network 130 (eg via an XML format file (for "Extensible Markup Language” in English) for the first (2120bl) and second (2120b2) information, and via HbbTV application for filtering information (2120b33)).
  • the broadband network 130 eg via an XML format file (for "Extensible Markup Language” in English) for the first (2120bl) and second (2120b2) information, and via HbbTV application for filtering information (2120b33)
  • XML format file for "Extensible Markup Language” in English
  • HbbTV application for filtering information (2120b33
  • an insertion trigger device 100d whose function is to make it possible to synchronize the events generated by the advertising management platform 100c with the data stream broadcast via the broadcast network
  • the advertising management platform 100c also provides the identifier (2120b33) of the broadcast content to be substituted for the insertion triggering device 100d (via the substitution management device 100b), as well as the information of the advertisement.
  • identification (2120b31) this identification information (2120b31) for identifying, directly or indirectly, an action to be performed by the terminal 110 as described above).
  • the insertion trigger device 100d obtains from the SDI reader 100th synchronous time references of the SDI data stream that it generates (SDI stream which is intended to be multiplexed in the data stream broadcast via the broadcast network 120 after encoding in a video coder 100f, multiplexing performed by an MPEG / DVB multiplexer 100g, and generation of the modulated broadcast signal by a DVB modulator 100h), for example by periodically reading such information on the SDI reader 100e.
  • the insertion trigger device 100d determines the synchronous time information of the SDI stream which defines a time at which the action identified by the identification information (2120b31) must be executed by the terminal 110.
  • the time information is "timecode" in the SCTE 104 format.
  • the insertion triggering device 100d generates substitution information packets (210) in the format SCTE 104 and transmits them to the video coder 100f (eg via an internet connection) so that this encoder converts them to the SCTE 35 format and inserts them synchronously into the encoded data stream it delivers.
  • the time information is not "timecodes" in the SCTE 104 format, but "timestamps” PTS
  • the insertion trigger device 100d generates substitution information packets (220) in the SCTE format 35 and transmits them not to the video encoder. 100f, but directly to the MPEG / DVB 100g multiplexer (eg via an internet connection) for generating the corresponding event notification messages (230) and synchronous insertion in the multiplexed data stream that this multiplexer delivers.
  • the insertion trigger device 100d does not transmit any packet of substitution information (210, 220), the video coder 100f, and the MPEG / DVB multiplexer 100g.
  • the insertion triggering device 100d transmits the information initially transmitted by the advertisement management platform 100c (in particular the identification information (2120b31), the first (2120bl) and the second (2120b2) information, the filtering information (2120b32) and the identifier (2120b33) of the broadcast content to be substituted as introduced above) directly to the 100th SDI drive.
  • the SDI reader 100e that performs the above-described operations of generating the substitution information packets (210) at the end of synchronous insertion in the SDI data stream.
  • the substitution management device 100b manages the consistency of the data supplied to the terminal 110 by the static internet server 100a via the broadband network 130, and the signaling contained in the data stream. data received by the terminal 110 via the broadcast network 120.
  • the filtering information (2120b32) is identical to the identifier (2120b33) of the broadcast content to be substituted.
  • the amount of information managed and transmitted by the advertising management platform 100c is minimized, thereby simplifying the implementation of the described technique.
  • the advertising management platform 100c also provides, to the substitution management device 100b, insertion information (2120b4) indicating whether an image for initiating a decoding of the streaming signal. given by the terminal 110 (eg an internal coded picture of the intra type or I picture placed at the beginning of a GOP) must be inserted by the video coder 100f in the data stream in question, for example after a notification message d event (230).
  • insertion information 2120b4 indicating whether an image for initiating a decoding of the streaming signal. given by the terminal 110 (eg an internal coded picture of the intra type or I picture placed at the beginning of a GOP) must be inserted by the video coder 100f in the data stream in question, for example after a notification message d event (230).
  • the television broadcast system 100 also includes the SDI reader 100e, which generates a stream in SDI format sent to the video coder 100f.
  • the SDI reader is for example a spectrumX player marketed by Harmonie. Such equipment is particularly able to insert commands in SCTE 104 format in the SDI stream that it delivers.
  • the SDI reader 100e supplies the insertion trigger device 100d with the synchronous time references of the SDI data stream it generates.
  • the SDI reader 100e itself generates the substitution information packets (210) on the based on the information provided by the insertion trigger device 100d and inserts it into the SDI stream that it delivers.
  • the television broadcast system 100 also includes the video coder 100f, which generates the MPEG-TS MPEG4 stream from the SDI stream received from the SDI reader 100e.
  • the video coder 100f is particularly capable of transforming commands in SCTE format 104 present in the received SDI stream into commands in the SCTE format 35. More particularly, the video coder 100f is capable of transforming the time references (or "timecodes") used by the SCTE 104 standard in PTS time references used by the SCTE 35 standard.
  • substitution information packets (210, 220) received contain insertion information (2120b4) or not
  • the data stream eg an intra-coded intra picture or I picture placed at the beginning of a GOP
  • the image in question is inserted at the location indicated by the time information present in the corresponding substitution information packet (210).
  • the video coder 100f does not receive insertion information (2120b4) (eg the advertising management platform 100c does not provide insertion information (2120b4)), but systematically inserts a time slot according to the time information present in the substitution information packet (210) considered, an image for initiating a decoding by the terminal 110 of the data stream. More particularly, the image in This question is inserted so as to minimize the transitions at the time of decoding switches at the terminal as discussed below in connection with FIGS. 2a and 2b. This systematic aspect of the insertion makes it possible to minimize the amount of information transmitted between the entities of the television broadcasting system 100.
  • the television broadcasting system 100 also includes the MPEG / DVB multiplexer 100g, which produces the multiplexed signal (or "multiplex") which is broadcast via the broadcast network 120 on the basis of the MPEG-TS stream delivered by the coder video lOOf.
  • the MPEG / DVB multiplexer 100g which produces the multiplexed signal (or "multiplex") which is broadcast via the broadcast network 120 on the basis of the MPEG-TS stream delivered by the coder video lOOf.
  • the MPEG / DVB 100g multiplexer aggregates the streams coming from several video encoders to produce the multiplex which will then be broadcast.
  • the MPEG / DVB multiplexer 100g On the other hand, on the basis of received SCTE format data packets (220) (either via the MPEG-TS stream from the video coder 100f in the first embodiment, or directly from the insertion trigger device 100d in the second embodiment), the MPEG / DVB multiplexer 100g generates the corresponding event notification messages (230), here "StreamEvents" messages in the DSM-CC format.
  • such event notification messages (230) encapsulate the information conveyed by the substitution information packets (220), and especially the second (2120b2) information, the identification information (2120b31), the filtering information (2120b32) and the identifier (2120b33) of the broadcast content to be substituted (the filtering information (2120b32) may be equal to this identifier (2120b33) in some signaling variants); in this case, a single field containing the information in question is encapsulated in the corresponding event notification message (230), thereby minimizing the amount of information conveyed).
  • the 100g MPEG / DVB multiplexer inserts the event notification message (230) into the multiplexed stream that it generates at the time point identified by the time information contained in the substitution information packet (220). ) corresponding. It is noteworthy, however, that the event notification message (230) itself does not contain any date of execution information by the terminal 110 of the action (s) corresponding to the identification information (2120b31) encapsulated in the event notification message ( 230) in question.
  • such an event notification message (230) is inserted into the event flow identified by the second information (2120b2) within the elementary flow component identified by the first information (2120bl) at the instant identified by the time information included in the corresponding substitution information packet (220).
  • the television broadcasting system 100 also includes the DVB modulator 100h, which generates the modulated signal carrying the data stream delivered by the MPEG / DVB 100g multiplexer through the broadcast network 120.
  • FIGS. 2a and 2b show examples of data packet structures 210, 220 as well as event notification messages 230 as used for signaling between the entities of FIG. 1.
  • the data packets 210 exchanged between the insertion trigger device 100d and the video coder 100f are in the format SCTE 104, this format being interpretable by the video coder 100f. question.
  • Such data packets 210 in the SCTE format 104 are also used by the SDI reader 100e in the third embodiment (not shown in FIG. 1) for transmission to the video coder 100f.
  • such a data packet 210 includes a header 210a and a payload field 210b.
  • the header 210a comprises specific header fields of the SCTE 104 standard, and in particular a field encapsulating the temporal information introduced above in relation with FIG. 1 (ie the time information obtained by the device of FIG. 100d insertion trigger based on both the identifier 2120b33 of the broadcast content to be substituted delivered by the advertisement management platform 100c via the substitution management device 100b, and SDI-related time data provided by the 100th SDI drive).
  • the useful data field 210b includes in particular the data initially delivered by the advertising management platform 100c via the substitution management device 100b introduced above in connection with FIG. 1, namely:
  • the first information 2120bl (e.g. the "component_tag” field in the DSM-CC format);
  • Identification information 2120b31 identifying an action to be performed by the terminal 110;
  • the identifier 2120b33 of the broadcasted content to be substituted.
  • the filtering information 2120b32 is equal to the identifier 2120b33.
  • a single field containing the information in question is encapsulated in the corresponding event notification message 230, thereby minimizing the amount of information conveyed.
  • the time information encapsulated in the header of the packet indicates a location in the data stream broadcast via the broadcast network 120 to which the corresponding event notification message 230 must be inserted in order to trigger at least one action by the terminal 110 at a suitable time for the desired substitution. This even though the event notification message 230 in question does not contain temporal information relating to their execution.
  • the video coder 100f converts the data packet 210 to the SCTE 104 format into a data packet 220 in the SCTE 35 format in the same manner as it transforms the data stream from the SDI format into an MPEG-TS stream.
  • the data fields 2120b1 to 2120b4 described above are then encapsulated in the portion of the payload 220b of the data packet 220 in SCTE format 35.
  • the temporal information encapsulated in the header 210a of the data packet 210 in the SCTE format 104 is converted into a new time information encapsulated in a header 210b of the data packet 220 in the SCTE format 35.
  • the "timecode In the format SCTE 104 is converted into a "timestamp" PTS (for "Presentation Time Stamps" in English) in the format SCTE 35 so as always to indicate a location, in the data stream broadcast via the broadcast network 120, to which the message
  • the corresponding event notification 230 must be inserted coherently with the information initially delivered by the ad management platform 100c.
  • the data packet 220 in the SCTE format 35 is then inserted into the MPEG-TS stream in MPEG4 format generated by the video coder 100f before transmission to the MPEG / DVB multiplexer 100g.
  • Such a data packet 220 in SCTE format 35 is also used by the insertion trigger device 100d for transmission directly to the MPEG / DVB multiplexer 100g in the second embodiment (not shown in FIG. 1).
  • the useful data field 210b also includes the insertion information 2120b4 ( eg via a "command" field for example) in question.
  • another temporal information encapsulated in the header of the data packet 210 indicates a location in the data stream broadcast via the broadcast network 120 to which the image makes it possible to initiate a decoding, by the terminal 110, of the data stream must be inserted.
  • the video coder 100f inserts the image in question into the data stream at a time slot indicated by the other time information encapsulated in the header of the data packet 210 in question.
  • the MPEG / DVB multiplexer 100g converts the data packet 220 to the SCTE 35 format into an event notification message 230, or "StreamEvent" in the DSM-CC format.
  • Such an event notification message 230 includes:
  • the identification information 2120b31 identifying an action to be performed by the terminal 110;
  • the event notification message 230 includes the standardized fields of the "StreamEvent" messages in the DSM-CC format, namely a field containing a table header 230al (or “table header” in English), a field containing a CC (for "cyclic redundancy check” in English) table 230a2 (or “CRC table” in English), and a header field 230a3 (or "packet header” in English).
  • the MPEG / DVB multiplexer 100g inserts such an event notification message 230 into the elementary flux component identified by the first information item 2120bl, and at the instant defined by the time information encapsulated in the header 210b of the packet 220 data in the corresponding SCTE 104 format.
  • the instant at which the event notification message 230 is inserted into the stream delivered by the MPEG / DVB multiplexer 100g is accurately controlled by the system 100.
  • FIGS. 3 and 4 the steps of a method of signaling, at the terminal 110, the substitution of a content broadcast via the broadcast network 120, as well as the steps of a method of broadcasting, are described. substitution, by the terminal 110, of a content broadcast via the broadcast network 120, according to various embodiments of the invention.
  • a substitution information packet 220 in the SCTE format 35 comprising a temporal information indicative of a time of execution by the terminal 110 of the least one action for substitution of the content broadcast by the substitution content, is obtained by the MPEG / DVB multiplexer 100g.
  • the substitute information packet 220 in the SCTE format obtained by the MPEG / DVB multiplexer 100g is provided either by the video coder 100f (in this case).
  • the substitute information packet 220 in the SCTE format results from the conversion, by the video coder 100f, of a substitution information packet 210 in the corresponding SCTE format 104 provided either by the SDI reader 100e, or directly by the insertion trigger device 100d), or directly by the insertion trigger device 100d.
  • an event notification message 230 (here a "StreamEvent" message in the DSM-CC format) is generated by the MPEG / DVB 100g multiplexer taking up firstly the second information 2120b2 and the proprietary data 2120b3 conveyed in the substitution information packet 220 as described above in relation to FIGS. 2a and 2b.
  • the MPEG / DVB multiplexer 100g inserts the event notification message 230 into the data stream conveying the content broadcast via the broadcast network. 120.
  • the event notification message 230 is inserted into the data stream at a time location dependent on the information time in the substitute information packet 220 obtained as described above.
  • the terminal 110 receives the event notification message 230 inserted into the data stream by the MPEG / DVB multiplexer 100g.
  • the terminal 110 executes the at least one action associated with the message in question. More particularly, the execution in question is triggered by the receipt of the event notification message 230 by the terminal and is performed without knowledge of the time information indicative of the execution time by the terminal of said at least one action in question. In other words, the at least one action is executed by the terminal 110, immediately upon receipt of the event notification message 230, after an execution latency only related to constraints of hardware implementations in the terminal ( no temporal information of execution of the at least one action in question is not otherwise present in the event notification message 230 nor provided to the terminal by any other means).
  • the at least one action is executed at the earliest moment upon receipt of the event notification message 230.
  • the latency of The execution in question may take into account a delay of a fixed predetermined duration, for example so that the signaling method according to the invention is supported by different types of terminals as discussed below in relation to FIG. in this case, the delay only depends on the nature of the terminal and is not indicative of the time of execution by the terminal of the said at least one action in question.
  • the signaling of the substitution is based on the implementation in the terminal 110 of existing standards although not dedicated to the signaling of events called "real time", ie whose notification messages do not contain any time reference allowing a synchronous execution with respect to the broadcast data stream (here DSM-CC "streamevent" messages in the embodiments considered).
  • the generation step E310 implemented within the system 100 comprises a sub-step of encapsulation of at least one identification information item 2120b31 in the event notification message 230.
  • the execution step E430 implemented by the terminal 110 comprises a substep of obtaining E430a, by the terminal 110, of the at least one identification information item 2120b31 in the notification message d. event 230.
  • the at least one action and function of the at least one identification information 2120b31 are reported simply and directly to the terminal.
  • the event notification message 230 comprises a unique identification information 2120b31 that can take several values each associated, in the terminal, with a set of at least one action.
  • a particular event (e.g. the beginning of the broadcast content to be substituted, the end of the broadcast content to be substituted, etc.) is reported to the terminal via the unique identification information 2120b31.
  • the event notification messages mark the flow of data conveying the broadcast content.
  • the terminal thus deduces from the event that is notified to it one or more actions to be performed for the substitution of the broadcasted content.
  • the action or actions to be performed are obtained in the terminal via an algorithm taking into account the event in question but also other events that have been signified at the terminal prior to the event in question if appropriate (eg the notified events in question serve as inputs to a state machine, the transitions between states being a function of the notified events in question, the actions to be performed being associated with a given state).
  • a waiting message (eg a logo in motion, a GIF (for Graphics Interchange Format) animated, an inter-advertising sequence, a message waiting audio, etc.) is for example reproduced (visually and / or audibly) while the decoder initiates a new decoding, thus avoiding a lack of restitution to the user (eg a black screen) during this time. the.
  • Such a set of actions to be performed, as well as, if appropriate, the set of events and an associated algorithm, are for example provided to the terminal 110 via the HbbTV application discussed above in relation with FIG.
  • substitution information packet 220 further comprises: the first information item 2120b1 for identifying an elementary stream component of the data stream conveying the broadcast content; the second information 2120b2 making it possible to identify an event flow in the elementary flow component; and
  • the event notification message 230 is inserted into the event stream in question (identified by the first 2120bl and second 2120b2 information).
  • the generation step E310 implemented within the system 100 further comprises an encapsulation sub-step E310b of the filtering information 2120b32 and the second information item 2120b2 in the event notification message 230 .
  • the terminal 110 also performs a reception step E410 of the same first 2120b1 and second 2120b2 information, as well as the 2120b32 filtering information, but via the broadband network 130 (eg via the file in XML format for the first time). (2120bl) and second (2120b2) information, and via the HbbTV application for the filtering information (2120b33) as discussed above in connection with Fig. 1).
  • the reception step E420 of the event notification message 230 is a function of the first 2120bl and the second information 2120b2, so as to identify the event flow of the elementary flow component in which the notification message of event 230 has been inserted, and 2120b32 filtering information, to identify the event notification message 230 within the identified event stream.
  • the 2120b32 filtering information is a 2120b33 identifier of the broadcast content to be substituted by targeted content.
  • the quantity of data conveyed in the system 100 implementing the signaling method is thus minimized, the same identifier making it possible to indicate to the different entities of the system 100 and to the terminal 110 the content to be substituted, and the terminal 110 to filter the event notification messages intended for it.
  • the use of a content identifier 2120b33 broadcast as 2120b32 filtering information for a given set of terminals among the plurality of terminals makes it possible to signal to all the terminals of the set in question that they will have to perform a substitution of the same broadcasted content (corresponding to the identifier 2120b33 ).
  • each terminal of the set of terminals in question having received a specific HbbTv application from the static internet server 100a via the broadband network 130, the substitution content remains targeted (via the information contained in the particular HbbTv applications in question) for the corresponding terminal, even though the same 2120b32 filtering information was used for all terminals in the set.
  • such 2120b32 filtering information corresponding or not to the identifier 2120b33 of the broadcasted content to be substituted, makes it possible to signal to the terminal 110 which targeted content to use, among a plurality of targeted contents previously downloaded, for perform the substitution of the broadcast content.
  • the terminal 110 also performs an E400 reception step of the targeted content (s):
  • the broadband network 130 to which it is connected for example via the HbbTV application, making it possible to minimize the load on the broadcasting network.
  • a packet of substitution information 210 in the SCTE 104 format is obtained by the video coder 100f is from the insertion triggering device 100d, or from the SDI reader 100e.
  • the substitute information packet 210 in question comprises:
  • o insertion information 2120b4 indicating whether the signaling method implemented by the system 100 further comprises an insertion step E330, by the video coder 100f, in the data stream, of at least one image allowing initiating a decoding, by the terminal 110, of the data stream (eg an intra-coded intra picture or I picture placed at the beginning of a GOP);
  • the insertion time slot is such that a time difference, in said data stream, between the at least one image and the event notification message 230 (inserted in the stream during the step insertion method E320 described above) is greater than the aforementioned execution latency.
  • the resumption of the decoding by the terminal 110 of the broadcasted content signaled by the event notification message 230 can start concomitantly with the reception of the image in question by the terminal 110.
  • the wait before the beginning of the resumption of the decoding of the diffused content, and therefore the duration of restitution of the waiting elements as well as the risk of a lack of restitution to the user (eg a black screen) to the end of the rendering of such a waiting element is minimized.
  • the video coder 100f does not obtain insertion information 2120b4 and systematically performs the insertion step E330 of the at least one image in question with a time difference. as defined above. Such a time difference is for example predefined. Thus, the amount of information conveyed within the system 100 is minimized.
  • a preparatory event notification message 230 is inserted at time t0 by the MPEG / DVB multiplexer 100g into the data stream, for example five minutes before advertising Pub2 to substitute.
  • the preparatory event notification message 230 encapsulates, among other things, identification information 2120b31 identifying the event: "preparation for a substitution".
  • the terminal 110 executes a set of actions defined for this event by the application HbbTV obtained via the broadband network 130 from of the static internet server 100a.
  • the terminal 110 receives the information on the advertisements to be substituted, here Pub2 advertising. It also receives the alternative advertisements by implementing step E400 described above in connection with FIG. 4 and then waits for the reception of a first event notification message 230 encapsulating, inter alia, information 2120b31 identifying the event: "beginning of inter advertisement before advertisement pub2".
  • the first event notification message 230 identifying the event: "publicity start prior to advertisement pub2" is inserted at time t1 by the MPEG / DVB multiplexer 100g into the data stream.
  • the time t1 at which the first event notification message 230 is inserted into the stream corresponds substantially to the beginning of the inter-advertisement sequence preceding the Pub2 advertisement to be substituted. Indeed, in practice such a time tl can be chosen with a certain tolerance with respect to the beginning of the sequence inter advertisements in question.
  • the first event notification message 230 is inserted into a data packet (eg a data packet in the MPEG2-TS sense) preceding one or a few packets of the first packet carrying the data of the inter-advertisement sequence. in question.
  • the first event notification message 230 is inserted into a packet of the next data stream of one or a few packets the first packet conveying the data of the inter-advertisement sequence in question. In yet other variants, the first event notification message 230 is inserted into a packet just before the data packet conveying the first image of the inter-advertisement sequence preceding the Pub2 advertisement to be substituted.
  • the HbbTV application executed by the terminal 110 implements a fixed predetermined delay (whose utility is specified hereinafter), which is not reprogrammable on the fly via event notification messages 230 or via other information conveyed by the data stream, and which is part of the latency of execution of the action sets by the terminal.
  • a fixed predetermined delay whose utility is specified hereinafter
  • Such latency is therefore solely related to hardware implementation constraints in the terminal, and is not a function of information conveyed by the data stream.
  • the fixed predetermined delay makes it possible to synchronize the execution of the set of actions with respect to the content conveyed by the data stream.
  • different terminal models 110 potentially having different intrinsic latencies, can be assigned the same execution latency so that a first event notification message 230 inserted at time t1 is processed in the same time (in terms of synchronization of the execution of the action set with respect to the content conveyed by the data stream) by all the terminals receiving the first event notification message 230, regardless of their type .
  • a given terminal receives on the one hand an identifier of the action to be executed and on the other hand a temporal information representative of the time of execution of the action in question.
  • the terminal executes the action to be executed.
  • the terminal takes into account its intrinsic latency execution so that the action in question is actually executed at the time of execution corresponding to received time information.
  • the terminal 110 executes immediately (ie after a given execution latency (predetermined or intrinsic)) a set of actions defined for this event by the application H bbTV obtained via the wide network. band 130 to the static internet server 100a, the execution being triggered by the reception of the first event notification message 230.
  • the terminal executes the action set without knowledge of a temporal information (information which would have been otherwise provided) indicative of a moment of execution, by the terminal, of the set of actions in question.
  • the terminal 110 For example, the terminal 110:
  • a second event notification message 230 is inserted at time t2 by the MPEG / DVB multiplexer 100g into the data stream. More particularly, the time t2 at which the second event notification message 230 is inserted into the stream corresponds substantially to the beginning of the advertisement Pub2 to be substituted in the same manner as the first event notification message 230 is inserted into the advertisement. flows substantially at the beginning of the inter-advertisement sequence preceding the advertisement Pub2 to be substituted as discussed above in relation to the time t1 (ie with a certain tolerance with respect to the beginning of the sequence in question).
  • the second event notification message 230 encapsulates, among other things, identification information 2120b31 identifying the event: "advertising start pub2".
  • the terminal 110 After execution latency only related to constraints of hardware implementations in the terminal from the receipt of the second event notification message 230, the terminal 110 immediately executes a set of actions defined for this event by the HbbTV application. In other words, the terminal executes the action set without knowledge of temporal information indicative of a moment of execution, by the terminal, of the set of actions in question. For example, the terminal 110: starts playing the decoded targeted advertisement, renders the decoded targeted advertisement on its screen and hides the image of inter advertisements.
  • a third event notification message 230 is inserted at time t3 by the MPEG / DVB multiplexer 100g into the data stream. More particularly, the time t3 at which the third event notification message 230 is inserted into the stream corresponds substantially to the beginning of the advertisement sequence following the advertisement Pub2 to be substituted in the same manner as the first event notification message. 230 is inserted into the stream substantially at the beginning of the inter-advertisement sequence preceding the advertisement Pub2 to be substituted as discussed above in relation to the time t1 (ie with a certain tolerance with respect to the beginning of the sequence in question).
  • the third event notification message 230 encapsulates, among other things, identification information 2120b31 identifying the event: "end of advertisement".
  • the terminal 110 immediately executes a set of actions defined for this event by the HbbTV app.
  • the terminal executes the set of actions without knowledge of a temporal information indicative of a time of execution, by the terminal, of the set of actions in question.
  • the terminal 110 displays on its screen the inter advertisement image, stops the decoding of the targeted advertising, initiates the decoding of the broadcasted content and begins the display in the background of the decoded broadcast content.
  • the video coder 100f is notified, via a packet of substitution information 210 in the SCTE format 104, to the video coder 100f to place an image making it possible to initiate a decoding, by the terminal 110, of the data stream (eg an image I from a GOP start).
  • the image it is sufficient for the image to be inserted into the stream after the third event notification message 230, with a time difference with the third event notification message 230 in question that is greater than an execution latency of the action inducing decoding by the terminal.
  • the decoder will take into account the image in question when it starts the decoding.
  • a fourth event notification message 230 is inserted at time t4 by the MPEG / DVB multiplexer 100g into the data stream. More particularly, the time t4 at which the fourth event notification message 230 is inserted into the stream corresponds substantially to the beginning of the Pub3 advertisement following the Pub2 advertisement to be substituted in the same manner as the first event notification message 230. is inserted in the stream substantially at the beginning of the inter-advertisement sequence preceding the advertisement Pub2 to be substituted as discussed above in relation to the time t1 (ie with a certain tolerance with respect to the beginning of the sequence in question).
  • the fourth event notification message 230 encapsulates, among other things, identification information 2120b31 identifying the event: "end of inter advertisements after advertisement pub2".
  • the terminal 110 immediately executes a set of actions defined for this event by the HbbTV app.
  • the terminal executes the set of actions without knowledge of a temporal information indicative of a time of execution, by the terminal, of the set of actions in question.
  • the terminal 110 masks the inter advertisement image which allows the display of the broadcast stream. The substitution of pub2 publicity is then complete.
  • the event "beginning of inter advertisement” for the second advertisement to be substituted, and the event “end of advertising” for the first advertisement to be substituted can be notified to the terminal 110 via one and the same event notification message 230.
  • the actions described above in relation to T1 are also implemented at the instant. t3 (in addition to the actions already described above in relation to t3) in order to prepare the substitution of Pub3.
  • the actions described above in relation to t2 are also implemented at time t4 (in addition to the actions already described above in relation to t4) in order to effectively perform the substitution of Pub3.
  • the video decoder of the terminal 110 notifies the HbbTV application, via an event El, that the decoding of the targeted advertisement initiated following the reception of the first event notification message 230 is now effective, ie that the targeted advertising is now available for display by the terminal 110.
  • the application HbbTV if the application HbbTV is notified of the event El before receiving the second event notification message 230 above, the application HbbTV masks the inter-advertisement image and displays the targeted advertisement without waiting for the receipt of the second event notification message 230.
  • the inter-advertisement sequence preceding the advertisement Pub2 to to substitute will be shorter than in the case described above in relation to Figure 5, thereby maximizing the time available for substitution advertising.
  • the video decoder of the terminal 110 notifies the HbbTV application, via an event E2, that the decoding of the targeted advertisement initiated following the reception of the first event notification message 230 is now complete.
  • the HbbTV application in question displays on the screen of the terminal 110 the image of Advertisements without waiting for the receipt of the third event notification message 230.
  • the inter-advertisement sequence preceding the advertisement Pub3 will be longer. This allows for example to limit the risk to encroach on the beginning of Pub3 advertising when returning to the decoding of the data stream.
  • the risk of a lack of restitution to the user eg a black screen
  • the HbbTV application may not take into account the event El or the event E2.
  • the HbbTV application displays the targeted advertisement in place of Pub2 upon receipt of the second event notification message 230 or displays on the screen of the terminal 110 the image of inter advertisements upon receipt of the third message. of event notification 230 as described above in connection with FIG. 5.
  • FIG. structure of the television broadcast system 100 enabling the method of FIG. 3 to be implemented.
  • the system 100 comprises a random access memory 603 (for example a RAM memory), a processing unit 602 equipped for example with a processor, and driven by a computer program stored in a read-only memory 601 (for example a ROM or a hard disk).
  • a computer program stored in a read-only memory 601 (for example a ROM or a hard disk).
  • the code instructions of the computer program are for example loaded into the RAM 603 before being executed by the processor of the processing unit 602.
  • FIG. 6 only illustrates one of several possible ways of realizing the system 100, so that it performs certain steps of the method detailed above, in connection with FIG. 3 (in any one of the various embodiments). ). Indeed, these steps can be performed indifferently on a reprogrammable calculation machine (a PC computer, a DSP processor or a microcontroller) executing a program comprising a sequence of instructions, or on a dedicated computing machine (for example a set of logical gates such as an FPGA or an ASIC, or any other hardware module).
  • a reprogrammable calculation machine a PC computer, a DSP processor or a microcontroller
  • a program comprising a sequence of instructions
  • a dedicated computing machine for example a set of logical gates such as an FPGA or an ASIC, or any other hardware module.
  • the corresponding program (that is to say the sequence of instructions) can be stored in a removable storage medium (such as for example a diskette, CD-ROM or DVD-ROM) or not, this storage medium being readable partially or totally by a computer or a processor.
  • a removable storage medium such as for example a diskette, CD-ROM or DVD-ROM
  • the entities 100a to 100h constituting the system 100 of FIG. 1 are embodied as partially or completely separate hardware components.
  • the material components in question all include means equivalent to those described above in relation with FIG.
  • FIG. 7 shows an example of the structure of the terminal 110, enabling the method of FIG. 4 to be implemented.
  • the terminal 110 comprises a random access memory 703 (for example a RAM memory), a processing unit 702 equipped for example with a processor, and driven by a computer program stored in a read-only memory 701 (for example a ROM or a hard disk).
  • a computer program stored in a read-only memory 701 (for example a ROM or a hard disk).
  • the code instructions of the computer program are for example loaded into the RAM 703 before being executed by the processor of the processing unit 702.
  • FIG. 7 only illustrates one of several possible ways of realizing the means included in the terminal 110 so that it performs certain steps of the method detailed above, with reference to FIG. 4 (in any one of the different embodiments). Indeed, these steps can be performed indifferently on a reprogrammable calculation machine (a PC computer, a DSP processor or a microcontroller) executing a program comprising a sequence of instructions, or on a dedicated computing machine (for example a set of logical gates such as an FPGA or an ASIC, or any other hardware module).
  • a reprogrammable calculation machine a PC computer, a DSP processor or a microcontroller
  • a program comprising a sequence of instructions
  • a dedicated computing machine for example a set of logical gates such as an FPGA or an ASIC, or any other hardware module.
  • the corresponding program (that is to say the sequence of instructions) can be stored in a removable storage medium (such as by example a floppy disk, a CD-ROM or a DVD-ROM) or not, this medium of storage being readable partially or totally by a computer or a processor.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Computer And Data Communications (AREA)

Abstract

L'invention concerne un procédé de signalisation, à un terminal, de la substitution d'un contenu diffusé via un réseau de diffusion auquel est connecté le terminal par un contenu de substitution ciblé au moins pour le terminal. Un tel procédé comprend : • une obtention (E300) d'au moins un paquet d'informations de substitution comprenant une information temporelle indicative d'un instant d'exécution par le terminal d'au moins une action pour la substitution du contenu diffusé par le contenu de substitution; • une génération (E310) d'au moins un message de notification d'événement induisant, immédiatement à réception par le terminal, une exécution de l'au moins une action; et • une insertion (E320), dans un flux de données véhiculant le contenu diffusé au sein du réseau de diffusion, du au moins un message de notification d'événement à un emplacement temporel fonction de l'information temporelle.

Description

Procédé de signalisation d'une substitution à un terminal, procédé de substitution par un terminal, produits programme d'ordinateur, système et terminal correspondants. 1 DOMAINE TECHNIQUE
Le domaine de l'invention est celui de la substitution de contenu au sein d'un flux diffusé (c'est-à-dire le remplacement d'un contenu par un autre). On parle également d'insertion de contenu, ou encore de décrochage.
Plus précisément l'invention concerne un procédé de signalisation, à un terminal, de la substitution d'un contenu diffusé via un réseau de diffusion auquel est connecté le terminal par un contenu ciblé pour le terminal en question, ainsi qu'un procédé de substitution correspondant mis en œuvre dans le terminal.
L'invention a de nombreuses applications, notamment, mais non exclusivement, dans le domaine de la publicité ciblée, la méthode décrite permettant une restitution d'une publicité personnalisée (ciblée) au niveau d'un terminal en lieu et place d'une publicité diffusée par un réseau de diffusion.
2 ARRIERE-PLAN TECHNOLOGIQUE
Il existe aujourd'hui des protocoles permettant d'insérer des ordres de décrochage dans un flux de données véhiculant un contenu diffusé au sein d'un réseau de diffusion.
Par exemple, le protocole SCTE (pour « Society of Cable Télécommunications Engineers » en anglais) 104 permet de transmettre de tels ordres, classiquement entre un studio d'enregistrement de la chaîne de diffusion et un codeur embarqué dans la tête de réseau. Plus particulièrement, les ordres en question sont soit insérés dans le flux SDI (pour « Sériai Digital Interface » en anglais) produit en sortie du studio d'enregistrement, soit véhiculés en parallèle du flux SDI via par exemple une connexion IP (pour « Internet Protocol » en anglais).
Les ordres au format SCTE 104 sont classiquement reçus par le codeur qui les traduit au format SCTE 35 (autre protocole) et les insère dans son flux MPEG-TS (pour « Moving Picture Experts Group - Transport Stream » en anglais) de sortie, à destination d'un multiplexeur également embarqué dans la tête de réseau. Le multiplexeur réalise ainsi des décrochages entre un programme national et un programme local sur la base de tels ordres reçus afin de générer un flux de données multiplexé correspondant.
Des solutions de signalisation à un terminal de la substitution de contenus diffusés par des publicités ciblées ont été développées sur la base de tels protocoles. A titre d'exemple la solution de l'opérateur britannique SKY est basée sur l'usage du protocole SCTE 35.
Cependant, les protocoles (standards) SCTE 35 ou 104 ne sont pas normalisés pour les terminaux destinés à restituer les contenus ciblés en question et ne sont donc pas implémentés par défaut sur ces derniers. De telles solutions de signalisation à un terminal nécessitent ainsi l'usage d'un récepteur propriétaire au niveau du terminal afin de pouvoir interpréter les ordres reçus selon un de ces protocoles SCTE 35 et 104.
Il existe donc un besoin pour une méthode de signalisation d'une substitution de contenus à un terminal grand public tel que l'on peut en trouver dans le commerce afin de minimiser le coût de la solution ainsi que d'en faciliter le déploiement.
Une telle méthode doit par ailleurs permette la substitution de contenu d'une manière souple afin de préserver l'expérience utilisateur, par exemple en réduisant les discontinuités dans le rendu à l'utilisateur pouvant résulter du basculement entre le contenu diffusé et le contenu de substitution ciblé pour le terminal en question.
3 RESUME
Dans un mode de réalisation de l'invention, il est proposé un procédé de signalisation, à un terminal, de la substitution d'un contenu diffusé via un réseau de diffusion auquel est connecté le terminal par un contenu de substitution ciblé au moins pour le terminal. Un tel procédé comprend :
· une obtention d'au moins un paquet d'informations de substitution comprenant une information temporelle indicative d'un instant d'exécution par le terminal d'au moins une action pour la substitution du contenu diffusé par le contenu de substitution ;
• une génération d'au moins un message de notification d'événement induisant par ledit terminal une exécution de ladite au moins une action, ladite exécution étant déclenchée par une réception dudit au moins un message de notification d'événement par ledit terminal et effectuée sans connaissance de ladite information temporelle ; et
• une insertion, dans un flux de données véhiculant le contenu diffusé au sein du réseau de diffusion, du au moins un message de notification d'événement à un emplacement temporel fonction de l'information temporelle.
Ainsi, l'invention propose une solution nouvelle et inventive pour permettre la signalisation à un terminal, via un réseau de diffusion, de la substitution d'un contenu diffusé par un contenu ciblé (e.g. une publicité ciblée pour un utilisateur du terminal en question).
Pour ce faire, la méthode revendiquée propose de signaler au terminal qu'il doit effectuer des actions permettant la substitution en question (e.g. démarrer le décodage du contenu ciblé, restituer le contenu ciblé décodé, etc.) via l'envoi de messages de notifications d'événements ne contenant aucune information temporelle concernant la date (en référence au contenu diffusé) à laquelle la substitution en question doit avoir lieu.
Plus particulièrement, une action pour la substitution est exécutée par le terminal sans connaissance d'une information temporelle indicative d'un instant d'exécution, par le terminal, de l'action en question. En d'autres termes, le terminal exécute l'action en question immédiatement à réception du message de notification d'événement, i.e. après une latence d'exécution uniquement liée à des contraintes d'implémentations matérielle dans le terminal, l'exécution étant déclenchée par la réception du message de notification d'événement correspondant par le terminal.
Ainsi, seul l'instant d'insertion des messages de notifications d'événements dans le flux de données permet de contrôler les instants d'exécution des actions en question.
Ainsi, la signalisation de la substitution peut s'appuyer sur des standards existants bien que non dédiés à la signalisation d'événements dits « temps réels », i.e. dont les messages de notifications ne contiennent pas de référence temporelle permettant une exécution synchrone par rapport au flux de données diffusé (e.g. des messages « streamevent » au format DSM-CC (pour « Digital Storage Media Command and Control » en anglais)).
Dans un mode de réalisation, l'au moins un paquet d'informations de substitution comprend au moins une information d'identification, l'au moins une action étant fonction de l'au moins une information d'identification. La génération comprend une encapsulation de l'au moins une information d'identification dans l'au moins un message de notification d'événement.
Ainsi, une action particulière à exécuter (e.g. démarrer le décodage du contenu ciblé, restituer le contenu ciblé décodé, etc.) est signalée de manière simple et directe au terminal.
Dans un mode de réalisation, l'au moins un paquet d'informations de substitution comprend une unique information d'identification pouvant prendre plusieurs valeurs associées chacune, dans le terminal, à un jeu distinct d'au moins une action. La génération comprend une encapsulation de l'unique information d'identification dans l'au moins un message de notification d'événement.
Ainsi, un événement particulier (e.g. le début du contenu diffusé à substituer, la fin du contenu diffusé à substituer, etc.) est signalé au terminal via l'information d'identification. En d'autres termes, dans ce mode de réalisation les messages de notifications d'événements balisent le flux de données véhiculant le contenu diffusé.
Le terminal déduit ainsi de l'événement qui lui est notifié une ou plusieurs actions à réaliser pour la substitution du contenu diffusé. Dans une variante, la ou les actions à réaliser sont obtenues dans le terminal via un algorithme prenant en compte l'événement en question mais également les événements qui ont été signifiés au terminal antérieurement à l'événement en question.
Dans un mode de réalisation, l'au moins un paquet d'informations de substitution comprend en outre :
• une première information permettant d'identifier une composante de flux élémentaire du flux de données ; • une deuxième information permettant d'identifier un flux d'événements dans la composante de flux élémentaire, l'au moins un message de notification d'événement étant compris dans le flux d'événements ; et
• une information de filtrage ;
les première et deuxième informations et l'information de filtrage étant transmises au moins au terminal. L'insertion est fonction de la première information et l'étape de génération comprend une encapsulation de l'information de filtrage et de la deuxième information dans l'au moins un message de notification d'événement.
Ainsi, un message de notification d'événement peut être associé à un terminal particulier, permettant par là-même un meilleur ciblage des contenus de substitution.
Par ailleurs, lorsqu'une pluralité de terminaux reçoit le flux de données véhiculant le contenu diffusé, l'utilisation des mêmes première et deuxième informations ainsi que de la même information de filtrage pour plusieurs terminaux parmi la pluralité de terminaux permet de signaler la substitution du même contenu diffusé aux plusieurs terminaux en question.
Dans un mode de réalisation, le procédé de signalisation comprend en outre :
• une autre insertion, dans le flux de données, d'au moins une image permettant d'initier un décodage, par le terminal, du flux de données,
un écart temporel, dans le flux de données, entre l'au moins une image et l'au moins un message de notification d'événement étant supérieur à une latence d'exécution de l'action identifiée après réception de l'au moins un message de notification d'événement.
Ainsi, à la fin de la substitution, le décodage par le terminal du contenu diffusé reprend dès la réception de l'image en question (e.g. une image à codage interne du type intra ou image I placée au début d'un GOP (pour « Group Of Picture »), minimisant par là-même l'attente avant le début de la reprise du décodage du contenu diffusé, et donc la durée de restitution des éléments d'attente ainsi que le risque d'une absence de restitution à l'utilisateur (e.g. un écran noir) à la fin de la restitution d'un tel élément d'attente. Dans un mode de réalisation, l'au moins un paquet d'informations de substitution comprend également :
• des informations d'insertion indiquant si l'autre insertion doit être effectuée ; et
• une autre information temporelle indiquant un emplacement temporel d'insertion de l'au moins une image dans le flux de données lorsque les informations d'insertion indiquent que l'autre insertion doit être effectuée.
Ainsi, le dispositif gérant la substitution reste maître de l'insertion (ainsi que de l'instant de l'insertion le cas échéant) d'une telle image afin d'optimiser les transitions entre les restitutions du contenu diffusé et du contenu ciblé pour un terminal donné.
Dans différents modes de réalisation, l'au moins un paquet d'informations de substitution suit un protocole SCTE, pour « Society of Cable Télécommunications Engineers » en anglais, 35 ou 104.
Ainsi, l'information temporelle servant à l'insertion des messages de notification d'événement est aisément transmise au dispositif mettant en œuvre le procédé de signalisation via un protocole standardisé définissant un champ de référence temporelle permettant de synchroniser des événements (ici par exemple les messages de notification d'événements) avec une horloge du flux de données véhiculant le contenu diffusé au sein du réseau de diffusion.
Dans un mode de réalisation, l'étape d'insertion est mise en œuvre au moins deux fois de sorte que :
• un premier message de notification d'événement est inséré à un premier instant dans le flux de données véhiculant ledit contenu diffusé au sein du réseau de diffusion, le premier instant correspondant sensiblement à un début d'une première inter-séquence précédant le contenu diffusé à substituer, le premier message de notification d'événement induisant au moins une restitution d'un premier élément d'attente par le terminal, la restitution du premier élément d'attente étant déclenchée par une réception du premier message de notification d'événement par le terminal et effectuée sans connaissance d'une première information temporelle indicative d'un instant d'exécution par le terminal de la restitution du premier élément d'attente ; et • un deuxième message de notification d'événement est inséré à un deuxième instant dans le flux de données véhiculant le contenu diffusé au sein du réseau de diffusion, le deuxième instant correspondant sensiblement à un début du contenu diffusé à substituer, le deuxième message de notification d'événement induisant au moins un masquage du premier élément d'attente par le terminal, le masquage du premier élément d'attente étant déclenché par une réception du deuxième message de notification d'événement par le terminal et effectué sans connaissance d'une deuxième information temporelle indicative d'un instant d'exécution par le terminal du masquage du premier élément d'attente.
Ainsi un élément d'attente est restitué pendant la transition entre la fin de la restitution du contenu diffusé et le début de la restitution du contenu de substitution ciblé, évitant par là-même une absence de restitution à l'utilisateur (e.g. un écran noir) pendant la transition en question (e.g. pendant que le décodeur initie un nouveau décodage).
Dans un mode de réalisation, l'étape d'insertion est mise en œuvre au moins deux fois de sorte que :
• un troisième message de notification d'événement est inséré à un troisième instant dans le flux de données véhiculant le contenu diffusé au sein du réseau de diffusion, le troisième instant correspondant sensiblement à un début d'une deuxième interséquence suivant le contenu diffusé à substituer, le troisième message de notification d'événement induisant au moins une restitution d'un deuxième élément d'attente par le terminal, la restitution du deuxième élément d'attente étant déclenchée par une réception du troisième message de notification d'événement par le terminal et effectuée sans connaissance d'une troisième information temporelle indicative d'un instant d'exécution par le terminal de la restitution du deuxième élément d'attente ; et
• un quatrième message de notification d'événement est inséré à un quatrième instant dans le flux de données véhiculant le contenu diffusé au sein du réseau de diffusion, le quatrième instant correspondant sensiblement à un début d'un autre contenu diffusé suivant la deuxième inter-séquence, le quatrième message de notification d'événement induisant au moins un masquage du deuxième élément d'attente par le terminal, le masquage du deuxième élément d'attente étant déclenché par une réception du quatrième message de notification d'événement par le terminal et effectué sans connaissance d'une quatrième information temporelle indicative d'un instant d'exécution par le terminal du masquage du deuxième élément d'attente.
Ainsi un élément d'attente est restitué pendant la transition entre la fin de la restitution du contenu de substitution ciblé et la reprise de la restitution du contenu diffusé, évitant par là-même une absence de restitution à l'utilisateur (e.g. un écran noir) pendant la transition en question (e.g. pendant que le décodeur initie un nouveau décodage).
Dans un mode de réalisation, au moins une autre image permettant d'initier un décodage, par le terminal, dudit autre contenu diffusé est insérée dans le flux de données. Le troisième message de notification d'événement déclenche en outre une action induisant un décodage dudit autre contenu diffusé. Un écart temporel, dans le flux de données, entre ladite au moins une autre image et le troisième message de notification d'événement est supérieur à une latence d'exécution de l'action induisant le décodage dudit autre contenu diffusé par ledit terminal.
Ainsi, le décodage par le terminal de l'autre contenu diffusé reprend dès la réception de l'image en question (e.g. une image à codage interne du type intra ou image I placée au début d'un GOP (pour « Group Of Picture »), minimisant par là-même l'attente avant le début de la reprise du décodage du contenu diffusé.
Dans un autre mode de réalisation de l'invention, il est proposé un procédé de substitution, par un terminal, d'un contenu diffusé via un réseau de diffusion auquel est connecté le terminal par un contenu de substitution ciblé au moins pour le terminal. Selon un tel procédé le terminal effectue :
• une réception d'au moins un message de notification d'événement inséré dans un flux de données véhiculant le contenu diffusé au sein du réseau de diffusion ; et
• une exécution d'au moins une action pour la substitution du contenu diffusé par le contenu de substitution, l'exécution étant déclenchée par la réception dudit au moins un message de notification d'événement par le terminal et effectuée sans connaissance d'une information temporelle indicative d'un instant d'exécution par le terminal de ladite au moins une action.
Ainsi, l'action en question est exécutée par le terminal sans connaissance d'une information temporelle indicative d'un instant d'exécution, par le terminal, de l'action en question. En d'autres termes, le terminal exécute l'action en question immédiatement à réception du message de notification d'événement, i.e. après une latence d'exécution uniquement liée à des contraintes d'implémentations matérielle dans le terminal, l'exécution étant déclenchée par la réception du message de notification d'événement correspondant par le terminal.
De la sorte, la substitution est maîtrisée (notamment en termes de délais d'exécution) quand bien même le terminal ne supporte que des messages de notification d'événements ne contenant aucune information temporelle concernant la date (en référence au contenu diffusé) à laquelle la substitution doit avoir lieu.
Ainsi, la signalisation en question peut s'appuyer sur des standards existants bien que non dédiés à la signalisation d'événements dits « temps réels » i.e. dont les messages de notification ne contiennent pas de référence temporelle permettant une exécution synchrone par rapport au flux de données diffusé (e.g. tels que supportés par des terminaux hybrides du type HbbTV (pour « Hybrid Broadcast Broadband TV » en anglais)).
Dans un mode de réalisation, l'exécution comprend une obtention d'au moins une information d'identification encapsulée dans l'au moins un message de notification d'événement. L'au moins une action est fonction de l'au moins une information d'identification obtenue.
Ainsi, une action particulière à exécuter (e.g. démarrer le décodage du contenu ciblé, restituer le contenu ciblé décodé, etc.) est signalée de manière simple et directe au terminal.
Dans un mode de réalisation, l'exécution comprend une obtention d'une unique information d'identification pouvant prendre plusieurs valeurs associées chacune, dans le terminal, à un jeu distinct d'au moins une action. L'au moins une action est fonction de l'unique information d'identification obtenue.
Ainsi, un événement particulier (e.g. le début du contenu diffusé à substituer, la fin du contenu diffusé à substituer, etc.) est signalé au terminal via l'information d'identification. En d'autres termes, dans ce mode de réalisation les messages de notifications d'événements balisent le flux de données véhiculant le contenu diffusé.
Le terminal déduit ainsi de l'événement qui lui est notifié une ou plusieurs actions à réaliser pour la substitution du contenu diffusé.
Dans un mode de réalisation, la ou les actions à réaliser sont obtenues dans le terminal via un algorithme prenant en compte l'événement en question mais également les événements qui ont été signifiés au terminal antérieurement à l'événement en question.
Dans un mode de réalisation, le terminal effectue en outre une autre réception, via un réseau large bande auquel est connecté le terminal, de :
· une première information permettant d'identifier une composante de flux élémentaire du flux de données ;
• une deuxième information permettant d'identifier un flux d'événements dans la composante de flux élémentaire, l'au moins un message de notification d'événement étant inséré dans le flux d'événements ; et
· une information de filtrage, l'au moins un message de notification d'événement encapsulant en outre l'information de filtrage ;
la réception de l'au moins un message de notification d'événement étant fonction des première et deuxième informations, pour identifier un flux d'événements dans la composante de flux élémentaire, et de l'information de filtrage, pour identifier l'au moins un message de notification d'événement au sein du flux d'événements identifié.
Ainsi, différents terminaux connectés au réseau de diffusion peuvent être adressés de manière différentiée afin de permettre un meilleur ciblage des contenus de substitution.
Par ailleurs, lorsqu'une pluralité de terminaux reçoit le contenu diffusé, l'utilisation des mêmes première et deuxième informations ainsi que de la même information de filtrage pour plusieurs terminaux parmi la pluralité de terminaux permet de signaler la substitution du même contenu diffusé aux plusieurs terminaux en question.
Dans un mode de réalisation, le terminal effectue en outre une réception du contenu ciblé via le réseau de diffusion ou via le réseau large bande auquel est connecté le terminal.
Ainsi, le terminal peut recevoir les contenus ciblés en question soit via le réseau de diffusion (e.g. via un carrousel de contenus tel que défini par le standard HbbTV), permettant l'obtention du contenu ciblé même en l'absence d'une autre connexion réseau, soit auprès d'un serveur de contenus via un réseau large bande (e.g. Internet), permettant de minimiser la charge du réseau de diffusion.
Par ailleurs, lorsque plusieurs terminaux se voient signaler la substitution d'un même contenu diffusé via la réception des mêmes messages de notification d'événement la substitution reste ciblée pour chaque terminal via la réception préalable de contenus ciblés pour chaque terminal.
Dans un mode de réalisation, l'étape d'exécution est mise en œuvre au moins deux fois de sorte que :
• une restitution d'un premier élément d'attente est exécutée par le terminal, la restitution du premier élément d'attente étant déclenchée par une réception d'un premier message de notification d'événement par le terminal et effectuée sans connaissance d'une première information temporelle indicative d'un instant d'exécution par le terminal de la restitution du premier élément d'attente, le premier message de notification d'événement étant inséré à un premier instant dans le flux de données véhiculant le contenu diffusé au sein du réseau de diffusion, le premier instant correspondant sensiblement à un début d'une première interséquence précédant le contenu diffusé à substituer ; et
• un masquage du premier élément d'attente est exécuté par le terminal, le masquage du premier élément d'attente étant déclenché par une réception d'un deuxième message de notification d'événement par le terminal et effectuée sans connaissance d'une deuxième information temporelle indicative d'un instant d'exécution par le terminal du masquage du premier élément d'attente, le deuxième message de notification d'événement étant inséré à un deuxième instant dans le flux de données véhiculant le contenu diffusé au sein du réseau de diffusion, le deuxième instant correspondant sensiblement à un début du contenu diffusé à substituer.
Ainsi un élément d'attente est restitué pendant la transition entre la fin de la restitution du contenu diffusé et le début de la restitution du contenu de substitution ciblé, évitant par là-même une absence de restitution à l'utilisateur (e.g. un écran noir) pendant la transition en question (e.g. pendant que le décodeur initie un nouveau décodage).
Dans un mode de réalisation, le premier message de notification d'événement déclenche en outre une action induisant un décodage du contenu de substitution par un décodeur du terminal, le décodeur générant un premier événement lorsque le contenu de substitution est disponible pour restitution. Lorsque le premier événement est généré avant réception du deuxième message de notification d'événement par le terminal, le terminal exécute le masquage du premier élément d'attente et restitue le contenu de substitution dès que le décodeur a généré le premier événement.
Ainsi, la restitution du premier élément d'attente est de plus courte durée que dans le cas où le masquage du premier élément d'attente et la restitution le contenu de substitution sont déclenchés par la réception du deuxième message de notification d'événement, maximisant par là-même le temps disponible pour la restitution le contenu de substitution.
Dans un mode de réalisation, l'étape d'exécution est mise en œuvre au moins deux autres fois de sorte que :
· une restitution d'un deuxième élément d'attente est exécutée par le terminal, la restitution du deuxième élément d'attente étant déclenchée par une réception d'un troisième message de notification d'événement par le terminal et effectuée sans connaissance d'une troisième information temporelle indicative d'un instant d'exécution par le terminal de la restitution du deuxième élément d'attente, le troisième message de notification d'événement étant inséré à un troisième instant dans le flux de données véhiculant le contenu diffusé au sein du réseau de diffusion, le troisième instant correspondant sensiblement à un début d'une deuxième interséquence suivant le contenu diffusé à substituer ; et
• un masquage du deuxième élément d'attente est exécuté par le terminal, le masquage du deuxième élément d'attente étant déclenché par une réception d'un quatrième message de notification d'événement par le terminal et effectuée sans connaissance d'une quatrième information temporelle indicative d'un instant d'exécution par le terminal du masquage du deuxième élément d'attente, le quatrième message de notification d'événement étant inséré à un quatrième instant dans le flux de données véhiculant le contenu diffusé au sein du réseau de diffusion, le quatrième instant correspondant sensiblement à un début d'un autre contenu diffusé suivant la deuxième inter-séquence.
Ainsi un élément d'attente est restitué pendant la transition entre la fin de la restitution du contenu de substitution ciblé et la reprise de la restitution du contenu diffusé, évitant par là-même une absence de restitution à l'utilisateur (e.g. un écran noir) pendant la transition en question (e.g. pendant que le décodeur initie un nouveau décodage).
Dans un mode de réalisation, le décodeur génère un deuxième événement lorsque le décodage du contenu de substitution est terminé. Lorsque le deuxième événement est généré avant réception du troisième message de notification d'événement par le terminal, le terminal exécute la restitution du deuxième élément d'attente dès que le décodeur a généré le deuxième événement.
Ainsi, la restitution du deuxième élément d'attente est de plus longue durée que dans le cas où la restitution du deuxième élément d'attente est déclenchée par la réception du troisième message de notification d'événement. De la sorte, le risque d'empiéter sur le début de l'autre contenu diffusé suivant la deuxième inter-séquence est minimisé. Par ailleurs, le risque d'une absence de restitution à l'utilisateur (e.g. un écran noir) à la fin de la restitution du contenu de substitution est ainsi évité.
Dans un mode de réalisation, l'information de filtrage est un identifiant du contenu diffusé. Ainsi, la quantité de données véhiculée dans le système mettant en œuvre le procédé de signalisation est minimisée, un même identifiant permettant d'indiquer aux différentes entités du système et au terminal le contenu à substituer, ainsi qu'au terminal de filtrer les messages de notifications d'événements qui lui sont destinés.
Dans un mode de réalisation, l'au moins une action définie via la première information de substitution encapsulée appartient au groupe comprenant :
• une préparation à une substitution ;
• un décodage du contenu ciblé ;
• une restitution du contenu ciblé sous une forme décodée ;
· une reprise du décodage du contenu diffusé ; et
• une restitution d'un élément d'attente.
Ainsi, la méthode revendiquée permet de signaler au terminal qu'il doit démarrer le décodage du contenu ciblé ou du contenu diffusé via un message de notification ne contenant aucune information temporelle concernant la date (en référence au contenu diffusé) à laquelle ce basculement de décodage doit avoir lieu. Il en est de même pour la restitution du contenu ainsi décodé, par exemple sur un écran du terminal.
Par ailleurs, un message d'attente (e.g. un logo en mouvement, un GIF (pour « Graphics Interchange Format » en anglais) animé, une séquence inter publicité, un message d'attente audio, etc.) peut être restitué (de manière visuelle et/ou de manière sonore) pendant que le décodeur initie un nouveau décodage, évitant par là-même une absence de restitution à l'utilisateur (e.g. un écran noir) pendant ce temps-là.
Dans un mode de réalisation, l'exécution par le terminal de ladite au moins une action est effectuée avec une latence d'exécution effective prédéterminée, différente d'une latence intrinsèque du terminal et commune avec au moins un autre terminal pour lequel est également ciblé le contenu de substitution.
Par exemple, la latence d'exécution effective prédéterminée correspond à la latence intrinsèque dudit terminal (i.e. à la latence minimale liée à l'implémentation matérielle du terminale) à laquelle est ajoutée un délai (e.g. une temporisation) permettant d'obtenir la latence d'exécution effective prédéterminée en question. Ainsi, un message de notification d'événement inséré dans le flux de données à un instant donné conduit à une exécution de l'action correspondante à un même instant par tous les terminaux mettant en œuvre la même latence d'exécution effective prédéterminée et recevant le message de notification d'événement en question.
Dans un mode de réalisation, le terminal est un terminal hybride supportant le standard HbbTV, pour « Hybrid Broadcast Broadband TV » en anglais.
Dans un mode de réalisation, le flux de données est au format MPEG-TS, pour « Moving Picture Experts Group - Transport Stream » en anglais et l'au moins un message de notification d'événement est un « stream event » au format DSM-CC, pour « Digital Storage Media Command and Control » en anglais.
Ainsi, la première information correspond au champ « Component_TAG » indiquant le PID (pour « Packet IDentifier » en anglais) dans lequel sont insérés les événements de notification, et la deuxième information correspond au champ « EventJD » identifiant les événements de notification selon ce standard.
L'invention concerne également un programme d'ordinateur comprenant des instructions de code de programme pour la mise en œuvre d'un procédé de signalisation ou d'un procédé de substitution (selon l'un quelconque de ses différents modes de réalisation), lorsqu'il est exécuté sur un ordinateur.
Dans un autre mode de réalisation de l'invention, il est proposé un système de diffusion configuré pour signaler, à un terminal, la substitution d'un contenu diffusé via un réseau de diffusion auquel est connecté le terminal par un contenu de substitution ciblé au moins pour le terminal. Un tel système de diffusion comprend :
• des moyens d'obtention d'au moins un paquet d'informations de substitution comprenant une information temporelle indicative d'un instant d'exécution par le terminal d'au moins une action pour la substitution du contenu diffusé par le contenu de substitution ;
• des moyens de génération d'au moins un message de notification d'événement induisant par le terminal une exécution de ladite au moins une action, l'exécution étant déclenchée par une réception dudit au moins un message de notification d'événement par le terminal et effectuée sans connaissance de l' information temporelle ; et
• des moyens d'insertion, dans un flux de données véhiculant le contenu diffusé au sein du réseau de diffusion, de l'au moins un message de notification d'événement à un emplacement temporel fonction de l'information temporelle.
Un tel système de diffusion est notamment apte à mettre en œuvre le procédé de signalisation selon l'invention (selon l'un quelconque des différents modes de réalisation précités).
Ainsi, les caractéristiques et avantages de ce système sont les mêmes que ceux du procédé de signalisation décrit précédemment. Par conséquent, ils ne sont pas détaillés plus amplement.
Dans un autre mode de réalisation de l'invention, il est proposé un terminal configuré pour substituer un contenu diffusé via un réseau de diffusion auquel est connecté le terminal par un contenu de su bstitution ci blé au moins pour le terminal. Un tel terminal comprend :
• des moyens de réception d'au moins un message de notification d'événement inséré dans un flux de données véhiculant le contenu diffusé au sein du réseau de diffusion ; et
• des moyens d'exécution d'au moins une action pour la substitution du contenu diffusé par le contenu de substitution, l'exécution étant déclenchée par la réception dudit au moins un message de notification d'événement par le terminal et effectuée sans connaissance d'une information temporelle indicative d'un instant d'exécution par le terminal de ladite au moins une action.
Un tel terminal est notamment apte à mettre en œuvre le procédé de substitution selon l'invention (selon l'un quelconque des différents modes de réalisation précités).
Ainsi, les caractéristiques et avantages de ce terminal sont les mêmes que ceux du procédé de substitution précédemment. Par conséquent, ils ne sont pas détaillés plus amplement.
4 LISTE DES FIGURES D'autres caractéristiques et avantages de l'invention apparaîtront à la lecture de la description suivante, donnée à titre d'exemple indicatif et non limitatif, et des dessins annexés, dans lesquels :
la figure 1 illustre un exemple de système de diffusion télévisuelle auquel est connecté un terminal, selon un mode de réalisation de l'invention ;
les figures 2a et 2b illustrent des exemples de structures de paquets de données et de message de notification d'événement, tels qu'utilisés pour la signalisation entre les entités de la figure 1 ;
la figure 3 illustre les étapes d'un procédé de signalisation, à un terminal, de la substitution d'un contenu diffusé via un réseau de diffusion selon différents modes de réalisation de l'invention ;
la figure 4 illustre les étapes d'un procédé de substitution, par un terminal, d'un contenu diffusé via un réseau de diffusion selon différents modes de réalisation de l'invention ;
la figure 5 illustre un exemple de séquencement d'insertion de messages de notifications d'événements dans un flux de données selon un mode de réalisation de l'invention ;
la figure 6 illustre un exemple de structure d'un système de diffusion permettant la mise en œuvre du procédé de la figure 3 ; et
la figure 7 illustre un exemple de structure d'un terminal permettant la mise en œuvre du procédé de la figure 4.
5 DESCRIPTION DETAILLEE DE L'INVENTION
Sur toutes les figures du présent document, les éléments et étapes identiques sont désignés par une même référence.
Le principe général de la technique décrite consiste à obtenir au moins un paquet d'informations de substitution comprenant une information temporelle indicative d'un instant d'exécution par un terminal d'au moins une action pour la substitution d'un contenu diffusé par un contenu de substitution. Un message de notification d'événement est généré et inséré dans un flux de données véhiculant le contenu diffusé au sein d'un réseau de diffusion à un emplacement temporel indiqué par l'information temporelle en question. Le message de notification d'événement induit l'exécution de l'au moins une action en question. L'exécution est déclenchée par une réception dudit un message de notification d'événement par le terminal et est effectuée sans connaissance de l'information temporelle indicative de l'instant d'exécution par le terminal de ladite au moins une action en question.
Ainsi, la signalisation de la substitution peut s'appuyer sur des standards déjà implémentés dans certains terminaux bien que non dédiés à la signalisation d'événements dits « temps réels », i.e. des standards dont les messages de notifications ne contiennent pas de référence temporelle permettant une exécution synchrone par rapport au flux de données diffusé.
On décrit maintenant, en relation avec la figure 1, un exemple de système 100 de diffusion télévisuelle auquel est connecté un terminal 110 selon un premier mode de réalisation de l'invention.
Plus particulièrement, le terminal 110 est un téléviseur grand public connecté d'une part à un réseau de diffusion 120 télévisuelle et d'autre part à un réseau large bande 130 du type internet. Un tel terminal 110 est parfois aussi appelé « TV connectée », « SmartTV », « Digital TV », « Internet TV », « Interactive TV », « hybrid TV », « PCTV », « Hybrid Broadcast Broadband TV », « HbbTV », ou « H4TV ».
Le terminal 110 est compatible avec le standard HbbTV de sorte à pouvoir télécharger, via le réseau large bande 130, une application HbbTV particulière (permettant la mise en œuvre de la substitution par le terminal 110, comme détaillé ci- après) depuis un serveur internet statique 100a. Un tel téléchargement se fait sur la base d'informations reçues (e.g. une adresse du type URL (pour « Uniform Resource Locator » en anglais)) par exemple via une table DVB AIT (pour « Digital Video Broadcasting » et « Application Information Table » en anglais) contenue dans le flux de données au format MPEG-TS reçu du système 100 de diffusion télévisuelle via le réseau de diffusion 120.
Plus particulièrement, le réseau de diffusion 120 est par exemple un réseau TNT (pour « Télévision Numérique Terrestre ») utilisant le standard DVB-T pour diffuser le flux de données au format MPEG-TS. Dans des variantes, le réseau de diffusion 120 est un réseau satellite utilisant le standard DVB-S, ou un réseau câble utilisant le standard DVB-C.
Dans d'autres variantes, le réseau de diffusion 120 s'identifie à un réseau basé sur l'usage d'un protocole de transport sur IP et le terminal 110 est par exemple une « Set-top-box » incluant (ou communiquant avec) une passerelle de réseau connectée au réseau large bande 130. Un tel protocole de transport sur IP est par exemple le protocole UDP/I P (pour « User Datagram Protocol » en anglais) permettant une diffusion du type multicast, ou le protocole TCP/IP (pour « Transmission Control Protocol » en anglais) permettant une diffusion du type unicast telle que privilégiée par les diffuseurs dits OTT (pour « Over The Top » an anglais). Dans certaines variantes, le réseau basé sur l'usage d'un protocole de transport sur IP partage des ressources physiques avec le réseau large bande 130.
Le terminal 110 est configuré pour recevoir des messages de notifications d'événements (230) contenus dans le flux de données au format MPEG-TS véhiculé par le réseau de diffusion 120. Ces messages de notifications d'événements (230) sont par exemple des « StreamEvents » au format DSM-CC (pour « Digital Storage Media Command and Control » en anglais).
Le système 100 de diffusion télévisuelle comprend une plateforme de gestion des publicités 100c qui fournit, à un dispositif de gestion de la substitution 100b (discuté plus en détails ci-dessous), notamment une information d'identification (2120b31) destinée à être encapsulée dans un message de notification d'événement (230) à destination du terminal 110.
Dans certaines variantes de signalisation, l'information d'identification (2120b31) identifie une action à exécuter par le terminal 110. Une telle action est par exemple : un décodage d'un contenu ciblé pour le terminal 110, une restitution du contenu ciblé sous une forme décodée, une reprise du décodage du contenu diffusé, une restitution d'un élément d'attente, etc.
Dans d'autres variantes de signalisation, l'information d'identification (2120b31) identifie un événement particulier. Un tel événement est par exemple : le début du contenu diffusé à substituer, la fin du contenu diffusé à substituer, etc. En d'autres termes, dans ce cas les messages de notifications d'événements balisent le flux de données véhiculant le contenu diffusé. Le terminal déduit ainsi de l'événement qui lui est notifié une ou plusieurs actions à réaliser pour la substitution du contenu diffusé (e.g. via l'exécution d'un algorithme qui prend en compte une ou plusieurs informations d'identification (2120b31) identifiant de tels événements particuliers).
La plateforme de gestion des publicités 100c fournit au dispositif de gestion de la substitution 100b en outre :
• une première information (2120bl) permettant d'identifier une composante de flux élémentaire du flux de données au format MPEG-TS (e.g. le champ « component_tag » au format DSM-CC, ce champ indiquant le PID de la composante de flux élémentaire en question) ;
• une deuxième information (2120b2) permettant d'identifier un flux d'événements dans la composante de flux élémentaire en question (e.g. le champ « event_id » au format DSM-CC) dans lequel un codeur vidéo lOOf va insérer les messages de notifications d'événements (230) à destination du terminal 110 ; et
• une information de filtrage (2120b32) permettant au terminal 110 de filtrer les messages de notifications d'événements (230) qui lui sont destinés parmi les messages de notifications d'événements (230) présents dans le flux d'événements de la composante de flux élémentaire identifié par les première (2120bl) et deuxième (2120b2) informations.
Pour ce faire, la plateforme de gestion des publicités 100c obtient tout d'abord auprès du diffuseur qui gère le réseau de diffusion 120 le champ « triplet DVB » lui permettant d'identifier de manière unique le contenu diffusé via le réseau de diffusion 120 en question, ainsi qu'un identifiant (2120b33) (e.g. un champ « AdvertJD »), permettant d'identifier une publicité à venir dans le flux diffusé. Dans des variantes, un tel identifiant véhicule également d'autres informations (e.g. un champ « SlotJD ») relatives à la publicité à venir en question, par exemple l'identifiant d'occurrence de passage de cette publicité sur une période prédéfinie (e.g. depuis le début de la journée, sur la semaine écoulée, etc.). De la sorte, la plateforme de gestion des publicités 100c décide ou non de la substitution de la publicité à venir en question sur le terminal 110. Lorsque la décision de substituer la publicité identifiée par l'identifiant (2120b33) est prise, la plateforme de gestion des publicités 100c génère ainsi les première (2120bl) et deuxième (2120b2) informations ainsi que l'information de filtrage (2120b32). Plus particulièrement, les informations en question sont transmises à un dispositif de gestion de la substitution 100b qui les retransmet :
• d'une part au serveur internet statique 100a qui les transmet à son tour au terminal 110 via le réseau large bande 130 (e.g. via un fichier au format XML (pour « extensible Markup Language » en anglais) pour les première (2120bl) et deuxième (2120b2) informations, et via l'application HbbTV pour l'information de filtrage (2120b33)). Comme discuté ci-dessus, de telles informations permettent au terminal 110 de recevoir et filtrer les messages de notifications d'événements (230) qui lui sont destinés à fin d'exécution de l'action correspondante ; et
• d'autre part à un dispositif de déclenchement d'insertion lOOd, dont une fonction est de permettre de synchroniser les événements générés par la plateforme de gestion des publicités 100c avec le flux de données diffusé via le réseau de diffusion
120.
Pour ce faire, la plateforme de gestion des publicités 100c fournit également l'identifiant (2120b33) du contenu diffusé à substituer au dispositif de déclenchement d'insertion lOOd (via le dispositif de gestion de la substitution 100b), ainsi que l'information d'identification (2120b31) (cette information d'identification (2120b31) permettant d'identifier, directement ou indirectement, une action à exécuter par le terminal 110 comme décrit ci-dessus).
Par ailleurs, le dispositif de déclenchement d'insertion lOOd obtient du lecteur SDI 100e des références temporelles synchrones du flux de données SDI qu'il génère (flux SDI qui est destiné à être multiplexé dans le flux de données diffusé via le réseau de diffusion 120 après encodage dans un codeur vidéo lOOf, multiplexage effectué par un multiplexeur MPEG/DVB 100g, et génération du signal modulé de diffusion par un modulateur DVB lOOh), par exemple en allant lire périodiquement de telles informations sur le lecteur SDI 100e. Ainsi, sur la base de l'identifiant (2120b33) du contenu diffusé à substituer reçu du dispositif de gestion de la substitution 100b, le dispositif de déclenchement d'insertion lOOd détermine l'information temporelle synchrone du flux SDI qui définit un instant auquel l'action identifiée par l'information d'identification (2120b31) doit être exécutée par le terminal 110.
Selon le premier mode de réalisation illustré sur la figure 1, les informations temporelles sont des « timecodes » au format SCTE 104. De la sorte, le dispositif de déclenchement d'insertion lOOd génère des paquets d'informations de substitution (210) au format SCTE 104 et les transmet au codeur vidéo lOOf (e.g. via une connexion internet) afin que ce codeur les convertisse au format SCTE 35 et les insère de manière synchrone dans le flux de données encodé qu'il délivre.
Dans un deuxième mode de réalisation (non illustré sur la figure 1, mais aisément déductible de cette figure sur la base des explications qui suivent), les informations temporelles sont non pas des « timecodes » au format SCTE 104, mais des « timestamps » PTS (pour « Présentation Time Stamps » en anglais) au format SCTE 35. Dans ce cas, le dispositif de déclenchement d'insertion lOOd génère des paquets d'informations de substitution (220) au format SCTE 35 et les transmet non pas au codeur vidéo lOOf, mais directement au multiplexeur MPEG/DVB 100g (e.g. via une connexion internet) pour génération des messages de notifications d'événements (230) correspondant et insertion synchrone dans le flux de données multiplexé que ce multiplexeur délivre.
Dans un troisième mode de réalisation (non illustré sur la figure 1, mais également aisément déductible de cette figure sur la base des explications qui suivent), le dispositif de déclenchement d'insertion lOOd ne transmet aucun paquet d'informations de substitution (210, 220) ni au codeur vidéo lOOf, ni au multiplexeur MPEG/DVB 100g. A contrario, le dispositif de déclenchement d'insertion lOOd transmet les informations initialement transmises par la plateforme de gestion des publicités 100c (notamment l'information d'identification (2120b31), les première (2120bl) et deuxième (2120b2) informations, l'information de filtrage (2120b32) et l'identifiant (2120b33) du contenu diffusé à substituer tels qu'introduits ci-dessus) directement au lecteur SDI 100e. Dans ce troisième mode de réalisation, c'est le lecteur SDI 100e qui effectue les opérations décrites ci-dessus de génération des paquets d'informations de substitution (210) à fin d'insertion synchrone dans le flux de données SDI.
Quel que soit le mode de réalisation du système 100 considéré, le dispositif de gestion de la substitution 100b gère la cohérence des données fournies au terminal 110 par le serveur internet statique 100a via le réseau large bande 130, et la signalisation contenue dans le flux de données reçu par le terminal 110 via le réseau de diffusion 120.
Dans des variantes de signalisation entre les entités de la figure 1, l'information de filtrage (2120b32) est identique à l'identifiant (2120b33) du contenu diffusé à substituer. Ainsi, la quantité d'information gérée et transmise par la plateforme de gestion des publicités 100c est minimisée, simplifiant par là-même l'implémentation de la technique décrite.
Enfin, dans d'autres variantes de signalisation, la plateforme de gestion des publicités 100c fournit également, au dispositif de gestion de la substitution 100b, des informations d'insertion (2120b4) indiquant si une image permettant d'initier un décodage du flux de données par le terminal 110 (e.g. une image à codage interne du type intra ou image I placée au début d'un GOP) doit être insérée par le codeur vidéo lOOf dans le flux de données en question, par exemple après un message de notification d'événement (230).
Au vu de la description ci-dessus, il apparaît ainsi que le système 100 de diffusion télévisuelle comprend également le lecteur SDI 100e, qui génère un flux au format SDI envoyé au codeur vidéo lOOf. Le lecteur SDI est par exemple un lecteur spectrumX commercialisé par la société Harmonie. Un tel équipement est notamment apte à insérer des commandes au format SCTE 104 dans le flux SDI qu'il délivre.
Selon le premier mode de réalisation (illustré sur la figure 1), le lecteur SDI 100e fournit au dispositif de déclenchement d'insertion lOOd les références temporelles synchrones du flux de données SDI qu'il génère.
Dans le troisième mode de réalisation précité (non illustré sur la figure 1), le lecteur SDI 100e génère lui-même les paquets d'informations de substitution (210) sur la base des informations fournies par le dispositif de déclenchement d'insertion lOOd et les insère dans le flux SDI qu'il délivre.
Le système 100 de diffusion télévisuelle comprend également le codeur vidéo lOOf, qui génère le flux MPEG-TS au format MPEG4 à partir du flux au format SDI reçu du lecteur SDI 100e. Le codeur vidéo lOOf est notamment apte à transformer des commandes au format SCTE 104 présentes dans le flux SDI reçu en commandes au format SCTE 35. Plus particulièrement, le codeur vidéo lOOf est capable de transformer les références temporelles (ou « timecodes ») utilisées par le standard SCTE 104 en références temporelles PTS utilisées par le standard SCTE 35.
De la sorte, suivants que les paquets d'informations de substitution (210, 220) reçus (soit du dispositif de déclenchement d'insertion lOOd dans le premier mode de réalisation, soit via le flux SDI dans le deuxième mode de réalisation) contiennent des informations d'insertion (2120b4) ou non, le codeur vidéo lOOf :
• convertit les paquets d'informations de substitution (210) au format SCTE 104 présents dans le flux SDI reçu en paquets d'informations de substitution (220) au format SCTE 35 insérés dans le flux MPEG-TS qu'il délivre au multiplexeur MPEG/DVB 100g à fin de propagation des informations autres que celles d'insertion (2120b4) ; et/ou
• insère une image permettant d'initier un décodage, par le terminal 110, du flux de données (e.g. une image à codage interne du type intra ou image I placée au début d'un GOP) dans le flux de données qu'il délivre lorsque une information d'insertion (2120b4) est reçue, l'image en question étant insérée à l'endroit indiqué par l'information temporelle présente dans le paquet d'informations de substitution (210) correspondant.
Dans des variantes de signalisation, le codeur vidéo lOOf ne reçoit pas d'informations d'insertion (2120b4) (e.g. la plateforme de gestion des publicités 100c ne fournit pas d'informations d'insertion (2120b4)), mais insère systématiquement, à un endroit temporel fonction de l'information temporelle présente dans le paquet d'informations de substitution (210) considéré, une image permettant d'initier un décodage, par le terminal 110, du flux de données. Plus particulièrement, l'image en question est insérée de manière à minimiser les transitions au moment des basculements de décodage au niveau du terminal comme discuté ci-dessous en relation avec les figures 2a et 2b. Cet aspect systématique de l'insertion permet de minimiser la quantité d'information transmise entre les entités du système 100 de diffusion télévisuelle.
Par ailleurs, le système 100 de diffusion télévisuelle comprend également le multiplexeur MPEG/DVB 100g, qui produit le signal multiplexé (ou « multiplex ») qui est diffusé via le réseau de diffusion 120 sur la base du flux MPEG-TS délivré par le codeur vidéo lOOf.
Dans des variantes, le multiplexeur MPEG/DVB 100g agrège les flux venant de plusieurs codeurs vidéo pour produire le multiplex qui sera ensuite diffusé.
Par ailleurs, sur la base des paquets de données (220) au format SCTE 35 reçus (soit via le flux MPEG-TS en provenance du codeur vidéo lOOf dans le premier mode de réalisation, soit directement du dispositif de déclenchement d'insertion lOOd dans le deuxième mode de réalisation), le multiplexeur MPEG/DVB 100g génère les messages de notifications d'événements (230) correspondants, ici des messages « StreamEvents » au format DSM-CC.
Comme discuté ci-dessous en relation avec les figures 2a et 2b, de tels messages de notifications d'événements (230) encapsulent les informations véhiculées par les paquets d'informations de substitution (220), et notamment la deuxième (2120b2) information, l'information d'identification (2120b31), l'information de filtrage (2120b32) ainsi que l'identifiant (2120b33) du contenu diffusé à substituer (l'information de filtrage (2120b32) pouvant être égal à cet identifiant (2120b33) dans certaines variantes de signalisation) ; dans ce cas, un seul champ contenant l'information en question est encapsulé dans le message de notification d'événement (230) correspondant, minimisant par là-même la quantité d'information véhiculée).
Par ailleurs, le multiplexeur MPEG/DVB 100g insère le message de notification d'événement (230) dans le flux multiplexé qu'il génère à l'endroit temporel identifié par l'information temporelle contenue dans le paquet d'informations de substitution (220) correspondant. Il est cependant notable que le message de notification d'événement (230) ne contient lui-même aucune information relative à une date d'exécution par le terminal 110 de la ou des action(s) correspondant à l'information d'identification (2120b31) encapsulée dans le message de notification d'événement (230) en question.
Plus particulièrement, un tel message de notification d'événement (230) est inséré dans le flux d'événement identifié par la deuxième information (2120b2) au sein de la composante de flux élémentaire identifiée par la première information (2120bl) à l'instant identifié par l'information temporelle comprise dans le paquet d'informations de substitution (220) correspondant.
Enfin, le système 100 de diffusion télévisuelle comprend également le modulateur DVB lOOh, qui génère le signal modulé transportant le flux de données délivré par le multiplexeur MPEG/DVB 100g au travers du réseau de diffusion 120.
On décrit maintenant, en relation avec les figures 2a et 2b, des exemples de structures de paquets de données 210, 220 ainsi que de message de notification d'événement 230 tels qu'utilisés pour la signalisation entre les entités de la figure 1.
Dans le premier mode de réalisation (illustré sur la figure 1), les paquets de données 210 échangés entre le dispositif de déclenchement d'insertion lOOd et le codeur vidéo lOOf sont au format SCTE 104, ce format étant interprétable par le codeur vidéo lOOf en question.
De même, de tels paquets de données 210 au format SCTE 104 sont également utilisés par le lecteur SDI 100e dans le troisième mode de réalisation (non illustré sur la figure 1) à fin de transmission au codeur vidéo lOOf.
Plus particulièrement, un tel paquet de données 210 comprend un entête 210a et un champ de données utiles 210b.
Plus particulièrement encore, l'entête 210a comprend des champs d'entête spécifiques au standard SCTE 104, et notamment un champ encapsulant l'information temporelle introduite ci-dessus en relation avec la figure 1 (i.e. l'information temporelle obtenue par le dispositif de déclenchement d'insertion lOOd sur la base à la fois de l'identifiant 2120b33 du contenu diffusé à substituer délivré par la plateforme de gestion des publicités 100c via le dispositif de gestion de la substitution 100b, et des données temporelles liées au flux SDI fournies par le lecteur SDI 100e). De même, le champ de données utiles 210b comprend notamment les données initialement délivrées par la plateforme de gestion des publicités 100c via le dispositif de gestion de la substitution 100b introduites ci-dessus en relation avec la figure 1, à savoir :
- d'une part :
• la première information 2120bl (e.g. le champ « component_tag » au format DSM-CC) ; et
• la deuxième information 2120b2 (e.g. le champ « event_id » au format DSM- CC) ; et
- d'autre part, regroupés dans un champ de données propriétaires 2120b3 :
• l'information d'identification 2120b31 identifiant une action à exécuter par le terminal 110 ;
• l'information de filtrage 2120b32 ; et
• l'identifiant 2120b33 du contenu diffusé à substituer.
Comme décrit ci-dessus en relation avec la figure 1, dans certaines variantes de signalisation l'information de filtrage 2120b32 est égale à l'identifiant 2120b33. Dans ce cas, un seul champ contenant l'information en question est encapsulé dans le message de notification d'événement 230 correspondant, minimisant par là-même la quantité d'information véhiculée.
Par ailleurs, l'information temporelle encapsulée dans l'entête du paquet indique un emplacement dans le flux de données diffusé via le réseau de diffusion 120 auquel le message de notification d'événement 230 correspondant doit être inséré afin de déclencher au moins une action par le terminal 110 à un instant adéquat pour la substitution voulue. Ceci quand bien même le message de notification d'événement 230 en question ne contient pas d'information temporelle relative à leur exécution.
Le codeur vidéo lOOf convertit le paquet de données 210 au format SCTE 104 en un paquet de données 220 au format SCTE 35 de la même manière qu'il transforme le flux de données du format SDI en un flux MPEG-TS. Les champs de données 2120bl à 2120b4 décrits ci-dessus se trouvent alors encapsulés dans la partie des données utiles 220b du paquet de données 220 au format SCTE 35.
Par ailleurs, l'information temporelle encapsulée dans l'entête 210a du paquet de données 210 au format SCTE 104 est convertie en une nouvelle information temporelle encapsulée dans un entête 210b du paquet de données 220 au format SCTE 35. Plus particulièrement, le « timecode » au format SCTE 104 est converti en « timestamp » PTS (pour « Présentation Time Stamps » en anglais) au format SCTE 35 de manière à toujours indiquer un emplacement, dans le flux de données diffusé via le réseau de diffusion 120, auquel le message de notification d'événement 230 correspondant doit être inséré de manière cohérente avec les informations initialement délivrées par la plateforme de gestion des publicités 100c.
Le paquet de données 220 au format SCTE 35 est alors inséré dans le flux MPEG- TS au format MPEG4 généré par le codeur vidéo lOOf avant transmission au multiplexeur MPEG/DVB 100g.
Un tel paquet de données 220 au format SCTE 35 est également utilisé par le dispositif de déclenchement d'insertion lOOd à fin de transmission directement au multiplexeur MPEG/DVB 100g dans le deuxième mode de réalisation (non illustré sur la figure 1).
Par ailleurs dans les variantes de signalisation précitées dans lesquelles la plateforme de gestion des publicités 100c fournit en outre au dispositif de gestion de la substitution 100b les informations d'insertion 2120b4, le champ de données utiles 210b comprend également les informations d'insertion 2120b4 (e.g. via un champ « command » par exemple) en question.
Dans ce cas, une autre information temporelle encapsulée dans l'entête du paquet de données 210 indique un emplacement dans le flux de données diffusé via le réseau de diffusion 120 auquel l'image permettant d'initier un décodage, par le terminal 110, du flux de données doit être insérée. Ainsi, le codeur vidéo lOOf insère l'image en question dans le flux de données à un emplacement temporel indiqué par l'autre information temporelle encapsulée dans l'entête du paquet de données 210 en question.
Le multiplexeur MPEG/DVB 100g convertit le paquet de données 220 au format SCTE 35 en un message de notification d'événement 230, ou « StreamEvent » au format DSM-CC.
Un tel message de notification d'événement 230 comprend :
- d'une part :
• la deuxième information 2120b2 (e.g. le champ « event_id » au format DSM- CC) ; et
• d'autre part, les données propriétaires 2120b3, à savoir :
o l'information d'identification 2120b31 identifiant une action à exécuter par le terminal 110 ;
o l'information de filtrage 2120b32 ; et
o l'identifiant 2120b33 du contenu diffusé à substituer (ce dernier champ pouvant être absent dans certaines variantes de signalisation où l'information de filtrage 2120b32 est égale à l'identifiant 2120b33). Par ailleurs, le message de notification d'événement 230 comprend les champs standardisés des messages « StreamEvent » au format DSM-CC, à savoir un champ contenant un entête de table 230al (ou « table header » en anglais), un champ contenant un C C (pour « cyclic redundancy check » en anglais) de table 230a2 (ou « table CRC » en anglais), et un champ d'entête 230a3 (ou « packet header » en anglais).
Enfin, le multiplexeur MPEG/DVB 100g insère un tel message de notification d'événement 230 dans la composante de flux élémentaire identifiée par la première information 2120bl, et à l'instant défini par l'information temporelle encapsulée dans l'entête 210b du paquet de données 220 au format SCTE 104 correspondant.
Ainsi, l'instant auquel le message de notification d'événement 230 est inséré dans le flux délivré par le multiplexeur MPEG/DVB 100g est contrôlé de manière précise par le système 100. On décrit maintenant, en relation avec les figures 3 et 4, les étapes d'un procédé de signalisation, au terminal 110, de la substitution d'un contenu diffusé via le réseau de diffusion 120, ainsi que les étapes d'un procédé de substitution, par le terminal 110, d'un contenu diffusé via le réseau de diffusion 120, selon différents modes de réalisation de l'invention.
Lors d'une étape d'obtention E300 mise en œuvre au sein du système 100, un paquet d'informations de substitution 220 au format SCTE 35, comprenant une information temporelle indicative d'un instant d'exécution par le terminal 110 d'au moins une action pour la substitution du contenu diffusé par le contenu de substitution, est obtenu par le multiplexeur MPEG/DVB 100g.
Plus particulièrement, suivant le mode de réalisation considéré (parmi les premier, deuxième et troisième), le paquet d'informations de substitution 220 au format SCTE 35 obtenu par le multiplexeur MPEG/DVB 100g est fourni soit par le codeur vidéo lOOf (dans ce cas, le paquet d'informations de substitution 220 au format SCTE 35 résulte de la conversion, par le codeur vidéo lOOf, d'un paquet d'informations de substitution 210 au format SCTE 104 correspondant fourni soit par le lecteur SDI 100e, soit directement par le dispositif de déclenchement d'insertion lOOd), soit directement par le dispositif de déclenchement d'insertion lOOd.
Lors d'une étape de génération E310 également mise en œuvre au sein du système 100, un message de notification d'événement 230 (ici un message « StreamEvent » au format DSM-CC) est généré par le multiplexeur MPEG/DVB 100g reprenant d'une part la deuxième information 2120b2 et les données propriétaires 2120b3 véhiculées dans le paquet d'informations de substitution 220 comme décrit ci- dessus en relation avec les figures 2a et 2b.
Enfin, lors d'une étape d'insertion E320 également mise en œuvre au sein du système 100, le multiplexeur MPEG/DVB 100g insère le message de notification d'événement 230 dans le flux de données véhiculant le contenu diffusé via le réseau de diffusion 120.
Plus particulièrement, le message de notification d'événement 230 est inséré dans le flux de données à un emplacement temporel fonction de l'information temporelle comprise dans le paquet d'informations de substitution 220 obtenu de la manière décrite ci-dessus.
De la sorte, lors d'une étape de réception E420 mise en œuvre par le terminal 110, le terminal 110 reçoit le message de notification d'événement 230 inséré dans le flux de données par le multiplexeur MPEG/DVB 100g.
Lors d'une étape d'exécution E430, le terminal 110 exécute l'au moins une action associée au message en question. Plus particulièrement, l'exécution en question est déclenchée par la réception du message de notification d'événement 230 par le terminal et est effectuée sans connaissance de l'information temporelle indicative de l'instant d'exécution par le terminal de ladite au moins une action en question. En d'autres termes, l'au moins une action est exécutée par le terminal 110, immédiatement à réception du message de notification d'événement 230, après une latence d'exécution uniquement liée à des contraintes d'implémentations matérielle dans le terminal (aucune information temporelle d'exécution de l'au moins une action en question n'étant présente par ailleurs dans le message de notification d'événement 230 ni fournie au terminal par tout autre moyen). Il s'agit dans ce cas d'un fonctionnement temps réel du terminal, i.e. l'au moins une action est exécutée au plus tôt dès la réception du message de notification d'événement 230. Cependant, dans certains modes de réalisation la latence d'exécution en question peut prendre en compte une temporisation d'une durée prédéterminée fixe, par exemple afin que le procédé de signalisation selon l'invention soit supporté par différents types de terminaux comme discuté ci-dessous en relation avec la figure 5. Une telle temporisation ne dépend dans ce cas que de la nature du terminal et n'est pas indicative de l'instant d'exécution par le terminal de ladite au moins une action en question.
De la sorte, seul l'instant d'insertion des messages de notifications d'événements dans le flux de données permet de contrôler les instants d'exécution des actions en question par le terminal 110.
Ainsi, la signalisation de la substitution s'appuie sur l'implémentation dans le terminal 110 de standards existants bien que non dédiés à la signalisation d'événements dits « temps réels », i.e. dont les messages de notifications ne contiennent pas de référence temporelle permettant une exécution synchrone par rapport au flux de données diffusé (ici des messages « streamevent » au format DSM-CC dans les modes de réalisation considérés).
Plus particulièrement, l'étape de génération E310 mise en œuvre au sein du système 100 comprend une sous-étape d'encapsulation d'au moins une information d'identification 2120b31 dans le message de notification d'événement 230.
De manière symétrique, l'étape d'exécution E430 mise en œuvre par le terminal 110 comprend une sous-étape d'obtention E430a, par le terminal 110, de l'au moins une information d'identification 2120b31 dans le message de notification d'événement 230.
Dans certaines variantes de signalisation, l'au moins une action et fonction de l'au moins une information d'identification 2120b31. Ainsi, une action particulière à exécuter est signalée de manière simple et directe au terminal.
Dans d'autres variantes de signalisation, le message de notification d'événement 230 comprend une unique information d'identification 2120b31 pouvant prendre plusieurs valeurs associées chacune, dans le terminal, à un jeu distinct d'au moins une action.
Ainsi, un événement particulier (e.g. le début du contenu diffusé à substituer, la fin du contenu diffusé à substituer, etc.) est signalé au terminal via l'unique information d'identification 2120b31. En d'autres termes, dans ces variantes les messages de notifications d'événements balisent le flux de données véhiculant le contenu diffusé.
Le terminal déduit ainsi de l'événement qui lui est notifié une ou plusieurs actions à réaliser pour la substitution du contenu diffusé.
Dans certaines variantes, la ou les actions à réaliser sont obtenues dans le terminal via un algorithme prenant en compte l'événement en question mais également d'autres événements qui ont été signifiés au terminal antérieurement à l'événement en question le cas échéant (e.g. les événements notifiés en question servent d'entrées à une machine d'état, les transitions entre états étant fonction des événements notifiés en question, les actions à réaliser étant associées à un état donné).
Plus particulièrement, de telles actions sont par exemple :
o une préparation à une substitution ; o un décodage du contenu ciblé ;
o une restitution du contenu ciblé sous une forme décodée ;
o une reprise du décodage du contenu diffusé ; et
o une restitution d'un élément d'attente.
Pour cette dernière action de restitution d'un élément d'attente, un message d'attente (e.g. un logo en mouvement, un GIF (pour « Graphics Interchange Format » en anglais) animé, une séquence inter publicité, un message d'attente audio, etc.) est par exemple restitué (de manière visuelle et/ou sonore) pendant que le décodeur initie un nouveau décodage, évitant par là-même une absence de restitution à l'utilisateur (e.g. un écran noir) pendant ce temps-là.
Un tel jeu d'actions à effectuer, ainsi que le cas échéant le jeu d'événements et un algorithme associé, sont par exemple fournis au terminal 110 via l'application HbbTV discutée ci-dessus en relation avec la figure 1.
Par ailleurs, le paquet d'informations de substitution 220 comprend en outre : o la première information 2120bl permettant d'identifier une composante de flux élémentaire du flux de données véhiculant le contenu diffusé ; o la deuxième information 2120b2 permettant d'identifier un flux d'événements dans la composante de flux élémentaire ; et
o l'information de filtrage 2120b32.
De la sorte, le message de notification d'événement 230 est inséré dans le flux d'événements en question (identifié par les première 2120bl et deuxième 2120b2 informations).
De même, l'étape de génération E310 mise en œuvre au sein du système 100 comprend en outre une sous-étape d'encapsulation E310b de l'information de filtrage 2120b32 et de la deuxième information 2120b2 dans le message de notification d'événement 230.
Symétriquement, le terminal 110 effectue en outre une étape de réception E410 des mêmes première 2120bl et deuxième 2120b2 informations, ainsi que de l'information de filtrage 2120b32, mais via le réseau large bande 130 (e.g. via le fichier au format XML pour les première (2120bl) et deuxième (2120b2) informations, et via l'application HbbTV pour l'information de filtrage (2120b33) comme discuté ci-dessus en relation avec la figure 1).
De la sorte, l'étape de réception E420 du message de notification d'événement 230 est fonction des première 2120bl et deuxième 2120b2 informations, de manière à identifier le flux d'événements de la composante de flux élémentaire dans lequel le message de notification d'événement 230 a été inséré, et de l'information de filtrage 2120b32, pour identifier le message de notification d'événement 230 au sein du flux d'événements identifié.
Ainsi, sur la base de ces informations partagées entre le terminal 110 et le système 100, différents terminaux connectés au réseau de diffusion 120 peuvent être adressés de manière différentiée via différent messages de notifications d'événements 230 afin de permettre un meilleur ciblage des contenus de substitution.
Selon certaines variantes de signalisation, l'information de filtrage 2120b32 est un identifiant 2120b33 du contenu diffusé à substituer par un contenu ciblé.
Comme discuté ci-dessus en relation avec la figure 1, la quantité de données véhiculée dans le système 100 mettant en œuvre le procédé de signalisation est ainsi minimisée, un même identifiant permettant d'indiquer aux différentes entités du système 100 et au terminal 110 le contenu à substituer, ainsi qu'au terminal 110 de filtrer les messages de notification d'événement qui lui sont destinés.
Par ailleurs, dans d'autres modes de réalisation (non illustrés sur la figure 1) où une pluralité de terminaux 110 est connectée au système 100 via les réseaux de diffusion 120 et large bande 130, l'utilisation d'un identifiant 2120b33 du contenu diffusé comme information de filtrage 2120b32 pour un ensemble donné de terminaux parmi la pluralité de terminaux permet de signaler à tous les terminaux de l'ensemble en question qu'il vont devoir effectuer une substitution du même contenu diffusé (correspondant donc à l'identifiant 2120b33). Cependant, chaque terminal de l'ensemble de terminaux en question ayant reçu une application HbbTv particulière du serveur internet statique 100a via le réseau large bande 130, le contenu de substitution reste ciblé (via les informations contenues dans les applications HbbTv particulières en question) pour le terminal correspondant, quand bien même la même information de filtrage 2120b32 a été utilisée pour tous les terminaux de l'ensemble.
Par ailleurs, dans certaines variantes, une telle information de filtrage 2120b32, correspondant ou non à l'identifiant 2120b33 du contenu diffusé à substituer, permet de signaler au terminal 110 quel contenu ciblé à utiliser, parmi une pluralité de contenus ciblés préalablement téléchargés, pour effectuer la substitution du contenu diffusé.
De manière générale, le terminal 110 effectue en outre une étape de réception E400 du ou des contenus ciblés :
o soit via le réseau de diffusion 120, e.g. via un carrousel de contenus tel que défini par le standard H bbTV, permettant l'obtention du contenu ciblé même en l'absence d'une autre connexion réseau ;
o soit via le réseau large bande 130 auquel il est connecté, par exemple via l'application HbbTV, permettant de minimiser la charge du réseau de diffusion.
Par ailleurs, à la fois dans le premier mode de réalisation (illustré sur la figure 1) et dans le troisième mode de réalisation (non illustré sur cette figure 1), un paquet d'informations de substitution 210 au format SCTE 104 est obtenu par le codeur vidéo lOOf soit en provenance du dispositif de déclenchement d'insertion lOOd, soit en provenance du lecteur SDI 100e. Dans certaines variantes de signalisation, le paquet d'informations de substitution 210 en question comprend :
o des informations d'insertion 2120b4 indiquant si le procédé de signalisation mis en œuvre par le système 100 comprend en outre une étape d'insertion E330, par le codeur vidéo lOOf, dans le flux de données, d'au moins une image permettant d'initier un décodage, par le terminal 110, du flux de données (e.g. une image à codage interne du type intra ou image I placée au début d'un GOP) ;
o une autre information temporelle indiquant un emplacement temporel d'insertion de l'au moins une image en question dans le flux de données lorsque les informations d'insertion indiquent que l'insertion en question doit être effectuée. Plus particulièrement, l'emplacement temporel d'insertion est tel qu'un écart temporel, dans ledit flux de données, entre l'au moins une image et le message de notification d'événement 230 (inséré dans le flux lors de l'étape d'insertion E320 décrite ci-dessus) est supérieur à la latence d'exécution précitée.
De la sorte, par exemple à la fin de la substitution, la reprise du décodage par le terminal 110 du contenu diffusé signalée par le message de notification d'événement 230 peut débuter concomitamment de la réception de l'image en question par le terminal 110. Ainsi, l'attente avant le début de la reprise du décodage du contenu diffusé, et donc la durée de restitution des éléments d'attente ainsi que le risque d'une absence de restitution à l'utilisateur (e.g. un écran noir) à la fin de la restitution d'un tel élément d'attente, est minimisée.
Dans d'autres modes de réalisation du procédé de signalisation, le codeur vidéo lOOf n'obtient pas d'informations d'insertion 2120b4 et exécute systématiquement l'étape d'insertion E330 de l'au moins une image en question avec un écart temporel tel que défini ci-dessus. Un tel écart temporel est par exemple prédéfini. Ainsi, la quantité d'information véhiculée au sein du système 100 est minimisée.
On décrit maintenant, en relation avec la figure 5, un exemple de séquencement d'insertion de messages de notifications d'événements 230 dans un flux de données selon un mode de réalisation de l'invention. Dans l'exemple en question, on considère la diffusion via le réseau de diffusion 120 d'une séquence de trois publicités Publ, Pub2 et Pub3 dans laquelle des séquences d'inter publicités (zones grisées) sont présentes entre chacune des trois publicités Publ, Pub2 et Pub3. Par ailleurs, il est supposé que la deuxième publicité Pub2 est à substituer, par le terminal 110, par une publicité ciblée pour le terminal 110.
L'application des procédés de signalisation et de substitution décrits ci-dessus en relation avec les figures 3 et 4 conduit à une succession d'événements temporels détaillés ci-après.
Instant tO
Un message de notification d'événement 230 préparatoire est inséré à l'instant tO par le multiplexeur MPEG/DVB 100g dans le flux de données, par exemple cinq minutes avant la publicité Pub2 à substituer. Le message de notification d'événement 230 préparatoire encapsule entre autres une information d'identification 2120b31 identifiant l'événement : « préparation à une substitution ». Après une latence d'exécution uniquement liée à des contraintes d'implémentations matérielle dans le terminal à compter de la réception du message de notification d'événement 230 préparatoire (aucune information temporelle d'exécution du jeu d'actions en question n'étant fournie par ailleurs au terminal, que ce soit dans le message de notification d'événement 230 ou sous une autre forme), le terminal 110 exécute un jeu d'actions défini pour cet événement par l'application HbbTV obtenue via le réseau large bande 130 auprès du serveur internet statique 100a.
Par exemple, le terminal 110 reçoit les informations sur les publicités à substituer, ici la publicité Pub2. Il reçoit par ailleurs les publicités de substitution en mettant en œuvre l'étape E400 décrite ci-dessus en relation avec la figure 4 puis se met en attente de la réception d'un premier message de notification d'événement 230 encapsulant entre autres une information d'identification 2120b31 identifiant l'événement : « début d'inter publicité avant la publicité pub2 ».
Instant tl
Le premier message de notification d'événement 230 identifiant l'événement : « début d'inter publicité avant la publicité pub2 » est inséré à l'instant tl par le multiplexeur MPEG/DVB 100g dans le flux de données.
Plus particulièrement, l'instant tl auquel le premier message de notification d'événement 230 est inséré dans le flux correspond sensiblement au début de la séquence inter publicités précédant la publicité Pub2 à substituer. En effet, en pratique un tel instant tl peut être choisi avec une certaine tolérance par rapport au début de la séquence inter publicités en question. Dans certaines variantes, le premier message de notification d'événement 230 est inséré dans un paquet de données (e.g. un paquet de données au sens MPEG2-TS) précédant d'un ou quelques paquets le premier paquet véhiculant les données de la séquence inter publicités en question. Dans d'autres variantes, le premier message de notification d'événement 230 est inséré dans un paquet du flux de données suivant d'un ou quelques paquets le premier paquet véhiculant les données de la séquence inter publicités en question. Dans encore d'autres variantes, le premier message de notification d'événement 230 est inséré dans un paquet juste avant le paquet de données véhiculant la première image de la séquence inter publicités précédant la publicité Pub2 à substituer.
Dans une implémentation particulière, l'application HbbTV exécutée par le terminal 110 met en œuvre un délai prédéterminé fixe (dont l'utilité est précisée ci- après), qui est non reprogrammable à la volée via des messages de notification d'événement 230 ou via d'autres informations véhiculées par le flux de données, et qui fait partie de la latence d'exécution des jeux d'actions par le terminal. Une telle latence (comprenant le délai prédéterminé fixe en question) est donc uniquement liée à des contraintes d'implémentation matérielle dans le terminal, et n'est pas fonction d'informations véhiculées par le flux de données.
Le délai prédéterminé fixe permet de synchroniser l'exécution du jeu d'actions par rapport au contenu véhiculé par le flux de données. De la sorte, différents modèles de terminaux 110, ayant potentiellement des latences d'exécution intrinsèques différentes, peuvent se voir affecter une même latence d'exécution de sorte qu'un premier message de notification d'événement 230 inséré à l'instant tl soit traité dans un même délai (en termes de synchronisation de l'exécution du jeu d'actions par rapport au contenu véhiculé par le flux de données) par tous les terminaux destinataires du premier message de notification d'événement 230, quel que soit leur type.
On rappelle que dans une solution classique, un terminal donné reçoit d'une part un identifiant de l'action à exécuter et d'autre part une information temporelle représentative de l'instant d'exécution de l'action en question. De la sorte, lorsque la base de temps courante dans le terminal correspond à l'instant d'exécution, le terminal exécute l'action à exécuter. Pour ce faire, le terminal prend en compte sa latence intrinsèque d'exécution pour que l'action en question soit effectivement exécutée à l'instant d'exécution correspondant à information temporelle reçue.
A contrario, dans la solution proposée, le terminal 110 exécute immédiatement (i.e. après une latence d'exécution donnée (prédéterminée ou intrinsèque)) un jeu d'actions défini pour cet événement par l'application H bbTV obtenue via le réseau large bande 130 auprès du serveur internet statique 100a, l'exécution étant déclenchée par la réception du premier message de notification d'événement 230. En d'autres termes, le terminal exécute le jeu d'actions sans connaissance d'une information temporelle (information qui lui aurait été fournie par ailleurs) indicative d'un instant d'exécution, par le terminal, du jeu d'actions en question.
Par exemple, le terminal 110 :
• affiche sur son écran une image d'inter publicités préalablement chargée et identique au visuel de la séquence d'inter publicités telle que diffusée. Cette opération permet de libérer un décodeur vidéo du terminal 110. L'image affichée durant cette période peut être fixe (e.g. au format jpeg ou png) ou animée (e.g. un GI F animé) ;
• initie le décodage de la publicité ciblée (le décodeur vidéo étant libéré du décodage du flux de données) ; et
• met en attente le décodeur ainsi préparé.
Instant t2
Un deuxième message de notification d'événement 230 est inséré à l'instant t2 par le multiplexeur MPEG/DVB 100g dans le flux de données. Plus particulièrement, l'instant t2 auquel le deuxième message de notification d'événement 230 est inséré dans le flux correspond sensiblement au début de la publicité Pub2 à substituer de la même manière que le premier message de notification d'événement 230 est inséré dans le flux sensiblement au début de la séquence inter publicités précédant la publicité Pub2 à substituer comme discuté ci-dessus en relation avec l'instant tl (i.e. avec une certaine tolérance par rapport du début de la séquence en question).
Le deuxième message de notification d'événement 230 encapsule entre autres une information d'identification 2120b31 identifiant l'événement : « début de publicité pub2 ». Après une latence d'exécution uniquement liée à des contraintes d'implémentations matérielle dans le terminal à compter de la réception du deuxième message de notification d'événement 230, le terminal 110 exécute immédiatement un jeu d'actions défini pour cet événement par l'application HbbTV. En d'autres termes, le terminal exécute le jeu d'actions sans connaissance d'une information temporelle indicative d'un instant d'exécution, par le terminal, du jeu d'actions en question. Par exemple, le terminal 110 : démarre la lecture de la publicité ciblée décodée, restitue la publicité ciblée décodée sur son écran et masque l'image d'inter publicités.
Instant t3
Un troisième message de notification d'événement 230 est inséré à l'instant t3 par le multiplexeur MPEG/DVB 100g dans le flux de données. Plus particulièrement, l'instant t3 auquel le troisième message de notification d'événement 230 est inséré dans le flux correspond sensiblement au début de la séquence inter publicités suivant la publicité Pub2 à substituer de la même manière que le premier message de notification d'événement 230 est inséré dans le flux sensiblement au début de la séquence inter publicités précédant la publicité Pub2 à substituer comme discuté ci-dessus en relation avec l'instant tl (i.e. avec une certaine tolérance par rapport du début de la séquence en question).
Le troisième message de notification d'événement 230 encapsule entre autres une information d'identification 2120b31 identifiant l'événement : « fin de publicité ». Ainsi, après une latence d'exécution uniquement liée à des contraintes d'implémentations matérielle dans le terminal à compter de la réception du troisième message de notification d'événement 230, le terminal 110 exécute immédiatement un jeu d'actions défini pour cet événement par l'application HbbTV. En d'autres termes, le terminal exécute le jeu d'actions sans connaissance d'une information temporelle indicative d'un instant d'exécution, par le terminal, du jeu d'actions en question. Par exemple, le terminal 110 : affiche sur son écran l'image d'inter publicités, arrête le décodage de la publicité ciblée, initie le décodage du contenu diffusé et commence l'affichage en arrière-plan du contenu diffusé décodé.
Par ailleurs, il est notifié, via un paquet d'informations de substitution 210 au format SCTE 104, au codeur vidéo lOOf de placer une image permettant d'initier un décodage, par le terminal 110, du flux de données (e.g. une image I d'un début de GOP). Par exemple, il suffit que l'image soit insérée dans le flux après le troisième message de notification d'événement 230, avec un écart temporel avec le troisième message de notification d'événement 230 en question qui soit supérieur à une latence d'exécution de l'action induisant le décodage par le terminal. De la sorte, il est assuré que le décodeur prendra en compte l'image en question lorsqu'il débutera le décodage. En pratique, il est souvent suffisant que l'image en question soit insérée quelques images avant le début de la publicité Pub3 suivant la publicité Pub2 à substituer. De la sorte, le décodage du contenu diffusé est effectif dès le début de la publicité Pub3.
Instant t4
Un quatrième message de notification d'événement 230 est inséré à l'instant t4 par le multiplexeur MPEG/DVB 100g dans le flux de données. Plus particulièrement, l'instant t4 auquel le quatrième message de notification d'événement 230 est inséré dans le flux correspond sensiblement au début de la publicité Pub3 suivant la publicité Pub2 à substituer de la même manière que le premier message de notification d'événement 230 est inséré dans le flux sensiblement au début de la séquence inter publicités précédant la publicité Pub2 à substituer comme discuté ci-dessus en relation avec l'instant tl (i.e. avec une certaine tolérance par rapport du début de la séquence en question).
Le quatrième message de notification d'événement 230 encapsule entre autres une information d'identification 2120b31 identifiant l'événement : « fin d'inter publicités après la publicité pub2 ». Ainsi, après une latence d'exécution uniquement liée à des contraintes d'implémentations matérielle dans le terminal à compter de la réception du quatrième message de notification d'événement 230, le terminal 110 exécute immédiatement un jeu d'actions défini pour cet événement par l'application HbbTV. En d'autres termes, le terminal exécute le jeu d'actions sans connaissance d'une information temporelle indicative d'un instant d'exécution, par le terminal, du jeu d'actions en question. Par exemple, le terminal 110 : masque l'image d'inter publicités ce qui permet l'affichage du flux diffusé. La substitution de la pu blicité Pub2 est alors terminée.
Dans le cas où deux publicités successives sont à substituer toutes les deux, l'événement « début d'inter publicité » pour la deuxième publicité à substituer, et l'événement « fin de publicité » pour la première publicité à substituer peuvent être notifiés au terminal 110 via un seul et même message de notification d'événement 230. Il en va de même pour l'événement « fin d'inter publicités » pour la première publicité à substituer, et l'événement « début de publicité » pour la deuxième publicité à substituer. En d'autres termes, reconsidérant la configuration illustrée sur la figure 5 mais maintenant dans le cas où à la fois Pub2 et Pub 3 sont à substituer, les actions décrites ci-dessus en relation avec tl sont également mises en œuvre à l'instant t3 (en plus des actions déjà décrites ci-dessus en relation avec t3) afin de préparer la substitution de Pub3. De même, les actions décrites ci-dessus en relation avec t2 sont également mise en œuvre à l'instant t4 (en plus des actions déjà décrites ci-dessus en relation avec t4) afin de réaliser effectivement la substitution de Pub3.
Dans une variante non illustrée sur la figure 5, le décodeur vidéo du terminal 110 notifie l'application HbbTV, via un événement El, que le décodage de la publicité ciblée initié suite à la réception du premier message de notification d'événement 230 est maintenant effectif, i.e. que la publicité ciblée est maintenant disponible pour affichage par le terminal 110. Dans ce cas, si l'application HbbTV est notifiée de l'événement El avant de recevoir le deuxième message de notification d'événement 230 précité, l'application HbbTV masque l'image d'inter publicités et affiche la publicité ciblée sans attendre la réception du deuxième message de notification d'événement 230. De la sorte, vu de l'utilisateur du terminal 110, la séquence inter publicités précédant la publicité Pub2 à substituer sera plus courte que dans le cas décrit ci-dessus en relation avec la figure 5, maximisant par là-même le temps disponible pour la publicité de substitution.
De même, dans certaines variantes le décodeur vidéo du terminal 110 notifie l'application HbbTV, via un événement E2, que le décodage de la publicité ciblée initié suite à la réception du premier message de notification d'événement 230 est maintenant terminé. Dans ce cas, si l'application HbbTV est notifiée de l'événement E2 avant de recevoir le troisième message de notification d'événement 230 précité, l'application HbbTV en question affiche sur l'écran du terminal 110 l'image d'inter publicités sans attendre la réception du troisième message de notification d'événement 230. De la sorte, vu de l'utilisateur du terminal 110, la séquence inter publicités précédant la publicité Pub3 sera plus long. Ceci permet par exemple de limiter le risque d'empiéter sur le début de la publicité Pub3 lors du retour vers le décodage du flux de données. Par ailleurs, le risque d'une absence de restitution à l'utilisateur (e.g. un écran noir) à la fin de la restitution de la publicité ciblée est ainsi évité.
Alternativement, l'application HbbTV peut ne pas tenir compte de l'événement El ou de l'événement E2. Dans ce cas, l'application HbbTV affiche la publicité ciblée en lieu et place de Pub2 à réception du deuxième message de notification d'événement 230 ou affiche sur l'écran du terminal 110 l'image d'inter publicités à réception du troisième message de notification d'événement 230 comme décrit ci-dessus en relation avec la figure 5.
Dans le cas où l'application HbbTV ne tient compte ni de l'événement El, ni de l'événement E2, l'application HbbTV se comporte comme décrit ci-dessus en relation avec la figure 5. La figure 6 présente un exemple de structure du système 100 de diffusion télévisuelle, permettant la mise en œuvre du procédé de la figure 3. Le système 100 comprend une mémoire vive 603 (par exemple une mémoire RAM), une unité de traitement 602 équipée par exemple d'un processeur, et pilotée par un programme d'ordinateur stocké dans une mémoire morte 601 (par exemple une mémoire ROM ou un disque dur). A l'initialisation, les instructions de code du programme d'ordinateur sont par exemple chargées dans la mémoire vive 603 avant d'être exécutées par le processeur de l'unité de traitement 602.
Cette figure 6 illustre seulement une manière particulière, parmi plusieurs possibles, de réaliser le système 100, afin qu'il effectue certaines étapes du procédé détaillé ci-dessus, en relation avec la figure 3 (dans l'un quelconque des différents modes de réalisation). En effet, ces étapes peuvent être réalisées indifféremment sur une machine de calcul reprogrammable (un ordinateur PC, un processeur DSP ou un microcontrôleur) exécutant un programme comprenant une séquence d'instructions, ou sur une machine de calcul dédiée (par exemple un ensemble de portes logiques comme un FPGA ou un ASIC, ou tout autre module matériel). Dans le cas où le système 100 est réalisé avec une machine de calcul reprogrammable, le programme correspondant (c'est-à-dire la séquence d'instructions) pourra être stocké dans un médium de stockage amovible (tel que par exemple une disquette, un CD-ROM ou un DVD-ROM) ou non, ce médium de stockage étant lisible partiellement ou totalement par un ordinateur ou un processeur.
Dans certains modes de réalisations, les entités 100a à lOOh composant le système 100 de la figure 1 sont réalisées sous forme de composantes matérielles en tout ou partie distinctes. Dans ce cas, les composantes matérielles en question comprennent toutes des moyens équivalents à ceux décrits ci-dessus en relation avec la figure 6.
La figure 7 présente un exemple de structure du terminal 110, permettant la mise en œuvre du procédé de la figure 4. Le terminal 110 comprend une mémoire vive 703 (par exemple une mémoire RAM), une unité de traitement 702 équipée par exemple d'un processeur, et pilotée par un programme d'ordinateur stocké dans une mémoire morte 701 (par exemple une mémoire ROM ou un disque dur). A l'initialisation, les instructions de code du programme d'ordinateur sont par exemple chargées dans la mémoire vive 703 avant d'être exécutées par le processeur de l'unité de traitement 702.
Cette figure 7 illustre seulement une manière particulière, parmi plusieurs possibles, de réaliser les moyens compris dans le terminal 110, afin qu'il effectue certaines étapes du procédé détaillé ci-dessus, en relation avec la figure 4 (dans l'un quelconque des différents modes de réalisation). En effet, ces étapes peuvent être réalisées indifféremment sur une machine de calcul reprogrammable (un ordinateur PC, un processeur DSP ou un microcontrôleur) exécutant un programme comprenant une séquence d'instructions, ou sur une machine de calcul dédiée (par exemple un ensemble de portes logiques comme un FPGA ou un ASIC, ou tout autre module matériel). Dans le cas où les moyens compris dans le terminal 110 sont réalisés avec une machine de calcul reprogrammable, le programme correspondant (c'est-à-dire la séquence d'instructions) pourra être stocké dans un médium de stockage amovible (tel que par exemple une disquette, un CD-ROM ou un DVD-ROM) ou non, ce médium de stockage étant lisible partiellement ou totalement par un ordinateur ou un processeur.

Claims

REVENDICATIONS
1. Procédé de signalisation, à un terminal (110), de la substitution d'un contenu diffusé via un réseau de diffusion (120) auquel est connecté ledit terminal par un contenu de substitution ciblé au moins pour ledit terminal, caractérisé en ce qu'il comprend :
• une obtention (E300) d'au moins un paquet d'informations de substitution (210, 220) comprenant une information temporelle indicative d'un instant d'exécution par ledit terminal d'au moins une action pour la substitution du contenu diffusé par le contenu de substitution ;
• une génération (E310) d'au moins un message de notification d'événement (230) induisant par ledit terminal une exécution de ladite au moins une action, ladite exécution étant déclenchée par une réception dudit au moins un message de notification d'événement par ledit terminal et effectuée sans connaissance de ladite information temporelle ; et
• une insertion (E320), dans un flux de données véhiculant ledit contenu diffusé au sein dudit réseau de diffusion, dudit au moins un message de notification d'événement à un emplacement temporel fonction de ladite information temporelle.
2. Procédé selon la revendication 1 dans lequel ledit au moins un paquet d'informations de substitution (210, 220) comprend au moins une information d'identification (2120b31), ladite au moins une action étant fonction de ladite au moins une information d'identification,
et dans lequel ladite génération comprend une encapsulation (E310a) de ladite au moins une information d'identification dans ledit au moins un message de notification d'événement.
3. Procédé selon la revendication 1 dans lequel ledit au moins un paquet d'informations de substitution (210, 220) comprend une unique information d'identification pouvant prendre plusieurs valeurs associées chacune, dans le terminal, à un jeu distinct d'au moins une action,
et dans lequel ladite génération comprend une encapsulation (E310a) de ladite unique information d'identification dans ledit au moins un message de notification d'événement.
4. Procédé selon l'une quelconque des revendications 1 à 3, dans lequel ledit au moins un paquet d'informations de substitution comprend en outre :
• une première information (2120bl) permettant d'identifier une composante de flux élémentaire dudit flux de données ;
• une deuxième information (2120b2) permettant d'identifier un flux d'événements dans ladite composante de flux élémentaire, ledit au moins un message de notification d'événement étant compris dans ledit flux d'événements ; et
• une information de filtrage (2120b32) ;
lesdites première et deuxième informations et ladite information de filtrage étant transmises au moins audit terminal ;
et dans lequel ladite insertion est fonction de ladite première information,
et dans lequel l'étape de génération comprend une encapsulation (E310b) de ladite information de filtrage et de ladite deuxième information dans ledit au moins un message de notification d'événement.
5. Procédé selon l'une quelconque des revendications 1 à 4, comprenant en outre :
• une autre insertion (E330), dans ledit flux de données, d'au moins une image permettant d'initier un décodage, par ledit terminal, dudit flux de données, et dans lequel un écart temporel, dans ledit flux de données, entre ladite au moins une image et ledit au moins un message de notification d'événement est supérieur à une latence d'exécution de l'action identifiée après réception dudit au moins un message de notification d'événement.
Procédé selon la revendication 5, dans lequel ledit au moins un paquet d'informations de substitution comprend également :
• des informations d'insertion (2120b4) indiquant si ladite autre insertion doit être effectuée ; et
• une autre information temporelle indiquant un emplacement temporel d'insertion de ladite au moins une image dans ledit flux de données lorsque lesdites informations d'insertion indiquent que ladite autre insertion doit être effectuée.
7. Procédé selon l'une quelconque des revendications 1 à 6, dans lequel ledit au moins un paquet d'informations de substitution suit un protocole SCTE, pour « Society of Cable Télécommunications Engineers » en anglais, 35 ou 104.
8. Procédé selon l'une quelconque des revendications 1 à 7, dans lequel ladite étape d'insertion est mise en œuvre au moins deux fois de sorte que :
• un premier message de notification d'événement est inséré à un premier instant (tl) dans ledit flux de données véhiculant ledit contenu diffusé au sein dudit réseau de diffusion, ledit premier instant correspondant sensiblement à un début d'une première inter-séquence précédant ledit contenu diffusé à substituer, ledit premier message de notification d'événement induisant au moins une restitution d'un premier élément d'attente par ledit terminal, ladite restitution dudit premier élément d'attente étant déclenchée par une réception dudit premier message de notification d'événement par ledit terminal et effectuée sans connaissance d'une première information temporelle indicative d'un instant d'exécution par ledit terminal de ladite restitution dudit premier élément d'attente ; et
• un deuxième message de notification d'événement est inséré à un deuxième instant (t2) dans ledit flux de données véhiculant ledit contenu diffusé au sein dudit réseau de diffusion, ledit deuxième instant correspondant sensiblement à un début dudit contenu diffusé à substituer, ledit deuxième message de notification d'événement induisant au moins un masquage dudit premier élément d'attente par ledit terminal, ledit masquage dudit premier élément d'attente étant déclenché par une réception dudit deuxième message de notification d'événement par ledit terminal et effectué sans connaissance d'une deuxième information temporelle indicative d'un instant d'exécution par ledit terminal dudit masquage dudit premier élément d'attente.
9. Procédé selon la revendication 8, dans lequel ladite étape d'insertion est mise en œuvre au moins deux autres fois de sorte que :
• un troisième message de notification d'événement est inséré à un troisième instant (t3) dans ledit flux de données véhiculant ledit contenu diffusé au sein dudit réseau de diffusion, ledit troisième instant correspondant sensiblement à un début d'une deuxième inter-séquence suivant ledit contenu diffusé à substituer, ledit troisième message de notification d'événement induisant au moins une restitution d'un deuxième élément d'attente par ledit terminal, ladite restitution dudit deuxième élément d'attente étant déclenchée par une réception dudit troisième message de notification d'événement par ledit terminal et effectuée sans connaissance d'une troisième information temporelle indicative d'un instant d'exécution par ledit terminal de ladite restitution dudit deuxième élément d'attente ; et
• un quatrième message de notification d'événement est inséré à un quatrième instant (t4) dans ledit flux de données véhiculant ledit contenu diffusé au sein dudit réseau de diffusion, ledit quatrième instant correspondant sensiblement à un début d'un autre contenu diffusé suivant ladite deuxième inter-séquence, ledit quatrième message de notification d'événement induisant au moins un masquage dudit deuxième élément d'attente par ledit terminal, ledit masquage dudit deuxième élément d'attente étant déclenché par une réception dudit quatrième message de notification d'événement par ledit terminal et effectué sans connaissance d'une quatrième information temporelle indicative d'un instant d'exécution par ledit terminal dudit masquage dudit deuxième élément d'attente.
10. Procédé selon la revendication 9, dans lequel au moins une autre image permettant d'initier un décodage, par ledit terminal, dudit autre contenu diffusé est insérée dans ledit flux de données,
dans lequel ledit troisième message de notification d'événement déclenche en outre une action induisant un décodage dudit autre contenu diffusé,
et dans lequel un écart temporel, dans ledit flux de données, entre ladite au moins une autre image et ledit troisième message de notification d'événement est supérieur à une latence d'exécution de ladite action induisant le décodage dudit autre contenu diffusé par ledit terminal.
11. Procédé de substitution, par un terminal (110), d'un contenu diffusé via un réseau de diffusion (120) auquel est connecté ledit terminal par un contenu de substitution ciblé au moins pour ledit terminal, caractérisé en ce que ledit terminal effectue :
• une réception (E420) d'au moins un message de notification d'événement (430) inséré dans un flux de données véhiculant ledit contenu diffusé au sein dudit réseau de diffusion ; et
• une exécution (E430) d'au moins une action pour la substitution du contenu diffusé par le contenu de substitution, ladite exécution étant déclenchée par ladite réception dudit au moins un message de notification d'événement par ledit terminal et effectuée sans connaissance d'une information temporelle indicative d'un instant d'exécution par ledit terminal de ladite au moins une action.
12. Procédé selon la revendication 11 dans lequel ladite exécution comprend une obtention (E430a) d'au moins une information d'identification (2120b31) encapsulée dans ledit au moins un message de notification d'événement,
et dans lequel ladite au moins une action est fonction de ladite au moins une information d'identification obtenue.
13. Procédé selon la revendication 11 dans lequel ladite exécution comprend une obtention (E430a) d'une unique information d'identification pouvant prendre plusieurs valeurs associées chacune, dans le terminal, à un jeu distinct d'au moins une action, et dans lequel ladite au moins une action est fonction de ladite unique information d'identification obtenue.
14. Procédé selon l'une quelconque des revendications 11 à 13, dans lequel ledit terminal effectue en outre une autre réception (E410), via un réseau large bande (130) auquel est connecté ledit terminal, de :
· une première information (2120bl) permettant d'identifier une composante de flux élémentaire dudit flux de données ;
• une deuxième information (2120b2) permettant d'identifier un flux d'événements dans ladite composante de flux élémentaire, ledit au moins un message de notification d'événement étant inséré dans ledit flux d'événements ; et
· une information de filtrage (2120b32), ledit au moins un message de notification d'événement encapsulant en outre ladite information de filtrage ;
et dans lequel la réception dudit au moins un message de notification d'événement est fonction des première et deuxième informations, pour identifier un flux d'événements dans ladite composante de flux élémentaire, et de l'information de filtrage, pour identifier ledit au moins un message de notification d'événement au sein du flux d'événements identifié.
15. Procédé selon l'une quelconque des revendications 11 à 14, dans lequel ledit terminal effectue en outre une réception (E400) dudit contenu ciblé via ledit réseau de diffusion ou via ledit réseau large bande auquel est connecté ledit terminal.
16. Procédé selon l'une quelconque des revendications 11 à 15, dans lequel ladite étape d'exécution est mise en œuvre au moins deux fois de sorte que :
• une restitution d'un premier élément d'attente est exécutée par ledit terminal, ladite restitution dudit premier élément d'attente étant déclenchée par une réception d'un premier message de notification d'événement par ledit terminal et effectuée sans connaissance d'une première information temporelle indicative d'un instant d'exécution par ledit terminal de ladite restitution dudit premier élément d'attente, ledit premier message de notification d'événement étant inséré à un premier instant (tl) dans ledit flux de données véhiculant ledit contenu diffusé au sein dudit réseau de diffusion, ledit premier instant correspondant sensiblement à un début d'une première inter-séquence précédant ledit contenu diffusé à substituer ; et
un masquage dudit premier élément d'attente est exécuté par ledit terminal, ledit masquage dudit premier élément d'attente étant déclenché par une réception d'un deuxième message de notification d'événement par ledit terminal et effectuée sans connaissance d'une deuxième information temporelle indicative d'un instant d'exécution par ledit terminal dudit masquage dudit premier élément d'attente, ledit deuxième message de notification d'événement étant inséré à un deuxième instant (t2) dans ledit flux de données véhiculant ledit contenu diffusé au sein dudit réseau de diffusion, ledit deuxième instant correspondant sensiblement à un début dudit contenu diffusé à substituer.
17. Procédé selon la revendication 16 dans lequel ledit premier message de notification d'événement déclenche en outre une action induisant un décodage dudit contenu de substitution par un décodeur dudit terminal, ledit décodeur générant un premier événement lorsque ledit contenu de substitution est disponible pour restitution,
et dans lequel, lorsque ledit premier événement est généré avant réception dudit deuxième message de notification d'événement par ledit terminal, ledit terminal exécute ledit masquage dudit premier élément d'attente et restitue ledit contenu de substitution dès que ledit décodeur a généré ledit premier événement.
18. Procédé selon la revendication 16 ou 17, dans lequel ladite étape d'exécution est mise en œuvre au moins deux autres fois de sorte que :
• une restitution d'un deuxième élément d'attente est exécutée par ledit terminal, ladite restitution dudit deuxième élément d'attente étant déclenchée par une réception d'un troisième message de notification d'événement par ledit terminal et effectuée sans connaissance d'une troisième information temporelle indicative d'un instant d'exécution par ledit terminal de ladite restitution dudit deuxième élément d'attente, ledit troisième message de notification d'événement étant inséré à un troisième instant (t3) dans ledit flux de données véhiculant ledit contenu diffusé au sein dudit réseau de diffusion, ledit troisième instant correspondant sensiblement à un début d'une deuxième inter-séquence suivant ledit contenu diffusé à substituer ; et
• un masquage dudit deuxième élément d'attente est exécuté par ledit terminal, ledit masquage dudit deuxième élément d'attente étant déclenché par une réception d'un quatrième message de notification d'événement par ledit terminal et effectuée sans connaissance d'une quatrième information temporelle indicative d'un instant d'exécution par ledit terminal dudit masquage dudit deuxième élément d'attente, ledit quatrième message de notification d'événement étant inséré à un quatrième instant (t4) dans ledit flux de données véhiculant ledit contenu diffusé au sein dudit réseau de diffusion, ledit quatrième instant correspondant sensiblement à un début d'un autre contenu diffusé suivant ladite deuxième inter-séquence.
19. Procédé selon la revendication 18 dans lequel ledit décodeur génère un deuxième événement lorsque le décodage dudit contenu de substitution est terminé, et dans lequel, lorsque ledit deuxième événement est généré avant réception dudit troisième message de notification d'événement par ledit terminal, ledit terminal exécute ladite restitution dudit deuxième élément d'attente dès que ledit décodeur a généré ledit deuxième événement.
20. Procédé selon l'une quelconque des revendications 4 à 10 en ce qu'elle dépend de la 4, ou selon l'une quelconque des revendications 14 à 19 en ce qu'elle dépend de la 14, dans lequel ladite information de filtrage (2120b32) est un identifiant (2120b33) dudit contenu diffusé.
21. Procédé selon l'une quelconque des revendications 1 à 20, dans lequel ladite au moins une action définie via ladite première information de substitution encapsulée appartient au groupe comprenant : • une préparation à une substitution ;
• un décodage dudit contenu ciblé ;
• une restitution du contenu ciblé sous une forme décodée ;
• une reprise du décodage dudit contenu diffusé ; et
· une restitution d'un élément d'attente.
22. Procédé selon l'une quelconque des revendications 1 à 21, dans lequel ladite exécution par le terminal de ladite au moins une action est effectuée avec une latence d'exécution effective prédéterminée, différente d'une latence intrinsèque dudit terminal et commune avec au moins un autre terminal pour lequel est également ciblé ledit contenu de substitution.
23. Procédé selon l'une quelconque des revendications 1 à 22, dans lequel le terminal est un terminal hybride supportant le standard HbbTV, pour « Hybrid Broadcast Broadband TV » en anglais.
24. Procédé selon l'une quelconque des revendications 1 à 23, dans lequel ledit flux de données est au format MPEG-TS, pour « Moving Picture Experts Group - Transport Stream » en anglais, et dans lequel au moins un message de notification d'événement est un « stream event » au format DSM-CC, pour « Digital Storage Media Command and Control » en anglais.
25. Produit programme d'ordinateur comprenant des instructions de code de programme pour la mise en œuvre d'un procédé selon l'une quelconque des revendications 1 à 23, lorsque ledit programme est exécuté sur un ordinateur.
26. Système (100) de diffusion configuré pour signaler, à un terminal (110), la substitution d'un contenu diffusé via un réseau de diffusion (120) auquel est connecté ledit terminal par un contenu de substitution ciblé au moins pour ledit terminal, caractérisé en ce qu'il comprend : • des moyens d'obtention (602) d'au moins un paquet d'informations de substitution (210, 220) comprenant une information temporelle indicative d'un instant d'exécution par ledit terminal d'au moins une action pour la substitution du contenu diffusé par le contenu de substitution ;
· des moyens de génération (602) d'au moins un message de notification d'événement (230) induisant par ledit terminal une exécution de ladite au moins une action, ladite exécution étant déclenchée par une réception dudit au moins un message de notification d'événement par ledit terminal et effectuée sans connaissance de ladite information temporelle ; et
· des moyens d'insertion (602), dans un flux de données véhiculant ledit contenu diffusé au sein dudit réseau de diffusion, dudit au moins un message de notification d'événement à un emplacement temporel fonction de ladite information temporelle.
27. Terminal (110) configuré pour substituer un contenu diffusé via un réseau de diffusion (120) auquel est connecté ledit terminal par un contenu de substitution ciblé au moins pour ledit terminal, caractérisé en ce qu'il comprend :
• des moyens de réception (702) d'au moins un message de notification d'événement (430) inséré dans un flux de données véhiculant ledit contenu diffusé au sein dudit réseau de diffusion ; et
• des moyens d'exécution (702) d'au moins une action pour la substitution du contenu diffusé par le contenu de substitution, ladite exécution étant déclenchée par ladite réception dudit au moins un message de notification d'événement par ledit terminal et effectuée sans connaissance d'une information temporelle indicative d'un instant d'exécution par ledit terminal de ladite au moins une action.
PCT/EP2018/067266 2017-07-12 2018-06-27 Procédé de signalisation d'une substitution à un terminal, procédé de substitution par un terminal, produits programme d'ordinateur, système et terminal correspondants WO2019011655A1 (fr)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EA202090274A EA202090274A1 (ru) 2017-07-12 2018-06-27 Способ сигнализации о замене оконечному устройству, способ замены оконечным устройством, соответствующие компьютерные программные продукты, система и оконечное устройство
AU2018299752A AU2018299752B2 (en) 2017-07-12 2018-06-27 Method for signalling a substitution to a terminal, method for substitution by a terminal, corresponding computer program products, system and terminal
ES18732387T ES2922363T3 (es) 2017-07-12 2018-06-27 Método de señalización de una sustitución a un terminal, método de sustitución por un terminal, productos de programas informáticos, sistema y terminal correspondientes
EP18732387.8A EP3652953B1 (fr) 2017-07-12 2018-06-27 Procédé de signalisation d'une substitution à un terminal, procédé de substitution par un terminal, produits programme d'ordinateur, système et terminal correspondants

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1756595 2017-07-12
FR1756595A FR3069123B1 (fr) 2017-07-12 2017-07-12 Procede de signalisation d'une substitution a un terminal, procede de substitution par un terminal, produits programme d'ordinateur, systeme et terminal correspondants.

Publications (1)

Publication Number Publication Date
WO2019011655A1 true WO2019011655A1 (fr) 2019-01-17

Family

ID=60627708

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2018/067266 WO2019011655A1 (fr) 2017-07-12 2018-06-27 Procédé de signalisation d'une substitution à un terminal, procédé de substitution par un terminal, produits programme d'ordinateur, système et terminal correspondants

Country Status (6)

Country Link
EP (1) EP3652953B1 (fr)
AU (1) AU2018299752B2 (fr)
EA (1) EA202090274A1 (fr)
ES (1) ES2922363T3 (fr)
FR (1) FR3069123B1 (fr)
WO (1) WO2019011655A1 (fr)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021064226A1 (fr) 2019-10-04 2021-04-08 Enensys Technologies Procédé de signalisation d'une substitution à un terminal, procédé de substitution par un terminal, produits programme d'ordinateur, système et terminal correspondants
WO2022214586A1 (fr) 2021-04-09 2022-10-13 Enensys Technologies Procédés et dispositifs d'insertion d'un événement dans un flux de transport, de surveillance, de gestion et de réception du flux de transport, et programme d'ordinateur correspondants

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110145857A1 (en) * 2009-12-16 2011-06-16 Microsoft Corporation Scalable advertising system for dynamically inserting advertisements
WO2014004955A1 (fr) * 2012-06-28 2014-01-03 Azuki Systems, Inc. Procédé et système d'insertion de publicité dans la distribution ott (over the top) de contenus multimédias en direct
WO2016098059A1 (fr) * 2014-12-19 2016-06-23 Telefonaktiebolaget Lm Ericsson (Publ) Insertion publicitaire personnalisée basée sur l'utilisateur final dans des terminaux hybrides à bande large de diffusion
US20170048565A1 (en) * 2015-06-03 2017-02-16 Mobitv, Inc. Live consecutive ad insertion

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110145857A1 (en) * 2009-12-16 2011-06-16 Microsoft Corporation Scalable advertising system for dynamically inserting advertisements
WO2014004955A1 (fr) * 2012-06-28 2014-01-03 Azuki Systems, Inc. Procédé et système d'insertion de publicité dans la distribution ott (over the top) de contenus multimédias en direct
WO2016098059A1 (fr) * 2014-12-19 2016-06-23 Telefonaktiebolaget Lm Ericsson (Publ) Insertion publicitaire personnalisée basée sur l'utilisateur final dans des terminaux hybrides à bande large de diffusion
US20170048565A1 (en) * 2015-06-03 2017-02-16 Mobitv, Inc. Live consecutive ad insertion

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021064226A1 (fr) 2019-10-04 2021-04-08 Enensys Technologies Procédé de signalisation d'une substitution à un terminal, procédé de substitution par un terminal, produits programme d'ordinateur, système et terminal correspondants
FR3101744A1 (fr) * 2019-10-04 2021-04-09 Enensys Technologies Procédé de signalisation d’une substitution à un terminal, procédé de substitution par un terminal, produits programme d'ordinateur, système et terminal correspondants
CN114731452A (zh) * 2019-10-04 2022-07-08 埃内塞斯技术公司 向终端发出替换信号的方法、由终端进行替换的方法,对应的计算机程序产品、系统和终端
US20230025628A1 (en) * 2019-10-04 2023-01-26 Enensys Technologies Method for signalling a substitution to a terminal, method for substitution by a terminal, and corresponding computer program products, system and terminal
US11889129B2 (en) 2019-10-04 2024-01-30 Enensys Technologies Method for signaling a substitution to a terminal, method for substitution by a terminal, and corresponding computer program products, system and terminal
CN114731452B (zh) * 2019-10-04 2024-02-13 埃内塞斯技术公司 向终端发出替换信号的方法、由终端进行替换的方法,对应的计算机程序产品、系统和终端
WO2022214586A1 (fr) 2021-04-09 2022-10-13 Enensys Technologies Procédés et dispositifs d'insertion d'un événement dans un flux de transport, de surveillance, de gestion et de réception du flux de transport, et programme d'ordinateur correspondants
FR3121809A1 (fr) 2021-04-09 2022-10-14 Enensys Technologies Procédés et dispositifs d’insertion d’un événement dans un flux de transport, de surveillance, de gestion et de réception du flux de transport, et programme d’ordinateur correspondants.

Also Published As

Publication number Publication date
AU2018299752A1 (en) 2020-01-30
EP3652953A1 (fr) 2020-05-20
FR3069123B1 (fr) 2021-10-08
EP3652953B1 (fr) 2022-04-13
EA202090274A1 (ru) 2020-04-27
FR3069123A1 (fr) 2019-01-18
AU2018299752B2 (en) 2023-05-11
ES2922363T3 (es) 2022-09-13

Similar Documents

Publication Publication Date Title
EP2015587B1 (fr) Procédé de mémorisation d'un objet multimédia, structure de donnée et terminal associé
WO2016187592A1 (fr) Appareil et procédé pour remplacer les publicités classiques par des publicités ciblées dans des flux en direct en ligne
FR2845555A1 (fr) Procedes de reception et de diffusion de television interactive et dispositifs associes
US11477499B2 (en) Publishing a disparate live media output stream manifest that includes one or more media segments corresponding to key events
EP1862009A2 (fr) Procede d'envoi de commande a un serveur de flux de donnees numeriques et appareil implementant le procede
WO2012131258A1 (fr) Procede d'acces a un service, notamment un portail web, par un terminal de restitution d'un flux multimedia
EP1579319B1 (fr) Dispositifs et procédés de décision conditionnelle d'exécution de services reçus et de constitution de messages d'informations associés, des services, et produits associés
EP3652953B1 (fr) Procédé de signalisation d'une substitution à un terminal, procédé de substitution par un terminal, produits programme d'ordinateur, système et terminal correspondants
EP1483915B1 (fr) Procede de transmission de flux de donnees dependants
EP1537747A2 (fr) Systeme et procede de synchronisation pour programmes audiovisuels, dispositifs et procedes associes
FR2827447A1 (fr) Procede de transmission de flux de donnees, flux de donnees, serveur, terminal, procede de reception et utilisation correspondants
EP1968319A1 (fr) Service associe a une diffuson de contenu numerique
FR3035288A1 (fr) Procede de remplacement d'un contenu principal par au moins un contenu secondaire, equipement de remplacement de contenus et programme d'ordinateur correspondants
EP1798999A1 (fr) Methode de gestion du comportement d'une application interactive lors de la diffusion d'un programme selon la norme DVB-H
EP4038893B1 (fr) Procédé de signalisation d'une substitution à un terminal, procédé de substitution par un terminal, produits programme d'ordinateur, système et terminal correspondants
FR3121809A1 (fr) Procédés et dispositifs d’insertion d’un événement dans un flux de transport, de surveillance, de gestion et de réception du flux de transport, et programme d’ordinateur correspondants.
FR3011155A1 (fr) Procedes de synchronisation, de generation d'un flux, programmes d'ordinateur, media de stockage, dispositifs de restitution, d'execution et de generation correspondants.
WO2019011837A2 (fr) Procede de diffusion combinee d'un programme televisuel et d'un contenu multimedia additionnel
WO2016151052A1 (fr) Procédé et dispositif de fourniture d'un flux de données, procédé et dispositif de traitement d'un flux de données, programmes d'ordinateur et media de stockage correspondants
EP2451163B1 (fr) Procédé de mémorisation d'un objet multimédia, structure de donnée et terminal associé
FR2992514A1 (fr) Procede et dispositif d'horodatage d'un flux de donnees, procede et dispositif d'insertion, produits programme d'ordinateur et medium de stockage correspondants
WO2008043738A1 (fr) Procédé de retardement temporel de flux de contenus numériques, dispositif, et produit programme d'ordinateur correspondants
FR2928065A1 (fr) Reception de metadonnees sur un terminal.

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18732387

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2018299752

Country of ref document: AU

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2018299752

Country of ref document: AU

Date of ref document: 20180627

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 2018732387

Country of ref document: EP

Effective date: 20200212

WWE Wipo information: entry into national phase

Ref document number: 520411004

Country of ref document: SA

WWE Wipo information: entry into national phase

Ref document number: 520411004

Country of ref document: SA