PROCEDE ET SYSTEME DE TRANSMISSION DE DONNEES NUMERIQUES D'UN EMETTEUR A UN UTILISATEUR
5 La présente invention concerne un procédé de transmission de données numériques diffusées à partir d'un émetteur, par exemple retransmises par satellite, et de stockage de ces données dans un décodeur ou dispositif connecté à un appareil
10 récepteur, par exemple un appareil récepteur de télévision, permettant l'accès à ces données par un utilisateur, par exemple à l'aide d'une télécommande. Elle concerne également un système mettant en œuvre un tel procédé .
15 Elle trouve une application particulièrement importante bien que non exclusive dans le domaine des guides de programmes électroniques de télévisions et/ou de radios en numérique ou EPG (initiales anglo- saxonnes de « Electronic Program Guide ») , retransmis
20 par satellites géostationnaires de rediffusion vers des antennes de réception directe par des utilisateurs téléspectateurs grand public et/ou appartenant à des réseaux de télévisions par câble.
L'invention est particulièrement, mais non
25 limitative ent , adaptée à l'accès aux guides de programmes télévisés comportant plusieurs écrans de données, mettant en œuvre le standard DVB (initiales anglo-saxonnes de « Digital Video Broadcasting ») utilisant la norme de compression MPEG-2 élaborée par
30 le groupe d'experts MPEG (initiales anglo-saxonnes de
« Motion Pictures Expert Group ») formée en 1990 par l'ISO (« International Standard Organisation ») .
Dans la pratique, les informations d'un guide de programme électronique sont réparties sur plusieurs écrans. Le parcours d'un utilisateur pour trouver l'information qu'il cherche dans un guide de programmes électronique peut dès lors être décrit comme suit .
Il sélectionne tout d'abord des filtres lui permettant de préciser sa recherche (jour, chaînes, thèmes ,...).
Suite à ce filtrage, il obtient un écran contenant une liste d'événements satisfaisant les critères qu'il a choisis. S'il le souhaite, l'utilisateur se déplace ensuite dans la liste et choisit un événement particulier.
Il obtient alors une fiche détaillée décrivant 1 ' événement .
Par exemple, dans le cas où l'utilisateur va rechercher les films du mercredi, l'écran affiche la liste d'événements classés par chaîne, donnant tous les films du mercredi. L'utilisateur peut ensuite sélectionner le film qui l'intéresse et obtenir des informations détaillées qui le concerne. Comme dans un journal papier de programmes télévisés, les événements sont ainsi présentés à l'utilisateur par jour et par chaîne.
Dans la suite de la description, on se référera aux données obtenues en utilisant les définitions suivantes :
Evénement : ensemble d'informations, telles que celles identifiant par exemple un programme vidéo et/ou audio diffusé à une heure donnée et sur une chaîne donnée . Un événement est lui-même défini d'une part par une série de données descriptives de l'événement ou attributs descriptifs de l'événement (dans l'exemple d'un programme vidéo : titre court, titre long, durée, réalisateur, format vidéo, format audio, catégorie de public, résumé, date de création, auteurs, acteurs...), et d'autre part par des attributs de tri ou encore de passage de l'événement donnant au moins une caractéristique permettant de trier les événements entre eux (dans l'exemple d'un programme vidéo : essentiellement le jour et l'heure) .
Guide de programme : liste d'événements ou de programmes donnant les informations concernant lesdits programmes, interrogeables par un utilisateur.
Interface utilisateur : interface visuel affiché sur 1 ' écran du récepteur et adressable par un utilisateur, contenant une liste d'événements et/ou leurs attributs. Ecran voisin d'un premier écran dans l'interface utilisateur : écran affichable et susceptible d'être appelé à partir dudit premier écran lors d'une sélection par l'utilisateur.
Carrousel de données : ensemble de données transmises de façon cyclique, en une chaîne circulaire ininterrompue et répétitive.
On connaît déjà des procédés et systèmes permettant 1 ' accès aux données correspondant aux programmes du jour dans le domaine de la transmission de bouquets de programmes de télévisions numériques.
Ces systèmes présentent des inconvénients .
En effet, la mémoire disponible sur le décodeur pour stocker les données auxquelles on veut avoir accès est limitée. Elle est en général inférieure à
1,5 Moctets, ce qui est insuffisant pour charger en mémoire 1 ' ensemble des données correspondant aux programmes permettant l'affichage par le biais de la télécommande. On ne peut donc en télécharger qu'une partie au fur et à mesure des besoins de l'utilisateur qu'il manifeste par le biais de la télécommande .
Selon 1 ' art antérieur et notamment selon la norme DVB améliorée, les données sont transmises les unes après les autres de façon répétitive sous la forme d'un carrousel de données. Ainsi, pour accéder à des données spécifiques correspondant à une liste d'événements répondant à des filtres successifs sélectionnés par l'utilisateur et lui permettant de préciser sa recherche, il faut attendre la télétransmission des données recherchées qui dépend de leur position dans le carrousel .
Le temps d'accès peut dès lors être assez long, allant jusqu'à un cycle complet de carrousel.
Par exemple, pour 2,8 Mo de données, sur lesquelles peut être appliqué un facteur de compression de 0,33 pendant la transmission des données (soit l,9Mo), au débit de IMbits par seconde, il peut exister environ 15 secondes d'attente pour l'utilisateur, ce qui est difficilement acceptable.
La présente invention vise à fournir un procédé et un système de transmission de données numériques diffusées simultanément sous forme de carrousel de données auprès de plusieurs utilisateurs à partir d'un émetteur, et de stockage de ces données dans au moins un dispositif, connecté à un appareil récepteur permettant un accès à ces données numériques, répondant mieux que ceux antérieurement connus aux exigences de la pratique, notamment en ce qu'elle permet un accès très rapide aux données par l'utilisateur de manière simple, peu coûteuse et aisée à mettre en œuvre, grâce à une optimisation du temps de chargement des données dans le dispositif. Pour cela l'invention part de l'idée suivante. Il n'est plus question de charger d'un seul bloc toutes les données nécessaires à un accès fluide de ces dernières pour l'utilisateur, mais de découper astucieusement les données à l'aide d'un algorithme de sélection, ce qui va permettre de charger les données par morceau dans la mémoire du dispositif en fonction des besoins supposés ou anticipés de l'utilisateur.
Ce faisant les gains de temps d'accès sont considérables.
Dans ce but, l'invention propose notamment un procédé de transmission de données numériques diffusées simultanément auprès de plusieurs utilisateurs à partir d'un émetteur, et de stockage de ces données dans au moins un dispositif connecté à un appareil récepteur avec écran pour accès aux données transmises par lesdits utilisateurs au travers d'un interface utilisateur, caractérisé en ce que, dans un ensemble de données appelé guide de programme, constitué de plusieurs groupes de données appelés événements, chaque événement comprenant une série de données descriptives de l'événement, appelée attributs descriptifs de l'événement, et une série de données donnant au moins une caractéristique de l'événement, appelées attributs de tri de 1 ' événement , pour chaque événement, on divise les attributs descriptifs dudit événement en au moins deux modules, à savoir un module court et un module long, on génère une ou plusieurs tables d' index qui donnent en fonction des attributs de tri, les adresses des modules courts et des modules longs dans la mémoire de l'émetteur, lorsque l'utilisateur initie une consultation de guide de programme, on télécharge uniquement dans un premier temps la liste des événements et les modules courts correspondants, qu'on affiche sur l'écran de l'appareil récepteur,
pendant que l'utilisateur sélectionne un événement spécifique, on télécharge simultanément en temps masqué les modules longs correspondant aux événements affichés sur l'écran, et/ou les modules courts des écrans voisins dudit écran affiché dans l'interface utilisateur, et s'il y a lieu on affiche sur l'écran du dispositif le module long de l'événement sélectionné par l'utilisateur, ou les modules courts d'un écran voisin.
Avantageusement la transmission des données numériques s'effectue par un réseau satellite et/ou par un réseau câblé, le dispositif étant un décodeur et l'appareil récepteur un appareil récepteur de télévision, l'accès par l'utilisateur se faisant par le biais d'une télécommande.
Egalement avantageusement, les attributs de tri, alors appelés attributs de passage, comprennent le jour et l'heure de passage de l'événement. Dans des modes de réalisation avantageux, on a de plus recours à l'une et/ou à l'autre des dispositions suivantes :
- on identifie les événements comprenant des attributs descriptifs identiques, sur une période de temps déterminée, on leur affecte un premier identifiant, et on ne télécharge les modules courts et/ou longs desdits événements identiques qu'une seule fois, les attributs de passage étant quant à eux téléchargés en totalité, associés avec ledit premier identifiant correspondant.
Ceci permet de minimiser encore les quantités de données à télécharger et à stocker en mémoire locale du dispositif ou décodeur.
- les modules courts sont des modules dont la longueur est inférieure ou égale à 6 Koctets.
Il est ainsi possible de grouper de l'ordre d'une centaine d'attributs descriptifs simultanément ;
- la longueur des modules courts est de l'ordre de 4 Koctets ; - on affecte à chaque événement un second identifiant, intégrés dans les modules courts, les modules longs et les attributs de tri d'un même événement .
Une telle disposition permet de modifier facilement les attributs et leurs modules en temps réel, en permettant un lien logique entre les différents attributs d'un même événement.
L'identification est par exemple prévue sur 16 bits et permet ainsi de connecter de façon biunivoque les attributs descriptifs et/ou de tri d'un même événement, indépendamment de leur position dans le carrousel .
Une telle disposition permet la mise à jour rapidement et sans ambiguïté des tables d'index. La cohérence des données est ainsi garantie lors des changements .
L'invention concerne également un système de transmission ou de téléchargement de données numériques diffusées simultanément à plusieurs utilisateurs à partir d'un émetteur et de stockage de
ces données dans un dispositif connecté à un appareil récepteur, le système comprenant des moyens mettant en œuvre le procédé décrit ci-avant.
Egalement, l'invention concerne un système de transmission de données numériques par câble ou par satellite à partir d'un émetteur, et de stockage de ces données dans un décodeur, connecté à un appareil récepteur de télévision, pour accès à ces données par l'utilisateur à l'aide d'une télécommande, caractérisé en ce que, dans un ensemble de données appelé guide de programme, constitué de plusieurs groupes de données appelés événements, chaque événement comprenant une série de données descriptives de l'événement, appelée attributs descriptifs de l'événement, et une série de données donnant au moins une caractéristique de l'événement, appelées attribut de tri de l'événement, le système comporte des moyens propres à :
- pour chaque événement, diviser les attributs descriptifs dudit événement en au moins deux modules, à savoir un module court et un module long,
- générer une ou plusieurs tables d' index qui donnent en fonction des attributs de tri, les adresses des modules courts et des modules longs dans la mémoire de l'émetteur,
- lorsque l'utilisateur initie une consultation de guide de programme, télécharger uniquement dans un premier temps la liste des événements et des modules courts correspondants,
afficher ladite liste sur l'écran de l'appareil récepteur, et lorsque l'utilisateur sélectionne un événement spécifique, - télécharger simultanément en temps masqué les modules longs correspondant à l'événement sélectionné et/ou les modules courts d'écrans voisins dudit écran affiché dans l'interface utilisateur, et, s'il y a lieu, afficher sur l'écran du dispositif le module long de l'élément sélectionné par l'utilisateur ou les modules courts d'un écran voisin.
L'invention sera mieux comprise à la lecture de la description qui suit d'un mode de réalisation donné à titre d'exemple non limitatif.
La description se réfère aux dessins qui l'accompagnent dans lesquels :
- La figure 1 est un schéma bloc de la chaîne d'émission/transmission/réception selon la norme DVB utilisée dans le cadre du mode de réalisation de l'invention plus particulièrement décrit ici.
- La figure 2 montre le train de transport MPEG-2 à partir de paquets de transport élémentaires selon la norme DVB. - La figure 3 est un schéma montrant les écrans ou stades successifs d'accès à des informations dans un guide de programme mis en œuvre dans le mode de réalisation de l'invention plus particulièrement décrit ici.
- La figure 4 est un schéma montrant la découpe des données par événement selon l'invention.
- La figure 5 montre schématiquement l'organisation des données de plusieurs événements, en attributs de passage et attributs descriptifs, selon le mode de réalisation de la figure 4.
- La figure 6 est une vue schématique d'une table d'indexation utilisée dans le mode de réalisation de l'invention plus particulièrement décrit ici. - La figure 7 est un schéma simplifié d'un système mettant en œuvre le procédé selon l'invention.
La figure 1 montre une chaîne 1 d'émission / transmission / réception de signaux de télévision numérique selon la norme DVB. Elle comprend une première suite 2 d'étapes correspondant à l'émission, et une deuxième suite 3, symétrique de la suite 2, d'étapes correspondant à la réception de données numériques correspondant à des signaux de télévision retransmis selon le standard DVB utilisée dans le cadre de l'invention plus particulièrement décrit ici.
Le rôle de la suite 2 d'étapes est de fournir sur un seul canal, par exemple de largeur de bande de 33 MHz à 36 MHz, un multiplex de programmes MPEG-2. MPEG-2 constitue la norme pour le codage de source du système défini par le standard DVB. Elle comporte trois parties : MPEG-2 System (ISO/IEC 13818-1) , MPEG-2 Video (ISO/IEC 13818-2) et MPEG-2 Audio (ISO/IEC 13818-3) .
Dans la suite de la description les sigles utilisés correspondent au standard DVB et à la norme MPEG-2. Ils sont repris en référence aux initiales en terminologie anglo-saxonne, cette dernière étant dans la plupart des cas indiquée entre parenthèses lors de la première mention du signal concerné.
Les signaux vidéo et audio des programmes 4, 4'..., à transmettre vers les télésp-≈ct- -TS, attaquent autant de codeurs 5, 5' ... v>τr , par exemple de l'ordre de quatre à huit - - .-al selon les paramètres de codage choisis, -.a-.ιts codeurs fournissant en sortie les PES (Packetized Elementary Stram) 6, 6' ... vidéo et audio à l'entrée du multiplexeur 7. Ces PES sont utilisés par le multiplexeur 7 pour former des paquets transport 8 de 188 octets qui vont maintenant être détaillés en référence à la figure 2, avant de revenir à la description de la figure 1.
Plus précisément, il est donc prévu (Cf. figure 2) un train transport 9 de MPEG-2, destiné à combiner plusieurs programmes ne partageant pas forcément la même horloge système STC à l'intérieur d'un même multiplex.
Ce train transport 9 comprend une suite de PES ; PES1, PES2...
Chaque PES comporte un en-tête 10.
Bien entendu, les différents PES (vidéo, audio...) formant un programme donné partagent la même horloge système pour permettre le décodage .
Dans l'exemple de la figure 2, PES1 est découpé entre les paquets transport PT1 , PT3 et PT4 et PES2 équivaut exactement au paquet PT6.
D'autres paquets transports PT2 , PT5 , PT7 viennent s ' intercaler et correspondent notamment et pour une part aux données téléchargées dans la mémoire du décodeur selon l'invention, et retransmis en même temps que les signaux de télévision.
Chaque paquet transport PT comprend un en-tête 11 de paquet transport, et des données élémentaires 12, par exemple audio, vidéo, pour un signal de télévision.
L'organisation du flux MPEG-2 DVB est par ailleurs effectuée conformément à la norme MPEG-2 DVB qui ne sera pas détaillée ici.
Celle-ci prévoit diverses tables (PAT, PMT, CAT) auxquelles s'ajoute une information complémentaire DVB-SI (DVB-Service Information) permettant au récepteur de se configurer automatiquement et à l'utilisateur de naviguer dans les nombreux services offerts au moyen du guide électronique de programmes EPG, dont l'amélioration du téléchargement fait l'objet de la présente invention.
Plus précisément, selon la norme, DVB-SI se compose de quatre tables principales et de trois tables facultatives.
Les tables principales de DVB-SI sont la table NIT (Network Information Table) , la table SDT (Service Description Table) , la table EIT (Event Information Table) et la table TDT (Time and Date Table) .
La NIT transporte des informations spécifiques relatives à un réseau constitué de plusieurs canaux physiques (dont plusieurs trains transports indépendants) , telles que (au minimum) les fréquences et/ou les numéros de canaux du réseau utilisés lors de la configuration du décodeur.
Les tables SDT liste les noms et d'autres paramètres associés à chaque service d'un même multiplex. Les tables EIT sont utilisées pour la transmission d'informations relatives aux événements en cours ou à venir dans le multiplex reçu actuellement, et éventuellement sur d'autres multiplex, dont la date et l'heure correspondant aux attributs de passage de chaque événement .
En d'autres termes, elle donne donc les attributs descriptifs des événements concernés.
La TDT est utilisée pour la remise à l'heure de l'horloge interne du dispositif terminal récepteur. Les tables facultatives de DVB-SI sont la table BAT (Bouquet Association Table) , la table RST (Running Status Table) et la table ST (Stuffing Table) .
La table BAT est utilisée pour grouper la présentation à l'utilisateur de bouquets de services associés. Un service particulier peut appartenir à un ou plusieurs bouquets.
La RST est transmise pour la mise à jour rapide d'un ou plusieurs événements, une seule fois, au moment où un changement se produit (à la différence
des autres tables qui sont transmises de façon répétitive) .
Les ST sont des tables de bourrage utilisées par exemple pour invalider des tables devenues inutiles. La fréquence de répétition des tables n'est pas imposée par le norme, mais elle doit toutefois être suffisante (10 à 50 fois par seconde) pour permettre au décodeur d'accéder assez rapidement au programme recherché . On a cependant vu que dans l'art antérieur, ce n'est pas suffisant, le temps d'accès étant très long.
En référence à nouveau à la figure 1 , il est prévu dans l'invention une étape d' embrouillage au stade du multiplexeur ou émetteur 7.
Des paquets CAT transportant les informations de contrôles d'accès EMM sont également insérés à ce stade, ainsi que les informations des tables PAT et PMT, et celles des tables du DVB-SI correspondant au guide de programme EPG, après découpage selon le procédé de l'invention.
Les paquets transports 8 de 188 octets sont corrigés en 14 par codage de Reed Solomon selon la norme DVB; une correction complémentaire par code convulsif multiplie également le débit par un facteur compris entre 1,14 et 2, avant reformatage des données, suivie d'un filtrage et d'une conversion D/A pour fournir les signaux I et Q analogique référencés 15 sur la figure 1.
Les signaux 15 modulent (étape 16) en MDP4 (Modulation de Phase à quatre états) ou QSPK ("Quadrature Phase Shift Keying" en langage anglo- saxon) une porteuse intermédiaire FI 17, par exemple de 70 MHz qui est alors transposée en 18, dans la bande de fréquence appropriée à sa transmission par la voie montante du satellite, de l'ordre de 13 à 15Ghz.
La porteuse FI subit ensuite un nouveau changement de fréquence dans le transpondeur 19 avant sa diffusion vers les téléspectateurs dans la bande 10,7 à 12,75 Ghz via le satellite 20.
La chaîne 1 permettant le téléchargement selon l'invention comprend une deuxième suite 3 d'étapes de réception.
Les étapes de réception sont symétriques des étapes d'émission qui viennent d'être décrites.
Une première étape 21 permet un premier abaissement de fréquence dans la tête de réception de l'antenne, et amène la fréquence du signal entre 950 et 2150 Mhz.
Une deuxième étape 22 de changement de fréquence ramène la porteuse FI 23 aux alentours de 480 Mhz.
La porteuse est démodulée en 24 pour fournir les valeurs I et Q analogiques 15.
Après conversion analogique/numérique, filtrage et reformatage de I et Q, en 25, la correction d'erreur permet de retrouver les paquets transports 8 de 188 octets .
Le démultiplexeur 26 sélectionne les PES correspondant au programme ou à l'intégration des données de 1 ' EPG comme choisi par l'utilisateur à l'aide d'une télécommande. Les données sélectionnées de 1 ' EPG sont alors stockées en mémoire volatile du décodeur pour permettre l'accès fluide et rapide selon l'invention.
Les EPG sont éventuellement désembrouillés au préalable grâce aux EMM ou ECM et à la clé privée de l'utilisateur présente sur la carte à puce de ce dernier.
Le décodeur MPEG-2 27 reconstruit alors les images et le son du programme sélectionné.
On va maintenant décrire ci-après la préparation des flux qui va permettre une diffusion optimisée du programme EPG selon l'invention.
En référence à la figure 3, l'utilisateur va ainsi naviguer sur trois niveaux, à savoir :
- un premier niveau, 30 de filtrage permettant de préciser la recherche, donnant le jour de passage 31, la chaîne (non représentée) , les thèmes concernés 32... , ce premier niveau correspondant aux tables NIT, SDT, et une partie des EIT,
- un deuxième niveau 33 où apparaît la liste des événements 34 par jour avec leur temps de passage, un titre abrégé (PT) et des attributs de passages complémentaires 35, comme par exemple le type de programme. Ces informations incluent des informations qui sont placées dans les tables EIT de la norme DVB,
- et un troisième niveau 36 donnant le détail de l'événement 34, avec le titre complet (CT) les acteurs (C) , le type de programme 35, un abrégé 37, etc., également placées dans les tables EIT de la norme .
Avec le mode de réalisation de l'invention plus particulièrement décrit ici, on redécoupe en fait astucieusement les données du deuxième et du troisième niveau. On observe en effet que pendant la navigation dans l'EPG, les attributs descriptifs sont recherchés deux fois :
- une première fois pour l'affichage des listes d'événements, où l'on fait appel à un nombre réduit d'attributs du programme (deuxième niveau 31),
- une seconde fois pour l'affichage de toute l'information sur l'événement, où l'on fait appel à l'ensemble des attributs du programme (troisième niveau 36) . Selon le mode de réalisation de l'invention plus particulièrement décrit ici, les attributs descriptifs d'un événement vont donc être divisés en deux au niveau du serveur émetteur ou multiplexeur 7. D'un côté les informations utiles dans les listes, de l'autre les informations utiles uniquement dans les pages détaillées.
Sur les figures 4 et 5 on a ainsi représenté, pour une chaîne déterminée 38, la liste d'événements 34 accompagné des attributs de passage 39 (heure, jour, etc. ) .
Les attributs descriptifs 40 des événements sont séparés en modules longs 41 et modules courts 42 de données distincts, le critère de regroupement étant la longueur des modules de données, qui doit toujours être inférieure à une certaine taille, avantageusement 4 Koctets.
Ensuite, en fonction de la demande du téléspectateur et dans un premier temps, il va être uniquement téléchargé et stocké dans le décodeur 27 les données numériques nécessaires à l'affichage des listes d'événements ainsi que les modules courts 42 concernés, ce qui est possible en une seule fois, la mémoire volatile du décodeur n'étant alors que peu sollicitée . Le téléspectateur choisit alors son programme dans la grille qui est affichée à l'écran (liste d'événements du niveau 33) .
Mais pour se faire, il va physiquement prendre un certain temps (hésitation, temps de déplacement manuel du curseur sur l'écran à partir de la télécommande... ) .
Selon le mode de réalisation de l'invention plus particulièrement décrit ici, ce temps est utilisé pour télécharger et stocker en temps masqué dans le décodeur 27 les modules longs 41 correspondant aux quelques modules courts affichés à l'écran et/ou les modules courts voisins dans l'interface utilisateur et qui seraient susceptibles d'être également choisis par ce dernier.
Leur nombre étant alors limité, cela permet un stockage intégral des modules longs ou des modules courts correspondant en mémoire.
Quel que soit l'événement finalement choisi de façon fine, les informations ou modules longs le concernant, tout comme les écrans voisins, sont alors instantanément disponibles pour l'utilisateur.
Afin de retrouver à quelle adresse se trouvent les informations cherchées dans l'émetteur 7,- on y génère des tables d'index 43 qui donnent en fonction du jour et de la chaîne les adresses des modules longs 42 et courts 41 (Cf. figure 6) .
Dans un mode avantageux, un identifiant (16 bits) est intégré dans les attributs de tri, et les modules longs et courts des attributs descriptifs d'un même événement, ce qui permet de prévoir des adresses modifiables dans le temps dans les tables d' index, tout en permettant de les retrouver rapidement et sans ambiguïté grâce au lien logique qu'un tel identifiant autorise entre les attributs.
Plus précisément, il est donné ci-après, à titre nullement limitatif et dans le cadre du système d'exploitation de la société OPEN TV, pour télévision numérique interactive, un exemple d' implementation du côté émetteur.
Les informations du premier niveau 33 d'informations sur les événements sont organisées suivant une matrice à deux dimensions (jour et chaîne) selon le découpage suivant : - un module par jour,
- dans chacun des modules , une table renseignant chacune des chaînes , classée par identif icateur de chaîne croissant , contenant un lien ( sous la forme d' un indice et du nombre d' éléments ) vers la séquence des événements de la chaîne et du j our correspondant stockée par horaire de dif fusion croissant dans une table unique .
Cette opération se fait par exemple par le biais d' un programme du type suivant :
GenerateEvents (Flow f low)
Integer day , index ;
Channel channel ;
Event event ;
Référence MODULE ,
HEADER ,
CHANNELS ,
EVENTS ; #
# Génère un module par j our . . . #
For each day MODULE OpenModule ( events -module (day) ) HEADER ne struct ; CHANNELS new array ; EVENTS : = new array ; Append flow.number-of-channels, CHANNELS, EVENTS to HEADER
Enter HEADER into MODULE #
# L'information de chaque événement est entrée dans
# la table EVENTS dont l'index courant est tenu à
# jour.
# Pour chaque chaîne
# - l'identificateur
# - l'index du premier événement
# - le nombre d'événements
# sont entrés dans la table CHANNELS
#
# index : =0 ;
For each channel in flow. channels Append channel. id, channel .number-of-events [day] , index to CHANNELS For each event in channel . events [day] Append event. id, event . start, event . duration, event . general_category to EVENTS Index : = index + 1 ; CloseModule MODULE ;
Les modules courts et longs d'attributs descriptifs concernent quant à eux les second et troisième niveaux d'information sur les événements. Chaque niveau est par exemple organisé comme une séquence de modules adressables par numéro de version.
L'information sur l'ensemble des événements d'une chaîne et d'un jour donné constitue l'unité de base stockée dans ces modules. Chaque module peut stocker plusieurs de ces unités sous contrainte de taille maximum.
L'information sur les événements est par ailleurs enregistrée dans des tables classées par identificateur d'événement croissant.
Les modules d'index (décrits dans la section suivante) fournissent le numéro de version pour chaque couple chaîne/jour.
Ici encore, un exemple de programmation (pseudo code) est donné ci -après à titre non limitatif.
Generatelnfos (Flo flo . Type type)
Integer version, remain ; Channel channel ; #
# Une référence à chaque événement a insérer est
# ajoutée à une liste qui sera classée avant
# production du module. # List COLLECTED ;
#
# La version courante du module est maintenue ainsi
# que la taille restant disponible dans le module en
# cours de génération. Cette taille est réduite au # fur et à mesure de l'insertion de l' information de
# chaque événement . # version : = 0 ; remain : = TYP--'_M0DULE_SIZE ; For each day
For each channel in flow. channels : #
# La version courante du module est enregistrée pour
# le couple chaîne et jour courants pour permettre la # production des modules d'index.
# channel. type-info-version [day] : = version ; #
# Les événements sont ajoutés à la liste # La taille restant disponible est ajustée
#
For each event in channel .events [day]
Append event to COLLECTED ; remain : =remain - type-info-size (event) ; #
# L'ensemble des événements d'une chaîne et d'un jour
# donnée a été insérée .
# Si la contrainte de taille a été dépassée, le
# module courant est généré. #
If remain <= 0
OutputInfosModule (type, COLLECTED, version) ; Reset COLLECTED ;
version : = version + 1 remain : TYPE_M0DELE_SIZE #
# Si le dernier couple chaîne/jour a été généré sans # que la contrainte de taille ait été dépassée,
# générer ce dernier module #
If Not Empty (COLLECTED)
OutputInfosModule (type, COLLECTED, version) ; Reset COLLECTED ;
OutputInfosModule (Type type, List COLLECTED, integer version)
Référence MODULE, HEADER, EVENTS ;
HEADER : = new struct ;
EVENTS : = new array ;
MODULE : = OpenModule (type- infos -module (version) ) ,-
Append EVENTS , number_of -éléments (COLLECTED) to HEADER ;
Enter HEADER into MODULE ;
#
# Les événements sont préalablement classés par
# identificateur croissant #
Sort COLLECTED by ascending event. id ;
#
#. Puis les informations correspondant au type de la
# table en cours sont insérés dans la table EVENTS #
For each event in COLLECTED If type is SHORT
Append event. id, event. short_title to EVENTS else
Append event . id, event . title, event .author, event .year, event . country, event . abstract , event . casting ,
event . exact_category to EVENTS ;
CloseModule MODULE ;
Enfin, deux modules d' adresse fournissent le numéro de version des modules d' informations (respectivement « courtes » et « longues ») pour chaque couple chaîne/ j our .
GenerateModulelnde (Flow flow, Type type)
Integer day ; Référence MODULE,
INDEXES ; MODULE : = Open (module (type) ) ; For each day
INDEXES : = new array Append INDEXES ro DAYS
For each channel in flow. channels #
# Insérer la version du module d'information
# correspondant au couple chaîne/jour courant. #
Append channel. id, channel . type-info-version [day] to
INDEXES ;
Close MODULE ;
Avec l'invention, l'accès aux données de 1 'EPG est donc quasi instantané. La rapidité peut encore être améliorée. En effet, lorsqu'on observe l'ensemble des événements sur une semaine, on constate qu'un certain nombre d'attributs descriptifs d'événements sont répétitifs, par exemple les émissions quotidiennes (jeux, journaux d'informations...), les émissions ou les films rediffusés) .
Dans un mode de réalisation de l'invention, on peut donc, de plus, ne transmettre qu'une fois les attributs descriptifs de l'événement (titre, résumé,
acteurs,...) et autant de fois qu'il le faut les attributs du passage (incluant essentiellement 1 ' horaire) .
Il y a donc des gains de temps complémentaires de ce fait .
On a représenté sur la figure 7 le schéma de fonctionnement du système 50 mettant en œuvre un procédé selon l'invention, qui s'intègre à l'organisation imposée par les normes DVB et MPEG-2. Dans le mode de réalisation plus particulièrement décrit ici, il est prévu une station Sun Microsystem 51 connectée au multiplexeur 52 tête de réseau qui attaque par le moduleur 53 une ou plusieurs antennes paraboliques 54 d'émission correspondant à autant de transpondeurs vers le satellite 55.
Le satellite 55 réémet (voie descendante) vers les antennes paraboliques de réception 56 connectées aux décodeurs 57, eux-mêmes raccordés via des prises péritel aux appareils récepteur de télévision 58 commandé par la télécommande 58' .
Pour permettre le téléchargement selon l'invention, l'opérateur du bouquet élabore les fichiers blocs 59 du guide de programme constituant les éléments 60, en divisant les attributs descriptifs 61 en deux modules, un court 62 et un long 63.
Par ailleurs, il programme la commande du flux à générer en 64.
Pour ce faire, un flux 65 de téléchargement est déclaré dans les fichiers 66 de signalisation SI selon la norme DVB (NIT Actual par exemple) .
Les éléments et leurs attributs descriptifs et de passage sont introduits dans les paquets correspondants .
Lors de sa mise en service, le décodeur 57 scrute la NIT Actual.
En fonction des signaux de la télécommande, le décodeur récupère alors en les téléchargeant pour les stocker en mémoire volatile (< 1,5 Moctets) , les premiers niveaux (30), deuxièmes niveaux (33) avec attributs descriptifs courts, puis troisièmes niveaux (36) avec attributs descriptifs longs, en temps masqué .
Selon le mode de réalisation de l'invention plus particulièrement décrit ici, toutes les informations nécessaires à une navigation fluide dans les pages de l'EPG ne sont donc pas chargées d'un seul bloc, les données étant découpées de manière à pouvoir les charger par morceau dans la mémoire du décodeur en fonction des besoins de l'utilisateur.
Le découpage se fait selon des axes majeurs de navigation de l'utilisateur, afin de pouvoir anticiper les chargements à effectuer en fonction de la direction qu'il prend dans l'arborescence de navigation.
Comme il va de soi et comme il résulte également de ce qui précède, la présente invention n'est pas limitée aux modes de réalisation plus
particulièrement décrits. Elle en embrasse au contraire toutes les variantes et notamment celles où les données sont différentes de celles figurant dans un PEG, ou celle où il existe un découpage en plus de deux modules, par exemple trois.
L'invention peut notamment concerner le domaine de la gestion des pièces détachées et/ou de la vente de voitures d'occasion constituant les données retransmises sous forme de carrousel, les attributs de tri étant alors et par exemple le modèle et la marque des voitures concernées, les attributs descriptifs étant le kilométrage, les options, la couleur, etc., la transmission et le téléchargement des données se faisant alors et par exemple par l'intermédiaire d'un réseau câblé.