EP4320871A1 - Methods and devices for inserting an event into a transport flow, for monitoring, managing and receiving the transport flow, and computer program all corresponding thereto - Google Patents

Methods and devices for inserting an event into a transport flow, for monitoring, managing and receiving the transport flow, and computer program all corresponding thereto

Info

Publication number
EP4320871A1
EP4320871A1 EP22721337.8A EP22721337A EP4320871A1 EP 4320871 A1 EP4320871 A1 EP 4320871A1 EP 22721337 A EP22721337 A EP 22721337A EP 4320871 A1 EP4320871 A1 EP 4320871A1
Authority
EP
European Patent Office
Prior art keywords
transport stream
packet
event packet
current event
offset
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
EP22721337.8A
Other languages
German (de)
French (fr)
Inventor
David Vincent
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Telediffusion de France ets Public de Diffusion
Enensys Technologies SA
Original Assignee
Telediffusion de France ets Public de Diffusion
Enensys Technologies SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Telediffusion de France ets Public de Diffusion, Enensys Technologies SA filed Critical Telediffusion de France ets Public de Diffusion
Publication of EP4320871A1 publication Critical patent/EP4320871A1/en
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23614Multiplexing of additional data and video streams
    • H04N21/23617Multiplexing of additional data and video streams by inserting additional data into a data carousel, e.g. inserting software modules into a DVB carousel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H20/00Arrangements for broadcast or for distribution combined with broadcast
    • H04H20/18Arrangements for synchronising broadcast or distribution via plural systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/02Arrangements for generating broadcast information; Arrangements for generating broadcast-related information with a direct linking to broadcast information or to broadcast space-time; Arrangements for simultaneous generation of broadcast information and broadcast-related information
    • H04H60/07Arrangements for generating broadcast information; Arrangements for generating broadcast-related information with a direct linking to broadcast information or to broadcast space-time; Arrangements for simultaneous generation of broadcast information and broadcast-related information characterised by processes or methods for the generation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/222Secondary servers, e.g. proxy server, cable television Head-end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23608Remultiplexing multiplex streams, e.g. involving modifying time stamps or remapping the packet identifiers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/242Synchronization processes, e.g. processing of PCR [Program Clock References]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26208Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/2625Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for delaying content or additional data distribution, e.g. because of an extended sport event
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • H04N21/43074Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen of additional data with content streams on the same device, e.g. of EPG data or interactive icon with a TV program
    • 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/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4348Demultiplexing of additional data and video streams
    • H04N21/4349Demultiplexing of additional data and video streams by extracting from data carousels, e.g. extraction of software modules from a DVB carousel

Abstract

Methods and devices for inserting an event into a transport flow, for monitoring, managing and receiving the transport flow, and computer program all corresponding thereto. The invention relates to a method for monitoring a transport flow at the output of an equipment of a broadcast network, implementing at least one iteration of the following steps: - obtaining (61) the transport flow delivered by said equipment, - detecting (62) a current event packet associated with content carried by said transport flow, said event packet carrying a synchronization header comprising: - reference time information defined with respect to a reference clock of said content; - a desired delay between said current event packet and a reference packet of said content identified based on said reference time information, - determining (63) an offset between an actual position of said current event packet in said transport flow and a desired position of said current event packet in said transport flow, determined based on said reference time information and on said desired delay, called processing offset.

Description

