FR 2857201 A1 20050107 FR 0308082 A 20030703 L'invention porte sur un procédé pour constituer une liste de services favoris dans un décodeur de services numériques audio et/ou vidéo maintenant en mémoire une liste des services disponibles sous la forme d'une liste globale identifiant chaque service disponible. Un service disponible est un programme qu'un décodeur numérique, après installation dans une zone géographique déterminée, peut effectivement décoder et présenter à l'utilisateur. Ce dernier sélectionne le service qu'il souhaite visionner soit directement dans la liste globale, soit dans une de ses listes de services favoris (sous-ensemble de la liste globale). On entend par identifiants de service le n-uplet d'information permettant d'indentifier de façon unique un service numérique diffusé. Dans le cas de la norme DVB (norme ETSI EN 300 468 Digital Vidéo Broadcasting; Specification for Service Information (SI) in DVB systems ), chaque service est identifié par son triplet d'identifiants DVB: le Original Network Id (identifiant du réseau d'origine un même service pouvant être retransmis sur plusieurs réseaux), le Transport Stream Id (identifiant du flux de transport) et le Service Id (identifiant du service). De même dans le cas du système DSS (acronyme de Digital Satellite System ) le Channel number et l'identifiant de sa table PTC (acronyme de Physical Transmission Channel ) définissent un service. L'offre de services numériques audio et/ou vidéo (TV, radio, Programmes interactifs) proposée aux utilisateurs par les opérateurs de diffusion (CanaISAT, TPS, BLOOMBERG, ect...) est de plus en plus grande et ceci d'autant plus qu'un décodeur numérique peut être relié à des antennes pointant sur plusieurs satellites de diffusion de services numériques. Un décodeur numérique est actuellement capable de gérer environ 5000 services numériques. Il en résulte pour l'utilisateur un besoin d'organiser de manière pratique les services disponibles sous forme d'une ou plusieurs listes de services favoris. Jusqu'à présent, pour constituer une liste de services favoris, l'utilisateur fait défiler, à l'aide d'une télécommande, la liste globale des services disponibles maintenue en mémoire dans le décodeur et pointe manuellement un à un chaque service qu'il désire faire entrer dans la liste de services favoris. Ce processus de constitution d'une liste de services favoris est long et pénible ce qui le rend de plus en plus inadapté à l'évolution croissante de l'offre de services. 2857201 2 L'invention a pour but de palier l'inconvénient indiqué cidessus. L'idée à la base de l'invention est de proposer à l'utilisateur une aide pour la constitution automatique de la liste de services favoris par l'entrée, par exemple à l'aide d'une télécommande, d'au moins un critère de sélection dans le décodeur qui correspond dans sa forme la plus simple à un type de service (par exemple: Sport , Cinéma , Info ), à un public concerné (par exemple: Enfant , Adulte , Homme , Femme ), à la langue utilisée (par exemple: français , anglais ), à l'embrouillage (par exemple: clair , embrouillé ), etc.... La liste de services favoris ainsi constituée comprend l'ensemble des services issus de la liste globale répondant à ce critère. A cet effet, l'invention a pour objet un procédé pour constituer une liste de services favoris dans un décodeur adapté pour recevoir des services numériques audio et/ou vidéo et ayant en mémoire une liste de services disponibles dans laquelle chaque service disponible est identifié par un n-uplet d'identifiants. Le procédé comprend essentiellement les étapes consistant: (a) à entrer dans le décodeur au moins un critère de sélection de service, ce critère de sélection étant disponible dans une table de description de services dans laquelle sont stockés des n-uplets d'identifiants en correspondance avec au moins un critère de sélection, (b) à récupérer de la table de description des services les n-uplets d'identifiants répondant au critère de sélection entré dans le décodeur, et (c) à croiser les n-uplets d'identifiants de la liste de services disponibles avec les n-uplets d'identifiants récupérés de la table de description des services pour constituer la liste de services favoris correspondants au critère de sélection entré dans le décodeur. Le procédé peut en outre comprendre une étape consistant à établir une correspondance entre une description d'un critère de sélection, entrée par l'utilisateur à l'étape (a), et au moins un critère de sélection mémorisé dans la table de description des services grâce à une table de critères contenant le nombre de critères de sélection possibles et une description de tous les critères de sélection. Le critère de sélection pourra être simple ou plus structuré en fonction des champs de critère de sélection qui auront été prévus dans la table de description des services. Par exemple, si la table de description des services comporte deux champs de critère de sélection correspondant par exemple respectivement à un type de service ( Sport , Cinéma , Info ) et à un 2857201 3 type de public ( Enfant , Adulte , Homme , Femme ), un critère de sélection structuré pourra consister dans la sélection des services Cinéma ET Enfant . Le critère de sélection entré à l'étape (a) peut notamment être une combinaison logique de critères de sélection contenus dans la table des critères. Le procédé peut également comprendre, avant l'étape (a), une étape de construction automatique d'au moins une liste de services favoris à partir de critères de sélection par défaut contenus dans une table de critères par défaut. Selon des particularités du procédé selon l'invention: - la table de description des services est transmise par diffusion sur un canal susceptible d'être reçu par le décodeur; ou accessible dans le décodeur par téléchargement depuis un serveur distant; ou embarquée dans le décodeur; - la table des critères est transmise par diffusion sur un canal susceptible d'être reçu par le décodeur; ou accessible dans le décodeur par téléchargement depuis un serveur distant; ou embarquée dans le décodeur; - la table des critères par défaut est transmise par diffusion sur un canal susceptible d'être reçu par le décodeur; ou accessible dans le décodeur par téléchargement depuis un serveur distant; ou embarquée dans le décodeur; - la table de description des services, la table des critères et la table des critères par défaut sont susceptibles d'être mises à jour par diffusion sur un canal susceptible d'être reçu par le décodeur; ou par téléchargement depuis un serveur distant. Le procédé selon l'invention est décrit ci-après et illustré sur la figure unique (Fig. 1) qui représente de façon schématique un décodeur numérique STB. La figure 1 illustre les éléments nécessaires à la compréhension de l'invention dans un décodeur numérique STB 1. Le décodeur 1 contient classiquement une liste globale des services numériques disponibles accessibles par le décodeur. Cette liste est contenue dans une mémoire 4 du décodeur 1 sous la forme d'une liste globale LG identifiant chaque service disponible par un n-uplet d'identifiants. A chaque n-uplet d'identifiants peut s'ajouter une autre information comme le nom du service. Toutefois, pour 2857201 4 constituer une liste de services favoris, l'utilisateur a besoin d'informations discriminantes de plus haut niveau caractérisant chaque service. Ces informations discriminantes sont par exemple: - le type d'émission diffusée: généraliste, sport, cinéma, jeunesse, information, ... - le public visé par l'émission diffusée: tout public, adolescents, enfants, adultes, hommes, femmes, ... - le cryptage: clair, embrouillé, - la langue de l'émission diffusée: anglais, français, ... - etc. Selon l'invention, ces informations discriminantes sont stockées dans des champs d'une Table de Description des Services (TDS) en correspondance avec des n-uplets d'identifiants de services numériques, pour servir de critères de sélection lors de la constitution d'une liste de services favoris par l'utilisateur. 15 Cette table TDS, stockée dans la mémoire 4 du décodeur, peut être rendue accessible au décodeur depuis un canal de réception de services numériques ou depuis une connexion Internet sur un serveur distant. La table TDS peut encore être embarquée dans le décodeur lors de sa fabrication (on prévoit dans ce cas avantageusement une possibilité de mise à jour de la table TDS, par 20 exemple via une connexion à un serveur distant). Cette table TDS est conçue pour recenser à priori tous les services numériques accessibles dans une certaine zone géographique (ou l'union de plusieurs zones connexes) où le décodeur est sensé être installé. Par exemple, en France, un décodeur peut s'installer aujourd'hui sur TPS et/ou CanaISAT et/ou ViaDigital . La 25 table TDS pour un tel décodeur installé en France recensera donc tous les services numériques de TPS , CanaISAT et ViaDigital . Dans le cas de la norme DVB précitée, les identitifiants de services sont un triplet de valeurs ( Original Network Id Transport Stream Id Service lid ) qui sont codées sur 6 octets. Si nous supposons, dans un mode de réalisation non optimisé, que les informations discriminantes ou critères de sélection peuvent être codés sur 2 octets, alors la taille de la Table TDS non optimisée sera au maximum de 40 koctets pour recenser 5000 services numériques. De manière plus avantageuse, on peut opter pour le format optimisé 35 suivant dans le cas de la norme DVB: TDS = { table id: 1 octet: Type de table 2857201 5 : 1 octet: Nombre d' Original Network Id dans la table TDS { /* Boucle sur tous les ON_id */ ON_id: 2 octets: Identifiant du réseau Original Network Id nb_tsid: 1 octet: nombre de Transport Stream Id associés sur le réseau ayant pour identifiant ON_id { /* Boucle sur tous les TSid de ce réseau */ TS_id: 2 octets: identifiant Transport Stream Id Nb_services: 1 octet: nombre de services sur le flux de transport ayant pour identifiant TS_id { /* Boucle sur les services liés à ce couple (ON_id, TS_id) */ 2 octets: identifiant Service Id 1 octet: critère 1 = Type 4 bits: critère 2 = Public 4 bits: critère 3 = Cryptage Avec cette structure optimisée, pour 5000 services diffusés sur 10 réseaux (ON_id), à raison de 25 flux de transport (TS_id) par réseau et de 20 services (S_id) par flux de transport (valeurs données à titre indicatif), la taille de la TDS sera de: 4 + 10 x (3 + 25 x (2 + 1 +20x(2+2))), soit 20 784 octets (à comparer au 40 000 octets requis en utilisant un format non-optimisé). Le champ stucture_id permet de définir différentes structures de tables TDS. On peut imaginer des structures simples (de taille réduite) pour des transmissions à faible débit et des décodeurs bas coût et des structures évoluées portant un grand nombre de critères pour les décodeurs plus hauts de gamme. Dans notre cas nous supposons que le champ stucture_ici a une 35 valeur telle que la table TDS contient les champs suivants pour définir les critères de sélection des services: - C1 _id = Type, pouvant prendre l'une des valeurs suivantes { 1: Sport , 2: Cinéma , 3: Info } version id: 1 octet: Identification de la version de la table TDS stucture_id: 1 octet: Identification de la structure de la table TDS nb_onid S_id Cl_id C2 id C3_id } /* Fin boucle sur les services */ } /* Fin boucle sur tous les TS id */ } /* Fin boucle sur tous les ON id */ 2857201 6 - C2 id = Public, pouvant prendre l'une des valeurs suivantes { 1: Adulte , 2: Enfant , 3: Femme } - C3 id = Cryptage, pouvant prendre l'une des valeurs suivantes { 1: clair , 2: embrouillé }. La correspondance entre la valeur du critère et sa chaîne de caractère (par exemple entre 0x01 et sport ) se fait via une autre table que nous appellerons Table des Critères TC qui est également mémorisée dans la mémoire 4 du décodeur 1. Cette table TC est par exemple définie par la structure suivante: TC = { table id version id stucture_id utilisée nb criteres { /* Boucle sur tous les critères */ Ci nom: 12 octets: chaîne: nom de critère (par exemple: Type , Public , Cryptage ...) 1 octet: Type de table 1 octet: Identification de la version de la table TC 1 octet: Identification de la structure de la table TDS 1 octet: nombre de critères différents Cinb_valeur: 1 octet: nombre de valeurs possibles pour ce critère { /* Boucle des noms pour le critère Ci */ Ci_valj: 1 octet: la valeur du critère Ci (par exemple 1) Ci_descj: 12 octets: la chaîne de caractère (par exemple = 25 sport ) } /* Fin boucle des noms pour le critère Ci */ } /* Fin boucle sur tous les critères */ Selon l'invention il est possible de gérer dynamiquement le nombre de critères et les noms attribués à ces critères via la Table des Critères TC. Cette table TC fait la correspondance entre la valeur numérique du champ de Type , de Public , de Cryptage , etc... utilisé dans la Table de Description des Services TDS et la chaîne de caractère qui dénomme ce critère. Cette Table des Critères TC est de la même manière que la table TDS diffusée, téléchargeable ou embarquée. Il est possible alors de remettre à jour les critères utilisés dans le décodeur numérique 1. 2857201 7 Pour constituer une liste de services favoris FAVi, l'utilisateur entre au moins un critère de sélection prédéterminé Ci_descj par l'intermédiaire d'un module d'interface utilisateur UI 2 du décodeur 1. Le critère de sélection peut porter sur un type de service, un public concerné par le service, la langue du service, le cryptage, etc. dès lors que le critère de sélection est une information discriminante faisant partie d'un champ de la Table de Description des Services TDS. En réponse à l'entrée du critère de sélection, un module logiciel 3 de création des listes favorites situé dans le décodeur est prévu pour récupérer de la table TDS les identifiants (par exemple les triplets DVB) répondant au critère de sélection entré dans le décodeur et pour croiser les identifiants de la liste globale LG avec les identifiants récupérés de la TDS pour constituer la liste de services favoris FAVi correspondants au critère de sélection entré dans le décodeur. Le critère de sélection peut être simple ou plus structuré selon les capacités d'interprétation du module logiciel 3. En particulier, il est concevable que le critère de sélection soit une combinaison de plusieurs critères utilisant des opérateurs logiques ET/OU... etc. Par exemple, on peut définir le critère complexe suivant: CC1_val = 2 et (2 ou 3) et 1Avec la valeur de structure id choisie plus haut, ce critère complexe correspond à la sélection des chaînes: de type Cinéma (qui vaut 2 comme C1_id de description de type) et; de public Enfant (qui vaut 2 comme C2_id de description de 25 public) ou de public Femme (qui vaut 3 comme C2_id de description de public) et, de cryptage en clair (qui vaut 1 comme C3_id de description de cryptage). Selon un mode de réalisation préféré de l'invention, le décodeur 1 après installation, propose la construction automatique d'un certain nombre de listes de services favoris à partir d'une Table de Critères par Défaut (TCD) contenue dans la mémoire 4 du décodeur 1, par croisement avec la liste des services disponibles (LG). Cette table TCD contient un sousensemble des critères autorisés par les informations contenues dans la table TDS. Cette table des critères par défaut (TCD) est soit téléchargée, soit embarquée dans le décodeur lors de sa fabrication. Après cette initialisation automatique, l'utilisateur peut alors modifier le nombre de listes de services favoris, leurs 2857201 8 noms, leurs contenus et leurs critères de sélection respectifs à l'aide de l'interface utilisateur 2 et du module de création des listes favorites 3. La structure de la table TCD est par exemple la suivante: TCD={ table _id: 1 octet: Type de table version_id: 1 octet: Identification de la version de la table TCD stucture_id: 1 octet: Identification de la structure de la table TDS utilisée nb_criteres: 1 octet: nombre de critères différents dans la table TCD { /* Boucle sur tous les critères */ CCi val: 24 octets: chaîne de caractères (Par ex. = 2.(2+3).1 avec +' signifiant ou et '.' signifiant et) } /* Fin boucle sur tous les critères */ 15} Le champ structure_id doit être identique pour les trois tables de sorte à assurer une cohérence entre les données des différentes tables. Le décodeur STB 1 supporte une valeur de structure_id donnée et donc ne prend en compte que les tables, télédiffusées et/ou téléchargées, comportant cette valeur de structure_id. Les trois tables TDS, TC et TCD comportent chacune un numéro de version qui change à chaque mise à jour du contenu de ces tables (défini dans le champ version_id). Aussi est-il possible des les modifier et de les mettre à jour. Lorsqu'une mise à jour est nécessaire, l'opérateur de diffusion des services fournit une nouvelle valeur de version id qui est soit télédiffusée à destination de tous les décodeurs, soit mise à disposition sur un serveur de mise à jour auquel les décodeurs peuvent se connecter pour obtenir un téléchargement de la valeur de version_id. Chaque décodeur compare alors la valeur de version_id de chacune des tables TDS, TC et TCD qu'il a en mémoire 4 avec la valeur de version_id des tables télédiffusées et/ou mises à disposition et ayant le même structure_id que le décodeur. En cas de différence, le décodeur remplace le contenu des anciennes tables stockées en mémoire avec le contenu des nouvelles. Bien entendu, après qu'une liste de services favoris FAVi est constituée, elle est sauvegardée dans la mémoire 4 du décodeur 1 de sorte que l'utilisateur peut toujours la modifier en utilisant les fonctionnalités de base disponibles classiquement sur les décodeurs. De plus, les critères de sélection peuvent également être appliqués à une liste de services autre que la liste 2857201 9 globale des services LG, par exemple à une autre liste de services favoris FAVi construite au préalable, pour construire une nouvelle liste de services favoris FAVj avec des critères plus restrictifs. REVENDICATIONS 1. Procédé pour constituer une liste de services favoris (FAVi) dans un décodeur (1) adapté pour recevoir des services numériques audio et/ou vidéo et ayant en mémoire (4) une liste de services disponibles (LG) dans laquelle chaque service disponible est identifié par un n-uplet d'identifiants, caractérisé en ce qu'il comprend les étapes consistant (a) à entrer dans le décodeur au moins un critère de sélection 10 (Ci_descj) de service, ledit critère de sélection étant disponible dans une table de description de services (TDS) dans laquelle sont stockés des n-uplets d'identifiants en correspondance avec au moins un critère de sélection, (b) à récupérer de la table de description des services les n-uplets d'identifiants répondant au critère de sélection (Ci_descj) entré dans le 15 décodeur, et (c) à croiser les n-uplets d'identifiants de la liste de services disponibles (LG) avec les n-uplets d'identifiants récupérés de la table de description des services (TDS) pour constituer la liste de services favoris (FAVi) correspondants au critère de sélection entré dans le décodeur. 2. Procédé selon la revendication 1, comprenant en outre une étape consistant à établir une correspondance entre une description (Ci_descj) d'un critère de sélection, entrée par l'utilisateur à l'étape (a), et au moins un critère de sélection mémorisé dans la table de description des services (TDS) grâce à une table de critères (TC) contenant le nombre de critères de sélection possibles et une description de tous les critères de sélection. 3. Procédé selon la revendication 2, dans lequel le critère de sélection entré à l'étape (a) est une combinaison logique de critères de 30 sélection contenus dans la table des critères (TC). 4. Procédé selon l'une des revendications 2 ou 3, comportant en outre, avant l'étape (a), une étape de construction automatique d'au moins une liste de services favoris à partir de critères de sélection par défaut contenus 35 dans une table de critères par défaut (TCD). 5. Procédé selon l'une des revendications précédentes, dans lequel la table de description des services (TDS) est: 2857201 11 - transmise par diffusion sur un canal susceptible d'être reçu par le décodeur (1) ; ou accessible dans le décodeur (1) par téléchargement depuis un serveur distant; ou embarquée dans le décodeur (1). 6. Procédé selon l'une des revendications 2 à 4, dans lequel la table des critères (TC) est - transmise par diffusion sur un canal susceptible d'être reçu par le 10 décodeur (1) ; ou - accessible dans le décodeur (1) par téléchargement depuis un serveur distant; ou embarquée dans le décodeur (1). 7. Procédé selon la revendication 4, dans lequel la table des critères par défaut (TCD) est - transmise par diffusion sur un canal susceptible d'être reçu par le décodeur (1) ; ou - accessible dans le décodeur (1) par téléchargement depuis un 20 serveur distant; ou embarquée dans le décodeur (1). 8. Procédé selon la revendication 4, dans lequel la table de description des services (TDS), la table des critères (TC) et la table des critères par défaut(TCD) sont susceptibles d'être mises à jour par diffusion sur un canal susceptible d'être reçu par le décodeur (1) ; ou par téléchargement depuis un serveur distant.