FR 2792154 A1 20001013 FR 9904335 A 19990407 -1w 2792154 L'invention concerne un procédé de gestion de données de service au niveau du récepteur d'un système de télévision numérique, ainsi qu'un récepteur d'un tel système. La spécification DVB-SI ('Digital Video Broadcast - Specification for Service Information' ou encore 'Diffusion de Vidéo Numérique Spécification des Données de Service' EN 300 468 V1.3.1 (1998-02) éditée par ETSI) définit avec le document ISO/IEC 13818-1 une liste de tables et de descripteurs de la io structure d'un réseau de diffusion numérique et des objets qui y sont contenus. Par 'objet', on entend par exemple les multiplex de transport ('TS' ou 'Transport Stream' selon la terminologie des documents mentionnés cidessus), les services multiplexés, ainsi que les événements diffusés. Typiquement, un flux conforme au document DVB-Sl comporte les is quatre tables suivantes: NIT, SDT, EIT et éventuellement BAT. La table NIT définit la structure générale du réseau et indique la liste des flux de transport et des services. En plus d'une table NIT relative au réseau sur lequel le récepteur est branché (par exemple un transpondeur d'un satellite), des tables NIT relatives à d'autres réseaux peuvent être diffusées sur un réseau donné. La table BAT rassemble quant à elle plusieurs services en un bouquet de services. Ces services peuvent être issus de plusieurs réseaux. La table SDT donne des informations supplémentaires relatives aux services des différents flux de transport d'un réseau. A titre d'exemple, une table SDT indique le nom en clair d'un service. La table EIT indique une liste d'événements pour chaque service. Différentes parties de la table EIT indiquent les événements des services du flux de transport actuel ou d'un autre flux de transport, ainsi que les événements en cours et immédiatement consécutifs aux événements en cours, ou les événements futurs. Il apparaît que les différentes voies de diffusion d'un réseau (par exemple un certain nombre de transpondeurs) peuvent diffuser des informations sur les objets présents sur un autre réseau. Or, les informations contenues dans les différentes tables ont, selon leur nature, plus ou moins vocation à évoluer dans le temps. Certains services peuvent par exemple disparaître d'un réseau. En théorie, les différentes tables diffusées sur chacun des réseaux devraient être mises en cohérence de façon immédiate d'une part entre elles, d'autre part avec le contenu véritablement diffusé. En pratique, cela n'est pas forcément le cas. En effet, un diffuseur de programmes ne contrôle pas forcément tous les réseau pour lesquels ses propres réseaux diffusent des informations. En particulier, il peut arriver que la mise à jour des tables tarde sur certains réseaux. Il peut même arriver qu'un service soit diffusé sur un réseau, alors qu'il n'est pas référencé dans les tables diffusées sur ce réseau. Ce 1o service peut néanmoins être référencé dans les tables d'un autre réseau. Selon le traitement de ces tables par un récepteur-décodeur de télévision numérique, ces incohérences entre objets contenus en théorie dans les signaux transmis et objets réellement diffusés peuvent avoir des répercussions plus ou moins importantes au niveau de l'utilisateur. L'invention a pour but de proposer un procédé et récepteur visant à minimiser la répercussion desdites incohérences au niveau de l'utilisateur. L'invention a pour objet un procédé de gestion de données de service dans un récepteur d'un système de télévision numérique apte à transmettre au moins deux flux numériques d'objets multiplexés, chaque flux comportant une liste d'objets transmis dans ledit flux, ledit procédé étant caractérisé en ce qu'il comprend les étapes: - de réception d'un premier flux, ce premier flux comportant une liste d'objets transmis sur un second flux; - d'extraction de ladite liste d'objets du premier flux et de mémorisation de la liste par le récepteur; - de réception du second flux; - de maintien dans la liste mémorisée de l'ensemble des objets obtenus à partir du premier flux, y compris les objets non présents dans la liste d'objets du second flux relative aux objets de ce dernier; - de mise à disposition de moyens de démultiplexage pour tenter le démultiplexage des objets de la liste mémorisée. Selon un mode de réalisation particulier, les listes d'objets sont des listes de services. Selon un mode de réalisation particulier, un objet est éliminé de la liste mémorisée par le récepteur lorsque ledit objet n'est plus présent dans la liste d'objets transmise par le flux qui indiquait initialement sa présence. Selon un mode de réalisation particulier, un objet maintenu est éliminé de la liste des objets mémorisés par le récepteur lorsque les moyens de démultiplexage ne peuvent démultiplexer cet objet à partir du flux dans lequel cet objet est supposé être transmis. Selon un mode de réalisation particulier, les noms des objets de liste mémorisée sont affichés à destination d'un utilisateur, les objets non présents 1o dans la liste d'objets du second flux étant identifiés de manière particulière. Selon un mode de réalisation particulier, la liste des objets comporte en outre les identifiants des paquets transportant ces objets dans le second flux. Selon un mode de réalisation particulier, un suivi des objets non présents dans la liste d'objets du second flux relative aux objets de ce dernier est interrompu lors de la réception du second flux et rétabli lors de la réception du premier flux. L'invention a aussi pour objet un récepteur dans un système de télévision numérique apte à transmettre au moins deux flux numériques d'objets multiplexés, chaque flux comportant une liste d'objets transmis dans ledit flux, ledit récepteur comportant des moyens de réception desdits flux et des moyens de démultiplexage desdits flux, ledit récepteur étant caractérisé en ce qu'il comporte: - une mémoire pour mémoriser une liste d'objets transmise par un premier flux, lesdits objets étant transmis par un second flux; - des moyens de programmation des moyens de multiplexage pour effectuer une tentative de démultiplexage d'un quelconque des objets indiqués dans ladite liste mémorisée lors de la réception du second flux. D'autres caractéristiques et avantages de l'invention apparaîtront à travers la description d'un exemple de réalisation particulier non limitatif de l'invention, cet exemple étant décrit à l'aide de l'unique figure 1 qui est un schéma synoptique d'un récepteur de télévision conforme à l'invention. On décrira tout d'abord de manière générale le fonctionnement d'un récepteur dans un système de télévision numérique, puis le traitement par ce récepteur des tables relatives aux données de service. Le récepteur est par exemple un récepteur conforme aux spécifications DVB et qui utilise une couche transport ISO/IEC 13818-1. Le récepteur de la figure 1 est relié à une antenne 1, elle même reliée à un tuner 2 du décodeur. Le signal fourni par le tuner est démodulé par un démodulateur 3. Les données démodulées sont désentrelacées et corrigées par un circuit correcteur d'erreur 4 et transmises à un démultiplexeur 5. Le démultiplexeur 5 comporte un certain nombre de filtres programmés par un microprocesseur 23 en fonction des diverses applications supportées par le récepteur. Pour la clarté du schéma, seules les connexions io les plus importantes du microprocesseur 23 sont illustrées. Les sections ou paquets audio ou vidéo filtrés par le démultiplexeur sont stockés dans des zones prédéfinies d'une mémoire tampon 6 à l'attention de ces applications. Si nécessaire, les informations sont tout d'abord décryptées par un circuit décrypteur 7 en fonction des droits de l'utilisateur, avant d'être stockées dans cette mémoire tampon 6. Selon le présent exemple, les applications sont au nombre de cinq un décodeur audio 16, un décodeur vidéo 17, un décodeur télétexte 18, un ensemble de contrôle d'accès (comprenant le décrypteur 7, un microcontrôleur vérificateur 8 et une interface pour carte à microprocesseur 9 relié en mode de fonctionnement normal à une carte à microprocesseur 10), ainsi qu'un module de gestion des informations de service ('données SI'). Ce dernier est illustré comme étant un élément conceptuellement distinct du récepteur, mais peut simplement être implémenté, comme d'autres applications, sous la forme d'un logiciel géré par le microprocesseur 23. Ce logiciel permet au récepteur de proposer à d'autres applications des fonctionnalités relatives à l'extraction, à la mémorisation et au traitement de données de service du flux numérique. Le récepteur comporte également une interface infrarouge d'une télécommande 24, ladite interface étant également reliée au microprocesseur 23. Ce dernier est connecté à une mémoire 12 comportant le système d'exploitation ainsi que les programmes résidents ou téléchargés de mise en oeuvre des applications. La mémoire 12 est illustrée sous la forme d'un bloc unique dans la figure 1, mais peut physiquement comporter plusieurs blocs. Ces blocs multiples peuvent être de nature différente: mémoire morte, vive ou reprogrammable, selon les spécifications d'un récepteur particulier. Selon le présent exemple de réalisation, la mémoire 12 comporte les trois formes de mémoire, et la partie mémoire morte de la mémoire 12 comporte un logiciel permettant de gérer une interface utilisateur capable d'afficher et de gérer des applications, par exemple un guide des programmes. Un modem 13 relié au réseau téléphonique commuté 14 est également commandé par le microprocesseur. Un générateur de caractères 15 permet la génération de menus de commande ou de graphiques relatifs aux paramètres du récepteur ou à une application particulière. Le signal vidéo généré par ce générateur de caractères est multiplexé avec l'un des signaux vidéo en provenance du décodeur vidéo 17 ou du décodeur télétexte 18 vers une première prise Péritel (prise SCART 0o en anglais) reliée à un téléviseur 22 ou une seconde prise Péritel reliée à un magnétoscope 21. Le circuit de multiplexage 20 est géré par le microprocesseur 23. Les différentes tables d'informations de service diffusées sur un réseau sont repérables dans le flux de données transmis au récepteur grâce à une combinaison d'un identificateur de paquet ('PID') figurant dans l'en-tête des paquets de transport et d'un identificateur de table ('TID') figurant dans l'en-tête des sections de données. Le paragraphe 5. 1.3. du document DVB-SI cité en introduction indique la liste des valeurs prédéfinies de PID et de TID pour chacune des tables. Pour récupérer une table spécifique, il suffit de programmer un filtre du démultiplexeur avec la valeur de PID appropriée: le démultiplexeur détecte les sections correspondantes transmises dans le flux et analyse leur TID. Il met alors à disposition de l'application en ayant fait la demande les sections dont le TID correspond à une table demandée, en les stockant dans la mémoire tampon 6. Un filtrage plus précis peut ensuite être réalisé, en tenant compte par exemple des numéros de version diffusés pour les différentes tables. Un changement de numéro de version d'une table indique qu'au moins une partie de son contenu a changé. Si une table a été acquise à un moment donné, il n'est pas nécessaire d'acquérir la même table lors de sa prochaine diffusion, si son numéro de version n'a pas changé. Certains filtres du démultiplexeur sont réservés à la surveillance de tables importantes pour le fonctionnement du récepteur. Typiquement, la table NIT est surveillée en permanence et le démultiplexeur prévient le module de gestion de données de service en cas de changement de version. Il est également possible de surveiller des objets autres qu'une table: par exemple un flux de transport, un service ou un événement particulier. Un exemple concernant le suivi d'un service sera maintenant décrit. Par 'suivi', on entend la notification à une application par le module de gestion de données de service d'un changement d'état de l'objet considéré, par exemple sa disparition ou sa modification. Dans un système de diffusion répondant à la spécification DVB-SI, un service est identifié de manière unique par un identifiant unique de service composé de l'identifiant du réseau d'origine du service (variable désignée par original_network_id' dans le document DVB-SI), de l'identifiant du flux de transport qui comporte le service ('transport_stream_id') et de l'identifiant du service dans ce flux de transport ('service_id'). To La liste des services accessibles par le récepteur est obtenue par l'analyse d'une table NIT ou d'une table BAT obtenue suite à l'initialisation du récepteur. Ces tables comportent la liste des flux de transport et pour chacun de ces flux, la liste des services. La référence du descripteur de liste de service est 'servicelistdescriptor' dans le document DVB_SI. La table 12 à la section i5 6.1 indique que ce descripteur peut être présent dans la table NIT et dans la table BAT. Une fois la table NIT ou la table BAT acquise, les listes de flux de transport et les identifiants de services sont mémorisés dans la partie 'mémoire vive' de la mémoire 12, en préservant l'information relative à leur organisation hiérarchique. Le suivi d'un service est décidé par une application, dans le présent cas l'application gestionnaire des services. Typiquement, I'ensemble des services contenus dans la liste des services est suivi, dans le but de repérer l'évolution de leur description (par exemple le changement de leur nom). Suite au démultiplexage d'une nouvelle version de la table NIT ou BAT utilisée pour constituer la liste des services, le microprocesseur détermine sous le contrôle du module 19 pour chaque service suivi s'il est encore présent. Il détecte de plus les nouveaux services éventuellement apparus. D'autre part, au niveau de chaque service suivi, les changements du contenu de la table SDT (qui, pour rappel, comporte des informations relatives à chaque service d'un flux de transport) sont également surveillés. Lorsqu'une nouvelle version d'une table SDT est détectée et qu'elle concerne un ou plusieurs services suivis, son contenu est analysé plus en détail pour déterminer si des changements sont intervenus au niveau d'au moins un des services suivis. En effet, la transmission d'une nouvelle version d'une table SDT n'indique pas en soi un changement des informations relatives à tous les services de cette table: la modification d'une unique information dans toute la table peut donner lieu à un changement de version, alors qu'aucun des services suivis n'est concerné par ce changement. En cas de changement d'une information au niveau d'un service suivi, suite à une comparaison avec les informations correspondantes extraites de la table SDT précédente mémorisées dans la mémoire 12, l'application ayant programmé le suivi est notifiée. L'application gestionnaire des services doit notamment maintenir à jour la liste des services (qu'on peut assimiler aux 'chaînes de programmes 1o télévisés' en langage courant) pour que l'utilisateur puisse la consulter rapidement en cas de besoin. Lors de l'initialisation du décodeur, par exemple lors de son branchement sur le secteur, les tables NIT ou BAT décrivant le bouquet pour lequel le récepteur est conçu et qui sont diffusées sur le transpondeur courant sont démultiplexées et les listes de flux de transport et de services en sont extraites sous la forme des identifiants respectifs de ces objets. Suite à cela, les tables SDT sont chargées et analysées dans le but d'en extraire des informations pertinentes pour l'utilisateur: dénomination du service, accès libre ou conditionnel,... Ces informations sont mémorisées pour chacun des services. L'application gestionnaire des services maintient la liste des services du bouquet pour lequel le récepteur est conçu. L'invention intervient lorsque le récepteur change par exemple de transpondeur, suite par exemple à la commande d'un utilisateur souhaitant visualiser un service disponible sur cet autre transpondeur. Sur ce dernier seront diffusées d'autres tables de données de service que sur le transpondeur initial. Le récepteur démultiplexe (notamment) la table SDT comportant la liste des services du nouveau transpondeur et effectue une comparaison entre cette nouvelle liste et la liste mémorisée: - lorsqu'un service est présent dans la nouvelle liste, mais pas dans la liste mémorisée, il n'est pas ajouté à cette dernière; - lorsqu'un service est présent dans la nouvelle liste et dans la liste mémorisée, les informations relatives à ce service sont éventuellement mises à jour; - lorsqu'un service n'est pas présent dans la nouvelle liste, mais est présent dans la liste mémorisée, alors ce service est maintenu dans la liste mémorisée. Son suivi n'est cependant plus assuré, car il n'est plus présent dans les tables DVB SI diffusées sur le transpondeur. Les informations relatives à ce service, en particulier son identifiant et son nom sont bien sûr également maintenues en mémoire. En d'autres termes, on garde en mémoire les informations relatives aux objets (des services dans le cas présent) diffusés par un premier transpondeur, ces informations ayant été recueillies sur un second transpondeur, même si ces objets ne sont pas présents dans les tables diffusées par le premier transpondeur. La liste de services ainsi établie est présentée à l'utilisateur. A titre de variante de réalisation, la liste des services présentée à l'utilisateur indique si un service est compris dans les tables du transpondeur actuel ou non: l'utilisateur est ainsi averti de l'incohérence des informations issues des tables des deux transpondeurs. L'application gestionnaire des services permet à l'utilisateur de choisir n'importe quel service de la liste de services. Si ce service est effectivement diffusé, il est visualisé. C'est donc également le cas si un service n'est pas indiqué dans les tables du transpondeur courant, mais néanmoins diffusé. Si ce service n'est pas diffusé, le récepteur ne parviendra pas à détecter les paquets munis des identificateurs correspondants. Selon le présent exemple de réalisation, si les paquets correspondant aux composantes de ce service ne sont pas détectées durant un intervalle de temps prédéterminé, par exemple 1 seconde, alors un message d'avertissement est affiché à l'attention de l'utilisateur par l'intermédiaire du générateur de caractères 15. Selon une variante de réalisation, si le récepteur ne détecte pas un service durant l'intervalle de temps prédéterminé, alors ce service est éliminé de la liste des services. Selon une variante de réalisation, suite à un changement de transpondeur vers un transpondeur dont la liste des services a déjà été acquise, le récepteur vérifie systématiquement, pour tous les services présents dans la liste de services initialement mémorisée mais non présents dans la table SDT actuelle du nouveau transpondeur, si ces services sont présents. Ceci est effectué selon la présente variante en tentant de filtrer au moins un paquet relatif à un service à détecter pendant l'intervalle de temps prédéterminé déjà mentionné. Cette variante est de préférence mise en oeuvre lorsque le récepteur dispose de ressources suffisantes, notamment lorsque le démultiplexeur du récepteur dispose d'un nombre de filtres suffisant pour pouvoir effectuer cette détection sans perturber outre mesure la visualisation en cours d'un autre service. A titre d'exemple, la table 1 ci-dessous indique une partie du contenu des tables diffusées sur un premier transpondeur ('A'), tandis que la table 2 indique le contenu des tables d'un second transpondeur ('B'). Transpondeur A Table Contenu NIT actuelle Service A1 Service A2 Service B1 Service B2 Service B3 SDT actuelle Service A1 Service A2 SDT autre (transpondeur B) Service B1 Service B2 Service B3 Services diffusés Service A1 Service A2 Table 1 Transpondeur B Table Contenu NIT actuelle Service A1 Service A2 Service B1 Service B2 Service B3 SDT actuelle Service B1 Service B2 SDT autre (transpondeur A) Service A1 Service A2 Services diffusés Service B1 Service B2 Service B3 Table 2 Selon l'exemple du tableau 1, les informations relatives aux services diffusés par les transpondeurs A et B sont transmis dans une table NIT. Le récepteur, recevant dans un premier temps le signal du transpondeur A, obtient donc dans ce cas la liste de services par l'intermédiaire de la table NIT et les informations des services du transpondeur B par l'intermédiaire de la table SDT autre' correspondante. Il est à noter que le service B3 indiqué dans les tables NIT et SDT autre du transpondeur A n'est pas répertorié dans la table SDT actuelle du transpondeur B, même s'il est présent dans le multiplex numérique émis par ce transpondeur. Les tables diffusées par le transpondeur B sont incorrectes en ce qui concerne le service B3, mais correctes en ce qui concerne les services B1 et B2. La liste des services maintenue pour le transpondeur B lorsque le récepteur reçoit le signal du transpondeur A se compose des services B1, B2 et B3. Lorsque le récepteur passe du transpondeur A au transpondeur B, la liste des services pour le transpondeur B décrite dans la table NIT se compose toujours de B1, B2 et B3, contrairement à ce qui est indiqué dans la table SDT actuelle. On dispose donc dans ce cas de la liste véritable des services du transpondeur B, mais le suivi du service B3 n'est plus assuré. Si le récepteur est maintenant de nouveau en réception du transpondeur A, alors le service B3 peut de nouveau être suivi. Selon une variante de réalisation, un service dont l'absence dans le multiplex d'un transpondeur a été confirmée par la mise en oeuvre du test de vérification déjà décrit est éliminé définitivement de la liste des services du transpondeur B, en ce sens que si le récepteur reçoit de nouveau le signal du transpondeur A, qui indique toujours la présence du service B3 sur le transpondeur B, ce service n'est pas de nouveau ajouté à la liste des services. Le service B3 est marqué en ce sens dans la mémoire du récepteur. Il Bien que l'exemple de réalisation concerne principalement l'établissement de listes de services, l'invention peut bien évidemment être étendue au maintien de listes d'autres objets, par exemple les événements contenus dans les tables EIT. Revendications 1. Procédé de gestion de données de service dans un récepteur d'un système de télévision numérique apte à transmettre au moins deux flux numériques d'objets multiplexés, chaque flux comportant une liste d'objets transmis dans ledit flux, ledit procédé étant caractérisé en ce qu'il comprend les étapes - de réception d'un premier flux, ce premier flux comportant une liste d'objets transmis sur un second flux; - d'extraction de ladite liste d'objets du premier flux et de mémorisation de la liste par le récepteur; - de réception du second flux; - de maintien dans la liste mémorisée de l'ensemble des objets obtenus à partir du premier flux, y compris les objets non présents dans la liste d'objets du second flux relative aux objets de ce dernier; - de mise à disposition de moyens de démultiplexage pour tenter le démultiplexage des objets de la liste mémorisée. 2. Procédé selon la revendication 1, caractérisé en ce que les listes d'objets sont des listes de services. 3. Procédé selon l'une des revendications 1 ou 2, caractérisé en ce qu'un objet est éliminé de la liste mémorisée par le récepteur lorsque ledit objet n'est plus présent dans la liste d'objets transmise par le flux qui indiquait initialement sa présence. 4. Procédé selon l'une des revendications 1 à 3, caractérisé en ce qu'un objet maintenu est éliminé de la liste des objets mémorisés par le récepteur lorsque les moyens de démultiplexage ne peuvent démultiplexer cet objet à partir du flux dans lequel cet objet est supposé être transmis. 5. Procédé selon l'une des revendications 1 à 4, caractérisé en ce que les noms des objets de liste mémorisée sont affichés à destination d'un utilisateur, les objets non présents dans la liste d'objets du second flux étant identifiés de manière particulière. 6. Procédé selon l'une des revendications précédentes, caractérisé en ce que la liste des objets comporte en outre les identifiants des paquets transportant ces objets dans le second flux. 7. Procédé selon l'une des revendications 1 à 6, caractérisé en ce qu'un suivi des objets non présents dans la liste d'objets du second flux relative 0o aux objets de ce dernier est interrompu lors de la réception du second flux et rétabli lors de la réception du premier flux. 8. Récepteur dans un système de télévision numérique apte à transmettre au moins deux flux numériques d'objets multiplexés, chaque flux I5 comportant une liste d'objets transmis dans ledit flux, ledit récepteur comportant des moyens (2, 3, 4) de réception desdits flux et des moyens (5) de démultiplexage desdits flux, ledit récepteur étant caractérisé en ce qu'il comporte: - une mémoire (12) pour mémoriser une liste d'objets transmise par un premier flux, lesdits objets étant transmis par un second flux; des moyens (23) de programmation des moyens (5) de multiplexage pour effectuer une tentative de démultiplexage d'un quelconque des objets indiqués dans ladite liste mémorisée lors de la réception du second flux.