DESCRIPTION DESCRIPTION
TITRE : 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. TITLE: Methods and devices for inserting an event into a transport stream, monitoring, managing and receiving the transport stream, and corresponding computer program.
1. Domaine de l'invention 1. Field of the invention
Le domaine de l'invention est celui de la diffusion d'informations, notamment de services de télévision, dans un réseau de diffusion. The field of the invention is that of broadcasting information, in particular television services, in a broadcasting network.
Plus précisément, l'invention concerne la diffusion d'événements, permettant de déclencher des actions liées à des contenus diffusés dans le réseau de diffusion, par exemple des contenus vidéo. More specifically, the invention relates to the broadcasting of events, making it possible to trigger actions linked to content broadcast in the broadcasting network, for example video content.
En particulier, l'invention propose une solution permettant d'améliorer la synchronisation d'un événement avec le contenu auquel il se rapporte, notamment au niveau d'un récepteur. In particular, the invention proposes a solution making it possible to improve the synchronization of an event with the content to which it relates, in particular at the level of a receiver.
L'invention s'applique notamment, mais non exclusivement, à la diffusion d'un flux de transport selon les normes DVB-T ou DVB-T2 (en anglais « Digital Video Broadcasting - Terrestrial »), DVB-S ou DVB-S2 (en anglais « Digital Video Broadcasting - Satellite »), ou encore DVB-C (en anglais « Digital Video Broadcasting - Cable »). The invention applies in particular, but not exclusively, to the broadcasting of a transport stream according to the DVB-T or DVB-T2 standards (in English "Digital Video Broadcasting - Terrestrial"), DVB-S or DVB-S2 (in English "Digital Video Broadcasting - Satellite"), or DVB-C (in English "Digital Video Broadcasting - Cable").
2. Art antérieur 2. Prior Art
Il existe aujourd'hui des solutions permettant de bénéficier de services interactifs avec les programmes des chaînes de télévision. Today there are solutions that make it possible to benefit from interactive services with the programs of the television channels.
En particulier, il est possible de transmettre, dans un flux de transport portant un ou plusieurs contenus, des informations liées à une ou plusieurs application(s) destinée(s) à être exécutée(s) par un récepteur, permettant notamment au récepteur de bénéficier de contenus additionnels. In particular, it is possible to transmit, in a transport stream carrying one or more contents, information related to one or more application(s) intended to be executed by a receiver, in particular allowing the receiver to benefit from additional content.
2.1 Événements 2.1 Events
De telles informations comprennent notamment des événements, permettant de déclencher des actions liées à ces applications. Such information includes in particular events, making it possible to trigger actions linked to these applications.
Ces événements peuvent être utilisés pour permettre une synchronisation entre des données interactives et les composantes vidéo et/ou audio d'un contenu du flux de transport, par exemple pour synchroniser l'affichage d'éléments graphiques en complément d'une vidéo (par exemple une « pop- up »), substituer une publicité par une publicité ciblée, insérer un sous-titre ou le substituer par un autre, etc. These events can be used to allow synchronization between interactive data and the video and/or audio components of transport stream content, for example to synchronize the display of graphic elements in addition to a video (for example a “pop-up”), replacing an advertisement with targeted advertising, inserting a subtitle or replacing it with another, etc.
Ces événements sont par exemple de type « Stream Event », ou SE, au format DSM-CC (pour « Digital Storage Media Command and Control » en anglais), tels que définis dans la norme ISO/IEC 13818-6: « Information technology - Generic coding of moving pictures and associated audio information - Part 6: Extensions for DSM-CC ».) Ces évènements peuvent être reçus par les récepteurs compatibles avec les normes HbbTV (en anglais « Hybrid Broadcast Broadband TV »), également appelés récepteurs hybrides ou connectés, qui représentent la grande majorité des téléviseurs connectables du marché aujourd'hui. These events are for example of the "Stream Event" or SE type, in the DSM-CC format (for "Digital Storage Media Command and Control"), as defined in the ISO/IEC 13818-6 standard: "Information technology - Generic coding of moving pictures and associated audio information - Part 6: Extensions for DSM-CC”.) These events can be received by receivers compatible with HbbTV (Hybrid Broadcast Broadband TV) standards, also called hybrid or connected receivers, which represent the vast majority of connectable televisions on the market today.
Ainsi, la norme HbbTV, telle que définie dans la spécification technique ETSI TS 102796 VI.4.1, décrit la signalisation, le transport et la signalisation de telles applications interactives destinées à être exécutées par un récepteur hybride, et notamment d'événements associés à de telles applications. Des exemples d'applications sont notamment présentés dans la spécification technique ETSI TS 102 809 (VI.3.1): « Digital Video Broadcasting (DVB); Signalling and carriage of interactive applications and services in Hybrid Broadcast/Broadband environments ». Thus, the HbbTV standard, as defined in the technical specification ETSI TS 102796 VI.4.1, describes the signalling, transport and signaling of such interactive applications intended to be executed by a hybrid receiver, and in particular of events associated with such apps. Examples of applications are presented in particular in the technical specification ETSI TS 102 809 (VI.3.1): “Digital Video Broadcasting (DVB); Signaling and carriage of interactive applications and services in Hybrid Broadcast/Broadband environments”.
2.2 Insertion d'événement dans un flux de transport 2.2 Inserting an event into a transport stream
On décrit ci-après l'insertion d'un événement dans un flux de transport, par exemple un flux MPEG-TS (pour « Moving Picture Experts Group - Transport Stream » en anglais). The insertion of an event into a transport stream, for example an MPEG-TS stream (standing for “Moving Picture Experts Group—Transport Stream”), is described below.
Classiquement, un premier codeur d'une tête de réseau reçoit en entrée des données source et délivre en sortie un premier flux MPEG-TS. Un deuxième codeur reçoit en entrée d'autres données source et délivre en sortie un deuxième flux MPEG-TS. De tels codeurs peuvent également recevoir des commandes au format SCTE 104 et les convertir au format SCTE 35. Conventionally, a first encoder of a network head receives source data as input and delivers a first MPEG-TS stream as output. A second encoder receives other source data as input and delivers a second MPEG-TS stream as output. Such encoders can also receive commands in SCTE 104 format and convert them to SCTE 35 format.
Chaque flux MPEG-TS « élémentaire » (i.e. issu d'un codeur) est composé d'un ensemble de paquets de transport (TS), comprenant des paquets audio, vidéo et/ou de sous-titre, etc. Ces différents paquets portent des informations temporelles définies par rapport à une horloge de référence associée au flux MPEG-TS « élémentaire », par exemple un signal d'horloge PCR (en anglais « programme clock reference ») ou TEMI (en anglais « Timed External Media Information »), Par exemple, un paquet vidéo porte une valeur PTS (« Présentation Time Stamp » en anglais) et/ou DTS (« Decoding Time Stamp » en anglais) correspondant à une heure de présentation et/ou décodage d'une image codée dans ce paquet vidéo, par rapport à l'horloge de référence associée au flux MPEG- TS « élémentaire ». Each "elementary" MPEG-TS stream (i.e. from an encoder) is composed of a set of transport packets (TS), including audio, video and/or subtitle packets, etc. These different packets carry time information defined with respect to a reference clock associated with the “elementary” MPEG-TS stream, for example a clock signal PCR (in English “program clock reference”) or TEMI (in English “Timed External Media Information”), For example, a video packet carries a PTS (“Presentation Time Stamp”) and/or DTS (“Decoding Time Stamp”) value corresponding to a time of presentation and/or decoding of a image coded in this video packet, with respect to the reference clock associated with the “elementary” MPEG-TS stream.
Les flux MPEG-TS « élémentaires » obtenus en sortie des différents codeurs peuvent être multiplexés par un multiplexeur de la tête de réseau. En sortie du multiplexeur, on obtient donc un flux MPEG-TS « global » encapsulant plusieurs flux MPEG-TS « élémentaire », dans lequel tous les paquets TS sont mélangés. The "elementary" MPEG-TS streams obtained at the output of the various coders can be multiplexed by a multiplexer of the network head. At the output of the multiplexer, a “global” MPEG-TS stream is therefore obtained encapsulating several “elementary” MPEG-TS streams, in which all the TS packets are mixed.
En particulier, au moins un événement peut être défini par rapport à un flux MPEG-TS « élémentaire » (par exemple un ordre de décrochage, un élément graphique à ajouter à une image du contenu porté par le flux MPEG-TS « élémentaire », etc). Un tel événement, par exemple un événement au format SCTE 35 obtenu en sortie du codeur, peut notamment être converti en « Stream Event », comme décrit dans la demande de brevet W02019/011655. En particulier, cette demande de brevet propose d'utiliser les informations temporelles obtenues à partir d'une commande de type SCTE 35 par exemple, pour positionner un événement dans un flux de transport et établir une synchronisation fine entre l'événement et un point de référence du flux MPEG-TS « élémentaire ». In particular, at least one event can be defined in relation to an "elementary" MPEG-TS stream (for example an off-hook order, a graphic element to be added to an image of the content carried by the "elementary" MPEG-TS stream, etc). Such an event, for example an event in SCTE 35 format obtained at the output of the encoder, can in particular be converted into “Stream Event”, as described in patent application WO2019/011655. In particular, this patent application proposes using the time information obtained from an SCTE 35 type command, for example, to position an event in a transport stream and establish a fine synchronization between the event and a point of reference of the "elementary" MPEG-TS stream.
Un tel événement peut être inséré sous la forme d'un paquet d'événement dans le flux MPEG- TS, de façon relative par rapport à un paquet de référence du flux MPEG-TS « élémentaire ». Un tel paquet d'événement est donc un paquet TS. Such an event can be inserted in the form of an event packet in the MPEG-TS stream, in a relative manner with respect to a reference packet of the “elementary” MPEG-TS stream. Such an event packet is therefore a TS packet.
La figure 1 illustre un exemple de flux MPEG-TS 11 reçu par un récepteur. Les paquets TS 111, 112, et 113 sont par exemple des paquets utiles d'un flux MPEG-TS « élémentaire ». Le paquet d'événement 110 peut porter un événement se rapportant au flux MPEG-TS « élémentaire ». Par exemple, le paquet d'événement est un paquet TS portant un Stream Event au format DSM-CC définissant une ou plusieurs actions liées au contenu porté par le flux MPEG-TS « élémentaire ». FIG. 1 illustrates an example of MPEG-TS stream 11 received by a receiver. The TS packets 111, 112, and 113 are for example useful packets of an “elementary” MPEG-TS stream. Event packet 110 may carry an event relating to the “elementary” MPEG-TS stream. For example, the event packet is a TS packet carrying a Stream Event in DSM-CC format defining one or more actions related to the content carried by the “elementary” MPEG-TS stream.
Classiquement, un « pré-roll d'insertion » est défini pour un événement, correspondant à un délai souhaité entre l'insertion de la commande et un point du flux MPEG-TS élémentaire signalé par l'événement. Ce positionnement en avance permet aux récepteurs de préparer les actions à réaliser lors de la réception de l'événement. Une réception en avance implique que la valeur de pré-roll d'insertion soit connue par le récepteur. Conventionally, an “insertion pre-roll” is defined for an event, corresponding to a desired delay between the insertion of the command and a point in the elementary MPEG-TS stream signaled by the event. This positioning in advance allows the receivers to prepare the actions to be carried out when receiving the event. An early reception implies that the insertion pre-roll value is known by the receiver.
Selon l'exemple illustré en figure 1, un tel pré-roll d'insertion 12 correspond à un délai souhaité, classiquement exprimé en millisecondes, entre la position du paquet d'événement 110 dans le flux MPEG-TS et la position d'un paquet de référence 111 du flux MPEG-TS « élémentaire » dans le flux MPEG-TS. Par exemple, la position souhaitée d'insertion du paquet d'événement 110 dans le flux MPEG-TS peut être de l'ordre de 100ms avant le paquet de référence 100 correspondant au premier paquet d'une image cible repérée par sa valeur de PTS, en se basant sur l'horloge de référence servant de référence au PTS utilisé. According to the example illustrated in FIG. 1, such an insertion pre-roll 12 corresponds to a desired delay, conventionally expressed in milliseconds, between the position of the event packet 110 in the MPEG-TS stream and the position of a reference packet 111 of the “elementary” MPEG-TS stream in the MPEG-TS stream. For example, the desired position for inserting the event packet 110 into the MPEG-TS stream can be of the order of 100 ms before the reference packet 100 corresponding to the first packet of a target image identified by its PTS value. , based on the reference clock serving as a reference for the PTS used.
On constate toutefois sur la figure 1 qu'il existe un décalage 13 entre la position réelle du paquet d'événement 110 dans le flux MPEG-TS (qui correspond par exemple à l'heure de réception, par le récepteur du flux MPEG-TS 11, du premier octet du paquet d'événement 110) et la position souhaitée du paquet d'événement 110 par rapport au paquet de référence 111 (référencée 114). However, it can be seen in FIG. 1 that there is an offset 13 between the actual position of the event packet 110 in the MPEG-TS stream (which corresponds for example to the time of reception, by the receiver of the MPEG-TS stream 11, of the first byte of event packet 110) and the desired position of event packet 110 relative to reference packet 111 (referenced 114).
Un tel décalage d'insertion correspond donc à un décalage, non souhaité, entre les positions d'insertion cible et réelle du paquet d'événement dans le flux MPEG-TS. Such an insertion offset therefore corresponds to an undesired offset between the target and actual insertion positions of the event packet in the MPEG-TS stream.
Ce décalage peut être provoqué par des opérations réalisées sur le flux MPEG-TS : insertion du « stream event », multiplexage, transcodage, remultiplexage (qui peuvent modifier l'ordonnancement des paquets TS), utilisation d'un code correcteur d'erreur (FEC ou « Forward Error Correction » en anglais) dans un équipement, etc. This shift can be caused by operations performed on the MPEG-TS stream: insertion of the "stream event", multiplexing, transcoding, remultiplexing (which can modify the scheduling of TS packets), use of an error correcting code (FEC or “Forward Error Correction”) in equipment, etc.
Notamment, la structure du réseau de diffusion et/ou la nature des équipements traversés par le flux MPEG-TS peuvent introduire un décalage entre les composantes FlbbTV (par exemple de type Stream Event) et vidéo (ou audio, de sous-titre, etc) d'un flux MPEG-TS. Par exemple, un transcodeur peut introduire un retard de plusieurs secondes. De même, l'utilisation d'un code correcteur d'erreur peut ajouter une latence de plusieurs centaines de millisecondes. In particular, the structure of the broadcast network and/or the nature of the equipment traversed by the MPEG-TS stream may introduce a lag between the FlbbTV components (for example of the Stream Event type) and video (or audio, subtitle, etc. ) of an MPEG-TS stream. For example, a transcoder may introduce a delay of several seconds. Similarly, using error-correcting code can add hundreds of milliseconds of latency.
En particulier, un tel décalage peut évoluer si le réseau de diffusion est modifié au fil du temps.In particular, such a shift can change if the broadcast network is changed over time.
De plus, un tel décalage peut être diffèrent d'un sous réseau à l'autre. Par exemple, pour un même contenu diffusé en TNT et en satellite, le décalage peut être diffèrent pour les deux modes de diffusion, puisqu'ils n'utilisent pas la même structure de réseau et pas les mêmes équipements. Moreover, such a shift may be different from one subnet to another. For example, for the same content broadcast in DTT and satellite, the delay may be different for the two broadcast modes, since they do not use the same network structure and do not use the same equipment.
Par ailleurs, un décalage supplémentaire peut également être introduit par le récepteur entre l'affichage d'une image de référence et la réception de l'événement défini à partir de cette image de référence au niveau de l'application FlbbTV. Ce décalage peut être variable d'un modèle de récepteur à l'autre. Moreover, an additional delay can also be introduced by the receiver between the display of a reference image and the reception of the event defined from this reference image at the level of the FlbbTV application. This offset may vary from one receiver model to another.
Un inconvénient lié à ce ou ces décalages est la désynchronisation entre l'événement et le flux MPEG-TS « élémentaire » auquel il se rapporte, au niveau d'un récepteur. A disadvantage linked to this or these offsets is the desynchronization between the event and the “elementary” MPEG-TS stream to which it relates, at the level of a receiver.
En effet, les PTS/DTS et commandes SCTE ne sont pas accessibles par une application FlbbTV. Les événements selon la norme FlbbTV ne portent donc pas de référence temporelle, comme un instant de présentation (PTS) ou un instant de décodage (DTS), qui permettrait une synchronisation fine, au niveau des récepteurs, de l'événement (ou plus généralement de la composante FlbbTV) avec une composante vidéo (ou audio, de sous-titre, etc) du flux MPEG-TS « élémentaire » à laquelle il se rapporte. En d'autres termes, un récepteur ne dispose d'aucune information entre l'événement et la composante du flux MPEG-TS « élémentaire » à laquelle il est associé. Indeed, the PTS/DTS and SCTE commands are not accessible by an FlbbTV application. Events according to the FlbbTV standard therefore do not carry a time reference, such as a presentation instant (PTS) or a decoding instant (DTS), which would allow fine synchronization, at receiver level, of the event (or more generally of the FlbbTV component) with a video (or audio, subtitle, etc.) component of the “elementary” MPEG-TS stream to which it relates. In other words, a receiver has no information between the event and the component of the “elementary” MPEG-TS stream with which it is associated.
Quand bien même un événement a été inséré dans le flux MPEG-TS pour assurer une synchronisation entre l'événement et la composante à laquelle il se rapporte, tel que décrit dans la demande de brevet W02019/011655 par exemple, la synchronisation peut être altérée par le ou les décalages introduits par le réseau de diffusion ou le récepteur. Il existe donc un besoin pour une nouvelle technique permettant d'améliorer la synchronisation entre un événement et la composante du flux de transport à laquelle il se rapporte, au niveau d'un récepteur. Even if an event has been inserted into the MPEG-TS stream to ensure synchronization between the event and the component to which it relates, as described in patent application WO2019/011655 for example, the synchronization may be altered. by the offset(s) introduced by the broadcast network or the receiver. There is therefore a need for a new technique making it possible to improve the synchronization between an event and the component of the transport stream to which it relates, at the level of a receiver.
3. Exposé de l'invention 3. Disclosure of Invention
L'invention propose, dans au moins un mode de réalisation, une solution ne présentant pas l'ensemble des inconvénients de l'art antérieur, sous la forme d'un procédé de surveillance d'un flux de transport en sortie d'un équipement d'un réseau de diffusion. Par exemple, un tel équipement, dit équipement à surveiller, peut être un multiplexeur, une passerelle, un transcodeur, etc. The invention proposes, in at least one embodiment, a solution not having all the drawbacks of the prior art, in the form of a method for monitoring a transport stream at the output of an equipment of a broadcast network. For example, such equipment, called equipment to be monitored, can be a multiplexer, a gateway, a transcoder, etc.
Selon l'invention, un tel procédé met en oeuvre au moins une itération des étapes suivantes : obtention du flux de transport délivré par ledit équipement, détection d'un paquet d'événement courant associé à un contenu porté par le flux de transport, le paquet d'événement portant un entête de synchronisation comprenant : une information temporelle de référence définie par rapport à une horloge de référence dudit contenu ; un délai souhaité entre ledit paquet d'événement courant et un paquet de référence dudit contenu identifié à partir de ladite information temporelle de référence, détermination d'un décalage entre une position réelle dudit paquet d'événement courant dans ledit flux de transport, et une position souhaitée dudit paquet d'événement courant dans ledit flux de transport, déterminée à partir de ladite information temporelle de référence et dudit délai souhaité, dit décalage de traitement. According to the invention, such a method implements at least one iteration of the following steps: obtaining the transport stream delivered by said equipment, detection of a current event packet associated with a content carried by the transport stream, the event packet carrying a synchronization header comprising: reference time information defined with respect to a reference clock of said content; a desired delay between said current event packet and a reference packet of said content identified from said reference time information, determining an offset between an actual position of said current event packet in said transport stream, and a desired position of said current event packet in said transport stream, determined from said reference time information and from said desired delay, called processing offset.
La solution proposée permet ainsi de mesurer, au cours de la diffusion du flux de transport dans le réseau de diffusion, un décalage introduit par au moins un équipement du réseau de diffusion, par exemple un multiplexeur, une passerelle de diffusion, un transcodeur, etc. Il est ainsi possible de compenser ce décalage avant de poursuivre la diffusion du flux de transport dans le réseau ou d'en informer les autres équipements du réseau de diffusion. Il est également possible de tenir compte de ce décalage lors de l'insertion de paquets d'événement suivants dans le flux de transport. The proposed solution thus makes it possible to measure, during the broadcast of the transport stream in the broadcast network, an offset introduced by at least one piece of equipment of the broadcast network, for example a multiplexer, a broadcast gateway, a transcoder, etc. . It is thus possible to compensate for this offset before continuing to broadcast the transport stream in the network or to inform the other devices of the broadcasting network. It is also possible to take this offset into account when inserting subsequent event packets into the transport stream.
En particulier, l'équipement à surveiller peut être un équipement placé à l'extrémité du réseau de diffusion (par exemple une passerelle de diffusion), de façon à déterminer le décalage introduit par l'ensemble du réseau de diffusion. In particular, the equipment to be monitored can be equipment placed at the end of the broadcast network (for example a broadcast gateway), so as to determine the offset introduced by the whole of the broadcast network.
Pour ce faire, on détecte, dans le flux de transport en sortie de l'équipement à surveiller, au moins un paquet d'événement courant portant des informations spécifiques. Grâce à ces informations spécifiques, il est possible de déterminer une position souhaitée, ou théorique, du paquet d'événement courant dans le flux de transport par rapport à un point de référence du contenu. Il est également possible de mesurer la position réelle du paquet d'événement courant dans le flux de transport en sortie de l'équipement à surveiller par rapport à ce point de référence, et de déterminer un décalage entre la position réelle du paquet courant et sa position souhaitée dans le flux de transport. Ce décalage, introduit notamment par le traitement du flux de transport jusqu'à l'équipement à surveiller, est par la suite appelé « décalage de traitement ». To do this, at least one current event packet carrying specific information is detected in the transport stream at the output of the equipment to be monitored. Thanks to this specific information, it is possible to determine a desired, or theoretical, position of the current event packet in the transport stream with respect to a reference point of the content. He is it is also possible to measure the actual position of the current event packet in the transport stream at the output of the equipment to be monitored with respect to this reference point, and to determine an offset between the actual position of the current packet and its desired position in the transport stream. This lag, introduced in particular by the processing of the transport stream up to the equipment to be monitored, is hereinafter called “processing lag”.
Connaissant ce décalage de traitement, différentes actions peuvent être exécutées. Knowing this processing lag, different actions can be executed.
Par exemple, ce décalage de traitement peut être : stocké dans une mémoire du dispositif de surveillance, transmis à au moins un autre équipement du réseau de diffusion (dispositif d'insertion d'événement, plateforme de services stockant les différentes valeurs de décalages, etc), directement ou en modifiant un champ de l'entête de synchronisation du paquet d'événement courant, utilisé pour corriger la position du paquet d'événement courant dans le flux de transport, de façon que la position souhaitée du paquet d'événement courant et sa position réelle coïncide ; utilisé pour insérer au moins un paquet d'événement suivant dans le flux de transport, à une position telle que la position souhaitée du paquet d'événement suivant et sa position réelle coïncide, etc. For example, this processing offset can be: stored in a memory of the monitoring device, transmitted to at least one other piece of equipment in the broadcasting network (event insertion device, service platform storing the different offset values, etc. ), directly or by modifying a field of the synchronization header of the current event packet, used to correct the position of the current event packet in the transport stream, so that the desired position of the current event packet and its real position coincides; used to insert at least one next event packet into the transport stream, at a position such that the desired position of the next event packet and its actual position coincide, etc.
De cette façon, il est possible d'améliorer la synchronisation entre un paquet d'événement et le point de référence du contenu auquel il se rapporte, notamment au niveau d'un récepteur recevant le flux de données. In this way, it is possible to improve the synchronization between an event packet and the reference point of the content to which it relates, in particular at the level of a receiver receiving the data stream.
De telles étapes peuvent notamment être mises en oeuvre dans un dispositif de surveillance d'un flux de transport. L'invention concerne donc également un dispositif de surveillance correspondant. Such steps can in particular be implemented in a device for monitoring a transport stream. The invention therefore also relates to a corresponding monitoring device.
Un tel dispositif de surveillance, également appelé SE monitoring, est notamment adapté à mettre en oeuvre le procédé de surveillance décrit ci-dessus. Il pourra bien sûr comporter les différentes caractéristiques relatives au procédé de surveillance selon au mode de réalisation de l'invention, qui peuvent être combinées ou prises isolément. Par exemple, un tel dispositif peut être intégré à un dispositif d'insertion d'événement, à une passerelle ou à tout autre équipement du réseau de diffusion. Such a monitoring device, also called SE monitoring, is in particular suitable for implementing the monitoring method described above. It could of course include the different characteristics relating to the monitoring method according to the embodiment of the invention, which can be combined or taken separately. For example, such a device can be integrated with an event insertion device, with a gateway or with any other equipment of the broadcasting network.
L'invention concerne par ailleurs un procédé d'insertion d'un événement dans un flux de transport destiné à être diffusé dans un réseau de diffusion. The invention also relates to a method for inserting an event into a transport stream intended to be broadcast in a broadcast network.
Selon l'invention, un tel procédé met en oeuvre les étapes suivantes : obtention dudit flux de transport, insertion, dans ledit flux de transport, d'au moins un paquet d'événement courant associé à un contenu porté par ledit flux de transport, ledit paquet d'événement courant portant un entête de synchronisation comprenant : une information temporelle de référence définie par rapport à une horloge de référence dudit contenu ; un délai souhaité entre ledit paquet d'événement courant et un paquet de référence dudit contenu identifié à partir de ladite information temporelle de référence, ledit paquet d'événement courant étant inséré dans ledit flux de transport à une position définie à partir de la position dudit paquet de référence et dudit délai souhaité. According to the invention, such a method implements the following steps: obtaining said transport stream, inserting, into said transport stream, at least one current event packet associated with a content carried by said transport stream, said current event packet carrying a synchronization header comprising: information reference time defined with respect to a reference clock of said content; a desired delay between said current event packet and a reference packet of said content identified from said reference time information, said current event packet being inserted into said transport stream at a position defined from the position of said reference packet and said desired delay.
La solution proposée permet ainsi d'insérer, dans le flux de transport, des paquets d'événement particuliers, qui peuvent être utilisés pour mesurer un décalage introduit par le réseau de diffusion. The proposed solution thus makes it possible to insert, in the transport stream, particular event packets, which can be used to measure an offset introduced by the broadcasting network.
En particulier, un paquet d'événement selon l'invention porte une information temporelle de référence définie par rapport à une horloge de référence du contenu, par exemple une valeur de PTS associée à une image de référence du contenu définie par rapport à un signal d'horloge embarqué dans le contenu (une PCR, un TEMI, etc). Un tel paquet d'événement porte également un délai souhaité entre le paquet d'événement courant et un paquet de référence du contenu identifié à partir de l'information temporelle de référence, par exemple le paquet portant l'image de référence. Un tel délai souhaité correspond par exemple à un pré-roll d'insertion. In particular, an event packet according to the invention carries reference time information defined with respect to a reference clock of the content, for example a PTS value associated with a reference image of the content defined with respect to a signal of clock embedded in the content (a PCR, a TEMI, etc.). Such an event packet also carries a desired delay between the current event packet and a reference packet of the content identified from the reference time information, for example the packet carrying the reference image. Such a desired delay corresponds for example to an insertion pre-roll.
Grâce à ces informations spécifiques, il est possible de déterminer une position souhaitée, ou théorique, du paquet courant dans le flux de transport par rapport à un point de référence du contenu. Il est également possible de mesurer la position réelle du paquet courant dans le flux de transport par rapport à ce point de référence, en sortie d'un équipement du réseau de diffusion, et de déterminer le décalage de traitement entre la position réelle du paquet courant et sa position souhaitée dans le flux de transport. Thanks to this specific information, it is possible to determine a desired, or theoretical, position of the current packet in the transport stream with respect to a reference point of the content. It is also possible to measure the real position of the current packet in the transport stream with respect to this reference point, at the output of a broadcast network device, and to determine the processing lag between the real position of the current packet and its desired position in the transport stream.
De telles étapes peuvent notamment être mises en oeuvre dans un dispositif d'insertion d'un événement dans un flux de transport. L'invention concerne donc également un dispositif d'insertion d'un événement correspondant. Such steps can in particular be implemented in a device for inserting an event into a transport stream. The invention therefore also relates to a device for inserting a corresponding event.
Un tel dispositif d'insertion d'un événement dans un flux de transport, également appelé SE inserteur, est notamment adapté à mettre en oeuvre le procédé d'insertion d'un événement décrit ci- dessus. Il pourra bien sûr comporter les différentes caractéristiques relatives au procédé d'insertion d'un événement selon un mode de réalisation de l'invention, qui peuvent être combinées ou prises isolément. Such a device for inserting an event into a transport stream, also called inserter SE, is in particular suitable for implementing the method for inserting an event described above. It may of course include the different characteristics relating to the insertion process of an event according to one embodiment of the invention, which can be combined or taken separately.
Par exemple, un tel dispositif peut être intégré à un multiplexeur ou à tout autre équipement du réseau de diffusion. For example, such a device can be integrated into a multiplexer or any other equipment of the broadcasting network.
L'invention concerne encore un procédé de gestion d'un flux de transport diffusé dans un réseau de diffusion. The invention also relates to a method for managing a transport stream broadcast in a broadcast network.
Selon l'invention, un tel procédé met en oeuvre les étapes suivantes : obtention d'au moins un décalage parmi : o au moins un décalage entre une position réelle d'un paquet d'événement courant dans ledit flux de transport, en sortie d'un équipement du réseau de diffusion, et une position souhaitée dudit paquet d'événement courant dans ledit flux de transport, dit décalage de traitement, o un décalage déterminé en fonction d'un type de récepteur destiné à recevoir ledit flux de transport, dit décalage de réception, ledit paquet d'événement courant étant associé à un contenu porté par ledit flux de transport, et portant un entête de synchronisation comprenant : une information temporelle de référence définie par rapport à une horloge de référence dudit contenu ; un délai souhaité entre ledit paquet d'événement courant et un paquet de référence dudit contenu identifié à partir de ladite information temporelle de référence, ladite position souhaitée étant déterminée à partir de ladite information temporelle de référence et dudit délai souhaité, transmission, à au moins un autre équipement dudit réseau de diffusion, dudit au moins un décalage obtenu, ou d'un décalage global déterminé à partir dudit au moins un décalage obtenu. According to the invention, such a method implements the following steps: obtaining at least one shift among: o at least one shift between a real position of a current event packet in said transport stream, at the output of equipment of the broadcasting network, and a desired position of said current event packet in said transport stream, called processing offset, o an offset determined according to a type of receiver intended to receive said transport stream, called reception offset, said current event packet being associated with a content carried by said transport stream, and carrying a synchronization header comprising: reference time information defined with respect to a reference clock of said content; a desired delay between said current event packet and a reference packet of said content identified from said reference time information, said desired position being determined from said reference time information and said desired delay, transmission, at least another equipment of said broadcasting network, of said at least one shift obtained, or of a global shift determined from said at least one shift obtained.
La solution proposée permet ainsi de collecter dans un même équipement, par exemple une plateforme de services, au moins une valeur de décalage liée à l'utilisation d'au moins un équipement du réseau de diffusion ou du récepteur. The proposed solution thus makes it possible to collect in the same equipment, for example a service platform, at least one offset value linked to the use of at least one equipment of the broadcasting network or of the receiver.
De cette façon, il est possible de centraliser la ou les valeurs de décalages obtenues, éventuellement de moyenner la ou les valeurs de décalages obtenues, éventuellement de déterminer une valeur de décalage global à partir de la ou des valeurs de décalage (moyennées) obtenues, et d'en informer au moins un équipement du réseau de diffusion, par exemple le SE inserteur. On peut ainsi améliorer la précision d'insertion des événements dans le flux de transport, et donc la synchronisation des événements avec les contenus/composantes auxquel(le)s ils se rapportent, notamment au niveau du récepteur. In this way, it is possible to centralize the shift value(s) obtained, possibly to average the shift value(s) obtained, possibly to determine a global shift value from the (averaged) shift value(s) obtained, and to inform at least one device of the broadcast network, for example the inserter SE. It is thus possible to improve the precision of insertion of the events in the transport stream, and therefore the synchronization of the events with the contents/components to which they relate, in particular at the level of the receiver.
L'invention concerne également une plateforme de services correspondante. The invention also relates to a corresponding service platform.
Une telle plateforme de services, par exemple de type AdsReach® telle que développée par la société ENENSYS TECHNOLOGIES®, est notamment adaptée à mettre en oeuvre le procédé de gestion décrit ci-dessus. Elle pourra bien sûr comporter les différentes caractéristiques relatives au procédé de gestion selon un mode de réalisation de l'invention, qui peuvent être combinées ou prises isolément. Such a service platform, for example of the AdsReach ® type as developed by the company ENENSYS TECHNOLOGIES ® , is in particular suitable for implementing the management method described above. It could of course include the different characteristics relating to the management method according to one embodiment of the invention, which can be combined or taken separately.
L'invention concerne encore un procédé de réception d'un flux de transport diffusé dans un réseau de diffusion. The invention also relates to a method for receiving a transport stream broadcast in a broadcasting network.
Selon l'invention, un tel procédé met en oeuvre les étapes suivantes : réception d'un flux de transport portant au moins un paquet d'événement courant associé à un contenu porté par ledit flux de transport, ledit paquet d'événement courant portant un entête de synchronisation comprenant : o une information temporelle de référence définie par rapport à une horloge de référence dudit contenu, o un délai souhaité ou réel entre ledit paquet d'événement courant et un paquet de référence dudit contenu identifié à partir de ladite information temporelle de référence, synchronisation d'un événement porté par des données utiles dudit paquet d'événement courant avec un point de référence (par exemple une image de référence) associé à ladite information temporelle de référence, en tenant compte d'un délai d'attente déterminé à partir dudit entête de synchronisation dudit paquet d'événement courant. According to the invention, such a method implements the following steps: reception of a transport stream carrying at least one current event packet associated with a content carried by said transport stream, said current event packet carrying a synchronization header comprising: o reference time information defined with respect to a reference clock of said content, o a desired or actual delay between said current event packet and a reference packet of said content identified from said time information of reference, synchronization of an event carried by payload data of said current event packet with a reference point (for example a reference image) associated with said reference time information, taking into account a determined waiting period from said synchronization header of said current event packet.
La solution proposée permet ainsi, au niveau d'un récepteur, de synchroniser un événement avec le contenu auquel il se rapporte. The proposed solution thus makes it possible, at the level of a receiver, to synchronize an event with the content to which it relates.
L'invention concerne également un récepteur correspondant. The invention also relates to a corresponding receiver.
Un tel récepteur est notamment adapté à mettre en oeuvre le procédé de réception décrit ci- dessus. Il pourra bien sûr comporter les différentes caractéristiques relatives au procédé de réception selon un mode de réalisation de l'invention, qui peuvent être combinées ou prises isolément. En particulier, un tel récepteur est un récepteur hybride, compatible avec la norme HbbTV. Such a receiver is in particular suitable for implementing the reception method described above. It could of course include the different characteristics relating to the reception method according to one embodiment of the invention, which can be combined or taken separately. In particular, such a receiver is a hybrid receiver, compatible with the HbbTV standard.
L'invention concerne par ailleurs un système correspondant, comprenant au moins un SE inserteur et un SE monitoring (éventuellement combiné au SE inserter). De préférence, un tel système comprend également une plateforme de services permettant de stocker les différents décalages et un récepteur selon l'invention. The invention also relates to a corresponding system, comprising at least one inserter SE and one monitoring SE (possibly combined with the inserter SE). Preferably, such a system also comprises a service platform making it possible to store the various offsets and a receiver according to the invention.
Les différents procédés selon au moins un mode de réalisation de l'invention peuvent être mis en oeuvre de diverses manières, notamment sous forme matérielle et/ou sous forme logicielle. The various methods according to at least one embodiment of the invention can be implemented in various ways, in particular in hardware form and/or in software form.
Par exemple, au moins une étape des procédés décrits ci-dessus peut être mise en oeuvre : sur une machine de calcul reprogrammable (un ordinateur, un processeur par exemple DSP (en anglais « Digital Signal Processor »), un microcontrôleur, etc) exécutant un programme comprenant une séquence d'instructions, sur une machine de calcul dédiée (par exemple un ensemble de portes logiques comme un FPGA (en anglais « Field Programmable Gâte Array ») ou un ASIC (en anglais « Application-Specific Integrated Circuit »), ou tout autre module matériel). For example, at least one step of the methods described above can be implemented: on a reprogrammable calculation machine (a computer, a processor for example DSP (in English “Digital Signal Processor”), a microcontroller, etc.) executing a program comprising a sequence of instructions, on a dedicated calculation machine (for example a set of logic gates such as an FPGA (in English “Field Programmable Gate Array”) or an ASIC (in English “Application-Specific Integrated Circuit”) , or any other hardware module).
En conséquence, un mode de réalisation de l'invention vise aussi à protéger un ou plusieurs programmes d'ordinateur comportant des instructions adaptées à la mise en oeuvre des procédés décrits ci-dessus lorsque ce ou ces programmes sont exécutés par un processeur, ainsi qu'au moins un support d'informations lisible par un ordinateur comportant des instructions d'au moins un programme d'ordinateur tel que mentionné ci-dessus. Consequently, an embodiment of the invention also aims to protect one or more computer programs comprising instructions adapted to the implementation of the methods described above when this or these programs are executed by a processor, as well as at least one computer-readable information carrier comprising instructions of at least one computer program as mentioned above.
4. Liste des figures 4. List of Figures
D'autres caractéristiques et avantages de l'invention apparaîtront plus clairement à la lecture de la description suivante d'un mode de réalisation particulier, donné à titre de simple exemple illustratif et non limitatif, et des dessins annexés, parmi lesquels : Other characteristics and advantages of the invention will appear more clearly on reading the following description of a particular embodiment, given by way of a simple illustrative and non-limiting example, and the appended drawings, among which:
[Fig 1] la figure 1 illustre un exemple de flux MPEG-TS reçu par un récepteur ; [Fig 1] Figure 1 illustrates an example of an MPEG-TS stream received by a receiver;
[Fig 2] la figure 2 illustre un exemple de réseau de diffusion dans lequel peut être mise en oeuvre l'invention ; [Fig 2] Figure 2 illustrates an example of a broadcast network in which the invention can be implemented;
[Fig 3] la figure 3 présente les principales étapes mises en oeuvre par un dispositif d'insertion d'un événement selon un mode de réalisation de l'invention ; [FIG 3] FIG. 3 presents the main steps implemented by a device for inserting an event according to one embodiment of the invention;
[Fig 4] la figure 4 illustre la structure d'un paquet d'événement de mesure selon un mode de réalisation de l'invention ; [Fig 4] Figure 4 illustrates the structure of a measurement event packet according to one embodiment of the invention;
[Fig 5] la figure 5 illustre la structure d'un paquet d'événement utile selon un mode de réalisation de l'invention ; [Fig 5] Figure 5 illustrates the structure of a payload event packet according to one embodiment of the invention;
[Fig 6] la figure 6 présente les principales étapes mises en oeuvre par un dispositif de surveillance d'un flux de transport en sortie d'un équipement du réseau de diffusion selon un mode de réalisation de l'invention ; [FIG 6] FIG. 6 presents the main steps implemented by a device for monitoring a transport stream at the output of equipment of the broadcasting network according to one embodiment of the invention;
[Fig 7] la figure 7 présente les principales étapes mises en oeuvre par une plateforme de services selon un mode de réalisation de l'invention ; [Fig 8] la figure 8 présente les principales étapes mises en œuvre par un récepteur selon un mode de réalisation de l'invention ; [FIG 7] FIG. 7 presents the main steps implemented by a service platform according to one embodiment of the invention; [Fig 8] Figure 8 shows the main steps implemented by a receiver according to one embodiment of the invention;
[Fig 9] la figure 9 illustre un exemple de réseau de diffusion mettant en œuvre un transcodeur ; [Fig 10] la figure 10 illustre un exemple de mise en œuvre de la synchronisation en tête de réseau selon un mode de réalisation particulier ; [Fig 9] Figure 9 illustrates an example of a broadcast network implementing a transcoder; [Fig 10] FIG. 10 illustrates an example of implementation of synchronization at the head end of the network according to a particular embodiment;
[Fig 11] la figure 11 illustre la structure simplifiée d'un SE inserteur, d'un SE monitoring, d'une plateforme de services, ou d'un récepteur selon un mode de réalisation de l'invention. [FIG 11] FIG. 11 illustrates the simplified structure of an inserter SE, of a monitoring SE, of a service platform, or of a receiver according to one embodiment of the invention.
5. Description de modes de réalisation de l'invention 5. Description of embodiments of the invention
5.1 Principe général 5.1 General principle
Comme déjà indiqué en relation avec l'art antérieur, il existe classiquement, en fin de chaîne de diffusion (au niveau du dernier équipement du réseau de diffusion ou d'un récepteur), un décalage entre la position réelle d'un événement et sa position souhaitée, définies par rapport à un point de référence du contenu auquel se rapporte l'événement. As already indicated in relation to the prior art, there is conventionally, at the end of the broadcasting chain (at the level of the last equipment of the broadcasting network or of a receiver), a lag between the real position of an event and its desired position, defined relative to a reference point of the content to which the event relates.
Un tel décalage peut être composé de plusieurs décalages provenant : de l'ensemble des variations introduites par le réseau de diffusion (transport, (re)multiplexage, transcodage...) du délai de traitement de l'évènement et de décodage du flux de transport par le récepteur. Such a shift can be made up of several shifts originating from: all the variations introduced by the broadcasting network (transport, (re)multiplexing, transcoding, etc. the delay in processing the event and decoding the stream of transport by the receiver.
Le principe général de l'invention repose sur la détermination d'au moins un de ces décalages, et la compensation de ce ou ces décalages. The general principle of the invention is based on the determination of at least one of these offsets, and the compensation of this or these offsets.
La solution proposée permet ainsi de synchroniser, ou de maintenir la synchronisation, d'un événement avec un point de référence d'un contenu, porté par un flux de transport, signalé par cet événement. Elle peut notamment être utilisée pour assurer la synchronisation d'événements de type substitution de contenu (par exemple en HbbTV), affichage de bandeaux, notamment en forme de L (en anglais « L-Banner »), etc. The proposed solution thus makes it possible to synchronize, or to maintain synchronization, of an event with a reference point of a content, carried by a transport stream, signaled by this event. It can in particular be used to ensure the synchronization of events of the content substitution type (for example in HbbTV), display of banners, in particular L-shaped (in English “L-Banner”), etc.
Selon au moins un mode de réalisation, la solution proposée permet de : déterminer un décalage (éventuellement un décalage moyen) entre une date/position souhaitée de l'événement, et une date/position réelle d'insertion de l'événement, par exemple en fin de chaîne de diffusion (au niveau du dernier équipement du réseau de diffusionAccording to at least one embodiment, the proposed solution makes it possible to: determine an offset (possibly an average offset) between a desired date/position of the event, and an actual date/position of insertion of the event, for example at the end of the broadcast chain (at the level of the last equipment of the broadcast network
- également appelé équipement d'extrémité - ou d'un récepteur), et/ou mesurer en continu cette valeur de décalage et adapter automatiquement la correction d'insertion de l'événement dans le flux de transport en fonction de l'évolution du réseau, et/ou adresser plusieurs sous réseaux comportant des décalages différents (puisqu'ils n'utilisent pas la même structure de réseau et pas les mêmes équipements) et/ou des récepteurs comportant des caractéristiques différentes, et donc adapter la synchronisation en compensant les décalages introduits par le réseau et/ou le récepteur, et cela même si les délais varient d'une partie du réseau à l'autre ou d'un récepteur à l'autre, et/ou prendre en compte les écarts de synchronisation jusque dans le récepteur. - also called end equipment - or a receiver), and/or continuously measure this offset value and automatically adapt the correction for inserting the event into the transport stream according to the evolution of the network , and or address several sub-networks with different offsets (since they do not use the same network structure and not the same equipment) and/or receivers with different characteristics, and therefore adapt the synchronization by compensating for the offsets introduced by the network and/or the receiver, and this even if the delays vary from one part of the network to another or from one receiver to another, and/or taking into account the synchronization deviations as far as the receiver.
5.2 Description des équipements principaux 5.2 Description of main equipment
A. Architecture générale A. General Architecture
On présente ci-après le fonctionnement des différents modules mis en oeuvre par l'invention, pour la transmission de paquets d'événement de type « Stream Event » au format DSM-CC dans un flux de transport au format MPEG-TS. Bien entendu, l'invention ne se limite pas à ce type de formats d'événement ou de flux de transport. The operation of the various modules implemented by the invention is presented below, for the transmission of event packets of the “Stream Event” type in the DSM-CC format in a transport stream in the MPEG-TS format. Of course, the invention is not limited to this type of event or transport stream formats.
Afin d'illustrer l'invention, on se place dans le contexte du réseau de diffusion de la figure 2, mettant en oeuvre : une tête de réseau 21, comprenant au moins un codeur 211 et un multiplexeur 212, prenant en entrée au moins un contenu à diffuser (par exemple un service A) et délivrant en sortie un flux de transport TS, et deux sous-réseaux de diffusion, diffusant le flux de transport TS vers des récepteurs 24, 25, comprenant : o un premier sous-réseau de diffusion par satellite 22 mettant en oeuvre un satellite 221, un multiplexeur 222 et une passerelle 223, o un deuxième sous-réseau de diffusion terrestre 23 mettant en oeuvre une passerelle 231. In order to illustrate the invention, we place ourselves in the context of the broadcast network of FIG. 2, implementing: a network head 21, comprising at least one encoder 211 and a multiplexer 212, taking as input at least one content to be broadcast (for example a service A) and outputting a transport stream TS, and two broadcasting sub-networks, broadcasting the transport stream TS to receivers 24, 25, comprising: o a first sub-network of satellite broadcasting 22 implementing a satellite 221, a multiplexer 222 and a gateway 223, o a second terrestrial broadcasting sub-network 23 implementing a gateway 231.
Le récepteur 24 reçoit par exemple le flux de transport diffusé par le premier sous-réseau de diffusion par satellite 22, et le récepteur 25 reçoit le flux de transport diffusé par le deuxième sous- réseau de diffusion terrestre 23. The receiver 24 receives for example the transport stream broadcast by the first satellite broadcasting sub-network 22, and the receiver 25 receives the transport stream broadcast by the second terrestrial broadcasting sub-network 23.
Le flux de transport peut être composé de plusieurs contenus, chaque contenu embarquant sa propre horloge de référence. The transport stream can be composed of several contents, each content embedding its own reference clock.
Bien entendu, une telle structure de réseau est purement illustrative. Of course, such a network structure is purely illustrative.
Selon un mode de réalisation avantageux, afin de maintenir une synchronisation optimale de l'insertion de l'évènement jusqu'à son utilisation, la solution proposée peut utiliser plusieurs modules permettant d'estimer les variations introduites et de les corriger : - un dispositif d'insertion d'événement 213, également appelé SE inserteur, insérant des paquets d'événement SE dans le flux de transport TS issu du multiplexeur 222, et According to an advantageous embodiment, in order to maintain optimal synchronization from the insertion of the event until its use, the proposed solution can use several modules making it possible to estimate the variations introduced and to correct them: - an event insertion device 213, also called SE inserter, inserting event packets SE into the transport stream TS coming from the multiplexer 222, and
- au moins un dispositif de surveillance d'un flux de transport en sortie d'un équipement du réseau de diffusion, également appelé SE monitoring (par exemple intégré dans le dispositif d'insertion d'événement 213 et configuré pour surveiller le flux de transport en sortie du multiplexeur 222, ou situé à un autre endroit du réseau et configuré pour surveiller le flux de transport en sortie d'une passerelle, d'un transcodeur, ..., du réseau) ; dans l'exemple illustré en figure 2, les passerelles 223 et 231 sont chacune équipées d'un dispositif de surveillance 2231 et 2311. - at least one device for monitoring a transport stream at the output of broadcast network equipment, also called SE monitoring (for example integrated into the event insertion device 213 and configured to monitor the transport stream at the output of the multiplexer 222, or located at another place in the network and configured to monitor the transport stream at the output of a gateway, a transcoder, etc., of the network); in the example illustrated in FIG. 2, the gateways 223 and 231 are each equipped with a monitoring device 2231 and 2311.
De manière optionnelle, une plateforme de services 26 peut également être prévue pour collecter ou fournir des informations sur les différents équipements du réseau et sur les récepteurs. Optionally, a service platform 26 can also be provided to collect or supply information on the various equipment items of the network and on the receivers.
Enfin, une application spécifique peut être exécutée par les récepteurs 24 et 25. Finally, a specific application can be executed by receivers 24 and 25.
L'utilisation de certains de ces modules (notamment l'utilisation de plusieurs dispositifs de surveillance, d'une plateforme de service, ou d'applications spécifiques au niveau des récepteurs) est facultative, notamment si la précision de la synchronisation recherchée est faible. The use of some of these modules (in particular the use of several monitoring devices, of a service platform, or of specific applications at the level of the receivers) is optional, in particular if the precision of the desired synchronization is low.
B. Dispositif d'insertion d'un événement dans un flux de transport (SE Inserteur)B. Device for inserting an event into a transport stream (SE Inserter)
On présente, en relation avec la figure 3, les principales étapes mises en oeuvre par le dispositif d'insertion d'un événement 213, également appelé SE inserteur. Le SE inserteur peut être un équipement dédié ou un module logiciel embarqué dans un autre équipement, par exemple dans le codeur 211 ou le multiplexeur 212 de la tête de réseau. In relation to FIG. 3, the main steps implemented by the device for inserting an event 213, also called inserter SE, are presented. The inserter SE can be dedicated equipment or a software module embedded in another equipment, for example in the encoder 211 or the multiplexer 212 of the network head.
Un tel dispositif permet d'insérer des paquets d'événement dans le flux de transportSuch a device makes it possible to insert event packets into the transport stream
Ainsi, au cours d'une première étape 31, le SE inserteur obtient un flux de transport. A la première itération, le flux de transport ne porte pas de paquets d'événement. Lors des itérations suivantes, le flux de transport peut éventuellement porter un ou plusieurs paquets d'événement insérés au cours d'une itération précédente. Thus, during a first step 31, the inserter SE obtains a transport stream. At the first iteration, the transport stream carries no event packets. On subsequent iterations, the transport stream may optionally carry one or more event packets inserted during a previous iteration.
Par exemple, le SE inserteur prend en entrée le flux de transport issu du multiplexeur 212, portant un ou plusieurs contenus, ou directement un flux de transport issu du codeur 211, portant généralement un seul contenu, et délivre en sortie le flux de transport portant au moins un paquet d'événement courant associé à des contenus. Éventuellement, il prend en entrée une information permettant d'identifier un point de référence dans le contenu (message de type SCTE 35, tatouage, etc). For example, the inserter SE takes as input the transport stream from the multiplexer 212, carrying one or more contents, or directly a transport stream from the encoder 211, generally carrying a single content, and delivers as output the transport stream carrying at least one current event packet associated with content. Optionally, it takes as input information making it possible to identify a reference point in the content (message of SCTE 35 type, watermark, etc.).
Par la suite, par souci de simplification, on considère que le flux de transport porte un seul contenu (par exemple le service A). Des étapes similaires peuvent être mises en oeuvre pour chaque contenu porté par le flux de transport. Le SE inserteur génère au moins un paquet d'événement à partir d'un point de référence du contenu (par exemple, le service A) porté par le flux de transport. Subsequently, for the sake of simplification, it is considered that the transport stream carries a single content (for example the service A). Similar steps can be implemented for each content carried by the transport stream. The inserter SE generates at least one event packet from a content reference point (eg service A) carried by the transport stream.
Plus précisément, un tel paquet d'événement courant porte un entête de synchronisation comprenant : une information temporelle de référence définie par rapport à une horloge de référence du contenu ; un délai souhaité entre le paquet d'événement courant et un paquet de référence du contenu identifié à partir de l'information temporelle de référence. More precisely, such a current event packet carries a synchronization header comprising: reference time information defined with respect to a reference clock of the content; a desired delay between the current event packet and a reference packet of the content identified from the reference time information.
Par exemple, si le point de référence est une image de référence, l'information temporelle de référence correspond à une date de restitution (par exemple une valeur de PTS) de l'image de référence du contenu porté par le flux de transport, en référence à une horloge de référence (par exemple une horloge PCR ou TEMI) embarquée dans le contenu, et le paquet de référence est par exemple le premier paquet codant l'image de référence. En particulier, l'image de référence est une image IDR (en anglais « Instantaneous Décoder Refresh »). For example, if the reference point is a reference image, the reference time information corresponds to a restitution date (for example a PTS value) of the reference image of the content carried by the transport stream, in reference to a reference clock (for example a PCR or TEMI clock) embedded in the content, and the reference packet is for example the first packet encoding the reference image. In particular, the reference image is an IDR (Instantaneous Decoder Refresh) image.
Au cours d'une deuxième étape 32, le SE inserteur insère le paquet d'événement courant dans le flux de transport, à une position définie à partir de la position du paquet de référence et du délai souhaité. Le SE inserteur cherche donc à assurer, lors de l'insertion, la synchronisation du paquet d'événement avec le contenu auquel il se rapporte. During a second step 32, the inserter SE inserts the current event packet into the transport stream, at a position defined from the position of the reference packet and the desired delay. The inserter SE therefore seeks to ensure, during the insertion, the synchronization of the event packet with the content to which it relates.
Selon un premier mode de réalisation, un paquet d'événement courant peut être un paquet d'événement de mesure inséré par le SE inserteur pour mesurer le ou les décalage introduit(s) par les différents équipements du réseau. According to a first embodiment, a current event packet can be a measurement event packet inserted by the inserter SE to measure the offset(s) introduced by the various equipment items of the network.
Selon un deuxième mode de réalisation, un paquet d'événement courant peut être un paquet d'événement utile portant des données utiles associées à l'événement. According to a second embodiment, a current event packet can be a payload event packet carrying payload data associated with the event.
Ces deux modes de réalisation, décrits plus en détail par la suite, peuvent être combinés. Par exemple, des paquets d'événement de mesure peuvent être insérés au début de la diffusion du flux de transport pour déterminer les décalages à corriger, puis des paquets d'événement utiles peuvent être insérés au cours de la diffusion du flux de transport pour maintenir la synchronisation. These two embodiments, described in more detail below, can be combined. For example, measurement event packets can be inserted at the beginning of the transport stream broadcast to determine the offsets to be corrected, then useful event packets can be inserted during the transport stream broadcast to maintain the synchronization.
Le flux de transport dans lequel a été inséré au moins un paquet d'événement courant peut alors être diffusé dans le réseau de diffusion, ou renvoyé en entrée du multiplexeur 212. The transport stream into which at least one current event packet has been inserted can then be broadcast in the broadcast network, or returned to the input of the multiplexer 212.
Comme décrit par la suite, le paquet d'événement courant inséré dans le flux de transport peut être utilisé par un ou plusieurs dispositifs de surveillance répartis dans le réseau de diffusion pour mesurer le ou les décalages introduits par le réseau, dits décalages de traitement. Le ou les décalages de traitement obtenus peuvent éventuellement être transmis au SE inserteur 213, directement ou par l'intermédiaire d'un autre équipement, par exemple la passerelle de services 26, pour qu'il modifie la position du paquet d'événement courant dans le flux de transport pour compenser le ou les décalages de traitement, ou qu'il puisse insérer un paquet d'événement suivant dans le flux de transport en anticipant ce décalage de traitement. As described below, the current event packet inserted into the transport stream can be used by one or more monitoring devices distributed in the broadcast network to measure the offset(s) introduced by the network, called processing offsets. The processing offset(s) obtained may optionally be transmitted to the inserter SE 213, directly or via another device, for example the services gateway 26, so that it modifies the position of the current event packet in the transport stream to compensate for the processing lag(s), or that it can insert a next event packet into the transport stream in anticipation of that processing lag.
Ainsi, selon un mode de réalisation particulier, le SE inserteur 213 obtient au cours d'une étape 33 un décalage de traitement D1 entre une position réelle du paquet d'événement courant dans le flux de transport, en sortie d'un équipement à surveiller du réseau de diffusion (par exemple le multiplexeur 212, la passerelle 231, la passerelle, 223, etc), et une position souhaitée du paquet d'événement courant dans le flux de transport, déterminée à partir de l'information temporelle de référence et du délai souhaité. Thus, according to a particular embodiment, the inserter SE 213 obtains during a step 33 a processing offset D1 between a real position of the current event packet in the transport stream, at the output of a device to be monitored of the broadcast network (for example the multiplexer 212, the gateway 231, the gateway, 223, etc.), and a desired position of the current event packet in the transport stream, determined from the reference time information and the desired time.
Le SE inserteur peut notamment déterminer lui-même cette valeur de décalage (par exemple s'il dispose d'un dispositif de surveillance), ou recevoir cette valeur de décalage en provenance d'un dispositif de surveillance du réseau (par exemple les SE monitoring 2231 ou 2311), directement ou par l'intermédiaire de la plateforme de services 26, par exemple sous la forme de notifications. The inserter SE can in particular determine this offset value itself (for example if it has a monitoring device), or receive this offset value from a network monitoring device (for example the monitoring SEs 2231 or 2311), directly or via the service platform 26, for example in the form of notifications.
L'obtention de ce décalage de traitement par le SE inserteur 213 permet notamment de corriger la position du paquet d'événement courant dans le flux de transport, ou d'insérer un paquet d'événement suivant dans le flux de transport à une position souhaitée, de façon à compenser un décalage de traitement introduit par au moins un équipement du réseau (multiplexeur 212, passerelle 223, passerelle 231, etc). Obtaining this processing shift by the inserter SE 213 makes it possible in particular to correct the position of the current event packet in the transport stream, or to insert a following event packet in the transport stream at a desired position. , so as to compensate for a processing offset introduced by at least one network device (multiplexer 212, gateway 223, gateway 231, etc.).
Ce décalage peut notamment être transmis à un autre équipement du réseau de diffusion, par exemple à la plateforme de services 26. This shift can in particular be transmitted to another piece of equipment in the broadcast network, for example to the service platform 26.
En particulier, le SE inserteur 213 peut déterminer un décalage de traitement « moyen » à réception de plusieurs valeurs de décalage de traitement en provenance d'un même dispositif de surveillance, ou directement recevoir un décalage de traitement « moyen ». In particular, the inserter SE 213 can determine an "average" processing offset upon receipt of several processing offset values from the same monitoring device, or directly receive an "average" processing offset.
Selon un mode de réalisation particulier, le SE inserteur 213 peut également mettre en oeuvre la réception 34 d'un décalage de réception D2 déterminé en fonction d'un type de récepteur destiné à recevoir le flux de transport. According to a particular embodiment, the inserter SE 213 can also implement the reception 34 of a reception offset D2 determined as a function of a type of receiver intended to receive the transport stream.
Par exemple, les caractéristiques de différents récepteurs selon leur type (par exemple selon leur marque, leur modèle) peuvent être déterminées lors de tests en laboratoire et stockées dans une base de données. Une telle base de données peut être accessible au SE inserteur 213, directement ou par l'intermédiaire de la plateforme de services 26. De cette façon, il est également possible d'estimer le décalage introduit par le récepteur entre l'affichage de l'image de référence et la réception du paquet d'événement, au niveau de l'application HbbTV par exemple, et de compenser ce décalage. For example, the characteristics of different receivers according to their type (for example according to their brand, their model) can be determined during laboratory tests and stored in a database. Such a database can be accessible to the inserter SE 213, directly or via the services platform 26. In this way, it is also possible to estimate the offset introduced by the receiver between the display of the reference image and the reception of the event packet, at the level of the HbbTV application for example, and to compensate for this offset.
On note que ces étapes d'obtention d'un décalage de traitement 33 ou d'un décalage de réception 34 sont facultatives, et peuvent être mises en oeuvre indépendamment l'une de l'autre. Note that these steps for obtaining a processing offset 33 or a reception offset 34 are optional, and can be implemented independently of one another.
Le SE inserteur a ainsi la possibilité de recevoir des notifications de la plateforme de services ou d'un dispositif de surveillance du réseau, portant au moins une valeur de décalage de traitement ou décalage de réception. The inserter SE thus has the possibility of receiving notifications from the service platform or from a network monitoring device, carrying at least one processing offset or reception offset value.
Le ou les décalages obtenus, éventuellement moyennés, peuvent être utilisés par le SE inserteur pour modifier la position du paquet d'événement courant dans le flux de transport et/ou pour insérer un paquet d'événement suivant dans le flux de transport à une position permettant d'assurer une synchronisation entre l'événement et le point de référence auquel il se réfère, en compensant le ou les décalages obtenus. En particulier, un paquet d'événement suivant peut être un paquet d'événement « classique », au format DSM-CC par exemple, ne portant pas d'entête de synchronisation. Il peut notamment être associé à un contenu distinct du paquet d'événement courant. The offset(s) obtained, possibly averaged, can be used by the inserter SE to modify the position of the current event packet in the transport stream and/or to insert a following event packet into the transport stream at a position making it possible to ensure synchronization between the event and the reference point to which it refers, by compensating for the offset(s) obtained. In particular, a following event packet can be a “classic” event packet, in DSM-CC format for example, not carrying a synchronization header. It can in particular be associated with a content distinct from the current event packet.
Par exemple, le SE inserteur intègre une valeur de décalage de traitement ou décalage de réception lors de l'insertion d'un paquet d'événement en additionnant la valeur reçue au décalage initialement prévu lors de l'insertion. Cela a pour but d'obtenir une synchronisation correcte du paquet d'événement au moment de la diffusion en compensant les actions du réseau sur la position du paquet d'événement par rapport au point de référence avec lequel il est synchronisé. For example, the inserter SE integrates a value of processing offset or reception offset during the insertion of an event packet by adding the value received to the initially planned offset during the insertion. This is intended to achieve correct synchronization of the event packet at broadcast time by compensating for network actions on the position of the event packet relative to the reference point with which it is synchronized.
Cette boucle de rétroaction peut être permanente, ce qui permet de maintenir la synchronisation même si certains paramètres du réseau de diffusion sont modifiés, ou mise en oeuvre ponctuellement (par exemple lors de l'installation du réseau, lors de l'ajout d'un nouvel équipement dans le réseau, à intervalles de temps régulier (une fois par semaine, une fois par mois, etc), lorsqu'une perte de synchronisation est détectée, etc. This feedback loop can be permanent, which makes it possible to maintain synchronization even if certain parameters of the broadcasting network are modified, or implemented occasionally (for example during the installation of the network, when adding a new equipment in the network, at regular time intervals (once a week, once a month, etc.), when a loss of synchronization is detected, etc.
En résumé, le SE inserteur peut exécuter au moins une action parmi : insérer au moins un paquet d'événement (paquet d'événement de mesure, paquet d'événement utile synchronisé avec le contenu auquel il se rapporte) ; corriger la synchronisation lors de l'insertion d'un paquet d'événement, en compensant les décalages de traitement et/ou de réception ; etc. In summary, the inserter SE can execute at least one action among: inserting at least one event packet (measurement event packet, useful event packet synchronized with the content to which it relates); correct the synchronization during the insertion of an event packet, by compensating for the delays in processing and/or reception; etc
C. Paquets d'événement Comme indiqué ci-dessus, différents paquets d'événement peuvent être utilisés pour mesurer le ou les décalages et améliorer la synchronisation. C. Event Packages As noted above, different event packets can be used to measure the offset(s) and improve synchronization.
Ainsi, selon un premier mode de réalisation, un paquet d'événement courant peut être un paquet d'événement de mesure inséré par le SE inserteur pour mesurer le ou les décalage introduit(s) par au moins un équipement du réseau. Dans ce cas, le SE inserteur prend en entrée le flux de transport issu du multiplexeur 212, ou du codeur 211, et délivre en sortie un flux de transport portant au moins un paquet d'événement de mesure. Thus, according to a first embodiment, a current event packet can be a measurement event packet inserted by the inserter SE to measure the offset(s) introduced by at least one network device. In this case, the inserter SE takes as input the transport stream coming from the multiplexer 212, or from the encoder 211, and delivers as output a transport stream carrying at least one measurement event packet.
Par exemple, le SE inserteur sélectionne une image dans le contenu, dite image de référence. Cette image peut être sélectionnée de façon aléatoire. Le SE inserteur lit la valeur de PTS associée à cette image de référence, et la stocke dans le champ « information temporelle de référence » de l'entête de synchronisation du paquet d'événement de mesure. Le SE inserteur insère le paquet d'événement de mesure juste avant le premier paquet portant l'image de référence, dit paquet de référence, et stocke une valeur nulle dans le champ « délai souhaité ». En variante, le SE inserteur remplace un paquet de bourrage dans le flux de transport par le paquet d'événement de mesure, et stocke dans le champ « délai souhaité » une valeur correspondant au nombre de paquets TS utilisant la même horloge de référence (i.e. associés au même contenu) entre le paquet de bourrage remplacé par le paquet d'événement de mesure et le premier paquet portant l'image de référence. For example, the inserter SE selects an image in the content, called the reference image. This image can be selected randomly. The inserter SE reads the PTS value associated with this reference image, and stores it in the “reference time information” field of the synchronization header of the measurement event packet. The inserter SE inserts the measurement event packet just before the first packet carrying the reference image, called the reference packet, and stores a zero value in the “desired delay” field. Alternatively, the inserter SE replaces a stuffing packet in the transport stream with the measurement event packet, and stores in the "desired delay" field a value corresponding to the number of TS packets using the same reference clock (i.e. associated with the same content) between the padding packet replaced by the measurement event packet and the first packet carrying the reference image.
On note à cet effet que ce décalage ou délai peut être calculé en nombre de paquets TS se basant sur l'horloge utilisée pour l'information temporelle de référence. Par exemple, le décalage est calculé en nombre de paquets TS appartenant au même contenu. En variante, le décalage peut être calculé en nombre de paquets TS appartenant au flux de transport. Dans ce cas, si l'incrément de la valeur d'horloge entre deux paquets TS appartenant à un même contenu est de X ms, on peut diviser cette valeur par le nombre de paquets TS du flux de transport entre deux paquets TS appartenant à un même contenu. L'utilisation de tous les paquets du flux de transport est donc plus précise, car chaque paquet correspond à une durée plus courte. It is noted for this purpose that this shift or delay can be calculated in number of packets TS based on the clock used for the reference time information. For example, the offset is calculated in number of TS packets belonging to the same content. Alternatively, the offset can be calculated in number of TS packets belonging to the transport stream. In this case, if the increment of the clock value between two TS packets belonging to the same content is X ms, this value can be divided by the number of TS packets of the transport stream between two TS packets belonging to a same content. The use of all packets of the transport stream is therefore more precise, because each packet corresponds to a shorter duration.
La conversion en temps peut être réalisée en multipliant le nombre de paquets d'écart par la durée d'émission d'un paquet TS. The time conversion can be performed by multiplying the number of gap packets by the transmission duration of a TS packet.
La durée d'émission d'un paquet peut être calculée en comptant le nombre de paquets dans le flux de transport entre deux paquets portant une valeur de la même horloge de référence (PCR ou TEMI par exemple). The transmission duration of a packet can be calculated by counting the number of packets in the transport stream between two packets carrying a value of the same reference clock (PCR or TEMI for example).
En particulier, un paquet d'événement de mesure porte un identifiant de synchronisation, permettant aux autres équipements du réseau ou aux récepteurs de détecter qu'il s'agit d'un paquet utilisé pour la synchronisation. La figure 4 illustre un exemple de structure d'un tel paquet d'événement de mesure, comprenant un entête SE_H 41 (« SE header »), et une partie utile SE_P 42 (« SE payload »). La partie utile 42 comprend uniquement un entête de synchronisation, portant par exemple trois champs : un champ SYNC 421, par exemple sur 4 octets, portant un identifiant de synchronisation permettant d'identifier que le paquet d'événement est utilisé pour la synchronisation. Il peut contenir par exemple la valeur « ARSC » codée en ascii ; un champ D 422 (« Delai », ou « Delay ms »), par exemple sur 2 octets, portant un délai souhaité entre le paquet d'événement de mesure et un paquet de référence du contenu, identifié à partir de l'information temporelle de référence (le paquet de référence étant par exemple le premier paquet portant l'image de référence dont la valeur de PTS est présente dans le champ PTS 423) ; un tel délai ou décalage s'exprime notamment en temps (par exemple en millisecondes ou en nanosecondes) pour pouvoir être utilisé par les récepteurs, un champ PTS 423, par exemple sur 5 octets, portant une information temporelle de référence définie par rapport à une horloge de référence embarquée dans le contenu (par exemple la valeur de PTS de l'image de référence). In particular, a measurement event packet carries a synchronization identifier, allowing other network equipment or receivers to detect that it is a packet used for synchronization. FIG. 4 illustrates an example of the structure of such a measurement event packet, comprising an SE_H header 41 (“SE header”), and a useful part SE_P 42 (“SE payload”). The useful part 42 comprises only a synchronization header, for example carrying three fields: a SYNC field 421, for example on 4 bytes, carrying a synchronization identifier making it possible to identify that the event packet is used for synchronization. It can contain for example the value “ARSC” coded in ascii; a field D 422 (“Delai”, or “Delay ms”), for example on 2 bytes, carrying a desired delay between the measurement event packet and a content reference packet, identified from the time information reference (the reference packet being for example the first packet carrying the reference image whose PTS value is present in the PTS field 423); such a delay or offset is expressed in particular in time (for example in milliseconds or in nanoseconds) to be able to be used by the receivers, a PTS field 423, for example over 5 bytes, carrying reference time information defined with respect to a reference clock embedded in the content (for example the PTS value of the reference image).
Un tel paquet d'événement utile peut être utilisé par les équipements successifs du réseau pour mesurer le ou les décalages, introduits par les différents équipements du réseau, entre la position réelle du paquet d'événement utile (Stream Event) et sa position souhaitée. Such a useful event packet can be used by the successive devices of the network to measure the shift(s), introduced by the various devices of the network, between the actual position of the useful event packet (Stream Event) and its desired position.
En particulier, un tel paquet d'événement de mesure porte un identifiant de paquet (PID, en anglais « Packet Identifier ») signalant qu'il est de type paquet d'événement, ou un PID fantôme. Classiquement, un PID fantôme n'est référencé dans aucune table de description du flux (PAT, PMT). Il est donc uniquement interprétable par des équipements ayant été spécifiquement configurés pour l'utiliser, et ignoré par les autres équipements. In particular, such a measurement event packet carries a packet identifier (PID, in English “Packet Identifier”) indicating that it is of the event packet type, or a ghost PID. Conventionally, a phantom PID is not referenced in any flow description table (PAT, PMT). It is therefore only interpretable by equipment that has been specifically configured to use it, and ignored by other equipment.
Notamment, le SE inserteur utilise le même PID pour le paquet d'événement et les paquets utiles d'un contenu. De cette façon, on s'affranchit de problèmes potentiels d'implémentation de certains équipements. Par exemple, si un équipement utilise en entrée une file par PID, le traitement des files peut être différent. Si le paquet d'événement et les paquets utiles d'un même contenu portent le même PID, ils sont traités de la même façon par l'équipement, ce qui permet d'assurer une mesure précise du délai. In particular, the inserter SE uses the same PID for the event packet and the payload packets of a content. In this way, we are freed from potential problems of implementation of certain equipment. For example, if a device uses one queue per PID as input, the processing of the queues may be different. If the event packet and the useful packets of the same content carry the same PID, they are processed in the same way by the equipment, which makes it possible to ensure an accurate measurement of the delay.
Selon un deuxième mode de réalisation, un paquet d'événement courant peut être un paquet d'événement utile portant des données utiles associées à un événement. Dans ce cas, le SE inserteur prend en entrée le flux de transport issu du multiplexeur 212, ou le contenu issu du codeur 211, et une information permettant de sélectionner une image de référence dans le contenu (message de type SCTE 35, tatouage, etc), et délivre en sortie un flux de transport portant au moins un paquet d'événement utile. Par exemple, le SE inserteur sélectionne une image de référence du contenu. According to a second embodiment, a current event packet can be a payload event packet carrying payload data associated with an event. In this case, the inserter SE takes as input the transport stream from the multiplexer 212, or the content from the encoder 211, and a information making it possible to select a reference image in the content (SCTE 35 type message, watermark, etc.), and outputs a transport stream carrying at least one useful event packet. For example, the inserter OS selects a content reference image.
Selon ce deuxième mode de réalisation, le SE inserteur insert, dans le flux de transport, au moins un paquet d'événement utile synchronisé avec le contenu auquel il se rapporte. According to this second embodiment, the inserter SE inserts, into the transport stream, at least one useful event packet synchronized with the content to which it relates.
Selon une première variante, l'image de référence peut être identifiée à partir d'un message de type SCTE 35. En effet, le SE inserteur peut recevoir sur son entrée le flux de transport issu du multiplexeur 212 et des messages SCTE 35 (par exemple de type « time-signal » ou « splice insert ») contenant des PTS qui référencent des images. De tels messages SCTE 35 peuvent être envoyés en pré- roll, par exemple quelques secondes avant l'image qu'ils référencent. La synchronisation peut être effectuée lors de la conversion des messages SCTE 35 en paquets d'événement, en utilisant la valeur de la PTS de l'image de référence et la PCR du contenu. According to a first variant, the reference image can be identified from an SCTE 35 type message. Indeed, the inserter SE can receive on its input the transport stream coming from the multiplexer 212 and SCTE example of the “time-signal” or “splice insert” type) containing PTSs that reference images. Such SCTE messages 35 can be sent in pre-roll, for example a few seconds before the image that they reference. Synchronization can be performed when converting SCTE messages into event packets, using the PTS value of the reference picture and the PCR of the content.
Selon une deuxième variante, l'image de référence peut être identifiée à partir d'un tatouage porté par l'image de référence. Dans ce cas, le SE inserteur cherche à détecter, dans le contenu, une image portant un tatouage connu du SE inserteur (« fingerprint video »). Cette variante permet de s'affranchir des messages SCTE 35, mais nécessite la connaissance des tatouages associés aux images à détecter. Il peut également être nécessaire d'ajouter un stockage en mémoire tampon (également appelé « bufferisation ») du flux de transport, afin de permettre une insertion d'un paquet d'événement utile en amont d'une image de référence. According to a second variant, the reference image can be identified from a watermark carried by the reference image. In this case, the inserter SE seeks to detect, in the content, an image bearing a watermark known to the inserter SE (“video fingerprint”). This variant makes it possible to dispense with SCTE messages 35, but requires knowledge of the watermarks associated with the images to be detected. It may also be necessary to add storage in buffer memory (also called “buffering”) of the transport stream, in order to allow insertion of a useful event packet upstream of a reference image.
Le SE inserteur lit la valeur de PTS associée à cette image de référence, et la stocke dans le champ « information temporelle de référence » de l'entête de synchronisation du paquet d'événement utile. The inserter SE reads the PTS value associated with this reference image, and stores it in the “reference time information” field of the synchronization header of the useful event packet.
Le SE inserteur insère le paquet d'événement utile en tenant compte du délai souhaité entre le paquet d'événement utile et le paquet de référence (valeur choisie par le SE inserteur, valeur de pré-roll d'insertion, ou valeur mesurée à une itération précédente par exemple). The inserter SE inserts the useful event packet taking into account the desired delay between the useful event packet and the reference packet (value chosen by the inserter SE, insertion pre-roll value, or value measured at a previous iteration for example).
En particulier, un tel paquet d'événement utile porte un identifiant de synchronisation, permettant aux autres équipements du réseau ou aux récepteurs de détecter qu'il s'agit d'un paquet utilisé pour la synchronisation. In particular, such a useful event packet carries a synchronization identifier, allowing the other network equipment or the receivers to detect that it is a packet used for synchronization.
La figure 5 illustre un exemple de structure d'un tel paquet d'événement utile, comprenant un entête SE_H 51 (« SE header »), et une partie utile SE_P 52 (« SE payload »). La partie utile 52 comprend un entête de synchronisation et des données utiles 525, par exemple des données privées décrivant l'événement. FIG. 5 illustrates an example of the structure of such a useful event packet, comprising an SE_H header 51 (“SE header”), and a useful part SE_P 52 (“SE payload”). The useful part 52 comprises a synchronization header and useful data 525, for example private data describing the event.
L'entête de synchronisation comprend par exemple quatre champs : un champ SYNC 521, par exemple sur 4 octets, portant un identifiant de synchronisation permettant d'identifier que le paquet d'événement est utilisé pour la synchronisation. Il peut contenir par exemple la valeur « ARSU » codée en ascii ; un champ Ins. Pos. 522, par exemple sur 2 octets, portant un délai souhaité entre le paquet d'événement utile et un paquet de référence du contenu identifié à partir de l'information temporelle de référence (le paquet de référence étant par exemple le premier paquet portant l'image de référence dont la valeur de PTS est présente dans le champ PTS 524). Un tel délai ou décalage s'exprime notamment en temps (par exemple en millisecondes ou en nanosecondes) pour pouvoir être utilisé par les récepteurs, un champ PTS 524, par exemple sur 5 octets, portant une information temporelle de référence définie par rapport à une horloge de référence embarquée dans le contenu (par exemple la valeur de PTS de l'image de référence), éventuellement un champ G 523 (« gap »), par exemple sur 2 octets, portant une valeur de décalage mesurée entre la position souhaitée du paquet d'événement utile (déterminée à partir du champ Ins. Pos.) et sa position réelle dans le flux de transport. Un tel délai ou décalage s'exprime notamment en temps (par exemple en millisecondes ou en nanosecondes) pour pouvoir être utilisé par les récepteurs. En particulier, si le paquet d'événement est inséré au bon endroit dans le flux de transport (i.e. sa position réelle coïncide avec sa position souhaitée), la valeur de ce champ est égale à 0. The synchronization header includes for example four fields: a SYNC field 521, for example on 4 bytes, carrying a synchronization identifier making it possible to identify that the event packet is used for synchronization. It can contain for example the value “ARSU” coded in ascii; an Ins control. pos. 522, for example on 2 bytes, carrying a desired delay between the useful event packet and a reference packet of the content identified from the reference time information (the reference packet being for example the first packet carrying the reference image whose PTS value is present in the PTS field 524). Such a delay or offset is expressed in particular in time (for example in milliseconds or in nanoseconds) to be able to be used by the receivers, a PTS field 524, for example over 5 bytes, carrying reference time information defined with respect to a reference clock embedded in the content (for example the PTS value of the reference image), possibly a field G 523 ("gap"), for example on 2 bytes, carrying a measured offset value between the desired position of the useful event packet (determined from the Ins. Pos. field) and its actual position in the transport stream. Such a delay or shift is expressed in particular in time (for example in milliseconds or in nanoseconds) to be able to be used by the receivers. In particular, if the event packet is inserted at the right place in the transport stream (i.e. its actual position coincides with its desired position), the value of this field is equal to 0.
En particulier, les valeurs des champs Ins. Pos. 522 et G 523 peuvent être mises à jour tout au long de la chaîne de diffusion, par exemple par les dispositifs de surveillance, et utilisées par le récepteur pour corriger la synchronisation. In particular, the values of the Ins fields. pos. 522 and G 523 can be updated throughout the broadcast chain, for example by monitoring devices, and used by the receiver to correct synchronization.
Un paquet d'événement utile peut être utilisé par les équipements successifs du réseau pour mesurer le ou les décalages, introduits par les différents équipements du réseau, entre la position réelle du paquet d'événement utile (Stream Event) et sa position souhaitée. A useful event packet can be used by the successive devices of the network to measure the offset(s), introduced by the various devices of the network, between the actual position of the useful event packet (Stream Event) and its desired position.
En particulier, au niveau d'un récepteur, un paquet d'événement utile peut comporter, dans le champ Ins. Pos., une valeur de décalage en millisecondes entre la réception du paquet d'événement utile (position réelle du paquet d'événement) et la position réelle de l'affichage de l'image de référence signalée par le paquet d'événement (position du paquet de référence). La connaissance de cette valeur permet notamment aux récepteurs de temporiser le lancement d'une action lors de la réception du paquet d'événement utile. Comme déjà indiqué, pour la mesure du décalage, cette valeur peut être exprimée en paquet TS. En revanche, elle peut être convertie en temps (par exemple milliseconde ou nanoseconde) pour être utilisée par un récepteur. In particular, at a receiver, a useful event packet may include, in the Ins field. Pos., an offset value in milliseconds between the reception of the useful event packet (actual position of the event packet) and the actual position of the display of the reference image signaled by the event packet (position of the reference package). Knowledge of this value notably enables the receivers to delay the launching of an action upon receipt of the useful event packet. As already indicated, for the offset measurement, this value can be expressed in TS packets. On the other hand, it can be converted into time (for example millisecond or nanosecond) to be used by a receiver.
D. Dispositif de surveillance (SE monitoring) D. Monitoring device (SE monitoring)
Comme indiqué ci-dessus, certains équipements du réseau de diffusion, par exemple le SE inserteur 213 et/ou la passerelle 223 du premier sous -réseau de diffusion, et/ou la passerelle 231 du deuxième sous-réseau de diffusion, etc), peuvent coopérer avec un dispositif de surveillance, permettant de déterminer le délai de traitement introduit par cet équipement ou par le réseau jusqu'à cet équipement. Par exemple, comme illustré en relation avec la figure 2, la passerelle 223 est surveillée par le dispositif de surveillance 2231, et la passerelle 231 est surveillée par le dispositif de surveillance 2311. D'autres équipements du réseau pourraient également être surveillés par un dispositif de surveillance, notamment les équipements qui modifient le flux de transport en modifiant l'ordonnancement des paquets (multiplexeur, transcodeur par exemple). As indicated above, certain broadcast network equipment, for example the inserter SE 213 and/or the gateway 223 of the first broadcast sub-network, and/or the gateway 231 of the second broadcast sub-network, etc.), can cooperate with a monitoring device, making it possible to determine the processing delay introduced by this equipment or by the network up to this equipment. For example, as illustrated in connection with Figure 2, the gateway 223 is monitored by the monitoring device 2231, and the gateway 231 is monitored by the monitoring device 2311. Other network equipment could also be monitored by a device surveillance, in particular equipment which modifies the transport stream by modifying the scheduling of the packets (multiplexer, transcoder for example).
On présente, en relation avec la figure 6, les principales étapes mises en oeuvre par un dispositif de surveillance, également appelé SE monitoring. Le SE monitoring peut être un équipement dédié ou un module logiciel embarqué par un autre équipement (par exemple le SE inserteur 213 et/ou la passerelle 223 et/ou la passerelle 231). In relation to FIG. 6, the main steps implemented by a monitoring device, also called SE monitoring, are presented. The monitoring SE can be dedicated equipment or a software module embedded by another equipment (for example the inserter SE 213 and/or the gateway 223 and/or the gateway 231).
Au cours d'une première étape 61, le SE monitoring obtient un flux de transport délivré par l'équipement à surveiller (i.e. le flux de transport en sortie de l'équipement à surveiller, noté TS + SE), portant au moins un paquet d'événement courant. During a first step 61, the SE monitoring obtains a transport stream delivered by the equipment to be monitored (i.e. the transport stream at the output of the equipment to be monitored, denoted TS+SE), carrying at least one packet current event.
Au cours d'une étape suivante 62, le SE monitoring cherche, dans le flux de transport, des paquets d'événement portant un entête de synchronisation (paquet(s) d'événement de mesure et/ou paquet(s) d'événement utile(s)). Par exemple, le SE monitoring lit le champ SYNC 421, 521 d'un paquet d'événement et détecte qu'il s'agit d'un paquet d'événement utilisé pour la synchronisation. During a following step 62, the monitoring SE searches, in the transport stream, for event packets bearing a synchronization header (measurement event packet(s) and/or event packet(s) useful). For example, the monitoring SE reads the SYNC field 421, 521 of an event packet and detects that it is an event packet used for synchronization.
Comme déjà décrit, un tel paquet d'événement courant, préalablement inséré par le SE inserteur 213, est associé à un contenu porté par le flux de transport (par exemple, le service A) et porte un entête de synchronisation comprenant : une information temporelle de référence définie par rapport à une horloge de référence du contenu ; un délai souhaité entre le paquet d'événement courant et un paquet de référence du contenu identifié à partir de l'information temporelle de référence, As already described, such a current event packet, previously inserted by the inserter SE 213, is associated with content carried by the transport stream (for example, service A) and carries a synchronization header comprising: time information reference defined with respect to a reference clock of the content; a desired delay between the current event packet and a reference packet of the content identified from the reference time information,
A partir des informations présentes dans l'entête de synchronisation, le SE monitoring peut déterminer 63 un décalage entre une position réelle du paquet d'événement courant dans le flux de transport, et une position souhaitée du paquet d'événement courant dans le flux de transport, dit décalage de traitement. From the information present in the synchronization header, the SE monitoring can determine 63 an offset between a real position of the current event packet in the flow of transport, and a desired position of the current event packet in the transport stream, called processing offset.
Si l'on reprend l'exemple illustré en figure 1, l'information temporelle de référence permet d'identifier le paquet de référence 111. Le délai souhaité entre le paquet d'événement courant 110 et le paquet de référence est défini par le pré-roll 12, et permet de définir la position souhaitée 114 du paquet d'événement courant dans le flux de transport. Le décalage entre la position réelle du paquet d'événement courant 110 et sa position souhaitée 114 correspond au décalage de traitement 13 (D1). If we take the example illustrated in FIG. 1, the reference time information makes it possible to identify the reference packet 111. The desired delay between the current event packet 110 and the reference packet is defined by the pre -roll 12, and sets the desired position 114 of the current event packet in the transport stream. The offset between the actual position of the current event packet 110 and its desired position 114 corresponds to processing offset 13 (D1).
Par exemple, si le paquet d'événement courant détecté est un paquet d'événement utile, le SE monitoring extrait la valeur du champ PTS 524, portant l'information temporelle de référence, et la valeur du champ Ins. Pos. 522, portant le délai souhaité entre le paquet d'événement utile et un paquet de référence du contenu identifié à partir de l'information temporelle de référence. For example, if the current event packet detected is a useful event packet, the monitoring SE extracts the value of the PTS field 524, carrying the reference time information, and the value of the Ins field. pos. 522, carrying the desired delay between the useful event packet and a reference packet of the content identified from the reference time information.
Le SE monitoring cherche ensuite la position du paquet de référence dans le flux de transport, i.e. la position du paquet (par exemple un paquet vidéo) contenant la valeur de PTS du champ PTS 524. The monitoring SE then seeks the position of the reference packet in the transport stream, i.e. the position of the packet (for example a video packet) containing the PTS value of the PTS field 524.
A partir de la position du paquet de référence et de la valeur du champ Ins. Pos. 522, le SE monitoring détermine la position souhaitée (i.e. théorique) du paquet d'événement, et l'écart en nombre de paquets TS entre la position réelle du paquet d'événement et sa position souhaitée. From the position of the reference packet and the value of the Ins field. pos. 522, the SE monitoring determines the desired (i.e. theoretical) position of the event packet, and the difference in number of TS packets between the actual position of the event packet and its desired position.
Cet écart, correspondant au décalage de traitement, peut éventuellement être stocké dans le champ G 523 de l'entête de synchronisation du paquet d'événement, comme décrit ci-après. This deviation, corresponding to the processing offset, can optionally be stored in field G 523 of the synchronization header of the event packet, as described below.
Le SE monitoring peut transmettre le décalage de traitement ainsi déterminé à au moins un autre équipement du réseau de diffusion, par exemple sous la forme d'une notification : au SE inserter 213, à la plateforme de services 26, à un équipement en aval du réseau de diffusion, etc. The SE monitoring can transmit the processing offset thus determined to at least one other piece of equipment in the broadcasting network, for example in the form of a notification: to the SE inserter 213, to the service platform 26, to a piece of equipment downstream of the broadcast network, etc.
De cette façon, il est possible d'informer les autres équipements du réseau du décalage introduit par l'équipement à surveiller pour compenser cette valeur de décalage. Une telle compensation du décalage de traitement peut être mise en oeuvre : en amont de l'équipement à surveiller, ou dans l'équipement à surveiller, de sorte que l'événement soit synchronisé avec le contenu auquel il se rapporte dans le flux de transport en sortie de l'équipement à surveiller, ou en aval de l'équipement à surveiller, de façon à corriger la synchronisation de l'événement dans un équipement en aval du réseau de diffusion. In this way, it is possible to inform the other devices on the network of the offset introduced by the device to be monitored in order to compensate for this offset value. Such compensation for the processing lag can be implemented: upstream of the equipment to be monitored, or in the equipment to be monitored, so that the event is synchronized with the content to which it relates in the transport stream at the output of the equipment to be monitored, or downstream of the equipment to be monitored, so as to correct the synchronization of the event in equipment downstream of the broadcast network.
Selon un mode de réalisation particulier, le SE monitoring met à jour l'entête de synchronisation avec le décalage de traitement ainsi déterminé. Par exemple, la valeur du champ G 523 est mise à jour en la remplaçant par le décalage de traitement D1. De cette façon, il est possible d'informer les autres équipements du réseau du décalage de traitement introduit par l'équipement à surveiller. En particulier, un CRC (pour « Cyclic Redundancy Check » en anglais) peut être recalculé pour le paquet d'événement ainsi mis à jour. On note que cette mise à jour ne modifie pas la position des paquets dans le flux de transport et n'impacte donc pas les valeurs de l'horloge de référence. According to a particular embodiment, the monitoring SE updates the synchronization header with the processing offset thus determined. For example, the value of the G field 523 is updated by replacing it with the processing offset D1. In this way, it is possible to inform the other equipment on the network of the processing lag introduced by the equipment at to watch. In particular, a CRC (for “Cyclic Redundancy Check”) can be recalculated for the event packet thus updated. Note that this update does not modify the position of the packets in the transport stream and therefore does not impact the values of the reference clock.
Selon un autre mode de réalisation, le SE monitoring met en oeuvre une étape de modification de la position du paquet d'événement courant dans le flux de transport tenant compte du décalage de traitement, et une étape de transmission du flux de transport modifié. De cette façon, il est possible de compenser le décalage de traitement avant de poursuivre la diffusion du flux de transport. According to another embodiment, the SE monitoring implements a step of modifying the position of the current event packet in the transport stream taking account of the processing lag, and a step of transmitting the modified transport stream. In this way, it is possible to compensate for the processing lag before continuing to broadcast the transport stream.
Par exemple, si le paquet d'événement courant est un paquet d'événement utile, le SE monitoring lit la valeur du champ Ins. Pos. 522, portant le délai souhaité entre le paquet d'événement utile et un paquet de référence du contenu identifié à partir de l'information temporelle de référence, et la valeur de PCR du paquet d'événement. For example, if the current event packet is a useful event packet, the monitoring OS reads the value of the Ins field. pos. 522, carrying the desired delay between the useful event packet and a reference packet of the content identified from the reference time information, and the PCR value of the event packet.
Le SE monitoring cherche ensuite le paquet de référence servant de référence pour trouver le point d'insertion (par exemple le premier paquet portant l'image de référence dont la valeur de PTS est présente dans le champ PTS 524). The monitoring SE then seeks the reference packet serving as a reference to find the insertion point (for example the first packet carrying the reference image whose PTS value is present in the PTS field 524).
Le SE monitoring peut alors déplacer le paquet d'événement pour l'insérer à la position souhaitée par rapport à la valeur de PCR. Pour réaliser ce déplacement, le SE monitoring dispose d'une mémoire tampon, ou buffer. Par exemple, un buffer de 1 seconde permet de rattraper des retards de 1 seconde au plus. Cette modification demande un ajustement des PCR du flux de transport. En particulier, le SE monitoring ne peut déplacer le paquet d'événement que d'un nombre entier de paquets TS. Si la valeur de décalage qu'il reçoit est en ms, il convertit cette valeur en nombre de paquets TS. The monitoring SE can then move the event packet to insert it at the desired position with respect to the PCR value. To carry out this movement, the monitoring SE has a buffer memory. For example, a buffer of 1 second makes it possible to catch up with delays of 1 second at most. This modification requires an adjustment of the PCRs of the transport stream. In particular, the monitoring SE can only move the event packet an integer number of TS packets. If the offset value it receives is in ms, it converts this value to the number of TS packets.
En particulier, le SE monitoring peut mettre en oeuvre une étape de suppression de l'entête de synchronisation du paquet d'événement courant avant la transmission du flux de transport modifié, notamment si le paquet d'événement courant est de type paquet d'événement utile. En effet, une fois le paquet d'événement courant correctement positionné dans le flux de transport pour compenser le décalage de traitement, il n'est plus nécessaire de conserver l'entête de synchronisation du paquet d'événement courant. De cette façon, la compensation des décalages pour améliorer la synchronisation d'un événement avec le contenu auquel il se rapporte est transparente pour les récepteurs recevant le flux de transport, et compatible avec les récepteurs hybrides actuels. In particular, the monitoring SE can implement a step of removing the synchronization header from the current event packet before the transmission of the modified transport stream, in particular if the current event packet is of the event packet type useful. Indeed, once the current event packet is correctly positioned in the transport stream to compensate for the processing lag, it is no longer necessary to keep the synchronization header of the current event packet. In this way, the offset compensation to improve the synchronization of an event with the content to which it relates is transparent for the receivers receiving the transport stream, and compatible with current hybrid receivers.
Selon un mode de réalisation particulier, le décalage de traitement est un décalage moyen obtenu à l'issue d'au moins deux itérations des étapes de détection d'un paquet d'événement courant et de détermination d'un décalage entre une position réelle du paquet d'événement courant dans le flux de transport, et une position souhaitée. Comme déjà indiqué, un ou plusieurs SE monitoring peuvent être prévus dans le réseau de diffusion (un SE monitoring intégré dans le SE inserteur, ou bien un SE monitoring au niveau d'une seule passerelle, ou bien un SE monitoring au niveau de chaque passerelle de diffusion, ou bien un SE monitoring intégré dans le SE inserteur et un SE monitoring au niveau de chaque passerelle de diffusion, etc). According to a particular embodiment, the processing offset is an average offset obtained at the end of at least two iterations of the steps of detecting a current event packet and determining an offset between a real position of the current event packet in the transport stream, and a desired position. As already indicated, one or more monitoring SEs can be provided in the broadcast network (a monitoring SE integrated into the inserter SE, or a monitoring SE at the level of a single gateway, or a monitoring SE at the level of each gateway distribution, or a monitoring SE integrated into the inserter SE and a monitoring SE at the level of each distribution gateway, etc.).
Dans ce cas, chaque SE monitoring peut utiliser les informations spécifiques portées par un paquet d'événement pour exécuter au moins une action parmi : déterminer la position souhaitée d'un paquet d'événement par rapport à un point de référence du contenu auquel l'événement se rapporte ; déterminer la position réelle du paquet d'événement par rapport au point de référence du contenu auquel l'événement se rapporte ; déterminer le décalage entre les positions réelle et souhaitée ; stocker le décalage ou la/les position(s) déterminé(e)(s) ; envoyer le décalage ou la/les position(s) déterminé(e)(s) à un autre équipement du réseau de diffusion, par exemple à la plateforme de services 26 (par exemple via une connexion IP) et/ou au SE inserteur 213 ; mettre à jour l'entête de synchronisation du paquet d'événement (par exemple le champ G 523 d'un paquet d'événement utile), qui pourra être transmis aux équipements suivants de la chaîne de diffusion et cela jusqu'aux récepteurs (et donc utilisé par le récepteur pour la synchronisation) ; modifier la position du paquet d'événement courant dans le flux de transport pour compenser le décalage, en replaçant le paquet d'événement le plus près possible de sa position d'insertion souhaitée ; etc. In this case, each monitoring SE can use the specific information carried by an event packet to perform at least one action among: determining the desired position of an event packet with respect to a content reference point at which the event relates; determining the actual position of the event packet relative to the content reference point to which the event relates; determining the offset between the actual and desired positions; storing the determined offset or position(s); send the offset or the position(s) determined to another equipment of the broadcasting network, for example to the service platform 26 (for example via an IP connection) and/or to the inserter SE 213 ; update the synchronization header of the event packet (for example the G 523 field of a useful event packet), which can be transmitted to the following equipment in the broadcast chain and this up to the receivers (and therefore used by the receiver for synchronization); modifying the position of the current event packet in the transport stream to compensate for the offset, replacing the event packet as close as possible to its desired insertion position; etc
On note par ailleurs qu'en cas de retard important des paquets d'événement, un paquet de référence (i.e. contenant par exemple une valeur de PTS recherchée dans le contenu) peut être reçu avant le paquet d'événement qui le référence. Il est donc souhaitable de conserver également en mémoire les dernières valeurs de PTS reçues et leur position dans le flux de transport (i.e. position des paquets de référence et PTS contenues dans ces paquets de référence). De même, il peut être souhaitable de mettre en place une bufferisation du flux de transport afin de pouvoir modifier la position du paquet d'événement dans le flux de transport, même si la position d'insertion est passée par rapport à la réception du paquet d'événement. It is also noted that in the event of a significant delay in the event packets, a reference packet (i.e. containing for example a PTS value sought in the content) may be received before the event packet which references it. It is therefore desirable to also keep in memory the last PTS values received and their position in the transport stream (i.e. position of the reference packets and PTS contained in these reference packets). Similarly, it may be desirable to set up a buffering of the transport stream in order to be able to modify the position of the event packet in the transport stream, even if the insertion position has passed with respect to the reception of the packet. of event.
E. Plateforme de services Selon un mode de réalisation particulier, la solution proposée met en oeuvre une plateforme de services, par exemple la plateforme de services internet 26 illustrée en figure 2, permettant notamment de recevoir et stocker les différentes valeurs de décalage de traitement et/ou de réception, et de les transmettre aux équipements intéressés. E. Service platform According to a particular embodiment, the proposed solution implements a service platform, for example the internet service platform 26 illustrated in FIG. 2, making it possible in particular to receive and store the various processing and/or reception offset values, and transmit them to the equipment concerned.
Une telle plateforme de services peut notamment être configurée pour communiquer avec le SE inserteur 213, avec un ou plusieurs SE monitoring 223, 231, avec un ou plusieurs récepteurs 24, 25, etc. Such a service platform can in particular be configured to communicate with the inserter SE 213, with one or more monitoring SEs 223, 231, with one or more receivers 24, 25, etc.
On présente, en relation avec la figure 7, les principales étapes mises en oeuvre par la plateforme de services 26. In relation to FIG. 7, the main steps implemented by the service platform 26 are presented.
Au cours d'une première étape 71, la plateforme de services 26 obtient au moins un décalage parmi : o au moins un décalage entre une position réelle d'un paquet d'événement courant dans le flux de transport, en sortie d'un équipement du réseau de diffusion, et une position souhaitée du paquet d'événement courant dans le flux de transport (décalage de traitement), o un décalage déterminé en fonction d'un type de récepteur destiné à recevoir ledit flux de transport (décalage de réception). During a first step 71, the service platform 26 obtains at least one offset from among: o at least one offset between a real position of a current event packet in the transport stream, at the output of a device of the broadcasting network, and a desired position of the current event packet in the transport stream (processing offset), o an offset determined according to a type of receiver intended to receive said transport stream (reception offset) .
Par exemple, l'obtention d'au moins un décalage de traitement (D1) met en oeuvre la réception d'au moins un décalage déterminé par un SE monitoring. For example, obtaining at least one processing offset (D1) implements the reception of at least one offset determined by an SE monitoring.
En d'autres termes, au moins un SE monitoring présent dans le réseau de diffusion détermine un décalage de traitement en sortie d'un équipement du réseau, et transmet ce décalage de traitement à la plateforme de services 26. Si plusieurs valeurs de décalage de traitement sont reçues pour un même équipement à surveiller, la plateforme de services peut déterminer un décalage moyen associé à cet équipement. In other words, at least one monitoring SE present in the broadcasting network determines a processing offset at the output of a network device, and transmits this processing offset to the service platform 26. If several offset values of processing are received for the same equipment to be monitored, the service platform can determine an average shift associated with this equipment.
L'obtention d'un décalage de réception (D2) met par exemple en oeuvre la lecture d'une base de données stockant les caractéristiques des différents récepteurs selon leur type. Par exemple, la plateforme de services peut identifier le type de récepteur à partir d'une requête émise par le récepteur et reçue par la plateforme de services. Notamment, la plateforme peut utiliser l'agent utilisateur (en anglais « user agent » ou UA) d'une requête http émise par le récepteur pour reconnaître le récepteur. Par exemple, un filtrage est appliqué aux UA pour déterminer le type de récepteur. Obtaining a reception offset (D2) implements for example the reading of a database storing the characteristics of the various receivers according to their type. For example, the service platform can identify the type of receiver from a request sent by the receiver and received by the service platform. In particular, the platform can use the user agent (in English “user agent” or UA) of an http request sent by the receiver to recognize the receiver. For example, filtering is applied to the UAs to determine the receiver type.
Au cours d'une étape suivante 72, la plateforme de services transmet le ou les décalages de traitement et/ou de réception obtenus, éventuellement moyennés, à au moins un autre équipement du réseau de diffusion. En variante, la plateforme de services peut transmettre un décalage global déterminé à partir du ou des décalages de traitement et/ou de réception obtenus, éventuellement moyennés. En particulier, si des valeurs de décalage de traitement sont reçues pour des équipements appartenant à des sous-réseaux différents (par exemple une première valeur de décalage de traitement liée à la passerelle 223 du premier sous-réseau 22, et une deuxième valeur de décalage de traitement liée à la passerelle 231 du deuxième sous-réseau 23), la passerelle transmet au SE inserteur 213 la valeur de décalage de traitement la plus grande, permettant de compenser tous les retards induits par les différents sous réseaux. Un exemple est présenté par la suite. During a following step 72, the service platform transmits the processing and/or reception offset(s) obtained, possibly averaged, to at least one other piece of equipment of the broadcast network. As a variant, the service platform can transmit an overall offset determined from the processing and/or reception offset(s) obtained, possibly averaged. In particular, if processing offset values are received for equipment belonging to different sub-networks (for example a first processing offset value linked to the gateway 223 of the first sub-network 22, and a second offset value linked to the gateway 231 of the second sub-network 23), the gateway transmits to the inserter SE 213 the largest processing offset value, making it possible to compensate for all the delays induced by the various sub-networks. An example is presented next.
La plateforme de services peut donc exécuter au moins une action en lien avec les récepteurs, parmi : stocker des décalages de réception (i.e. délais liés aux récepteurs ou informations de synchronisation) par type de récepteur ; identifier un type de récepteur, par exemple en utilisant l'UA dans la requête http ; transmettre au récepteur le décalage de réception déterminé en fonction du type de récepteur (i.e. délai à utiliser pour maintenir la synchronisation ou informations de synchronisation), par exemple via une application HbbTV ; recevoir des informations de délai du réseau envoyées par les récepteurs ; etc. The service platform can therefore perform at least one action in connection with the receivers, among: storing reception offsets (i.e. delays linked to the receivers or synchronization information) per type of receiver; identify a type of receiver, for example by using the UA in the http request; transmit to the receiver the reception offset determined according to the type of receiver (i.e. delay to be used to maintain synchronization or synchronization information), for example via an HbbTV application; receive network delay information sent by the receivers; etc
La plateforme de services peut également exécuter au moins une action en lien avec les autres équipements du réseau de diffusion, parmi : stocker des décalages de traitement (i.e. délais mesurés dans le réseau, déterminés par le(s) SE monitoring et le SE inserteur) ; déterminer des retards / décalages de traitement moyens ; calculer le délai d'anticipation minimum pour l'insertion du paquet d'événement pour compenser tous les retards induits par les différents sous réseaux, dans le cas d'un réseau comportant plusieurs sous réseaux, pour que le paquet d'événement puisse être utilisé dans tous les sous-réseaux ; notifier les différents équipements du réseau (notamment le SE Inserteur) du ou des décalages de traitement et/ou de réception à appliquer pour optimiser la synchronisation ; etc. The service platform can also perform at least one action in connection with the other equipment of the broadcast network, among: storing processing offsets (i.e. delays measured in the network, determined by the monitoring SE(s) and the inserter SE) ; determining average processing delays/lags; calculate the minimum look-ahead delay for the insertion of the event packet to compensate for all the delays induced by the different subnets, in the case of a network with several subnets, so that the event packet can be used in all subnets; notify the various network devices (in particular the Inserter SE) of the processing and/or reception offset(s) to be applied to optimize synchronization; etc
F. Récepteur F. Receiver
La solution proposée peut être mise en oeuvre dans des récepteurs hybrides, supportant notamment le standard HbbTV. De tels récepteurs sont notamment adaptés à recevoir des paquets d'événement classiques, notamment des paquets SE au format DSM-CC tels que définis dans la norme ISO/IEC 13818-6 précitée. The proposed solution can be implemented in hybrid receivers, notably supporting the HbbTV standard. Such receivers are in particular suitable for receiving packets classic events, in particular SE packets in DSM-CC format as defined in the aforementioned ISO/IEC 13818-6 standard.
Selon un mode de réalisation particulier, de tels récepteurs peuvent mettre en oeuvre un module logiciel, noté SDK, qui peut être intégré à une application HbbTV destinée à être exécutée sur les récepteurs. Dans ce cas, les récepteurs sont adaptés à recevoir des paquets d'événement selon l'invention, portant un entête de synchronisation tel que décrit précédemment. Un tel module logiciel peut notamment être utilisé pour améliorer la synchronisation sur le récepteur. According to a particular embodiment, such receivers can implement a software module, denoted SDK, which can be integrated into an HbbTV application intended to be executed on the receivers. In this case, the receivers are suitable for receiving event packets according to the invention, carrying a synchronization header as described above. Such a software module can in particular be used to improve the synchronization on the receiver.
En particulier, pour que l'application HbbTV puisse synchroniser un évènement avec le contenu auquel il se rapporte, elle peut soit recevoir un évènement synchronisé avec le contenu, soit recevoir un évènement en avance ainsi que le délai entre cet évènement et le point de synchronisation. In particular, for the HbbTV application to be able to synchronize an event with the content to which it relates, it can either receive an event synchronized with the content, or receive an event in advance as well as the delay between this event and the synchronization point .
Dans le premier cas, la mise en oeuvre du module logiciel n'est pas nécessaire puisque la synchronisation est effectuée en amont. Dans le deuxième cas, la mise en oeuvre du module logiciel permet d'utiliser les informations portées par un paquet d'événement pour synchroniser l'événement avec le contenu au niveau du récepteur. Dans ce deuxième cas, pour réaliser la synchronisation, le module logiciel utilise la date de réception du paquet d'événement, les informations portées par l'entête de synchronisation du paquet d'événement, et, si elles sont disponibles, les informations liées au récepteur (permettant de compenser le décalage de réception). In the first case, the implementation of the software module is not necessary since the synchronization is carried out upstream. In the second case, the implementation of the software module makes it possible to use the information carried by an event packet to synchronize the event with the content at the level of the receiver. In this second case, to perform the synchronization, the software module uses the date of receipt of the event packet, the information carried by the synchronization header of the event packet, and, if available, the information related to the receiver (allowing to compensate for the reception offset).
Ainsi, la figure 8 illustre les principales étapes mises en oeuvre par un récepteur selon l'invention. Thus, FIG. 8 illustrates the main steps implemented by a receiver according to the invention.
Un tel récepteur met en oeuvre la réception 81 d'un flux de transport portant au moins un paquet d'événement courant associé à un contenu porté par le flux de transport, le paquet d'événement courant portant un entête de synchronisation comprenant : o une information temporelle de référence définie par rapport à une horloge de référence dudit contenu, o un délai souhaité ou réel entre le paquet d'événement courant et un paquet de référence du contenu identifié à partir de l'information temporelle de référence. Such a receiver implements the reception 81 of a transport stream carrying at least one current event packet associated with a content carried by the transport stream, the current event packet carrying a synchronization header comprising: o a reference time information defined with respect to a reference clock of said content, o a desired or actual delay between the current event packet and a reference packet of the content identified from the reference time information.
En particulier, si le paquet d'événement est un paquet utile dans lequel l'entête de synchronisation a été mis à jour, le délai stocké dans le champ Ins. Pos. peut être le délai réel entre le paquet d'événement courant et le paquet de référence. In particular, if the event packet is a useful packet in which the synchronization header has been updated, the delay stored in the Ins. pos. may be the actual delay between the current event packet and the reference packet.
Au cours d'une étape suivante, le récepteur synchronise 82 l'événement porté par des données utiles du paquet d'événement courant avec un point de référence associé à l'information temporelle de référence, en tenant compte d'un délai d'attente déterminé à partir de l'entête de synchronisation du paquet d'événement courant. Les étapes précédentes permettent de compenser le ou les décalages de traitement liés aux équipements du réseau de diffusion. During a following step, the receiver synchronizes 82 the event carried by payload data of the current event packet with a reference point associated with the reference time information, taking into account a waiting period determined from the synchronization header of the current event packet. The preceding steps make it possible to compensate for the processing offset(s) linked to the equipment of the broadcasting network.
Éventuellement, pour compenser le décalage de réception lié au type de récepteur, le récepteur met en oeuvre une étape d'obtention d'un décalage de réception, reçu par exemple de la plateforme de services. Le récepteur, ou le module logiciel, peut ainsi communiquer avec la plateforme pour obtenir le délai de réception lié au type de récepteur. Optionally, to compensate for the reception offset linked to the type of receiver, the receiver implements a step of obtaining a reception offset, received for example from the service platform. The receiver, or the software module, can thus communicate with the platform to obtain the reception time linked to the type of receiver.
Dans ce cas, le délai d'attente tient également compte de ce décalage de réception. In this case, the timeout also takes this reception delay into account.
En d'autres termes, le récepteur peut effectuer une resynchronisation d'un événement avec le contenu auquel il se rapporte, par exemple l'affichage d'une vidéo, en utilisant les valeurs de décalages de traitement et/ou de réception obtenues dans les paquets d'événement et/ou via la plateforme de services. In other words, the receiver can perform a resynchronization of an event with the content to which it relates, for example the display of a video, by using the processing and/or reception offset values obtained in the event packets and/or via the service platform.
En particulier, il est possible de filtrer, au niveau d'un récepteur, les entêtes de synchronisation. Dans ce cas, seule la partie utile est remontée à l'application HbbTV, et cela au bon moment. De cette façon, l'opération de synchronisation peut être transparente pour l'application HbbTV. In particular, it is possible to filter, at the level of a receiver, the synchronization headers. In this case, only the useful part is uploaded to the HbbTV application, and that at the right time. In this way, the synchronization operation can be transparent for the HbbTV application.
Le module logiciel, exécuté sur le récepteur, peut ainsi mettre en oeuvre au moins une action parmi : s'abonner, auprès du récepteur, à la réception de paquets d'événement présents dans le flux de transport ; obtenir des informations sur le type du récepteur via une requête http à la plateforme de services, notamment un décalage de réception. Cette valeur est notamment liée au délai de décodage du contenu (par exemple une vidéo) dans le récepteur et au délai de remontée des événements vers le middleware HbbTV ; extraire des informations de l'entête de synchronisation lors de la réception d'un paquet d'événement, permettant de synchroniser l'événement avec le contenu auquel il se rapporte ; déterminer un délai d'attente entre la réception d'un paquet d'événement et la notification de l'application HbbTV. Cette valeur correspond à la resynchronisation dans le récepteur. Le délai d'attente est par exemple égal à la somme de la valeur de pré-roll, du retard/délai ajouté par le réseau (décalage de traitement), du retard/délai ajouté dans le récepteur (décalage de réception). Pour cela, le module logiciel peut utiliser la valeur du champ G 523 de l'entête de synchronisation, qui porte une valeur de décalage de traitement lié au réseau de diffusion (retard ou avance du paquet d'événement) et éventuellement la valeur de décalage de réception liée au récepteur ; à l'issue du délai d'attente, notifier l'application HbbTV avec les données utiles du paquet d'événement ; envoyer à la plateforme de services les informations de décalage portées par les paquets d'événement pour permettre la surveillance / monitoring du réseau de diffusion ; etc. The software module, executed on the receiver, can thus implement at least one action among: subscribing, with the receiver, to the reception of event packets present in the transport stream; obtain receiver type information via an http request to the service platform, including reception offset. This value is notably linked to the decoding delay of the content (for example a video) in the receiver and to the delay for reporting events to the HbbTV middleware; extract information from the synchronization header when an event packet is received, making it possible to synchronize the event with the content to which it relates; determine a delay between the reception of an event packet and the notification of the HbbTV application. This value corresponds to the resynchronization in the receiver. The waiting delay is for example equal to the sum of the pre-roll value, of the delay/delay added by the network (processing offset), of the delay/delay added in the receiver (reception offset). For this, the software module can use the value of field G 523 of the synchronization header, which carries a value processing offset linked to the broadcasting network (delay or advance of the event packet) and possibly the reception offset value linked to the receiver; at the end of the waiting period, notifying the HbbTV application with the payload data of the event packet; send to the service platform the offset information carried by the event packets to allow the surveillance / monitoring of the broadcast network; etc
G. Transcodeur G. Transcoder
Dans le cas où le flux de transport passe par un équipement de type transcodeur, on note que la structure du flux de transport peut être modifiée : le transcodeur peut changer les valeurs de l'horloge de référence embarquée dans le contenu (et donc l'information temporelle de référence, par exemple les PTS) et/ou modifier la position des images de référence dans le flux de transport. In the case where the transport stream passes through equipment of the transcoder type, it should be noted that the structure of the transport stream can be modified: the transcoder can change the values of the reference clock embedded in the content (and therefore the reference time information, for example the PTS) and/or modify the position of the reference images in the transport stream.
La figure 9 illustre un exemple d'un réseau de diffusion mettant en oeuvre un transcodeur, comprenant : une tête de réseau 91, comprenant au moins un codeur 911 et un multiplexeur 912, prenant en entrée au moins un contenu à diffuser (par exemple un service A) et délivrant en sortie un flux de transport TS, et un sous-réseau de diffusion terrestre 92, diffusant le flux de transport TS vers un récepteur 93, mettant en oeuvre un transcodeur 921. FIG. 9 illustrates an example of a broadcast network implementing a transcoder, comprising: a network head 91, comprising at least one encoder 911 and a multiplexer 912, taking as input at least one content to be broadcast (for example a service A) and outputting a transport stream TS, and a terrestrial broadcasting sub-network 92, broadcasting the transport stream TS to a receiver 93, implementing a transcoder 921.
La tête de réseau met également en oeuvre un premier SE inserteur 913 tel que décrit précédemment. The network head also implements a first inserter SE 913 as described above.
En cas de modification de l'horloge de référence d'un contenu, si le transcodeur 921 est en capacité de conserver les paquets SCTE 35 et de corriger les valeurs de PTS pour les mettre en conformité avec la nouvelle horloge de référence, alors un équipement en amont du transcodeur pourra supprimer le ou les paquets d'événement précédemment insérés et effectuer une nouvelle insertion en utilisant les commandes SCTE 35 modifiées. In the event of modification of the reference clock of a content, if the transcoder 921 is able to keep the SCTE packets 35 and to correct the PTS values to bring them into conformity with the new reference clock, then an equipment upstream of the transcoder will be able to delete the previously inserted event packet(s) and perform a new insertion using the modified SCTE commands.
Si le délai de passage dans le transcodeur est fixe et connu, il est possible de faire appliquer un décalage de traitement à tous les paquets d'événement du flux de transport, par un équipement en aval du transcodeur. Les paquets d'événement peuvent soit être déplacés dans le flux de transport pour anticiper ce décalage de traitement, soit leur entête de synchronisation peut être mis à jour avec cette nouvelle valeur de décalage de traitement. Les valeurs de PTS de l'entête de synchronisation doivent également être mises à jour. Si le transcodeur ne change ni les horloges ni la structure du flux de transport (l'image de référence est conservée) alors les paquets d'événement précédemment insérés restent valides. If the passage delay in the transcoder is fixed and known, it is possible to have a processing offset applied to all the event packets of the transport stream, by equipment downstream of the transcoder. Event packets can either be moved in the transport stream to anticipate this processing offset, or their synchronization header can be updated with this new processing offset value. The synchronization header PTS values must also be updated. If the transcoder changes neither the clocks nor the structure of the transport stream (the reference image is kept) then the previously inserted event packets remain valid.
Si le transcodeur change toute la structure du flux de transport, la synchronisation entre un paquet d'événement et le contenu auquel il se rapporte est généralement perdue. Dans ce cas, un deuxième SE inserteur 922 peut être prévu en aval du transcodeur 921. Le maintien de la synchronisation peut alors être effectué en déterminant un tatouage d'au moins une image de référence au niveau de la tête de réseau par le premier SE inserteur 913. Le deuxième SE inserteur 922 peut recevoir le ou les tatouages en provenance du premier SE inserteur 913 et chercher les images correspondantes dans le flux de transport. Quand les images sont trouvées, le deuxième SE inserteur 922 peut reconstruire les paquets d'événement comme décrit précédemment en relation avec le SE inserteur 213 et les insérer dans le flux de transport. If the transcoder changes the entire structure of the transport stream, synchronization between an event packet and the content it relates to is usually lost. In this case, a second inserter SE 922 can be provided downstream of the transcoder 921. Synchronization can then be maintained by determining a watermark of at least one reference image at the level of the network head by the first SE inserter 913. The second inserter SE 922 can receive the watermark(s) from the first inserter SE 913 and search for the corresponding images in the transport stream. When the pictures are found, the second inserter SE 922 can reconstruct the event packets as previously described in connection with the inserter SE 213 and insert them into the transport stream.
On note que ce mode de réalisation demande à bufferiser le flux de transport pour permettre l'insertion des paquets d'événement à la position demandée. Note that this embodiment requires buffering the transport stream to allow the insertion of event packets at the requested position.
5.3 Exemples de réalisation 5.3 Examples of implementation
On présente ci-après quelques exemples de mise en oeuvre de l'invention. A few examples of implementation of the invention are presented below.
A. Synchronisation en tête de réseau A. Head-end synchronization
Selon un premier exemple, illustré en figure 10, on cherche uniquement à mesurer le décalage introduit entre un paquet d'événement et le contenu auquel il se rapporte en tête de réseau. According to a first example, illustrated in FIG. 10, the only aim is to measure the shift introduced between an event packet and the content to which it relates at the head end.
Pour ce faire, on considère que la tête de réseau comprend, de manière classique, un codeur 100 et un multiplexeur 101. La tête de réseau comprend également un SE monitoring 102 et un SE inserteur 103 selon un mode de réalisation de l'invention. To do this, it is considered that the network head comprises, in a conventional manner, an encoder 100 and a multiplexer 101. The network head also comprises a monitoring SE 102 and an inserter SE 103 according to one embodiment of the invention.
Le SE monitoring 102 et le SE inserteur 103 peuvent être hébergés sur le même équipement ou sur des équipements distincts. The monitoring SE 102 and the inserter SE 103 can be hosted on the same equipment or on separate equipment.
Comme illustré en figure 10, le multiplexeur 101 reçoit des contenus, par exemple des flux vidéo, en provenance de différents codeurs, notamment du codeur 100. De tels contenus peuvent contenir des commandes SCTE 35. Il multiplexe les flux vidéo, et le multiplexe ainsi construit est envoyé sous la forme d'un flux de transport en entrée du SE monitoring 102 et aux équipements de diffusion. As illustrated in FIG. 10, the multiplexer 101 receives content, for example video streams, coming from different coders, in particular from the coder 100. Such content can contain SCTE commands 35. It multiplexes the video streams, and thus multiplexes it. constructed is sent in the form of a transport stream as input to the monitoring SE 102 and to the broadcasting equipment.
S'il ne détecte aucun paquet d'événement dans le flux de transport (par exemple il ne détecte pas d'entête de synchronisation ou d'identifiant de synchronisation dans le champ SYNC), le SE monitoring 102 n'effectue aucun traitement sur le flux de transport et le fait suivre au SE inserteur 103. If it does not detect any event packet in the transport stream (for example it does not detect any synchronization header or synchronization identifier in the SYNC field), the monitoring SE 102 does not perform any processing on the transport stream and forwards it to inserter SE 103.
Si une commande SCTE est détectée, elle peut être transformée en paquet d'événement utile par le SE inserteur. Le SE inserteur 103 peut ainsi construire un paquet d'événement utile à partir de la commande SCTE et du flux vidéo auquel elle se rapporte, et renvoyer le flux de transport et le paquet d'événement en entrée du multiplexeur 101. Le multiplexeur 101 prend le paquet d'événement ainsi construit et l'ajoute à son multiplexe de sortie. Pour rappel, une commande SCTE 35 est classiquement envoyée N secondes en avance par rapport à l'image de référence. Le SCTE est donc passé depuis N secondes quand l'image de référence passe à son tour dans le multiplexeur. If an SCTE command is detected, it can be transformed into a useful event packet by the inserter OS. The inserter SE 103 can thus construct a useful event packet from the SCTE command and of the video stream to which it relates, and send back the transport stream and the event packet at the input of the multiplexer 101. The multiplexer 101 takes the event packet thus constructed and adds it to its output multiplex . As a reminder, an SCTE 35 command is conventionally sent N seconds in advance with respect to the reference image. The SCTE has therefore been passed for N seconds when the reference image in turn passes through the multiplexer.
S'il détecte un paquet d'événement dans le flux de transport (par exemple il détecte un entête de synchronisation ou un identifiant de synchronisation dans le champ SYNC), le SE monitoring 102 estime le décalage induit par la boucle d'insertion et le multiplexeur 101. Il notifie alors le SE inserteur 103 avec la valeur calculée (directement ou via une plateforme de services). If it detects an event packet in the transport stream (for example it detects a synchronization header or a synchronization identifier in the SYNC field), the SE monitoring 102 estimates the offset induced by the insertion loop and the multiplexer 101. It then notifies the inserter SE 103 with the calculated value (directly or via a service platform).
Le SE inserteur 103 peut ainsi corriger ce décalage en anticipant ou retardant l'insertion des paquets d'événement suivants. The inserter SE 103 can thus correct this offset by anticipating or delaying the insertion of the following event packets.
Pour plus de robustesse, la valeur utilisée pour compenser le décalage peut être moyennée dans le temps. For more robustness, the value used to compensate for the offset can be averaged over time.
En variante ou en complément, le SE inserteur 103 peut construire un paquet d'événement de mesure à partir d'un flux vidéo porté par le flux de transport, et renvoyer le flux de transport et le paquet d'événement en entrée du multiplexeur 101. Le multiplexeur 101 prend le paquet d'événement ainsi construit et l'ajoute à son multiplexe de sortie. As a variant or in addition, the inserter SE 103 can construct a measurement event packet from a video stream carried by the transport stream, and return the transport stream and the event packet to the input of the multiplexer 101 The multiplexer 101 takes the event packet thus constructed and adds it to its output multiplex.
Par exemple, le SE inserteur 103 remplace, dans le flux de transport, des paquets de bourrage par des paquets d'événement de mesure et met à jour le champ « délai souhaité » (D 422 par exemple) avec le décalage entre un paquet de référence (contenant l'information temporelle de référence, de type PTS par exemple) et le paquet de bourrage remplacé par le paquet d'événement de mesure. For example, the inserter SE 103 replaces, in the transport stream, stuffing packets with measurement event packets and updates the "desired delay" field (D 422 for example) with the offset between a packet of reference (containing the reference time information, of the PTS type for example) and the stuffing packet replaced by the measurement event packet.
Une telle mesure peut être réalisée périodiquement afin que la tête de réseau puisse s'auto- adapter aux variations potentielles de délai lors de l'insertion des paquets d'événement. Such a measurement can be performed periodically so that the headend can self-adapt to potential variations in delay when inserting event packets.
Selon ce premier exemple, la synchronisation est donc uniquement mise en oeuvre en tête de réseau. According to this first example, the synchronization is therefore only implemented at the head end.
B. Délai identique sur tout le réseau B. Same delay across the entire network
Selon un deuxième exemple, on considère que le flux de transport qui arrive à tous les émetteurs du réseau contient le même décalage entre la position souhaitée et la position réelle du paquet d'événement, par rapport au contenu auquel il se rapporte. According to a second example, it is considered that the transport stream which arrives at all the transmitters of the network contains the same offset between the desired position and the actual position of the event packet, with respect to the content to which it relates.
Par exemple, un SE monitoring mesure cette valeur de décalage au niveau de l'équipement d'extrémité du réseau (par exemple une passerelle de diffusion) et notifie cette valeur de décalage au SE inserteur, directement ou via une plateforme de services. La valeur obtenue par le SE inserteur est utilisée pour anticiper l'insertion des paquets d'événement suivants. Cette anticipation de l'insertion permet de compenser le retard induit par le réseau. Éventuellement, l'entête de synchronisation des paquets d'événement peut être supprimée une fois que le retard induit par le réseau a été compensé. For example, a monitoring SE measures this offset value at the end of the network equipment (for example a broadcasting gateway) and notifies this offset value to the inserter SE, directly or via a service platform. The value obtained by the inserter OS is used to anticipate the insertion of subsequent event packets. This anticipation of the insertion makes it possible to compensate for the delay induced by the network. Optionally, the synchronization header of event packets can be removed once the network-induced delay has been compensated.
Si la mesure du décalage est continue, alors le SE inserteur peut adapter l'anticipation d'insertion automatiquement pour que la synchronisation soit optimale. If the offset measurement is continuous, then the inserter SE can adapt the insertion anticipation automatically so that the synchronization is optimal.
C. Délais différents sur les sous-réseaux C. Different delays on subnets
Selon un troisième exemple, on considère un réseau de diffusion comprenant une tête de réseau alimentant au moins deux sous-réseaux avec des traitements et/ou des équipements différents. According to a third example, a broadcast network is considered comprising a network head supplying at least two sub-networks with different processing and/or equipment.
La solution proposée permet d'éviter qu'un paquet d'événement soit retardé sur un sous- réseau, et arrive trop tard au niveau de certains récepteurs pour réaliser la synchronisation. The proposed solution makes it possible to prevent an event packet from being delayed on a sub-network, and arriving too late at the level of certain receivers to achieve synchronization.
On considère selon cet exemple que chaque sous-réseau est équipé d'un SE monitoring, surveillant par exemple l'équipement d'extrémité du sous-réseau. Les SE monitoring de chaque sous- réseau peuvent envoyer leur valeur de décalage de traitement mesurée au SE inserteur de la tête de réseau, ou à une plateforme de services. Le SE inserteur ou la plateforme de services détermine la valeur de décalage de traitement la plus longue. Cette valeur est utilisée par le SE inserteur pour insérer les paquets d'événement suivant, de façon à anticiper ce décalage. It is considered according to this example that each sub-network is equipped with a monitoring SE, monitoring for example the end equipment of the sub-network. The monitoring SEs of each sub-network can send their measured processing offset value to the inserter SE of the network head, or to a service platform. The inserter OS or service platform determines the longest processing offset value. This value is used by the inserter OS to insert the following event packets, in order to anticipate this offset.
Le SE monitoring d'un sous-réseau peut modifier les entêtes des paquets d'événement qu'il reçoit pour y inscrire l'avance d'insertion du paquet d'événement pour le sous-réseau qu'il suit. Le module logiciel du récepteur peut notamment utiliser ces valeurs pour améliorer la synchronisation. The OS monitoring of a subnet can modify the headers of the event packets that it receives to register there the advance of insertion of the event packet for the subnet that it follows. The software module of the receiver can in particular use these values to improve synchronization.
A titre d'exemple, si trois sous-réseaux sont utilisés et induisent les retards suivants entre la position souhaitée et la position réelle d'un paquet d'événement : sous-réseau 1 : 150 ms, sous-réseau 2 : 50 ms, sous-réseau 3 : 700 ms, alors le SE inserteur peut insérer les paquets d'événement 700 ms avant leur position d'insertion souhaitée. For example, if three subnets are used and induce the following delays between the desired position and the actual position of an event packet: subnet 1: 150 ms, subnet 2: 50 ms, subnet 3: 700 ms, then the inserter OS can insert event packets 700 ms before their desired insert position.
Les SE monitoring présents dans chaque sous-réseau peuvent insérer les valeurs suivantes dans le champ « délai souhaité » (D 422 ou Ins. Pos. 522 par exemple) des paquets d'événement : sous-réseau 1 : 550 ms (i.e. 700 ms - 150 ms), sous-réseau 2 : 650 ms (i.e 700 ms - 50 ms), sous-réseau 3 : 0 ms. Le module logiciel du récepteur attend pendant les délais d'attente définis ci-dessus avant de déclencher une action (affichage d'une pop-up par exemple) synchronisée avec le contenu auquel elle se rapporte. On note que cette partie de la synchronisation ne nécessite pas que le récepteur soit connecté. The monitoring SEs present in each sub-network can insert the following values in the "desired delay" field (D 422 or Ins. Pos. 522 for example) of event packets: sub-network 1: 550 ms (ie 700 ms - 150 ms), subnet 2: 650 ms (ie 700 ms - 50 ms), subnet 3: 0 ms. The software module of the receiver waits during the waiting times defined above before triggering an action (display of a pop-up for example) synchronized with the content to which it relates. Note that this part of the synchronization does not require the receiver to be connected.
Si le récepteur est connecté, le module logiciel peut encore améliorer la synchronisation en tenant compte du décalage de réception lié au type de récepteur. Par exemple, le module logiciel peut demander à une plateforme de services si le récepteur sur lequel il s'exécute induit un décalage supplémentaire (avance ou retard). La valeur de ce décalage de réception est alors utilisée par le module logiciel pour resynchroniser les actions. If the receiver is connected, the software module can further improve the synchronization by taking into account the reception offset linked to the type of receiver. For example, the software module can ask a service platform if the receiver on which it is running induces an additional offset (advance or delay). The value of this reception offset is then used by the software module to resynchronize the actions.
5.4 Dispositifs correspondants 5.4 Matching Devices
On présente finalement, en relation avec la figure 11, la structure simplifiée d'un SE inserteur, d'un SE monitoring, d'une plateforme de services ou d'un récepteur selon un mode de réalisation de l'invention. Finally, in relation to FIG. 11, the simplified structure of an inserter SE, of a monitoring SE, of a service platform or of a receiver according to one embodiment of the invention is presented.
Un SE inserteur selon un mode de réalisation de l'invention comprend une mémoire lllli (comprenant par exemple une mémoire tampon) et une unité de traitement 1112| (équipée par exemple d'au moins un processeur, FPGA, ou DSP), pilotée ou pré-programmée par une application ou un programme d'ordinateur 1113| mettant en oeuvre le procédé d'insertion d'un événement selon un mode de réalisation de l'invention. An SE inserter according to one embodiment of the invention comprises a memory lllli (comprising for example a buffer memory) and a processing unit 1112 | (equipped for example with at least one processor, FPGA, or DSP), controlled or pre-programmed by an application or a computer program 1113| implementing the method of inserting an event according to one embodiment of the invention.
A l'initialisation, les instructions de code du programme d'ordinateur 1113| sont par exemple chargées dans une mémoire RAM avant d'être exécutées par l'unité de traitement 1112|. L'unité de traitement 1112| met en oeuvre les étapes du procédé d'insertion d'un événement dans un flux de transport décrit précédemment, selon les instructions du programme d'ordinateur 1113|. Pour ce faire, selon un mode de réalisation, l'unité de traitement 1112| est configurée pour : obtenir le flux de transport, insérer, dans le flux de transport, au moins un paquet d'événement courant associé à un contenu porté par le flux de transport, le paquet d'événement courant portant un entête de synchronisation comprenant : une information temporelle de référence définie par rapport à une horloge de référence dudit contenu ; un délai souhaité entre ledit paquet d'événement courant et un paquet de référence dudit contenu identifié à partir de ladite information temporelle de référence, le paquet d'événement courant étant inséré dans le flux de transport à une position définie à partir de la position du paquet de référence et du délai souhaité. Un SE monitoring selon un mode de réalisation de l'invention comprend une mémoire 1111M (comprenant par exemple une mémoire tampon) et une unité de traitement 1112M (équipée par exemple d'au moins un processeur, FPGA, ou DSP), pilotée ou pré-programmée par une application ou un programme d'ordinateur 1113M mettant en oeuvre le procédé de surveillance d'un flux de transport en sortie d'un équipement d'un réseau de diffusion selon un mode de réalisation de l'invention. On initialization, the computer program code instructions 1113| are for example loaded into a RAM memory before being executed by the processing unit 1112 |. The processing unit 1112| implements the steps of the method of inserting an event into a transport stream described previously, according to the instructions of the computer program 1113|. To do this, according to one embodiment, the processing unit 1112 | is configured to: obtain the transport stream, insert, into the transport stream, at least one current event packet associated with a content carried by the transport stream, the current event packet carrying a synchronization header comprising: reference time information defined with respect to a reference clock of said content; a desired delay between said current event packet and a reference packet of said content identified from said reference time information, the current event packet being inserted into the transport stream at a position defined from the position of the reference package and the desired time frame. A monitoring SE according to one embodiment of the invention comprises a memory 1111M (comprising for example a buffer memory) and a processing unit 1112M (equipped for example with at least one processor, FPGA, or DSP), controlled or pre -programmed by an application or a computer program 1113M implementing the method for monitoring a transport stream at the output of equipment of a broadcasting network according to one embodiment of the invention.
A l'initialisation, les instructions de code du programme d'ordinateur 1113M sont par exemple chargées dans une mémoire RAM avant d'être exécutées par l'unité de traitement 1112M· L'unité de traitement 1112M met en oeuvre les étapes du procédé de surveillance décrit précédemment, selon les instructions du programme d'ordinateur 1113M· Pour ce faire, selon un mode de réalisation, l'unité de traitement 1112M est configurée pour : obtenir un flux de transport délivré par l'équipement à surveiller, détecter un paquet d'événement courant associé à un contenu porté par le flux de transport, le paquet d'événement portant un entête de synchronisation comprenant : une information temporelle de référence définie par rapport à une horloge de référence dudit contenu ; un délai souhaité entre ledit paquet d'événement courant et un paquet de référence dudit contenu identifié à partir de ladite information temporelle de référence, déterminer un décalage entre une position réelle du paquet d'événement courant dans le flux de transport, et une position souhaitée dudit paquet d'événement courant dans le flux de transport, déterminée à partir de l'information temporelle de référence et du délai souhaité (décalage de traitement). On initialization, the code instructions of the computer program 1113M are for example loaded into a RAM memory before being executed by the processing unit 1112M. The processing unit 1112M implements the steps of the method of monitoring described previously, according to the instructions of the computer program 1113M · To do this, according to one embodiment, the processing unit 1112M is configured to: obtain a transport stream delivered by the equipment to be monitored, detect a packet current event associated with a content carried by the transport stream, the event packet carrying a synchronization header comprising: reference time information defined with respect to a reference clock of said content; a desired delay between said current event packet and a reference packet of said content identified from said reference time information, determining an offset between an actual position of the current event packet in the transport stream, and a desired position said current event packet in the transport stream, determined from the reference time information and the desired delay (processing offset).
Une plateforme de services selon un mode de réalisation de l'invention comprend une mémoire llllp (comprenant par exemple une mémoire tampon) et une unité de traitement 1112p (équipée par exemple d'au moins un processeur, FPGA, ou DSP), pilotée ou pré-programmée par une application ou un programme d'ordinateur 1113p mettant en oeuvre le procédé de gestion d'un flux de transport selon un mode de réalisation de l'invention. A service platform according to one embodiment of the invention comprises a memory 1112p (comprising for example a buffer memory) and a processing unit 1112p (equipped for example with at least one processor, FPGA, or DSP), controlled or pre-programmed by an application or a computer program 1113p implementing the method for managing a transport stream according to one embodiment of the invention.
A l'initialisation, les instructions de code du programme d'ordinateur 1113p sont par exemple chargées dans une mémoire RAM avant d'être exécutées par l'unité de traitement 1112p. L'unité de traitement 1112p met en oeuvre les étapes du procédé de gestion d'un flux de transport décrit précédemment, selon les instructions du programme d'ordinateur 1113p. Pour ce faire, selon un mode de réalisation, l'unité de traitement 1112p est configurée pour : obtenir au moins un décalage parmi : o au moins un décalage entre une position réelle d'un paquet d'événement courant dans le flux de transport, en sortie d'un équipement du réseau de diffusion, et une position souhaitée du paquet d'événement courant dans le flux de transport (décalage de traitement), o un décalage déterminé en fonction d'un type de récepteur destiné à recevoir le flux de transport (décalage de réception), le paquet d'événement courant étant associé à un contenu porté par le flux de transport, et portant un entête de synchronisation comprenant : une information temporelle de référence définie par rapport à une horloge de référence du contenu ; un délai souhaité entre le paquet d'événement courant et un paquet de référence du contenu identifié à partir de l'information temporelle de référence, la position souhaitée étant déterminée à partir de ladite information temporelle de référence et dudit délai souhaité, transmettre, à au moins un autre équipement du réseau de diffusion, ledit au moins un décalage obtenu, ou un décalage global déterminé à partir dudit au moins un décalage obtenu. On initialization, the code instructions of the computer program 1113p are for example loaded into a RAM memory before being executed by the processing unit 1112p. The processing unit 1112p implements the steps of the method for managing a transport stream described previously, according to the instructions of the computer program 1113p. To do this, according to one embodiment, the processing unit 1112p is configured to: obtain at least one offset among: o at least one offset between an actual position of a current event packet in the transport stream, at the output of a broadcast network device, and a desired position of the current event packet in the transport stream ( processing offset), o an offset determined according to a type of receiver intended to receive the transport stream (reception offset), the current event packet being associated with a content carried by the transport stream, and carrying a synchronization header comprising: reference time information defined with respect to a reference clock of the content; a desired delay between the current event packet and a reference packet of the content identified from the reference time information, the desired position being determined from said reference time information and from said desired delay, transmitting, to at at least one other piece of equipment of the broadcast network, said at least one offset obtained, or a global offset determined from said at least one offset obtained.
Un récepteur selon un mode de réalisation de l'invention comprend une mémoire IIIIR (comprenant par exemple une mémoire tampon) et une unité de traitement 1112R (équipée par exemple d'au moins un processeur, FPGA, ou DSP), pilotée ou pré-programmée par une application ou un programme d'ordinateur 1113R mettant en oeuvre le procédé de réception d'un flux de transport selon un mode de réalisation de l'invention. A receiver according to one embodiment of the invention comprises an IIIIR memory (comprising for example a buffer memory) and an 1112R processing unit (equipped for example with at least one processor, FPGA, or DSP), driven or pre-controlled. programmed by an application or a computer program 1113R implementing the method for receiving a transport stream according to one embodiment of the invention.
A l'initialisation, les instructions de code du programme d'ordinateur 1113R sont par exemple chargées dans une mémoire RAM avant d'être exécutées par l'unité de traitement 1112R. L'unité de traitement 1112R met en oeuvre les étapes du procédé de réception d'un flux de transport décrit précédemment, selon les instructions du programme d'ordinateur 1113R. Pour ce faire, selon un mode de réalisation, l'unité de traitement 1112R est configurée pour : recevoir un flux de transport portant au moins un paquet d'événement courant associé à un contenu porté par le flux de transport, le paquet d'événement courant portant un entête de synchronisation comprenant : o une information temporelle de référence définie par rapport à une horloge de référence du contenu, o un délai souhaité ou réel entre le paquet d'événement courant et un paquet de référence du contenu identifié à partir de l'information temporelle de référence, synchroniser un événement porté par des données utiles du paquet d'événement courant avec un point de référence associé à l'information temporelle de référence, en tenant compte d'un délai d'attente déterminé à partir de l'entête de synchronisation du paquet d'événement courant. On initialization, the code instructions of the computer program 1113R are for example loaded into a RAM memory before being executed by the processing unit 1112R. The processing unit 1112R implements the steps of the method for receiving a transport stream described previously, according to the instructions of the computer program 1113R. To do this, according to one embodiment, the processing unit 1112R is configured to: receive a transport stream carrying at least one current event packet associated with a content carried by the transport stream, the event packet stream carrying a synchronization header comprising: o reference time information defined with respect to a content reference clock, o a desired or actual delay between the current event packet and a content reference packet identified from the reference time information, synchronizing an event carried by payload data of the current event packet with a reference point associated with the reference time information, taking into account a waiting period determined from the synchronization header of the packet d current event.

