Brevet FR2860674A1 — publié le 20050408

Méthode de transmission de services DVB sur un réseau IP et appareil mettant en #uvre la méthode La présente invention concerne la transmission de services DVB (Digital Video Broadcasting), DVB définissant un service comme une séquence de programmes sous le contrôle d'un opérateur pouvant être diffusée dans le cadre d'une programmation , sur un réseau de type IP (supportant le protocole IP, Internet Protocol, dont on peut trouver la spécification dans les RFC request for comments maintenu par l'IETF Internet Engineering Task Force sous le numéro 791) et plus particulièrement la découverte par un terminal des services offerts sur le réseau. La découverte des services DVB offerts par un réseau est normalisée dans le cadre d'un réseau de type diffusion par satellite, câble ou numérique terrestre. Cette norme est décrite dans le document Digital Video Broadcasting (DVB) ; Spécification for Service Information (SI) in DVB Systems publié par l'ETSI (European Telecomunication Standard Institute) sous le numéro ETSI EN 300 468. Ce document décrit un ensemble de tables contenant des informations sur le réseau, sur les fréquences auxquelles sont transmis les flux de données contenant les services, sur les services proposés etc. Ces tables sont multiplexées dans les flux de données, le terminal étant configuré avec les données nécessaires pour se connecter à un premier flux lui permettant de recevoir ces tables et de construire, d'après leur contenu, une base de donnée contenant la description des services offerts par le réseau et les données de connexion nécessaires à leur réception. Le développement du réseau Internet, et surtout la généralisation des accès à haut débit, offrent maintenant la possibilité technique de diffuser des services audio et vidéo sur ce réseau. D'autre part, des réseaux privés de type IP à haut débit se développent que ce soit au sein des entreprises ou dans le cadre du domicile. Dans ce cadre DVB travaille à la standardisation de la diffusion de services DVB sur les réseaux de type IP. Un groupe de travail appelé DVB-IPI (Internet Protocol Infrastructure) est en train de finaliser une spécification concernant le transport des services DVB sur un réseau de type IP, et plus particulièrement la découverte des services. La proposition telle qu'envisagée aujourd'hui est présentée dans le document Service Discovery & Service Selection Specification ;Part 1- MPEG-2 DVB-IP Services sous la référence IPI2001-059. La solution, telle qu'envisagée actuellement par le groupe de travail, s'oriente vers une séparation entre la diffusion des services sous la forme de flux de transport contenant un seul service DVB d'une part et les informations décrivant ces services, disponibles sous la forme de fichiers XML (extensible Markup Language) accessible pour les terminaux sur requête. Le protocole HTTP (Hyper Text Transport Protocol) pouvant, par exemple, être utilisé pour retrouver ces fichiers. Cette solution semble naturelle car elle tire profit du caractère bidirectionnel de la connexion IP contrairement à la diffusion par satellite par exemple. Elle permet en effet d'économiser la bande passante en ne transmettant les informations de signalisation qu'à la demande et non en permanence dans le canal audio et vidéo. De plus, la mise à disposition d'informations sur un réseau de type IP via des serveurs HTTP sous la forme de fichiers de données en XML est la solution dominante largement adoptée sur ce type de réseaux. Mais cette solution impose le développement d'un ensemble d'outils permettant de générer et de gérer les serveurs offrant ces informations de signalisation au format XML. Or à l'heure actuelle, les diffuseurs de contenu disposent d'une infrastructure maîtrisée pour la diffusion de services MPEG- 2 DVB via le satellite ou le câble. L'adoption de ce nouveau schéma de signalisation imposant le développement, en parallèle du système existant, de nouveaux outils implique un investissement et une prise de risque pour les opérateurs. De plus, les terminaux n'intègrent pas aujourd'hui les outils nécessaires à l'analyse de ces information, comme par exemple, un analyseur XML. L'intégration de tels outils dans un terminal à faible coût peut s'avérer délicate voire impossible en fonction des ressources matérielles disponible comme la puissance du processeur ou la mémoire. Le but de l'invention est donc d'offrir une méthode de transmission de services DVB sur un réseau de type IP et plus particulièrement la découverte des services offerts sur le réseau par un terminal. Cette méthode permettant la réutilisation maximale de la chaîne de production actuellement déployée de services DVB pour le satellite ou le câble dans le but de diffuser des services DVB sur un réseau de type IP. L'invention consiste en une méthode de découverte, par un terminal connecté à un réseau de type IP, de services DVB sur le réseau de type IP, où le terminal utilise une première adresse IP de diffusion et un premier numéro de port pour recevoir un flux de transport diffusé à cette adresse IP sur ce port. Le terminal extrait dudit flux les tables de signalisation dont la table d'information sur les réseaux (NIT). Les descripteurs de réseaux contenus dans ladite table d'information sur les réseaux (NIT) désignant des adresses IP de diffusion et les ports associés, le terminal se connecte à au moins une partie des flux de transport diffusés aux dites adresses IP sur lesdits ports de façon à lire la table de description de service associée (SDT). Le terminal utilise ces informations pour construire une liste éventuellement unitaire des services disponibles sur le réseau. Selon un mode particulier de réalisation de l'invention la première adresse IP de diffusion et le premier numéro de port sont entrés par l'utilisateur. Selon un mode particulier de réalisation de l'invention la première adresse IP de diffusion et le premier numéro de port sont obtenus du réseau par le terminal. Selon un mode particulier de réalisation de l'invention les flux ne contiennent qu'un seul service DVB. Selon un mode particulier de réalisation de l'invention la liste des services est incluse dans la NIT contenue dans le flux disponible à la première adresse IP de diffusion sur le premier port. L'invention concerne aussi un appareil possédant des moyens de se connecter à une adresse IP de diffusion via des moyens de connexion à un réseau IP et des moyens de décodage de flux DVB diffusé à cette adresse IP de diffusion, caractérisé en ce que les moyens de décodage de flux DVB ont la capacité d'analyser une NIT, extraite du flux, contenant des descripteurs de réseau adaptés au réseau IP et de se connecter à chaque adresse IP de diffusion décrite dans ladite NIT pour y lire un flux DVB et en extraire les informations sur les services offerts sur le réseau préférentiellement selon l'une quelconque des méthodes selon les revendications précédentes. L'invention concerne également un descripteur d'un service de diffusion d'un flux DVB destiné à être inclus dans une NIT caractérisé en ce qu'il contient l'adresse IP de diffusion d'un serveur de flux et un numéro de port sur lequel ledit serveur diffuse un flux DVB sur un réseau de type IP. L'invention sera mieux comprise, et d'autres particularités et avantages apparaîtront à la lecture de la description qui va suivre, la description faisant référence aux dessins annexés parmi lesquels : La figure 1 représente un schéma de la chaîne de production de services DVB dans le cadre d'une diffusion satellite classique. La figure 2 représente l'architecture d'un flux de donnée DVB dans le cadre de l'invention. La figure 3 représente un schéma d'un exemple de chaîne de production modifiée selon l'invention. La figure 4 représente l'architecture matérielle d'un terminal fonctionnant selon un exemple de réalisation de l'invention. La figure 5 représente un schéma des différentes étapes de la méthode. La figure 6 représente la structure d'une NIT (Network Information Table) selon la norme DVB. La connexion à un flux de transport sur un réseau de type IP peut se faire selon un protocole de diffusion multipoint (IP multicast en anglais). Un exemple d'un tel protocole est le protocole IGMP (Internet Gateway Management Protocol) défini dans la RFC 2236. Dans ce protocole, à un serveur de diffusion multipoint est associé une adresse de diffusion multipoint. Cette adresse a le format d'une adresse IP, dans un domaine réservé à cet usage, mais ne correspond pas à l'adresse IP d'une machine accessible sur le réseau. Un terminal désirant se connecter à cette diffusion va envoyer une requête sur le réseau contenant cette adresse IP de diffusion multipoint. Cette requête va être relayée dans tout le réseau jusqu'à atteindre le serveur en charge de cette diffusion qui va donc inscrire le terminal comme client de la diffusion. Les routeurs sur le chemin entre le serveur et le terminal vont ensuite être en mesure de relayer les paquets IP constituant le flux vers les terminaux abonnés à la diffusion. Une optimisation de ce protocole permet, par la connaissance de l'adresse IP de la machine serveur en sus de l'adresse IP de diffusion multipoint, d'optimiser la route de la requête d'abonnement en l'acheminant directement vers le serveur destinataire au lieu de la diffuser dans tout le réseau. Cette optimisation est connue sous le nom de SSM (Source Specific Multicast). La connexion au flux de transport peut également se faire selon un protocole de diffusion unipoint (IP unicast en anglais). Un exemple d'un tel protocole est le protocole RTSP (Real Time Streaming Protocol) défini dans la RFC 2326. Ce protocole servant à contrôler la diffusion du flux sur IP, il est prévu pour fonctionner conjointement avec un protocole de diffusion proprement dit comme RTP. La principale différence avec la diffusion multipoint étant qu'à chaque client désirant se connecter sur le flux, le serveur va initier une diffusion point à point entre lui-même et le client. Il est évident que cette solution est plus dispendieuse en bande passante que la solution basée sur la diffusion multipoint, mais elle est envisageable dans le cadre d'un réseau restreint où seul un petit nombre de terminaux sont susceptibles de se connecter à un flux. La figure 1 décrit l'architecture générale d'une chaîne de production de services MPEG-2 DVB dans le cadre d'une diffusion satellite. Au départ de la chaîne, nous avons du contenu audio et vidéo 1 qu'il s'agit de diffuser. Ce contenu est encodé selon la norme MPEG2 dans un codeur 2 pour générer un flux élémentaire audio/vidéo 5. Parallèlement au codage de l'audio et de la vidéo, les informations de signalisation 3 sont générées, elles proviennent généralement d'une base de données contenant les informations descriptives sur le service que l'on veut diffuser. Ces informations sont générées sous la forme d'un flux de signalisation 6. Un autre module 4 prend en charge la génération d'un flux de sous-titres 7. Il est également possible d'inclure un flux d'applications interactives 8, dont la chaîne de production n'est pas détaillée ici. Tous ces flux élémentaires, avec éventuellement d'autres flux véhiculant d'autres contenus audio et vidéo, la signalisation s'y rapportant ou autre, sont ensuite multiplexés dans un multiplexeur 9 pour générer le flux de transport MPEG-2 qui va être ensuite modulé et converti sur une fréquence choisie par le modulateur convertisseur 10. Un ensemble de flux de ce type peuvent être mélangés par un mixer 11 pour un envoi sur un satellite 13 via une station d'émission 12. Dans ce cas une synchronisation des informations de signalisation est nécessaire entre les différents flux de façon à inclure des informations sur les autres flux dans les tables descriptives de chaque flux. Ces programmes peuvent ensuite être reçus au domicile de l'utilisateur via sa parabole 14 pour être décodés par un décodeur et affichés sur un téléviseur. Cette chaîne est maintenant bien maîtrisée par les opérateurs. La figure 2 représente l'architecture d'un flux de transport ne contenant qu'un service et toutes les tables de signalisation s'y rattachant. La bande passante ainsi que l'architecture d'un réseau IP rendent plus pratique de séparer chaque service dans un flux propre. En effet, contrairement au cas du satellite dont le flux est destinée de multiples terminaux pouvant sélectionnerl'un quelconque des services disponibles, dans un réseaulP chaque terminal peut se connecter sur le flux contenant le service désiréet lui seul. Mais il est évident que l'utilisation d'un flux contenant plusieurs services est possible. Un premier flux 41 contient une table SDT (Service Description Table) 43 qui décrit le, ou les, services disponibles dans le flux. Le service 42 contient une PMT (Program Map Table) 46 ainsi que les flux élémentaires du service, vidéo 47, audio 48 ou autre 49. Le flux contient également une PAT (Program Allocation Table) 44 pointant entre autre sur la NIT 45. La NIT donne des informations sur l'organisation physique des différents flux de transport 50,51, 52 offerts par le réseau. La NIT est organisée comme indiqué sur la figure 6. Cette structure de la NIT reste adaptée à la description d'un réseau sur IP à ceci près qu'il faut définir des descripteurs spécifiques au réseau IP de façon à prendre en compte le système de diffusion large bande sur IP. Nous donnons ci-dessous la définition d'un exemple d'un tel descripteur adapté à la diffusion multipoint : Nom du champ Nombre de bits Identifiant Descriptor~tag 8 uimsbf Descriptorjength 8 uimsbf IP multicast address 32 bslbf Multicast~Port~number 16 bslbf Multicast protocol~mapping 8 bslbf IP~source~address 32 bslbf Le champ descriptor~tag est un identifiant correspondant à ce nouveau type de descripteur. Le champ descriptor~length donne la taille du descripteur. Le champ IP~multicast~address est l'adresse IP de diffusion multipoint du serveur sur lequel est disponible le flux. Le champ Multicast~Port~number est le numéro de port sur le serveur où l'on doit se connecter pour recevoir le flux. Le champ Multicast protocol mapping est un champ identifiant le protocole de codage du, ou des, service diffusé à cette adresse, ce peut être MPEG-2, MPEG-4, MHP ou autres. Ce champ, optionnel, peut permettre de filtrer sur le type de contenu pour ne retenir que les services que le terminal est à même de décoder. Le champ IP~source~address est l'adresse IP réelle du serveur ce qui permet un routage efficace de la requête de connexion à un serveur de diffusion multipoint selon le protocole SSM. Nous donnons ci-dessous la définition d'un autre exemple d'un tel descripteur adapté à la diffusion unipoint : Nom du champ Nombre de bits Identifiant Descriptor~tag 8 uimsbf Descriptorjength 8 uimsbf IP unicast address 32 bslbf Unicast Port number 16 bslbf Unicast~protocol~mapping 8 bslbf Le champ descriptor~tag est un identifiant correspondant à ce nouveau type de descripteur. Le champ descriptorjength donne la taille du descripteur. Le champ IP~unicast~address est l'adresse IP de diffusion unipoint du serveur sur lequel est disponible le flux. Le champ Unicast~Port~number est le numéro de port sur le serveur où l'on doit se connecter pour recevoir le flux. Le champ Unicast~protocol~mapping est un champ identifiant le protocole de codage du, ou des, service diffusé à cette adresse, ce peut être MPEG-2, MPEG-4, MHP ou autres. Ce champ, optionnel, peut permettre de filtrer sur le type de contenu pour ne retenir que les services que le terminal est à même de décoder. Ces descripteurs signalent un serveur de diffusion multipoint ou unipoint contenant un flux de transport avec habituellement un service de télévision DVB. Nous voyons dans la structure de la NIT qu'il existe une boucle sur les flux de transport, ce qui veut dire que tous les flux de transport constituant le réseau complet d'un opérateur peuvent être décrits dans cette boucle. De cette façon, le terminal peut construire une liste avec les adresses IP de diffusion multipoint ou unipoint de tous les flux de transport d'un réseau de diffusion de télévision large bande sur IP. Une liste de descripteurs de services peut être optionnellement incluse dans la NIT de façon à accélérer la phase d'installation du terminal. On peut également envisager que des serveurs de flux multipoint et unipoint soient présent dans le même réseau. La figure 3 représente un schéma de l'architecture de la chaîne de production modifiée selon un exemple de réalisation de l'invention. Nous retrouvons le même début de chaîne que dans la figure 1 dans le cas classique de la diffusion par modulation de type satellite, câble, ou terrestre. Les différences se trouvent au niveau de la génération des informations de signalisation 3. Nous devons adapter la NIT au fonctionnement sur le réseau IP comme expliqué précédemment, c'est-à-dire en y incluant des descripteurs de services de diffusion large bande IP. Le flux ainsi constitué est placé sur un serveur de flux 30 permettant sa diffusion sur le réseau IP. Tous les flux constituant le réseau de l'opérateur sont ainsi mis à disposition du terminal 33 connecté sur son réseau IP 32 ce qui est symbolisé sur le schéma par leur branchement derrière le routeur 31. Dans la pratique ces serveurs de flux peuvent être mis à disposition d'un utilisateur connecté, par exemple via un accès ADSL (Asymmetric Digital Subscriber Line), en les rendant accessibles sur Internet. Mais cette solution possède l'inconvénient que l'on n'est pas maître de la bande passante sur Internet entre le serveur et le point d'accès reliant l'utilisateur. Une autre solution est de connecter ces serveurs via un réseau permettant de gérer la qualité de service, comme un réseau ATM (Asynchronous Transfert Mode), aux points d'accès des utilisateurs. La figure 4 représente l'architecture interne d'un terminal 60 qui possède de la mémoire morte (ROM 63) lui permettant de stocker des programmes et des données, de la mémoire vive (RAM 62) qui lui permet de charger ces programmes en vue d'une exécution par le processeur 61. Ce processeur peut également utiliser de la RAM persistante pour stocker des informations comme la base de données. Ce terminal est connecté à un réseau de type IP par une interface réseau 64. Ces composants communiquent par l'intermédiaire d'un bus interne 65. La phase de découverte des services sur un réseau large bande IP par un terminal se déroule de la façon suivante. Le terminal possède une connexion large bande à un réseau IP, cette connexion peut être une connexion à Internet selon la technique ADSL ou par le câble. Cette connexion peut également se faire sur un réseau privé, comme un réseau d'entreprise ou un réseau domestique. Le terminal possède des paramètres lui permettant une première connexion à une adresse IP de diffusion multipoint ou unipoint. La solution la plus simple est de considérer que cette adresse IP de diffusion est entrée manuellement dans un menu de configuration. Cette adresse IP de diffusion peut également être attribuée au terminal lors de la phase de connexion via des protocoles comme DHCP (Dynamic Host Control Protocol) ou PPP (Point to Point Protocol). Mais toute autre méthode de détermination de cette première adresse IP est possible. Cette adresse consiste en une adresse IP de diffusion multipoint ou unipoint et un numéro de port correspondant. Les étapes de la méthode sont représentées sur la figure 5. Dans une première étape 70, le terminal se connecte à cette adresse IP sur le port donné et active, par exemple via le protocole IGMP, la réception du flux de transport qui y est disponible. Généralement ce flux de transport est du type MPEG-2 encapsulé sur IP en utilisant les couches de protocole IP/UDP/RTP (User Datagram Protocol, Real Time Protocol), mais ce peut également un flux de type MPEG-4, MHP ou autre. Le flux de transport est extrait des paquets RTP. Ce flux contient les tables PAT, PMT, NIT et SDT. Les tables contenues dans le flux sont exactement les tables telles que spécifiées dans la norme DVB-SI, à l'exception des descripteurs de réseau tel que définis plus haut situés dans la NIT. Dans une seconde étape 71, le terminal extrait la NIT contenue dans le flux et l'analyse pour construire la liste des adresses IP de diffusion et des ports associés permettant de recevoir les flux disponibles sur le réseau. Dans une troisième étape 72, le terminal se connecte successivement à au moins une partie de ces flux de transport disponibles sur le réseau. Le terminal va extraire de ces flux les informations de description des services contenues dans la SDT. Selon une alternative, ces informations sont lues directement via un ensemble de descripteurs de services inclus dans la NIT. Dans ce cas il n'est pas nécessaire de se connecter aux différents flux disponibles sur le réseau. Dans une quatrième étape 73, le terminal construit la base de données contenant la liste de tous les services offerts sur le réseau et la met à la disposition de l'utilisateur via, par exemple, un guide électronique des programmes. La base de données peut, par exemple, être stockée dans la RAM persistente du terminal de façon à être facilement accessible au démarrage du terminal sans nécessité de refaire ce processus. Le terminal peut utiliser les informations contenues dans cette base pour répondre à une sollicitation de l'utilisateur voulant se connecter sur un des services proposés. Le terminal trouve dans la base l'adresse IP et le numéro de port du serveur de flux diffusant le service désiré, il peut donc se connecter sur le flux en question et y récupérer le flux contenant le service pour l'afficher. L'invention permet aux opérateurs de réutiliser la majeure partie de leur chaîne existante de production, en particuliers les multiplexeurs et leurs équipements de production des informations de signalisation. L'invention permet aussi de limiter les modifications a apporter aux logiciels exécutés sur les décodeurs. En effet, seule la partie gérant l'interface IP, en lieu et place de l'interface de réception satellite ou câble, est nouvelle. Toute la partie d'analyse du flux et de gestion des informations de signalisation peut être reprise du logiciel utilisé sur les décodeurs satellite ou câble. De même le contrôle d'accès peut être repris à l'identique. L'invention permet donc l'adoption de la diffusion de services DVB sur un réseau IP large bande en minimisant les investissements et les risques pour les opérateurs. REVENDICATIONS 1. Méthode de découverte, par un terminal (60) connecté à un réseau de type IP, de services DVB sur le réseau de type IP, caractérisée en ce qu'elle comporte au moins les étapes suivantes : - le terminal utilise une première adresse IP de diffusion et un premier numéro de port pour recevoir (70) un flux de transport diffusé à cette adresse IP sur ce port ; - le terminal extrait (71 ) dudit flux au moins la table d'information sur les réseaux (NIT) ; - les descripteurs de réseaux contenus dans ladite table d'information sur les réseaux (NIT) désignant des adresses IP de diffusion et les ports associés, le terminal se connecte (72) à au moins une partie des flux de transport diffusés aux dites adresses IP sur lesdits ports de façon à lire la table de description de service associée (SDT) ; - le terminal utilise ces informations pour construire (73) une liste éventuellement unitaire des services disponibles sur le réseau. 2. Méthode selon la revendication 1 où la première adresse IP de diffusion et le premier numéro de port sont entrés par l'utilisateur. 3. Méthode selon la revendication 1 où la première adresse IP et le premier numéro de port sont obtenus du réseau par le terminal. 4. Méthode selon l'une des revendications 1 à 3 où les flux ne contiennent qu'un seul service DVB. 5. Méthode selon l'une des revendications 1 à 4 où la liste des services est incluse dans la NIT contenue dans le flux disponible à la première adresse IP de diffusion sur le premier port. 6. Appareil possédant des moyens de se connecter à une adresse IP de diffusion via des moyens de connexion à un réseau IP et des moyens de décodage de flux DVB diffusé à cette adresse IP de diffusion, caractérisé en ce que les moyens de décodage de flux DVB ont la capacité d'analyser une NIT, extraite du flux, contenant des descripteurs de réseau adaptés au réseau IP et de se connecter à chaque adresse IP de diffusion décrite dans ladite NIT pour y lire un flux DVB et en extraire les informations sur les services offerts sur le réseau préférentiellement selon l'une quelconque des méthodes selon les revendications précédentes. 7. Descripteur d'un service de diffusion d'un flux DVB destiné à être inclus dans une NIT caractérisé en ce qu'il contient l'adresse IP de diffusion d'un serveur de flux et un numéro de port sur lequel ledit serveur diffuse un flux DVB sur un réseau de type IP.