Brevet FR2803475A1 — publié le 20010706

Procédé de constitution de base de données pour service de télévision numérique, dispositif décodeur mettant en #uvre le procédé, et utilisation de la base de données. La présente invention concerne un procédé de constitution de base de données pour service de télévision numérique, le dispositif décodeur mettant en #uvre le procédé et l'utilisation de la base de données. L'invention a trait aux décodeurs de télévision numérique qui reçoivent des informations audiovisuelles et des applications à travers au moins un canal de transmission. Le décodeur numérique peut traiter les données audiovisuelles et/ou exécuter une application et afficher un résultat sur les dispositifs d'affichage. Aujourd'hui la télévision numérique est principalement organisée en marché vertical, ce qui signifie qu'un diffuseur distribue plusieurs services de données audio ou visuelles à travers un système de diffusion et fournit en même temps des décodeurs de télévision qui sont adaptés voir optimisés pour le service du diffuseur. Cette sorte d'optimisation concerne aussi bien les installations de services de diffusion à travers les tables MPEG/DVB. Dans le cas des marchés verticaux, les diffuseurs peuvent stocker toutes les informations de façon à ce que le décodeur puisse effectuer une installation très rapide, ces informations étant stockées dans une liste de services contenus, par exemple, dans la table d'informations du réseau (NIT : Network Information Table). Dans une organisation horizontale du marché, une telle optimisation n'est pas possible puisque plusieurs diffuseurs contrôlent différents bouquets et différents réseaux. Dans ce cas, il peut être utile de mémoriser dans une base de données les tables des diffuseurs vidéo numériques (DVB : Digital Video Broadcast table) et d'injecter ces tables mémorisées dans la pile MPEG du système d'exploitation d'un décodeur numérique. Le but de l'invention est de prévoir un procédé de constitution de base de données indexé au service de plusieurs diffuseurs sans nécessiter l'intervention de l'utilisateur lors de l'installation. Ce but est atteint par le procédé selon la revendication 1. Un autre but est de proposer une utilisation du procédé pour la mise à jour de la base de données installée sur le décodeur pour prendre en compte l'apparition de nouveaux services et la disparition de services existants. Ce but est atteint par le procédé selon la revendication 3. Enfin un dernier but est de constituer un dispositif décodeur comportant un mécanisme générique d'utilisation de la base de données fonctionnant avec tout système d'exploitation d'une télévision numérique. Ce but est atteint par le dispositif décodeur selon la revendication 5. D'autres particularités de l'invention sont définis aux revendications 2, 4 et 6 à 7. D'autres particularités et avantages de l'invention apparaîtront plus clairement à la lumière de la description ci-après faite en référence aux dessins annexés dans lesquels : - la figure 1A représente une vue schématique du dispositif décodeur lors de la procédure de création d'une base de données ; - la figure 1 B représente une vue schématique du décodeur lors de l'utilisation des données dans la base de données au cours de la procédure d'installation de services qui est un exemple d'utilisation ; - la figure 1 C représente une vue schématique du décodeur lors de la procédure de maintenance de la base de données ; - la figure 2 représente un logigramme de fonctionnement du décodeur utilisant les différentes procédures des figures 1. L'invention va maintenant être décrite en liaison avec les figures 1 à 2. Elle est constituée d'un décodeur comprenant un circuit d'accord (1) ou syntoniseur relié à un démultiplexeur amont (2) qui sont des organes classiques d'un décodeur et interposé entre le démultiplexeur et le système d'exploitation (6) un dispositif qui permet la mise en oeuvre du procédé et les utilisations de ce procédé selon l'invention. En sortie du décodeur et du démultiplexeur amont (2) est branché un aiguillage (90) à deux directions dont une première vers une ligne (92) de connexion à un système (3) de mémorisation de masse tel qu'un disque dur, lequel est relié à un démultiplexeur aval (4) dont la sortie est reliée à une liaison (95) dont l'extrémité peut être connectée par un aiguillage (93) à deux directions à une liaison (94) d'entrée dans une pluralité de tampons représentée à titre d'exemple sur la figure par les références (50 à 55). La liaison (94) d'entrée sur la pluralité de tampons peut également être reliée par l'aiguillage (93) à une liaison (91) qui elle-même est reliée à l'autre direction de l'aiguillage (90). Le système d'exploitation (6) du décodeur comporte également un programme d'injection de services (70), un programme de mise à jour de bases de données (71), un programme de création de section de bases de données (72). Lorsque l'un ou l'autre de ces programmes est exécuté par le processeur du décodeur, son exécution permet le positionnement des aiguillages selon l'une des trois configurations représentées aux figures 1A à 1 C correspondant respectivement à la procédure de création de bases de données pour la figure 1A, à la procédure d'utilisation de la base de données pour la figure 1 B et à la procédure de maintenance et de mise à jour de la base de données pour la figure 1C. Dans le cas de la figure 1A, on voit que le démultiplexeur amont (2) est relié par l'aiguillage (90) uniquement à la mémoire de masse (3). Dans le cas de la figure 1 B, la mémoire de masse (3) est reliée par le démultiplexeur aval (4), la liaison (95) et l'aiguillage (93) à la pluralité de tampons (50 à 55) du décodeur. Dans le cas de la figure 1 C, le démultiplexeur amont (2) est relié par l'aiguillage (90) à la fois à la pile de tampon (50 à 55) et à la mémoire de masse (3) et l'autre branche de l'aiguillage (93) est ouvert. La figure 2 représente le logigramme de fonctionnement du décodeur. Celui-ci, lors de la première étape SOD d'allumage du décodeur (switch on décoder) lance le test suivant DBE (data base empty) qui permet de déterminer si la base de données est vide. Dans la réponse affirmative, le programme d'exploitation lance la procédure représentée à l'étape DCP qui est la procédure de création d'une base de données (data base creation procedure). Une fois cette procédure exécutée, le système d'exploitation du décodeur lance la procédure DIP qui est la procédure d'injection de données (data injection procedure) dans les tampons (50 à 55) qui sont connectés en sortie du démultiplexeur amont (2). Dans la négative, cas où la base de données n'est pas vide, le programme passe directement à la procédure d'injection de services dans les tampons. En parallèle, un programme de création de section de base de données peut être lancé à partir du menu de réglage de l'installation (SUM, Set Up Menu) par la sélection de la commande de création de bases de données (CCD). De même, pendant les opérations de décodage normal (NOD, Normal Opération Decoding), c'est à dire pendant que l'utilisateur regarde un canal sélectionné, la procédure de maintenance DMP (Database Maintenance Procedure) de base de données, est lancée à intervalles réguliers par le décodeur et en cas de modifications des informations, celles-ci sont injectées dans le tampon correspondant. Comme expliqué précédemment, la procédure (DCP) de création de bases de données est appelée soit par la procédure (SOD) d'allumage du décodeur, soit directement par l'utilisateur à travers le menu de réglage (SUM). Dans ces cas comme représenté à l'annexe 1, le circuit de syntonisation (1) est accordé sur la fréquence porteuse (cf) la plus basse par exemple. Ce signal est transmis au démultiplexeur amont (2) qui filtre les émissions reçues pour en extraire la table (NITactual) d'informations de réseau actuel qui contient la liste des services offerts par le réseau et la table (SDT actual) des données de services qui contient les données permettant d'accéder à un service. Comme représenté à l'annexe 1, cette procédure, après avoir extrait la table d'information de réseau (NIT), compresse cette information et stocke un triplé comprenant l'information compressée, la valeur de la fréquence porteuse et un identifiant de cette table (NIT, ID). De même, le décodeur après avoir extrait la table de données de services compresse cette donnée et la stocke dans la mémoire de masse (3) dans une table comportant un triplé d'informations : l'information compressée, la fréquence porteuse et l'identifiant de la table de service de données. Puis la procédure de création de base de données se poursuit en passant à la fréquence porteuse suivante, soit en augmentant, si c'est la fréquence la plus basse qui est initialement choisie, soit en diminuant si c'est la plus haute et en réitérant les opérations précédentes pour chaque fréquence porteuse de la plage de fréquence comme représenté à l'annexe 1. Lorsque le système d'exploitation passe à la procédure (DIP), par exemple pour l'installation de services par injection de table, celui-ci met le décodeur dans la configuration représentée à la figure 1B dans laquelle la mémoire de masse (3) est reliée par le démultiplexeur aval (4) à la pluralité de tampons (50 à 55). Le système, comme représenté à l'annexe 2, commence par la fréquence porteuse la plus basse et envoie une requête à la base de données par la commande QUERY-DATABASE (cf, NIT). Après extraction de l'information réseau, celle-ci est décompressée par la commande decompress (NIT-actual) et les mêmes commandes sont effectuées pour extraire l'information de service (SDT-actual). Puis un carrousel est généré et envoyé vers le démultiplexeur aval. Celui-ci applique ses filtres et place l'information filtrée dans un des tampons associés. Cette procédure est effectuée pour chacune des fréquences porteuses. Ensuite le décodeur est mis dans son mode de fonctionnement normal correspondant au branchement des aiguillages selon la figure 1 C. Dans ce cas, les informations contenues dans les tampons sont utilisées par le système d'exploitation pour en extraire l'information correspondante à l'émission sélectionnée par l'utilisateur et envoyer cette information sur le démultiplexeur amont (2). Dans cette configuration, le décodeur est capable de maintenir à jour sa base de données pour prendre en compte le fait qu'un diffuseur modifie la nature et la composition de ses émissions. Ceci peut arriver lorsque le diffuseur ajoute de nouveaux services dans son bouquet ou lorsqu'il retire certains services qui n'ont pas de succès commercial. La procédure de maintenance (DMP) permet ainsi de conserver à jour la base de données sans nécessiter de matériel supplémentaire. Cette procédure est explicitée en annexe 3 et comporte une première étape de calage sur la fréquence porteuse (cf) de l'émission souhaitée par l'utilisateur puis d'extraction par le démultiplexeur (2) de la table (NIT actual) et de comparaison de cette extraction avec l'information contenue dans la mémoire de masse (3) obtenue par la requête Query-database. Si la version de la table (NIT actual) est supérieure à la version de la base de données, cette dernière version extraite est stockée sous forme compressée dans la base de données à la place de l'ancienne version. Ensuite la procédure se poursuit en balayant les autres tables (NIT) d'informations de réseau et en effectuant les comparaisons comme précédemment pour stocker les versions supérieures. Enfin une procédure identique est appliquée pour les tables (SDT) de données de service. Ainsi selon l'invention, le procédé de constitution de bases de données pour services de télévision numérique comporte une étape d'accord sur une fréquence porteuse ; - une étape de filtrage par un démultiplexeur (2) du signal reçu par le syntoniseur (1) accordé sur une fréquence porteuse (cf) donnée ; - une étape d'extraction des données (NIT actual) représentant la table d'information du réseau actuel; - une étape de mémorisation (3) dans une table (31) du triplé d'informations constitué par la table d'informations (NIT actual), la fréquence porteuse, et un identifiant : - une étape d'extraction des données représentant la table de service (SDT actual) ; - une étape de mémorisation (3) du triplé constitué par la table de service (SDT actual), la fréquence de la porteuse (cf) et l'identification de la table de service SDT ; - une étape de recherche par le syntoniseur (1) de la fréquence porteuse suivante et réitération des étapes précédentes jusqu'à balayage de toute la plage de fréquence. Selon une autre particularité, le procédé comporte une étape de compression des données (NIT actual, SDT actual) ainsi obtenues ; Selon une autre particularité, l'étape de compression utilise une clé de stockage dans une section (30) de la base de données qui est également stockée avec les informations, ladite clé étant dérivée de la fréquence porteuse (cf). Selon une autre particularité, l'utilisation du procédé dans une procédure d'installation de services consiste à interroger, pour une fréquence porteuse (cf) donnée, le contenu de la base de données pour en extraire la table (31) d'informations de service ; - une étape de décompression de la table d'informations de réseau (NIT) et de la table de service (SDT) ; - une étape d'envoi de ces informations dans des tampons (50 à 55) pour utilisation par le décodeur. Selon une autre particularité, l'utilisation du procédé dans une procédure de maintenance de la section de base de données consiste à lancer la procédure de constitution de bases de données pour une fréquence porteuse donnée (cf) et à vérifier que la version des tables d'informations de réseau obtenues par la procédure est supérieure à la version enregistrée dans la base de données et, dans ce cas, stocker sous forme compressée le triplé. Selon une autre particularité, le dispositif décodeur mettant en #uvre le procédé comporte des moyens de mémorisation (3) de la constitution d'une base de données contenant des tables (31) de réseau (NIT) et de service (SDT); - des moyens (DMP) de mise à jour ; - des moyens d'injection (SIP) des tables dans l'interface du programme d'application du démultiplexeur (2) pour sélectionner le filtre approprié au canal souhaité ; - des moyens pour copier dans la pile MPEG du système d'exploitation les données de la base de données fournies pour une fréquence porteuse (cf) donnée. Selon une autre particularité, la partie de table sélectionnée est injectée par des moyens d'injection (SIP) dans le tampon (50 à 55) du canal du décodeur constituant une pile MPEG. Selon une autre particularité, la base de données comprend les données compressées de la table d'informations réseau (NIT), la fréquence de la porteuse et un identifiant ; - les données compressées de la table des services SDT, la fréquence de la porteuse et un identifiant. Les avantages de l'invention décrite précédemment sont que la solution permet l'installation rapide des décodeurs digitaux adaptés à un marché horizontal particulièrement utile pour les décodeurs dits (DVB- MHP digital video broadcasting-multi media home plateform) de diffusion de vidéo numérique pour plate-forme domestique multimédia. La solution décrite est générique puisqu'elle peut fonctionner avec n'importe quel système d'exploitation de télévision numérique et auto-adaptative à tout nouveau service. Il doit être évident pour les personnes versées dans l'art que la présente invention permet des modes de réalisation sous de nombreuses autres formes spécifiques sans l'éloigner du domaine d'application de l'invention comme revendiqué. Par conséquent, les présents modes de réalisation doivent être considérés à titre d'illustration, mais peuvent être modifiés dans le domaine défini par la portée des revendications jointes, et l'invention ne doit pas être limitée aux détails donnés ci-dessus. ANNEXE 1 cf = LOWEST~CF; DO{ tune(cf); fitler~hard (NIT~ACTUAL); get(NIT~ACTUAL); compress(NIT~ACTUAL); store~in~db(NIT~ACTUAL, cf, NIT, ID); filter~hard (SDT~ACTUAL); get(SDT~ACTUAL); compress(SDT~ACTUAL); store~in~db(SDT~ACTUAL, cf, SDT, ID); next(cf); } WHILE(cf ≤ HIGHEST~CF) ; ANNEXE 2 cf=LOWEST~CF; DO{ query~database(cf, NIT); get(NIT~ACTUAL); decompress(NIT~ACTUAL); query~database(cf, SDT); get(SDT~ACTUAL); decompress (SDT~ACTUAL); for(carousel=1;carousel ANNEXE 3 zap(cf ); // donc by user filter~hard (NIT~ACTUAL); get(NIT~ACTUAL); if(version(NIT~ACTUAL) > version(query database(cf, NIT, ID))) store~in~db(compress(NIT~ACTUAL), cf, NIT, ID); DO{ filter~hard(NIT~OTHER); get(NIT~OTHER); if(version(NIT~OTHER) > version(query~database(cf, NIT, ID))) store~in~db(compress(NIT~OTHER), cf, NIT, ID); }WHILE(exist(NIT~OTHER)) // for each NIT other in TS REVENDICATIONS 1. Procédé de constitution de bases de données pour services de télévision numérique caractérisé en ce qu'il comporte : - une étape d'accord sur une fréquence porteuse ; - une étape de filtrage par un démultiplexeur (2) du signal reçu par le syntoniseur (1) accordé sur une fréquence porteuse (cf) donnée ; - une étape d'extraction des données (NIT actual) représentant la table d'information du réseau actuel; - une étape de mémorisation (3) dans une table (31) du triplé d'informations constitué par la table d'information (NIT actual), la fréquence porteuse, et un identifiant : - une étape d'extraction des données représentant la table de service (SDT actual) ; - une étape de mémorisation (3) du triplé constitué par la table de service (SDT actual), la fréquence de la porteuse (cf) et l'identification de la table de service SDT ; - une étape de recherche par le syntoniseur (1) de la fréquence porteuse suivante et réitération des étapes précédentes jusqu'à balayage de toute la plage de fréquences. 2. Procédé selon la revendication 1, caractérisée en ce qu'il comporte une étape de compression des données (NIT actual, SDT actual) ainsi obtenues ; 3. Procédé selon la revendication 1, caractérisé en ce que l'étape de compression utilise une clé de stockage dans une section (30) de la base de données qui est également stockée avec les informations, ladite clé étant dérivée de la fréquence porteuse (cf). 4. Utilisation du procédé selon la revendication 1 ou 2 ou 3 dans une procédure d'installation de services caractérisée en ce qu'elle consiste à interroger, pour une fréquence porteuse donnée (cf), le contenu de la base de données pour en extraire la table (31) d'informations de service ; - une étape de décompression de la table d'informations de réseau (NIT) et de la table de service SDT ; - une étape d'envoi de ces informations dans des tampons (50 à 55) pour utilisation par le décodeur. 5. Utilisation du procédé selon la revendication 1 ou 2 ou 3 dans une procédure de maintenance de la section de base de données, caractérisée en ce qu'elle consiste à lancer la procédure de constitution de la base de données pour une fréquence porteuse donnée (cf) et à vérifier que la version des tables d'informations de réseau obtenues par la procédure est supérieure à la version enregistrée dans la base de données et dans ce cas à stocker le triplé sous forme compressée. 6. Dispositif décodeur mettant en #uvre le procédé selon l'une des revendications précédentes, caractérisé en ce qu'il comporte des moyens de mémorisation (3) de la constitution d'une base de données contenant des tables (31) de réseau (NIT) et de service (SDT); - des moyens (DMP) de mise à jour ; - des moyens d'injection (DIP) des tables dans l'interface du programme d'application du démultiplexeur (2) pour sélectionner le filtre approprié au canal souhaité ; - des moyens pour copier dans la pile MPEG du système d'exploitation les données de la base de données fournies pour une fréquence porteuse (cf) donnée. 7. Dispositif décodeur selon la revendication précédente, caractérisé en ce que la partie de table sélectionnée est injectée par des moyens d'injection (DIP) dans le tampon (50 à 55) du canal du décodeur constituant une pile MPEG. 8. Dispositif selon une des deux revendications précédentes, caractérisé en ce que la base de données comprend les données compressées de la table d'informations réseau (NIT), la fréquence de la porteuse et un identifiant ; - les données compressées de la table des services SDT, la fréquence de la porteuse et un identifiant.