Claims

REVENDICATIONS
1. Procédé de surveillance d'un flux de transport en sortie d'un équipement d'un réseau de diffusion, caractérisé en ce que ledit procédé met en oeuvre au moins une itération des étapes suivantes : 1. Method for monitoring a transport stream at the output of equipment of a broadcasting network, characterized in that said method implements at least one iteration of the following steps:
- obtention (61) du flux de transport délivré par ledit équipement, - obtaining (61) the transport stream delivered by said equipment,
- détection (62) d'un paquet d'événement courant associé à un contenu porté par ledit flux de transport, ledit paquet d'événement portant un entête de synchronisation comprenant :- detection (62) of a current event packet associated with a content carried by said transport stream, said event packet carrying a synchronization header comprising:
• une information temporelle de référence définie par rapport à une horloge de référence dudit contenu, • reference time information defined in relation to a reference clock of said content,
• un délai souhaité entre ledit paquet d'événement courant et un paquet de référence dudit contenu identifié à partir de ladite information temporelle de référence,• a desired delay between said current event packet and a reference packet of said content identified from said reference time information,
- détermination (63) d'un décalage entre une position réelle dudit paquet d'événement courant dans ledit flux de transport, et une position souhaitée dudit paquet d'événement courant dans ledit flux de transport, déterminée à partir de ladite information temporelle de référence et dudit délai souhaité, dit décalage de traitement. - determination (63) of an offset between an actual position of said current event packet in said transport stream, and a desired position of said current event packet in said transport stream, determined from said reference time information and said desired delay, called processing offset.
2. Procédé selon la revendication 1, caractérisé en ce qu'il comprend une étape de transmission dudit décalage de traitement à au moins un autre équipement dudit réseau de diffusion. 2. Method according to claim 1, characterized in that it comprises a step of transmitting said processing offset to at least one other device of said broadcast network.
3. Procédé selon l'une quelconque des revendications 1 et 2, caractérisé en ce qu'il comprend une étape de mise à jour dudit entête de synchronisation avec ledit décalage de traitement. 3. Method according to any one of claims 1 and 2, characterized in that it comprises a step of updating said synchronization header with said processing offset.
4. Procédé selon l'une quelconque des revendications 1 à 3, caractérisé en ce qu'il comprend une étape de modification de la position dudit paquet d'événement courant dans ledit flux de transport tenant compte dudit décalage de traitement et une étape de transmission dudit flux de transport modifié. 4. Method according to any one of claims 1 to 3, characterized in that it comprises a step of modifying the position of said current event packet in said transport stream taking into account said processing offset and a step of transmitting said modified transport stream.
5. Procédé selon la revendication 4, caractérisé en ce qu'il comprend une étape de suppression dudit entête de synchronisation dudit paquet d'événement courant, préalable à ladite transmission du flux de transport modifié. 5. Method according to claim 4, characterized in that it comprises a step of removing said synchronization header from said current event packet, prior to said transmission of the modified transport stream.
6. Procédé selon l'une quelconque des revendications 1 à 5, caractérisé en ce que ledit décalage de traitement est un décalage moyen obtenu à l'issue d'au moins deux itérations. 6. Method according to any one of claims 1 to 5, characterized in that said processing offset is an average offset obtained after at least two iterations.
7. Procédé d'insertion d'un événement dans un flux de transport destiné à être diffusé dans un réseau de diffusion, caractérisé en ce qu'il met en oeuvre les étapes suivantes : 7. Method for inserting an event into a transport stream intended to be broadcast in a broadcast network, characterized in that it implements the following steps:
- obtention (31) dudit flux de transport, - insertion (32) , dans ledit flux de transport, d'au moins un paquet d'événement courant associé à un contenu porté par ledit flux de transport, ledit paquet d'événement courant portant un entête de synchronisation comprenant : - obtaining (31) said transport stream, - insertion (32), in said transport stream, of at least one current event packet associated with content carried by said transport stream, said current event packet carrying a synchronization header comprising:
• une information temporelle de référence définie par rapport à une horloge de référence dudit contenu ; • reference time information defined with respect to a reference clock of said content;
• un délai souhaité entre ledit paquet d'événement courant et un paquet de référence dudit contenu identifié à partir de ladite information temporelle de référence, ledit paquet d'événement courant étant inséré dans ledit flux de transport à une position définie à partir de la position dudit paquet de référence et dudit délai souhaité. • a desired delay between said current event packet and a reference packet of said content identified from said reference time information, said current event packet being inserted into said transport stream at a position defined from the position said reference packet and said desired delay.
8. Procédé selon la revendication 7, caractérisé en ce qu'il met en oeuvre au moins une étape d'obtention (33) d'un décalage entre une position réelle dudit paquet d'événement courant dans ledit flux de transport, en sortie d'un équipement du réseau de diffusion, et une position souhaitée dudit paquet d'événement courant dans ledit flux de transport, déterminée à partir de ladite information temporelle de référence et dudit délai souhaité, dit décalage de traitement. 8. Method according to claim 7, characterized in that it implements at least one step of obtaining (33) a shift between a real position of said current event packet in said transport stream, at the output of equipment of the broadcasting network, and a desired position of said current event packet in said transport stream, determined on the basis of said reference time information and of said desired delay, called processing offset.
9. Procédé selon l'une quelconque des revendications 7 et 8, caractérisé en ce qu'il met en oeuvre la réception (34) d'un décalage déterminé en fonction d'un type de récepteur destiné à recevoir ledit flux de transport, dit décalage de réception. 9. Method according to any one of claims 7 and 8, characterized in that it implements the reception (34) of an offset determined according to a type of receiver intended to receive said transport stream, said reception delay.
10. Procédé selon l'une quelconque des revendications 8 et 9, caractérisé en ce qu'il met en oeuvre une étape de modification de la position dudit paquet d'événement courant dans ledit flux de transport tenant compte dudit décalage de traitement selon la revendication 8 et/ou dudit décalage de réception selon la revendication 9. 10. Method according to any one of claims 8 and 9, characterized in that it implements a step of modifying the position of said current event packet in said transport stream taking into account said processing offset according to claim 8 and/or said receive offset according to claim 9.
11. Procédé selon l'une quelconque des revendications 8 à 10, caractérisé en ce qu'il met en oeuvre une étape d'insertion d'un paquet d'événement suivant dans ledit flux de transport tenant compte dudit décalage de traitement selon la revendication 8 et/ou dudit décalage de réception selon la revendication 9. 11. Method according to any one of claims 8 to 10, characterized in that it implements a step of inserting a next event packet into said transport stream taking into account said processing offset according to claim 8 and/or said receive offset according to claim 9.
12. Procédé de gestion d'un flux de transport diffusé dans un réseau de diffusion, caractérisé en ce qu'il met en oeuvre les étapes suivantes : 12. Method for managing a transport stream broadcast in a broadcast network, characterized in that it implements the following steps:
- obtention (71) d'au moins un décalage parmi : - obtaining (71) at least one shift among:
• au moins un décalage entre une position réelle d'un paquet d'événement courant dans ledit flux de transport, en sortie d'un équipement du réseau de diffusion, et une position souhaitée dudit paquet d'événement courant dans ledit flux de transport, dit décalage de traitement, • un décalage déterminé en fonction d'un type de récepteur destiné à recevoir ledit flux de transport, dit décalage de réception, ledit paquet d'événement courant étant associé à un contenu porté par ledit flux de transport, et portant un entête de synchronisation comprenant : • at least one offset between a real position of a current event packet in said transport stream, at the output of equipment of the broadcast network, and a desired position of said current event packet in said transport stream, said processing lag, • an offset determined according to a type of receiver intended to receive said transport stream, called reception offset, said current event packet being associated with a content carried by said transport stream, and carrying a synchronization header comprising :
• une information temporelle de référence définie par rapport à une horloge de référence dudit contenu ; • reference time information defined with respect to a reference clock of said content;
• un délai souhaité entre ledit paquet d'événement courant et un paquet de référence dudit contenu identifié à partir de ladite information temporelle de référence, ladite position souhaitée étant déterminée à partir de ladite information temporelle de référence et dudit délai souhaité, • a desired delay between said current event packet and a reference packet of said content identified from said reference time information, said desired position being determined from said reference time information and said desired delay,
- transmission (72), à au moins un autre équipement dudit réseau de diffusion, dudit au moins un décalage obtenu, ou d'un décalage global déterminé à partir dudit au moins un décalage obtenu. - transmission (72), to at least one other device of said broadcasting network, of said at least one shift obtained, or of a global shift determined from said at least one shift obtained.
13. Procédé de réception d'un flux de transport diffusé dans un réseau de diffusion, caractérisé en ce qu'il met en oeuvre les étapes suivantes : 13. Method for receiving a transport stream broadcast in a broadcast network, characterized in that it implements the following steps:
- réception (81) d'un flux de transport portant au moins un paquet d'événement courant associé à un contenu porté par ledit flux de transport, ledit paquet d'événement courant portant un entête de synchronisation comprenant : - reception (81) of a transport stream carrying at least one current event packet associated with content carried by said transport stream, said current event packet carrying a synchronization header comprising:
• une information temporelle de référence définie par rapport à une horloge de référence dudit contenu, • reference time information defined in relation to a reference clock of said content,
• un délai souhaité ou réel entre ledit paquet d'événement courant et un paquet de référence dudit contenu identifié à partir de ladite information temporelle de référence,• a desired or actual delay between said current event packet and a reference packet of said content identified from said reference time information,
- synchronisation (82) d'un événement porté par des données utiles dudit paquet d'événement courant avec un point de référence associé à ladite information temporelle de référence, en tenant compte d'un délai d'attente déterminé à partir dudit entête de synchronisation dudit paquet d'événement courant. - synchronization (82) of an event carried by payload data of said current event packet with a reference point associated with said reference time information, taking into account a waiting period determined from said synchronization header of said current event packet.
14. Procédé selon la revendication 13, caractérisé en ce qu'il comprend une étape d'obtention d'un décalage déterminé en fonction d'un type de récepteur recevant ledit flux de transport, dit décalage de réception, et en ce que ledit délai d'attente tient également compte dudit décalage de réception. 14. Method according to claim 13, characterized in that it comprises a step of obtaining an offset determined as a function of a type of receiver receiving said transport stream, called reception offset, and in that said delay also takes into account said reception delay.
15. Procédé selon l'une quelconque des revendications 1 à 14, caractérisé en ce que ladite information temporelle de référence correspond à une date de restitution d'une image de référence dudit contenu et en ce que ledit paquet de référence porte ladite image de référence. 15. Method according to any one of claims 1 to 14, characterized in that said reference time information corresponds to a date of restitution of a reference image of said content and in that said reference packet carries said reference image .
16. Procédé selon l'une quelconque des revendications 1 à 15, caractérisé en ce que ledit flux de transport est au format MPEG-TS, et en ce que ledit paquet d'événement courant est un « Stream Event » au format DSM-CC. 16. Method according to any one of claims 1 to 15, characterized in that said transport stream is in MPEG-TS format, and in that said current event packet is a “Stream Event” in DSM-CC format. .
17. Dispositif de surveillance d'un flux de transport en sortie d'un équipement d'un réseau de diffusion, caractérisé en ce qu'il comprend une machine de calcul reprogrammable ou une machine de calcul dédiée, configurée pour : 17. Device for monitoring a transport stream at the output of equipment of a broadcasting network, characterized in that it comprises a reprogrammable calculation machine or a dedicated calculation machine, configured for:
- obtenir le flux de transport délivré par ledit équipement, - obtain the transport stream delivered by said equipment,
- détecter un paquet d'événement courant associé à un contenu porté par ledit flux de transport, ledit paquet d'événement portant un entête de synchronisation comprenant : - detecting a current event packet associated with a content carried by said transport stream, said event packet carrying a synchronization header comprising:
• une information temporelle de référence définie par rapport à une horloge de référence dudit contenu ; • reference time information defined with respect to a reference clock of said content;
• un délai souhaité entre ledit paquet d'événement courant et un paquet de référence dudit contenu identifié à partir de ladite information temporelle de référence,• a desired delay between said current event packet and a reference packet of said content identified from said reference time information,
- déterminer un décalage entre une position réelle dudit paquet d'événement courant dans ledit flux de transport, et une position souhaitée dudit paquet d'événement courant dans ledit flux de transport, déterminée à partir de ladite information temporelle de référence et dudit délai souhaité, dit décalage de traitement. - determining an offset between an actual position of said current event packet in said transport stream, and a desired position of said current event packet in said transport stream, determined from said reference time information and from said desired delay, called processing lag.
18. Dispositif d'insertion d'un événement dans un flux de transport destiné à être diffusé dans un réseau de diffusion, caractérisé en ce qu'il comprend une machine de calcul reprogrammable ou une machine de calcul dédiée, configurée pour : 18. Device for inserting an event into a transport stream intended to be broadcast in a broadcast network, characterized in that it comprises a reprogrammable calculation machine or a dedicated calculation machine, configured for:
- obtenir ledit flux de transport, - obtain said transport stream,
- insérer, dans ledit flux de transport, au moins un paquet d'événement courant associé à un contenu porté par ledit flux de transport, ledit paquet d'événement courant portant un entête de synchronisation comprenant : - inserting, in said transport stream, at least one current event packet associated with a content carried by said transport stream, said current event packet carrying a synchronization header comprising:
• une information temporelle de référence définie par rapport à une horloge de référence dudit contenu ; • reference time information defined with respect to a reference clock of said content;
• un délai souhaité entre ledit paquet d'événement courant et un paquet de référence dudit contenu identifié à partir de ladite information temporelle de référence, ledit paquet d'événement courant étant inséré dans ledit flux de transport à une position définie à partir de la position dudit paquet de référence et dudit délai souhaité. • a desired delay between said current event packet and a reference packet of said content identified from said reference time information, said current event packet being inserted into said transport stream at a position defined from the position said reference packet and said desired delay.
19. Plateforme de gestion d'un flux de transport diffusé dans un réseau de diffusion, caractérisé en ce qu'elle comprend une machine de calcul reprogrammable ou une machine de calcul dédiée, configurée pour : - obtenir au moins un décalage parmi : 19. Platform for managing a transport stream broadcast in a broadcasting network, characterized in that it comprises a reprogrammable calculation machine or a dedicated calculation machine, configured for: - obtain at least one shift among:
• au moins un décalage entre une position réelle d'un paquet d'événement courant dans ledit flux de transport, en sortie d'un équipement du réseau de diffusion, et une position souhaitée dudit paquet d'événement courant dans ledit flux de transport, dit décalage de traitement, • at least one offset between a real position of a current event packet in said transport stream, at the output of equipment of the broadcast network, and a desired position of said current event packet in said transport stream, said processing lag,
• un décalage déterminé en fonction d'un type de récepteur destiné à recevoir ledit flux de transport, dit décalage de réception, ledit paquet d'événement courant étant associé à un contenu porté par ledit flux de transport, et portant un entête de synchronisation comprenant : • an offset determined according to a type of receiver intended to receive said transport stream, called reception offset, said current event packet being associated with a content carried by said transport stream, and carrying a synchronization header comprising :
• une information temporelle de référence définie par rapport à une horloge de référence dudit contenu ; • reference time information defined with respect to a reference clock of said content;
• un délai souhaité entre ledit paquet d'événement courant et un paquet de référence dudit contenu identifié à partir de ladite information temporelle de référence, ladite position souhaitée étant déterminée à partir de ladite information temporelle de référence et dudit délai souhaité, • a desired delay between said current event packet and a reference packet of said content identified from said reference time information, said desired position being determined from said reference time information and said desired delay,
- transmettre, à au moins un autre équipement dudit réseau de diffusion, ledit au moins un décalage obtenu, ou un décalage global déterminé à partir dudit au moins un décalage obtenu. - Transmitting, to at least one other equipment of said broadcast network, said at least one shift obtained, or a global shift determined from said at least one shift obtained.
20. Dispositif de réception d'un flux de transport diffusé dans un réseau de diffusion, caractérisé en ce qu'il comprend une machine de calcul reprogrammable ou une machine de calcul dédiée, configurée pour : 20. Device for receiving a transport stream broadcast in a broadcasting network, characterized in that it comprises a reprogrammable computing machine or a dedicated computing machine, configured for:
- recevoir un flux de transport portant au moins un paquet d'événement courant associé à un contenu porté par ledit flux de transport, ledit paquet d'événement courant portant un entête de synchronisation comprenant : - receiving a transport stream carrying at least one current event packet associated with content carried by said transport stream, said current event packet carrying a synchronization header comprising:
• une information temporelle de référence définie par rapport à une horloge de référence dudit contenu, • reference time information defined in relation to a reference clock of said content,
• un délai souhaité ou réel entre ledit paquet d'événement courant et un paquet de référence dudit contenu identifié à partir de ladite information temporelle de référence,• a desired or actual delay between said current event packet and a reference packet of said content identified from said reference time information,
- synchroniser un événement porté par des données utiles dudit paquet d'événement courant avec un point de référence associé à ladite information temporelle de référence, en tenant compte d'un délai d'attente déterminé à partir dudit entête de synchronisation dudit paquet d'événement courant. - synchronizing an event carried by payload data of said current event packet with a reference point associated with said reference time information, taking into account a waiting time determined from said synchronization header of said event packet running.
21. Programme d'ordinateur comprenant des instructions de code de programme pour la mise en oeuvre d'un procédé selon l'une quelconque des revendications 1 à 16, lorsque ledit programme est exécuté sur un ordinateur. 21. Computer program comprising program code instructions for implementing a method according to any one of claims 1 to 16, when said program is executed on a computer.
EP22721337.8A 2021-04-09 2022-04-07 Methods and devices for inserting an event into a transport flow, for monitoring, managing and receiving the transport flow, and computer program all corresponding thereto Pending EP4320871A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2103688A FR3121809B1 (en) 2021-04-09 2021-04-09 Methods and devices for inserting an event into a transport stream, monitoring, managing and receiving the transport stream, and corresponding computer programs.
PCT/EP2022/059243 WO2022214586A1 (en) 2021-04-09 2022-04-07 Methods and devices for inserting an event into a transport flow, for monitoring, managing and receiving the transport flow, and computer program all corresponding thereto

