Procédé de diffusion d'un contenu à partir d'une source vers au moins un terminal, à travers un réseau de type IP, source, terminal et signal associés
L'invention concerne un procédé de diffusion de contenus à travers un réseau informatique tel que 1 ' Internet .
De nombreuses chaînes de télévision diffusent des contenus audiovisuels tels que, à titre d'exemples, des émissions TV, des films ou des événements sportifs, à partir d'une source de diffusion S vers une pluralité de terminaux récepteurs T, généralement en modes "multicast" et "multiflux" . Le mode multicast consiste à émettre le contenu à diffuser, décomposé en paquets de données IP, en un seul envoi pour tous les terminaux récepteurs . Des routeurs de l'Internet, situés à des nœuds du réseau, dupliquent en cascade les paquets IP afin de les acheminer jusqu'aux différents terminaux récepteurs. La diffusion en multiflux consiste à émettre, pour chaque type de données (audio, vidéo ou autre) , un flux de données de base et un ou plusieurs flux de données complémentaires destinés à améliorer la qualité du signal véhiculé par le flux de base, à travers différents canaux de diffusion de la source S. Chaque terminal récepteur peut ainsi adapter la qualité du signal reçu à ses propres capacités, en utilisant le flux de base et éventuellement un ou plusieurs flux complémentaires.
Un portail TV fournit aux terminaux récepteurs T un guide des programmes de différents chaînes de télévision. Lorsqu'un terminal récepteur T souhaite recevoir un contenu diffusé par une chaîne de télévision sur l'Internet, il se connecte au portail TV, sélectionne le contenu désiré et, en retour, reçoit un fichier descriptif SDP (Session Description Protocol) relatif au contenu sélectionné. Ce fichier descriptif SDP contient toutes les informations utiles pour permettre au terminal de se mettre en réception du contenu
souhaité, soit directement, soit par l'intermédiaire d'un canal de signalisation CS de la source S. Dans le premier cas, le fichier SDP contient toutes les données d'exploitation du contenu. Dans le second cas, le fichier SDP contient l'adresse IP du canal de signalisation CS, à travers lequel la source S diffuse les données d'exploitation du contenu. Par définition, les données d'exploitation d'un contenu sont les données permettant à un récepteur d'exploiter, c'est-à-dire d'acquérir et de lire, ce contenu. Elles contiennent des données de description du contenu (titre, heures de début et de fin du contenu, etc.) et des données de signalisation (adresses multicast des canaux de diffusion de la source, modes de diffusion, etc.). A partir de l'heure de début de diffusion, par référence à une horloge interne, le terminal récepteur repère l'instant à partir duquel il convient de se mettre en réception de la source S pour recevoir le contenu souhaité. Toutefois, cette méthode de détermination de l'instant de début de la diffusion du contenu, utilisant l'horloge interne, ou locale, du terminal T, n'est pas suffisamment fiable du fait que 1 ' horloge de la source et 1 ' horloge du terminal T ne sont pas synchronisées . Il existe donc un risque important d'erreur dans la détermination de l'instant de début ou de fin de diffusion.
Pour résoudre ce problème, le terminal récepteur T et la source S peuvent tous deux synchroniser leur horloge sur une horloge de référence de l'Internet. Pour cela, le terminal récepteur T et la source S doivent régulièrement se connecter à un serveur NTP (Network Time Protocol) de l'Internet et récupérer auprès de ce serveur NTP l'heure de référence Internet, en utilisant le protocole NTP. Cette solution n'est cependant pas totalement satisfaisante pour les raisons suivantes: d'une part, elle nécessite l' implémentation d'une application spécifique, apte à mettre en œuvre le protocole NTP, dans le terminal T et dans la source S, et, d'autre part,
elle oblige la source S et le terminal T à faire appel à une source externe (à savoir le serveur NTP) pour obtenir une horloge de référence.
Le problème technique posé par la présente invention consiste donc à proposer un procédé de diffusion d'un contenu à partir d'une source de diffusion vers au moins un terminal récepteur, à travers un réseau de type IP, dans lequel le terminal récepteur acquiert des données d'exploitation du contenu, contenant au moins une heure h à repérer, et repère ladite heure h, procédé qui permette au terminal récepteur de repérer l'heure h de façon fiable et simple.
Le problème est résolu par le fait que le procédé comprend les étapes consistant
- à insérer dans les données d'exploitation du contenu des informations permettant au terminal d'acquérir une heure courante de référence fournie par une horloge de référence, 1 ' heure à repérer étant déterminée par référence à ladite horloge de référence,-
- à fournir au terminal l'heure courante de référence, et - à repérer ladite heure h en se basant sur 1 ' heure courante de référence.
La solution de l'invention consiste donc à communiquer au terminal les informations pour lui permettre d'acquérir 1 ' heure courante fournie par 1 ' horloge de référence et utilisée par la source S, en véhiculant ces informations dans les données d'exploitation du contenu souhaité. Grâce à cela, la source et le terminal sont synchronisés .
Avantageusement, on insère l'heure courante de référence dans les données d'exploitation. Dans ce cas, le terminal reçoit l'heure courante de référence directement dans les données d'exploitation.
Avantageusement encore, on insère une requête d'acquisition de l'heure courante de référence et une adresse d'envoi de ladite requête sur le réseau dans les données
d'exploitation. Pour acquérir l'heure courante de référence de la source, par exemple après une interruption de fonctionnement, le terminal envoie la requête d'acquisition à l'adresse indiquée et reçoit en retour l'heure courante de référence.
Dans un premier mode de réalisation de l'invention, on insère les informations permettant au terminal d'acquérir l'heure courante de référence dans un fichier descriptif SDP.
Dans ce cas, et de préférence, le terminal récupère ledit fichier SDP par téléchargement depuis un site d'informations du réseau.
Dans un second mode de réalisation de l'invention, le contenu étant diffusé à travers au moins un canal de diffusion, la source envoie les informations permettant au terminal d'acquérir l'heure courante de référence à travers un canal de signalisation associé audit canal de diffusion.
Le contenu étant décrit par des tables de métadonnées, la source insère les informations permettant au terminal d'acquérir l'heure courante de référence dans l'une desdites tables de métadonnées, par exemple dans une table d'informations de service.
Le contenu étant décrit par des tables de métadonnées, la source crée une nouvelle table de métadonnées destinée à contenir des informations dynamiques, et insère les informations permettant au terminal d'acquérir l'heure courante de référence dans la nouvelle table de métadonnées .
Le contenu étant décrit par une pluralité de tables de métadonnées destinées à être véhiculées par une première table racine, la source crée une seconde table racine, indépendante de la première table racine et destinée à véhiculer des informations dynamiques, et insère l'heure courante de référence dans la seconde table racine.
L'heure à repérer peut être une heure de début et/ou une heure de fin de diffusion du contenu.
L'invention concerne également une source de diffusion d'un contenu à travers un réseau de type IP, ladite source comprenant des premiers moyens d'émission pour émettre le contenu, des moyens de liaison à une horloge, des moyens pour créer des données d'exploitation du contenu, lesdites données d'exploitation contenant au moins une heure h à repérer déterminée par référence à l'horloge, et des seconds moyens d'émission pour émettre les données d'exploitation du contenu, source caractérisée par le fait que les moyens pour créer les données d'exploitation du contenu sont agencés pour y insérer des informations permettant à un récepteur d'acquérir une heure courante de référence fournie par ladite horloge.
L'invention concerne encore un terminal de réception d'un contenu diffusé par une source à travers un réseau de type IP, ledit terminal comprenant des moyens pour acquérir des données d'exploitation du contenu, lesdites données d'exploitation contenant au moins une heure h à repérer, des moyens de réception du contenu agencés pour repérer ladite heure h, terminal caractérisé par le fait que les moyens de réception sont agencés pour acquérir une heure courante de référence à partir des données d'exploitation et pour repérer ladite heure h en se basant sur l'heure courante de référence.
L'invention concerne enfin un signal comprenant une table racine véhiculant au moins une table de métadonnées relatives à un contenu contenant des informations pour permettre à un récepteur d'acquérir une heure courante de référence.
Avantageusement, la table de métadonnées contient ladite heure courante de référence.
Avantageusement encore, la table de métadonnées contient une adresse d'envoi de ladite requête.
L'invention sera mieux comprise à l'aide de la description suivante de différents modes de réalisation du procédé de diffusion de l'invention et de différentes formes
de réalisation de la source et du terminal récepteur de l'invention, en référence au dessin annexé sur lequel :
- la figure 1 représente un schéma du terminal récepteur, d'un portail TV, de la source de diffusion et de différentes étapes du procédé, selon un premier mode de réalisation de l'invention ;
- la figure 2 représente un schéma du terminal récepteur, d'un portail TV, de la source de diffusion et de différentes étapes du procédé, selon un second mode de réalisation de l'invention , -
- la figure 3 représente un schéma bloc fonctionnel de la source de diffusion de la figure 1 ;
- la figure 4 représente un schéma bloc fonctionnel du terminal récepteur de la figure 1; - la figure 5 représente un organigramme du procédé de diffusion de l'invention, selon le mode de réalisation de la figure 1 ;
- la figure 6 représente un organigramme du procédé de diffusion de l'invention, selon le mode de réalisation de la figure 2.
D'emblée, on notera que, par définition, les données d'exploitation d'un contenu sont les données permettant à un terminal récepteur d'exploiter, c'est-à-dire d'acquérir et de lire, ce contenu. Elles contiennent des données de description du contenu (titre, heures de début et de fin du contenu, etc.) et des données de signalisation (adresses multicast des canaux de diffusion de la source, modes de diffusion, etc.).
Sur la figure 1, on a représenté une source de diffusion S, un terminal récepteur T, un portail TV P, une horloge de référence HR et un réseau IP, en l'espèce l'Internet.
Dans l'exemple particulier de la description, la source de diffusion S est une chaîne de télévision, que l'on appellera par la suite « chaîne A », diffusant des contenus, tels que des films, des émissions TV, des événements sportifs
ou autres, à travers l'Internet vers des terminaux récepteurs T. La source S diffuse en modes « multicast » et « multiflux ». La diffusion en "multiflux" consiste à émettre, pour chaque type de données à diffuser (audio, vidéo ou autre) , un flux de données de base et un ou plusieurs flux de données complémentaires destinés à améliorer la qualité du signal véhiculé par le flux de base. Chaque terminal récepteur T peut ainsi adapter la qualité du signal reçu à ses propres capacités, en utilisant le flux de base et éventuellement un ou plusieurs flux complémentaires. Les différents flux sont émis à travers différents canaux de diffusion CDX. Le mode "multicast" permet à la source S de diffuser chaque contenu vers une pluralité de terminaux récepteurs T, en un seul envoi. Pour diffuser un contenu, la source S émet des paquets de données IP véhiculant le contenu, lesquels sont dupliqués en cascade par des routeurs situés à des nœuds du réseau afin d'être acheminés jusqu'aux différents terminaux récepteurs.
En référence à la figure 3 , la source S comprend deux modules d'émission 10, 11, un module de décomposition 12, une base de données contenus 13 , un module 14 de création de systèmes de tables de « métadonnées », un module 15 de liaison à l'horloge externe de référence HR et une unité centrale 16.
Le module de décomposition 12 est destiné à décomposer les données à émettre à travers 1 ' Internet en paquets de données IP. Il est relié aux deux modules d'émission 10, 11.
La base de données 13, alimentée par un centre de programmation non représenté, contient les contenus à diffuser et, pour chacun de ces contenus, des données de description de ce contenu lesquelles contiennent notamment des heures de début et de fin de diffusion du contenu, déterminées par référence à l'horloge de référence HR. A titre d'exemple, si le contenu est un film, les données de description peuvent contenir, outre les heures de début et de fin de diffusion du film, le titre et les noms des acteurs du film.
La source S est reliée à l'horloge de référence HR par l'intermédiaire du module de liaison 15, lequel est destiné à récupérer l'heure courante de référence fournie par cette horloge HR. Le module 14 est destiné à créer un système de tables de « métadonnées » tel que défini par les spécifications issues du forum TV-Anytime. Par définition, les « métadonnées » sont des données de description d'un contenu, lesquelles décrivent le contenu et permettent en conséquence de l'exploiter. A titre d'exemple, les métadonnées relatives à un contenu contiennent notamment le titre, une description textuelle et le genre (film, reportage, événement sportif ou autre) du contenu. Pour plus d'informations concernant ces spécifications du Forum TV-Anytime, le lecteur est invité à se reporter aux documents suivants : i) SP003vll draft du 11 juin 2001, édité par le forum TV-Anytime, et ii) ISO/IEC JTC 1/SC 29/WG 11/N3966 de mars 2001, Singapour, édité par ISO/IEC 2000, intitulé « Text of 15938-5 FCD Information Technology - Multimedia Content Description Interface - Part 5 Multimedia Description Schemes » .
Un système de tables de métadonnées, tel que défini par les spécifications issues du forum TV-anytime, comprend une table racine, appelée « TVAMain », et une pluralité de tables de métadonnées, destinées à être véhiculées par cette table racine séparément ou conjointement. Ces tables de métadonnées peuvent comprendre les tables suivantes :
- une table « ProgramlnformationTable » d'informations de programme,
- une table « GroupInformationTable » d'informations de groupe de programmes,
- une table « ProgramLocationTable » de localisation de programme,
- une table « ServicelnformationTable » d'informations de service,
- une table « CastMemberlnformationTable » d' informations sur des personnes impliquées dans le programme (par exemple : producteur, acteurs, scénariste, etc.),
- une table « ProgramReviewTable » d'avis, de critiques, sur le programme, et
- une table « SegmentlnformationTable » d'informations de segment .
Le terme « programme » désigne ici un contenu.
Chaque table (table racine ou table de métadonnées associée à la table racine) porte un numéro de version qui lui est propre, lequel est incrémenté de un en cas de modification de la table entre deux envois successifs de celle-ci. Ainsi, lors de l'envoi d'une table racine « TVAMain » véhiculant une table de métadonnées ayant été modifiée depuis son dernier envoi et portant donc un numéro de version incrémenté de un, le numéro de version de la table racine est également incrémenté de un.
Le module de création 14 est destiné à insérer l'heure courante de référence, fournie par l'horloge de référence HR, une requête d'acquisition de l'heure courante de référence avec une adresse d'envoi de cette requête, dans la table de « ServicelnformationTable » d'informations de service lors de sa création.
Le module d'émission 10, relié au module de création 14 par l'intermédiaire du module de décomposition 12, est destiné à émettre un signal comprenant une table racine « TVAMain » véhiculant une ou plusieurs tables de métadonnées relatives à un contenu à diffuser ou en cours de diffusion, à travers l'Internet, par un canal de signalisation CS . Dans le cas où la table, ou l'une des tables, de métadonnées véhiculée est la table « ServicelnformationTable » d'informations de service, celle-ci contient l'heure courante de référence et une requête d'acquisition de l'heure courante de référence, avec une adresse d'envoi de cette requête.
Le module d'émission 11, relié à l'unité centrale 16 par l'intermédiaire du module de décomposition 12, est destiné à émettre les flux de données (audio, vidéo, etc.) véhiculant un contenu à travers l'Internet, par des canaux de diffusion CDX. L'unité centrale 16, à laquelle tous les éléments de la source S sont reliés, est destinée à commander le fonctionnement de la source S .
En référence à la figure 4 , le terminal récepteur T comprend un module 20 de connexion à l'Internet, un navigateur Internet 21, un ensemble 22 d'interface homme-machine (IHM) , un module 23 de récepteur/enregistreur TV Internet et une unité centrale, non représentée.
Le navigateur Internet 21, connecté au module de connexion Internet 20, permet au terminal récepteur T de naviguer sur l'Internet.
L'ensemble IHM 22 comprend un clavier, un écran de visualisation, une souris informatique (c'est-à-dire un organe de commande de déplacement d'un curseur à l'écran et de sélection) et un haut-parleur. Le module 23 de récepteur/enregistreur TV Internet comprend un bloc 230 d'acquisition de données d'exploitation de contenu, un bloc 231 de réception de contenu, une mémoire 232 de stockage de données d'exploitation de contenu, uπ.bloc enregistreur 233 et une mémoire 234 de stockage de contenus enregistrés. Le bloc 230 d'acquisition de données d'exploitation et le bloc 231 de réception de contenu sont reliés au module de connexion Internet 20 et à la mémoire 232. En outre, le module de réception 231 est relié à l'ensemble IHM 22. Le bloc enregistreur 233 est relié au bloc de réception 231 et à la mémoire 233, laquelle est reliée à l'ensemble IHM 22.
En fonctionnement, pour se mettre en réception d'un contenu diffusé par la source S, le bloc 230 récupère au préalable un fichier descriptif SDP (Session Description
Protocol) , contenant toutes les informations nécessaires pour permettre au terminal T de se mettre en réception du canal de signalisation CS de la source S, par téléchargement depuis le portail TV. Le fichier SDP contient notamment une heure prévue de début de diffusion du contenu. La structure du fichier SDP, définie par 1 ' IETF (Internet Engineering Task Force), est décrite dans le document RFC2327. A partir de ce fichier SDP, sous la commande du bloc 230, le terminal T se met en réception du canal de signalisation CS de la source de diffusion S, approximativement à l'heure prévue de début de diffusion indiquée dans le fichier SDP, et acquiert des tables de métadonnées relatives au contenu souhaité.
Le bloc enregistreur 233 permet au terminal T de fonctionner en mode enregistreur TV, de manière analogue à un magnétoscope. Un utilisateur peut programmer l'enregistrement automatique d'un contenu par le terminal T. Dans ce cas, sous la commande du bloc 233, le terminal T se met automatiquement en réception du contenu et l'enregistre dans la mémoire 234, comme cela sera explicité plus loin. En mode enregistreur, le bloc récepteur 230 est destiné à repérer l'heure de début et/ou de fin de diffusion du contenu à enregistrer, comme cela sera explicité plus loin dans la description du procédé.
Tous les éléments du terminal T sont reliés à l'unité centrale, laquelle est destinée à commander le fonctionnement du terminal T.
Le portail TV "P" est un site WEB d'informations pour l'accès à la télévision sur l'Internet, proposant un guide des programmes de diverses chaînes de télévision et des liens hypertextes vers ces chaînes et vers les contenus diffusés par ces chaînes . Le portail P contient notamment les programmes de la chaîne A.
Après la description structurelle et fonctionnelle de la source S, du terminal récepteur T et du portail P, le procédé de diffusion d'un contenu à partir de la source S vers des
terminaux récepteurs T, à travers l'Internet, va maintenant être décrit.
La source S diffuse en multicast et en multiflux une succession de contenus décomposés en paquets de données IP, à travers les canaux de diffusion CDX. Parallèlement, pour chaque contenu diffusé, la source S crée et envoie régulièrement des tables racines « TVAMain » véhiculant une ou plusieurs tables de métadonnées relatives à ce contenu, avant et pendant la diffusion du contenu. La source S diffuse ainsi régulièrement et fréquemment la table d'informations de service contenant l'heure courante de référence fournie par l'horloge HR.
Pour chaque envoi de l'heure courante de référence, le module de création 14 insère dans la table
« ServicelnformationTable » d'informations de service deux éléments, appelés « CurrentTime » et
« TimeReferenceAddressAndCo mand », lesquels fournissent respectivement l'heure courante de référence, donnée par l'horloge HR, et une requête d'acquisition de l'heure courante avec l'adresse d'envoi de cette requête sur Internet. La table d'informations de service est définie de la façon suivante :
<element naπ-e=" ServicelnformationTable "> •complexType > < séquence > <element name≈" CurrentTime" type="dateTime" minOccurs="0">
<element name="TimeReferenceAddressAndCommand" type=nstring" minOccurs="0">
<element ref="tva:ServiceInformation" minOccurs="0" maxOccurs= "uribounded" /> </ séquence >
<attribute name-- "version" type="integer"/> < / comp 1 exType > </element>
Les deux éléments « CurrentTime » et
« TimeReferenceAddressAndCommand » ont respectivement les formats « DateTime » et « string » définis dans la norme ISO/IEC CD 15938-5.
Dans l'exemple particulier de la description, l'élément « TimeReferenceAddressAndCommand » a la forme suivante :
« http://wwww.chaineA.fr/time/getCurrentTime »
Il s'agit d'une adresse URL (Uniform Ressource Locator) de localisation sur l'Internet, vers laquelle il convient d'envoyer la requête d'acquisition de l'heure courante de référence, contenant également la requête d'acquisition.
La table racine « TVAMain » véhiculant la table d' informations de service contenant les deux éléments « CurrentTime » et « TimeReferenceAddressAndCommand » a la structure minimale suivante : i) en cas d'insertion d'une requête d'acquisition de l'heure courante de référence pour les contenus diffusés par la seule chaîne A : <TVAMain version="125649"> <ContentDescription> <ProgramDescription>
<ServiceInformationTable version="64632 ">
<ServiceInformation serviceld="hbcl00022311"> <Name> ... </Name>
<O ner>...</0wner>
<CurrentTime>2001-02-02T19 : 00 : 00</CurrentTime>
<TimeReferenceAddressAndCom and> htt : //www.chainel . fr/time/getCurrentTime </TiπιeReferenceAddressAndCoιtmand>
</ServiceInformation> </ServicelnformationTable-- </ProgramDescription> </ContentDescription> </TVAMain>
Le champ « Serviceld » identifie la chaîne concernée.
ii) en cas d'insertion d'une requête d'acquisition de l'heure courante de référence pour les contenus diffusés par plusieurs chaînes :
<TVAMain version=" 125649 "> <ContentDescription> <ProgramDescription>
<ServiceInformationTable version=" 64632 "> < CurrentTime>2001 - 02- 02T19 : 00 : 00< CurrentTime>
< TimeReferenceAddressAndCommand> http .- AAwww. chaineA . frAtimeAgetCurrentTime
< AτimeReferenceAddressAndCommand>
</ServiceInformationTable> </ProgramDescription> </ContentDescription> </TVAMain>
L'absence de champ « Serviceld » signifie que les éléments « CurrentTime » et
« TimeReferenceAddressAndCommand », destinés à fournir l'heure courante de référence et la requête d'acquisition de cette heure courante de référence, sont valables pour plusieurs chaînes de diffusion.
Pour se mettre en réception d'un contenu diffusé par la source S, le terminal T se connecte au portail P et, dans une étape 30, télécharge le fichier SDP relatif au contenu souhaité. Pour cela, dans une étape 30a, par sélection dans la grille des programmes, le terminal T adresse au portail P une requête d'acquisition du fichier SDP du contenu souhaité et, dans une étape 30b, le portail P envoie au terminal T le fichier SDP requis. Le fichier SDP téléchargé est stocké dans la mémoire 232. A l'aide des informations contenues dans le fichier SDP téléchargé, le terminal T se met en réception du canal de signalisation CS de la source S, dans une étape 31, quelques instants avant l'heure prévue de début de diffusion indiquée dans le fichier SDP. Dans une étape 32, le terminal T acquiert les tables de métadonnées relatives au contenu souhaité, diffusées par la source S à travers ce canal CS. Dès réception des tables de métadonnées, dans une étape 33, le terminal T extrait de la table d'informations de service l'heure courante de référence ainsi que les heures de début et de fin de diffusion du contenu souhaité, puis, dans une étape 34, repère les heures de début et de fin de la diffusion en se basant sur l'heure courante de référence reçue. Pour cela, le terminal T calcule les durées restantes, à compter de l'heure courante de référence reçue, jusqu'à l'heure de début et jusqu'à l'heure de fin de la diffusion du contenu. Tout se passe comme si, à la réception de la table d'informations de
service, le terminal T synchronisait son heure courante locale avec l'heure courante de référence reçue pour le repérage temporel des heures de début et de fin de diffusion du contenu. En mode enregistreur, dans une étape 35, le terminal T se met automatiquement en réception des canaux de diffusion CDX de la source S, à l'heure préalablement repérée de début de diffusion. Pour cela, dans une étape 35a, le terminal T envoie une requête d'acquisition de chaque flux de données véhiculant le contenu souhaité, à travers l'Internet, en utilisant le protocole IGMP (Internet Group Management Protocol) . Le premier routeur Internet qui reçoit cette requête alors qu'il reçoit déjà des paquets de données IP diffusés par la source S, duplique ces paquets et les achemine vers le terminal T, dans une étape 35b. Après s'être mis en réception des canaux de diffusion CDX de la source S, le terminal T reçoit le contenu souhaité et l'enregistre dans la mémoire 234, dans une étape 36. Dans une étape 37, à l'heure préalablement repérée de fin de diffusion, le terminal T interrompt son enregistrement .
En cas d'interruption momentanée du fonctionnement du terminal T dans une étape 38 suivant l'étape 32 de réception de l'heure courante de référence, le terminal T doit récupérer une heure courante de référence, après sa remise en fonctionnement dans une étape 39, afin de procéder à un nouveau repérage temporel des heures de début et de fin de diffusion du contenu. Pour cela, dans une étape 40, le terminal T se connecte à l'adresse URL « http://wwww.chaineA.fr/time/getCurrentTime » en adressant ainsi à la source S une requête d'acquisition de l'heure courante de référence. En réponse à cette requête, la source S envoie au terminal T l'heure courante de référence à travers l'Internet, dans une étape 41. Dans une étape 42, dès réception de l'heure courante de référence, le terminal T
repère à nouveau les heures de début et de fin de diffusion, sur la base de 1 ' heure courante de référence reçue à 1 ' étape 41, comme précédemment explicité.
Par ailleurs, on pourrait envisager que la source S ne diffuse que la requête d'acquisition de l'heure courante de référence, avec l'adresse d'envoi de cette requête, dans les tables de métadonnées. Dans ce cas, pour repérer les heures de début et de fin de diffusion, le terminal devrait exécuter obligatoirement les étapes 40 à 42, explicitées plus haut. Dans une variante de réalisation, sensiblement avant les heures de début et de fin de diffusion du contenu telles que repérées sur la base de l'heure courante de référence préalablement reçue, le terminal se met en réception du canal de signalisation CS de la source S afin de récupérer des tables actualisées de métadonnées relatives au contenu souhaité. Ces tables actualisées contiennent l'heure courante de référence et les heures de début et de fin de diffusion du contenu, lesquelles sont généralement plus précises que celles contenues dans les tables de métadonnées reçues antérieurement . Dans ce cas , le terminal T repère à nouveau les heures de début et de fin de diffusion du contenu souhaité à partir des heures de début et de fin de diffusion actualisées et sur la base de l'heure courante de référence nouvellement reçue. Les informations permettant au terminal récepteur d'acquérir l'heure courante de référence (à savoir l'heure courante de référence et la requête d'acquisition de l'heure courante de référence, avec l'adresse d'envoi de cette requête) pourraient être insérées dans une table de métadonnées, telle que définie par le Forum TV-Anytime, autre que la table d'informations de service.
Dans un second mode de réalisation de l'invention, au lieu d'insérer les informations permettant au terminal récepteur d'acquérir l'heure courante de référence - à savoir
l'heure courante de référence, la requête d'acquisition de l'heure courante de référence et l'adresse d'envoi de cette requête - dans la table d'informations de service, la source S crée une table dynamique de métadonnées, appelée « DynamiclnformationTable », associée à la table racine « TVAMain » (c'est-à-dire destinée à être véhiculée par cette table racine) , destinée à contenir des informations dynamiques, et insère les informations permettant au terminal récepteur d'acquérir l'heure courante de référence, à savoir l'heure courante de référence et la requête d'acquisition de cette heure courante de référence avec l'adresse d'envoi de cette requête, dans la table dynamique d'informations de service.
La table dynamique d'informations de service est définie de la façon suivante :
<élément name= "DynamicServicelnfor ationTable "> < compl exType> <sequence> <element name- " CurrentTime " type= "dateTime " minOccurs= "0 "> < élément name= "TimeReferenceAddressAndCommand " type= "string" minOccurs= "0 ">
<element ref= "tva :DynamicServiceInformation " minOccurs= " 0 " maxOccurs≈ "unbounded "/> < sequence>
<attribute name= "version " type= "integer"A> < compl exType> </élément> <élément name= "DynamicServiceInformation " type= " tva : DynamicServiceln format ionType "/>
<complexType name= "DynamicServiceInformationType "> <sequence> <élément name- " CurrentTime " type= "dateτime " minOccurs= "0 ">
<element name= "TimeReferenceAddressAndCommand" type= "string" minOccurs= "0 ">
< sequence> <attri£>ute name= " serviceld" type "ID "A> < compl exType>
La table racine « TVAMain » véhiculant la table dynamique d'informations de service a une structure analogue à celle précédemment décrite, dans le premier mode de réalisation de 1 ' invention. Dans les deux premiers modes de réalisation de l'invention, pour chaque envoi de l'heure courante de référence à travers le canal de signalisation CS, la source S diffuse une table racine « TVAMain » véhiculant l'heure courante de référence. Les numéros de version attribués aux tables racines successivement diffusées évoluent, du fait que la table de métadonnées contenant l'heure courante de référence, à savoir la tables d'informations de service ou la table dynamique d'informations de service, est modifiée à chaque envoi par la mise à jour de l'heure courante de référence. On utilise un modulo, par exemple modulo 210, pour limiter la taille des numéros de version de la table de racine « TVAMain ». En d'autres termes, les numéros de version de la table racine évoluent entre 0 et (210-l) puis repartent à partir de 0. Lors de la réception de chaque nouvelle table racine « TVAMain », le terminal T détecte que le numéro de version de la table racine reçue a changé et doit, en conséquence, analyser toutes les tables de métadonnées véhiculées par cette table racine, afin de déterminer quels sont les éléments de ces tables de métadonnées qui ont changé. Une telle analyse systématique et globale des tables de métadonnées est fastidieuse.
Pour pallier cet inconvénient, dans un troisième mode de réalisation de l'invention, la source S crée une table racine dynamique « TVAMainSystem », indépendante de la table racine « TVAMain ». Du fait que les deux tables racines sont indépendantes l'une de l'autre, les numéros de version respectifs de ces deux tables évoluent indépendamment l'un de l'autre, ce qui résout le problème de changement fréquent du numéro de version de la table racine "TVAMain" .
La table racine « TVAMainSystem » est définie de la façon suivante :
<element name= "TVAMainSystem" type="tva:TVAMainSystemType"A> < compl exType name= " TVAMainSys t emType " > <sequence>
<element ref= "tva.- imelnformationTableType" minOccurs=0"A> < sequence>
<attribute name≈ "version" type="integer" > < complexType>
<complexType name= "TimeInformationTableType">
<sequence>
<element name= " CurrentTime " type="dateTime" minOccurs="0"> <élément name=" TimeReferenceAddressAndCommand" type- "string" minOccurs= "0">
<element ref="tva:TimelnformationType" minOccurs=0" maxOccurs= "unbounded"/>
< / ' sequence> <attriJbute name= "version" type-"integer" /> < compl exType>
<complexType name= " Time In format ionType "> <sequence> <element name= " CurrentTime " type="dateTime" minOccurs="0">
<element name=" TimeReferenceAddressAndCommand" type= "string" minOccurs= "0"> < sequence>
<attribute name="sejrviceld" type "ID"A> < compl exType>
En référence à la figure 2, dans un quatrième mode de réalisation de l'invention, le fichier SDP relatif à un contenu contient - les informations utiles pour se mettre en réception des canaux de diffusion de la source S et exploiter le contenu souhaité (notamment les heures de début et de fin de diffusion du contenu) et
- un champ « a » contenant une requête d'acquisition de l'heure courante de référence et l'adresse d'envoi de cette requête sur l'Internet, en l'espèce l'adresse de la source S. L'adresse d'envoi de la requête pourrait être l'adresse d'un serveur fournissant l'heure courante de référence, autre que
la source S. Le champ « a » est inséré dans la partie « Time Description » du fichier SDP.
Pour se mettre en réception d'un contenu, le terminal récepteur T télécharge le fichier SDP relatif à ce contenu depuis le portail P, dans une étape 50. Pour cela, dans une étape 50a, le terminal T adresse au portail p une requête d'acquisition du fichier SDP relatif au contenu souhaité et, dans une étape 50b, le portail P envoie le fichier SDP requis au terminal T. Le terminal T extrait du fichier SDP téléchargé les heures de début et de fin de diffusion et la requête d'acquisition de l'heure courante de référence, avec l'adresse d'envoi de cette requête, dans une étape 51. Dans une étape 52, le terminal T adresse à la source S la requête d'acquisition de l'heure courante de référence et, en réponse, la source S envoie l'heure courante de référence, fournie par l'horloge HR, au terminal T, dans une étape 53. Dans une étape 54, le terminal T repère les heures de début et de fin de diffusion en se basant sur l'heure courante de référence reçue, comme précédemment explicité. A l'heure de début de diffusion ainsi repérée, dans une étape 55, le terminal récepteur T se met directement en réception des canaux de diffusion de la source S, sans passer par l'intermédiaire d'un canal de signalisation, à l'aide des informations contenues dans le fichier SDP. Pour cela, dans une étape 55a, le terminal T envoie à travers 1 ' Internet des requêtes d'acquisition des flux de données véhiculant le contenu souhaité, à travers l'Internet, selon le protocole IGMP, et, dans une étape 55b, le premier routeur Internet qui reçoit ces requêtes alors qu'il reçoit déjà les paquets de données IP émis par la source S, duplique ces paquets IP et les achemine vers le terminal T.
En variante, le portail TV P est relié à l'horloge de référence HR. Sur réception d'une requête d'acquisition d'un fichier SDP relatif à un contenu, émise par le terminal T, le
portail P insère l'heure courante de référence, fournie par l'horloge de référence HR, dans un champ « s » de la partie « Time Description » de ce fichier SDP. Dans ce cas, le terminal T reçoit directement l'heure courante de référence dans le fichier SDP et n'a donc pas besoin d'adresser à la source S une requête d'acquisition de l'heure courante de référence. De préférence, le fichier SDP contient à la fois le champ « s » contenant l'heure courante de référence et le champ « a » contenant la requête d'acquisition de l'heure courante de référence avec l'adresse d'envoi de cette requête.
Le terminal T pourrait ne repérer que l'heure de début de diffusion ou que l'heure de fin de diffusion du contenu, selon les besoins de son utilisateur. Par ailleurs, la source S pourrait insérer dans les données d'exploitation du contenu toute heure h à repérer, par exemple l'heure d'un événement particulier du contenu. Dans ce cas, le repérage temporel de cette heure h par le terminal T s'effectuerait de manière analogue au repérage des heures de début et de fin de diffusion. L'horloge de référence HR pourrait être interne à la source S .
Enfin, dans la description qui précède, les tables de métadonnées sont définies par les spécifications TV-Anytime. L'invention pourrait également s'appliquer à des tables de métadonnées définies par d'autres spécifications.