Publications (1)

Publication Number Publication Date
EP4320871A1 true EP4320871A1 (en) 2024-02-14

Family

ID=76523070

Family Applications (1)

Application Number Title Priority Date Filing Date
EP22721337.8A Pending EP4320871A1 (en) 2021-04-09 2022-04-07 Methods and devices for inserting an event into a transport flow, for monitoring, managing and receiving the transport flow, and computer program all corresponding thereto

Country Status (3)

Country Link
EP (1) EP4320871A1 (en)
FR (1) FR3121809B1 (en)
WO (1) WO2022214586A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3101744B1 (en) * 2019-10-04 2023-07-21 Enensys Tech Terminal substitution signaling method, terminal substitution method, corresponding computer program, system and terminal products

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2533547A1 (en) * 2011-06-10 2012-12-12 Koninklijke KPN N.V. Method and system for providing a synchronised user experience from multiple modules
FR3069123B1 (en) 2017-07-12 2021-10-08 Tdf PROCESS FOR SIGNALING A SUBSTITUTION TO A TERMINAL, PROCESS FOR SUBSTITUTION BY A TERMINAL, CORRESPONDING COMPUTER PROGRAM PRODUCTS, SYSTEM AND TERMINAL.
US10575063B2 (en) * 2017-11-03 2020-02-25 Dish Network L.L.C. Message tunneling over closed captioning

Also Published As

Publication number Publication date
FR3121809A1 (en) 2022-10-14
WO2022214586A1 (en) 2022-10-13
FR3121809B1 (en) 2024-01-12

Similar Documents

Publication Publication Date Title
EP1432250B1 (en) Method and apparatus for synchronising the presentation of audio and/or video frames
CN101184035B (en) Broadcast transport stream distribution system, and broadcast transport stream distribution apparatus, user terminal device and distribution method for use in the system
EP2347588B1 (en) Timestamping a data stream in a single frequency network
FR2919775A1 (en) METHOD AND DEVICE FOR SYNCHRONIZING A DATA STREAM IN A SINGLE FREQUENCY NETWORK
EP4320871A1 (en) Methods and devices for inserting an event into a transport flow, for monitoring, managing and receiving the transport flow, and computer program all corresponding thereto
EP2030449B1 (en) Method of inserting at least one component into a digital stream, corresponding inserting device and computer program product
EP3284260B1 (en) Method for replacing a main content with at least one secondary content, corresponding content replacement device and computer program
EP2243232A1 (en) Method for broadcasting a data stream in a network including a plurality of transmitters, computer software product, head end and system for implementing said method
EP3652953B1 (en) Method for signalling a substitution to a terminal, method for substitution by a terminal, corresponding computer program products, system and terminal
EP3085098B1 (en) Method of filtering and synchronising of audio-visual data streams for a synchronous terrestrial broadcast
EP2345185A1 (en) Device and method for the fine synchronisation of different versions of a received data stream
KR101233329B1 (en) Rate adaptation scheme of atsc-m/h multiplexer
EP2277313A1 (en) Method for synchronising a plurality of formatting modules
EP2345250B1 (en) Modification of the throughput of a data stream broadcast in a monofrequency network
FR2992514A1 (en) METHOD AND DEVICE FOR TIMING A DATA STREAM, METHOD AND DEVICE FOR INSERTING, CORRESPONDING COMPUTER PROGRAM PRODUCTS AND MEDIUM STORAGE MEDIUM
FR2930098A1 (en) Signal flow i.e. Internet protocol TV flow, transmitting method for digital TV's set top box in Internet protocol network, involves transmitting components to signal receiving equipment by respecting determined restitution time difference
EP0781480A1 (en) Data packet routing device
EP3175623A1 (en) Method for broadcasting an alert service
OA17812A (en) Method for generating a time stamp for synchronous terrestrial broadcasting.

Legal Events

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

Free format text: STATUS: UNKNOWN

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

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

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

Free format text: ORIGINAL CODE: 0009012

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

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20231006

AK Designated contracting states

Kind code of ref document: A1

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