Brevet FR3002718A1 — publié le 20140829

Traitement d'un multiplex vidéo. Domaine technique L'invention se rapporte au domaine de l'audiovisuel. L'invention s'applique tout particulièrement au traitement et à l'enregistrement des contenus numériques audiovisuels diffusés sur un réseau de diffusion de tels contenus. Etat de la technique Les contenus de télévision numérique sont diffusés aujourd'hui sous forme de multiplex dans des réseaux de diffusion. Dans un multiplex, plusieurs chaines, ou programmes, sont combinés (multiplexés) afin d'être diffusés en même temps sur une même fréquence. Par programme, on entend l'ensemble des composantes numériques (audio, vidéo ou de données) qui constituent ce qui est communément appelé une chaîne audiovisuelle, c'est-à-dire une suite temporelle de contenus, ou événements, audiovisuels (films, émissions TV, jeux, etc). Lorsqu'un utilisateur de contenus numériques fait la demande de réception d'un programme, le multiplex est reçu intégralement par son terminal récepteur. Un tel terminal, aussi appelé STB (de l'anglais Set Top Box), comporte au moins un démodulateur (en anglais, tuner) apte à recevoir le multiplex et un démultiplexeur apte à en extraire un programme. Ainsi, lorsque l'utilisateur sélectionne un programme donné parmi tous les programme diffusés qui lui sont offerts, le tuner sélectionne le multiplex, le reçoit, le démodule et le transmet au démultiplexeur qui en extrait les paquets de données reçues afin de reconstituer le programme requis. Si l'utilisateur désire enregistrer deux programmes différents du multiplex au même moment, il doit posséder deux tuners, même si les deux programmes appartiennent au même multiplex. Pour remédier à ce problème, une solution simple consiste à utiliser un seul tuner et enregistrer l'intégralité du multiplex. Lors de la relecture, il convient de sélectionner uniquement les programmes requis. Cependant cette solution est inutilement coûteuse, car dans un tel contexte, même les programmes du multiplex qui n'ont pas été requis sont enregistrés. Pour améliorer cette solution, il a également été proposé d'utiliser un seul tuner pour enregistrer uniquement les programmes demandés, chacun dans un fichier distinct, afin de faciliter la relecture. Cette solution a pour conséquence une baisse notoire des performances du périphérique de stockage, car un tel mécanisme d'écriture (et de lecture) doit effectuer des aller-retour constants entre les différents fichiers constitutifs des enregistrements de programmes. L'invention offre une solution ne présentant pas les inconvénients de l'état de la technique. L'invention A cet effet, selon un aspect fonctionnel, l'invention a pour objet un procédé de traitement d'au moins un multiplex comprenant au moins un programme numérique constitué de paquets de données numériques, comprenant les étapes de : - réception dudit au moins un multiplex ; - sélection d'au moins un programme ; - sélection d'un instant de début et de fin ; - enregistrement, entre l'instant de début et l'instant de fin, des paquets dudit au moins un programme sélectionné dans un fichier multiplex. L'invention permet ainsi d'enregistrer un multiplex entier à l'aide d'un seul tuner, tout en ne surchargeant pas le disque dur : seuls sont enregistrés les paquets issus des programmes requis par l'utilisateur. L'écriture respecte de plus la structure linéaire du multiplex, facilitant ainsi une relecture ultérieure : si deux programmes ont été sélectionnés, la relecture permet aisément de les retrouver dans le fichier multiplex en ménageant les déplacements des têtes de lecture de disque de stockage. Selon un mode de mise en oeuvre particulier de l'invention, le procédé est caractérisé en ce qu'il comporte en outre, si au moins deux multiplex reçus comportent respectivement au moins un programme sélectionné, une étape de remultiplexage des programmes sélectionnés dans le fichier multiplex. Par remultiplexage, on entend ici la constitution d'un multiplex unique à partir de plusieurs multiplex en entrée. Ainsi, l'invention permet de générer un seul multiplex enregistré dans un fichier multiplex, même si l'on dispose de plusieurs sources en entrée : tous les programmes de toutes les sources sont enregistrés de manière optimale dans un seul fichier multiplex, offrant une relecture facile des programmes requis pour une visualisation ultérieure, sans déplacement inutile des têtes de lecture. Selon un second mode de mise en oeuvre particulier de l'invention, qui pourra être mis en oeuvre alternativement ou cumulativement avec le précédent, le procédé selon l'invention comporte en outre une étape d'enregistrement des positions des paquets de données des programmes sélectionnés dans le fichier multiplex. L'invention offre ainsi un accès direct aux paquets d'un programme (issus d'un multiplex quelconque) au cours de la relecture, sans avoir à rechercher l'information dans les en-têtes de paquets : il suffit de lire la position d'un paquet telle qu'elle a été enregistrée, puis d'accéder directement audit paquet à partir de cette position. Selon une variante de ce second mode de réalisation, les positions des paquets sont en outre enregistrées dans un fichier d'index. La mémorisation, dans ce fichier d'index, des données de position, permet en quelque sorte de réaliser un système de fichier virtuel (en anglais : vfrtual file system) pour l'accès aux données du fichier multiplex. On peut ainsi s'affranchir, grâce à la lecture de ce seul fichier, de la lecture des en-têtes de paquets du multiplex en accédant directement, via leur position, ou adresse, mémorisée dans le fichier, aux paquets des programmes sélectionnés. Selon une seconde variante de ce second mode de réalisation, qui pourra être mise en oeuvre alternativement ou cumulativement avec la précédente, le procédé comporte en outre une étape de restitution d'un programme numérique du fichier multiplex, comprenant les sous-étapes de : - acquisition des positions des paquets de données du programme à restituer; - lecture et décodage des paquets de données. Le fichier d'index est accédé pour obtenir les adresses des paquets sur le disque. Ainsi, tout se passe, au cours de la relecture, comme si le programme était directement accessible dans un seul fichier. Le mécanisme de relecture est transparent pour l'utilisateur et fournit les meilleures performances d'accès aux données sur le disque. Selon un aspect matériel, l'invention concerne également un terminal comprenant au moins un démodulateur apte à recevoir au moins un multiplex de programmes numériques et un support d'enregistrement apte à enregistrer des données numériques, caractérisé en ce qu'il comprend: - un module apte à sélectionner au moins un programme à enregistrer dans au moins un multiplex ; - un module apte à sélectionner un instant de début et de fin ; - Un module apte à enregistrer, entre l'instant de début et l'instant de fin, les paquets dudit au moins un programme sélectionné dans un fichier multiplex sur le support d'enregistrement. Selon un autre aspect matériel, l'invention concerne encore un programme d'ordinateur apte à être mis en oeuvre sur un terminal tel que décrit ci-dessus, le programme comprenant des instructions de code qui, lorsque le programme est exécuté par un processeur, réalise les étapes du procédé de traitement d'un multiplex défini ci-dessus. L'invention sera mieux comprise à la lecture de la description qui suit, donnée à titre d'exemple et faite en référence aux dessins annexés. Les figures: La figure 1 représente le contexte général de l'invention ; La figure 2 représente l'architecture d'un décodeur numérique capable d'implémenter un mode de réalisation de l'invention ; La figure 3 représente schématiquement la constitution d'un multiplex vidéo ; La figure 4 représente schématiquement les étapes d'un enregistrement selon un mode de réalisation de l'invention ; La figure 5 représente schématiquement les étapes d'un enregistrement selon un second mode de réalisation de l'invention. Les figures 6a et 6b illustrent respectivement la structure des données selon l'état de la technique et ce second mode de réalisation. Description détaillée d'un exemple de réalisation illustrant l'invention La figure 1 représente le contexte général de l'invention. Il s'agit par exemple d'un réseau numérique diffusé de type DVB (acronyme de Digital Video Broadcast, un ensemble de normes de télévision numérique édictées par le consortium européen DVB). L'infrastructure sous-jacente peut être de type satellite (1) ou télévision numérique de terre (TNT) (2), comme schématisé sur la figure, ou encore câble, non représentée. Différents programmes diffusés (5) sont répartis dans des flux de transport (TS) différents, aussi appelés multiplex. Les multiplex sont reçus par des décodeurs numériques (STB, 6) d'utilisateurs via des supports de réception appropriés (antennes, câbles, etc.) et les différents programmes qui les constituent (5) sont rendus disponibles pour un utilisateur, par exemple à des fins de visualisation sur un téléviseur (7). La figure 2 représente l'architecture d'un décodeur numérique capable d'implémenter un mode de réalisation de l'invention, comme par exemple le décodeur (6) de la figure 1. Un tel équipement, aussi appelé STB (de l'anglais Set Top Bof, est capable de recevoir les différents flux de transports (notés TS, de l'anglais Transport Stream) grâce à des tuners. Dans l'exemple de la figure 2, le décodeur comprend deux tuners (TUNER, 10,11), ce qui lui permet de recevoir à la fois deux multiplex (TS1, TS2) en provenance par exemple respectivement d'un réseau satellite (3) et d'un réseau TNT (4). Chacun des deux tuners peut démoduler le multiplex reçu et le transmettre à un démultiplexeur (DEMUX) qui en extrait les paquets de données et les transmet au module de décodage (DEC) qui se charge de décoder les paquets de données audiovisuelles afin de les présenter aux utilisateurs. La présentation peut être conditionnée par les droits des utilisateurs (certains flux de transports peuvent être accessibles à certains utilisateurs et d'autres pas, tout comme certains programmes à l'intérieur d'un flux de transport). Le décodeur (6) comprend aussi, classiquement, des mémoires (M) associées à un processeur (CPU). Les mémoires peuvent être de type ROM (de l'anglais Read Only Memory) ou RAM (de l'anglais Random Access Memory) ou encore Flash, etc. Le décodeur (6) communique avec l'extérieur, notamment le téléviseur (7) via un module d'entrées-sorties (IO) qui peut être par exemple de type HDMI (de l'anglais High Definition Multimedia Interface). Il communique également avec un support d'enregistrement, par exemple un disque dur (8), qui peut être interne ou externe (par exemple, déporté dans le réseau) via un autre module d'entrée-sorties (R/W). Le décodeur (6) comprend en outre un module de pilotage des enregistrements selon l'invention, ci-dénommé REC (de l'anglais Record). Le module REC, qui peut être logiciel ou matériel, est notamment capable de piloter l'écriture des données audiovisuelles sur le disque via un module d'entrées- sorties (R/W) et la lecture de ces données sur le même disque avant, par exemple, une visualisation d'un des programmes enregistrés. Le module REC est associé à un module (MUX) de multiplexage des données, dont le but est de reconstituer un multiplex enregistré unique à partir de plusieurs multiplex en entrée, comme il sera décrit plus tard à l'appui de la figure 5. Tous ces modules communiquent classiquement via un bus de données (9). La figure 3 représente schématiquement la constitution d'un multiplex vidéo selon l'état de la technique, par exemple un flux de transport (TS) selon la norme DVB ; la constitution du multiplex peut se décomposer en trois étapes notées respectivement A, B et C sur la figure. Chaque programme audiovisuel (P1, P2, P3, P4) est représenté sur la gauche de la figure (étape A) par un segment de données compris entre un instant de début (TO) et un instant de fin (T1) sur un axe temporel (t). Lors de la préparation du flux, chacun des programmes est classiquement découpé en paquets de données (étape B), par exemple conformes à la norme 13818 de l'ISO/IEC, plus connue sous l'acronyme MPEG-2, de transport et synchronisation de données audiovisuelles. Les paquets résultants des différents programmes sont multiplexés dans un flux de transport (TS) comme représenté à l'étape C. Chaque paquet de donnée est identifiable dans le flux TS par un ensemble de données d'en-tête caractéristiques, notamment un indicateur de la composante (audio, vidéo, etc.) et du programme (« PiD » pour selon la norme MPEG-2 précitée) auxquels il appartient, qui définit un sous-flux unique, et le numéro du paquet dans ce sous-flux, qui permet d'ordonnancer les paquets. On suppose, dans cet exemple, que l'utilisateur s'intéresse à un événement du programme P1 (par exemple, un film) qui débute à l'instant TO (e.g. l'instant de début du générique du film) et à un événement du programme P2 (par exemple, une séquence d'informations) qui débute plus tard que TO et se termine aussi plus tard, à l'instant Ti (fin de l'émission). La figure 4 représente schématiquement les étapes d'un enregistrement selon un mode de réalisation de l'invention, dans le cas où le décodeur est équipé d'un seul tuner, et peut donc recevoir un seul multiplex (TS) à un instant donné. On rappelle que le but de l'invention est d'enregistrer sur le disque les programmes requis par l'utilisateur, de manière la plus efficace possible, c'est-à-dire sans déplacement inutile des têtes de lecture et écriture du disque, sans écriture de données inutiles, et avec une relecture aisée. Lors d'une première étape El, l'utilisateur sélectionne deux programmes pour enregistrement, par exemple « Orange Sports » (PI) et « Orange TV » (P2). Cette sélection est transmise au décodeur (STB,6) qui pilote alors son tuner de manière à recevoir (étape E2) le multiplex des programmes souhaités (que l'on suppose ici appartenir au même multiplex). L'utilisateur précise également le début (TO) et la fin (Ti) des enregistrements souhaités, par exemple il peut s'agir de l'heure de début et de fin d'un événement (un film et une émission) des chaînes « Orange Sports » (PI) et « Orange TV » (P2), comme illustré sur la figure 3. Plus précisément, selon cet exemple, TO est l'instant de début du premier événement sélectionné dans le programme PI et Ti est l'instant de fin de l'événement sélectionné du programme P2 qui s'achève le plus tard. Lors d'une étape E3, le programme pilote des enregistrements selon l'invention (module REC de la figure 2) commande l'enregistrement sur le disque dur (8) de la totalité des paquets composant le multiplex pour les programmes sélectionnés (P1 et P2) entre les deux instants TO et Ti. Ainsi, c'est en quelque sorte une version « à trous » du multiplex, nommé FTS (pour : File Transport Stream) qui est enregistrée sur le disque dur. Naturellement, cette représentation est très imagée puisque les paquets de donnée sont inscrits de manière linéaire, séquentiellement, sur le disque, les « trous » représentés par des absences de paquets sur l'exemple de la figure 4 restant virtuels. Cette linéarité assure que les têtes de lecture se déplacent le moins possible lors de l'écriture et de la relecture des paquets sur le disque. Parallèlement à l'écriture sur le disque dur, le module REC selon l'invention peut enregistrer, selon une variante, la position (IDX) des paquets dans un fichier dit fichier d'index (20). Cet enregistrement permettra par la suite d'accéder directement aux paquets dans le flux enregistré sans devoir lire dans les paquets de données pour accéder à leurs identificateurs (Pid). Lors d'une étape E4, l'utilisateur demande de visualiser un événement de programme enregistré, par exemple une émission de P2. Le module REC selon l'invention prend alors en charge la lecture des paquets du programme P2 sur le disque. Deux cas peuvent se présenter : - s'il ne dispose pas du fichier 20 selon la variante d'enregistrement discutée plus haut, le module REC peut relire les en-têtes de paquets dans lesquelles il retrouve les informations pertinentes, et ne retenir en lecture que les paquets du multiplex enregistré (FTS) qui correspondent au programme 2 (paquets grisés non hachurés sur la figure). - s'il dispose du fichier 20 selon la variante d'enregistrement discutée plus haut, il peut se contenter d'utiliser ce fichier pour accéder directement aux paquets du programme P2, sans nécessairement lire leur contenu sur le disque. On aboutit ainsi, selon cette variante, à une gestion des données qui peut être assimilée à une gestion de fichiers via un système virtuel (vfrtual file system en anglais) : tout se passe, pour l'utilisateur, et pour la STB, comme si chacun des programmes (P1 et P2) était stocké sur le disque dans un fichier individuel qu'il suffit de relire entre deux positions (index). Lors d'une étape E5, le flux de données correspondant au programme P2 est classiquement décodé et transmis au téléviseur qui peut l'afficher pour l'utilisateur (étape E6). La figure 5 représente schématiquement les étapes d'un enregistrement selon un second mode de réalisation de l'invention, dans le cas où le décodeur (6) est équipé de deux tuners (10,11), et peut donc recevoir deux multiplex (TS1, TS2) à un instant donné. Le but de l'invention reste d'enregistrer les programmes requis par l'utilisateur sur le disque, de manière la plus efficace possible, c'est-à-dire sans déplacement inutile des têtes d'écriture, sans écriture de données inutiles, et tout en assurant une relecture aisée. Dans cette perspective, les différents modules de démultiplexage (DEMUX, au nombre de deux dans cet exemple) sont associés à un module (MUX) de remultiplexage des données, dont le but est de reconstituer un multiplex enregistré (FTS pour File Transport Stream) à partir de deux multiplex « à trous » issus des deux multiplex d'entrée. On notera que, selon cet exemple, afin de conserver un fichier final exploitable, il peut être nécessaire de modifier une partie des données additionnelles des flux enregistrés, telle que les en-têtes, dont les données (numéro de programme « Pid », etc.) peuvent entrer en conflit. Il sera donc préférable, lors du remultiplexage, de traiter ces flux en adaptant ces références tout en gardant l'intégrité et la cohérence des données enregistrées. Ce type d'adaptation ne sera pas détaillé plus avant car elle est à la portée de l'homme du métier possédant une connaissance des normes de diffusion vidéo numérique (DVB). La figure 6b illustre l'avantage de cette solution par rapport à l'état de la technique schématisé dans la figure 6a. Dans l'état de l'art selon la figure 6a, les différents programmes issus des deux multiplex (TS1, TS2) représentés en entrée sont mémorisés dans différent fichiers : un fichier F3 pour le programme P1 du premier multiplex (TS1), et deux fichiers Fl et F2 pour les programmes P2 et P3 issus du second multplex (TS2). L'invention, comme représenté sur la figure 6b, permet de remultiplexer les données issues respectivement des multiplex TS1 et TS2 pour constituer un seul fichier sur le disque (FTS). Lors de l'écriture, les paquets de données issus des trois programmes Pl, P2 et P3 des deux multiplex sont écrits séquentiellement dans le fichier FTS. Il va de soi que le mode de réalisation qui a été décrit ci-dessus a été donné à titre purement indicatif et nullement limitatif, et que de nombreuses modifications peuvent être facilement apportées par l'homme de l'art sans pour autant sortir du cadre de l'invention. REVENDICATIONS1. Procédé de traitement d'au moins un multiplex (TS) comprenant au moins un programme numérique (P1, P2, P3, P4) constitué de paquets de données numériques, comprenant les étapes de : - réception (E2) dudit au moins un multiplex (TS) ; - sélection (El) d'au moins un programme (P1); - sélection d'un instant de début (TO) et de fin (T1); - enregistrement, entre l'instant de début (TO) et l'instant de fin (T1), des paquets dudit au moins un programme sélectionné dans un fichier multiplex (FTS). 2. Procédé selon la revendication 1, caractérisé en ce qu'il comporte en outre, si au moins deux multiplex reçus (TS1, TS2) comportent respectivement au moins un programme sélectionné (P1, P2, P3, P4), une étape de remultiplexage des programmes sélectionnés (P1, P2, P3, P4) dans le fichier multiplex (FTS). 3. Procédé selon la revendication 1, caractérisé en ce qu'il comporte en outre une étape d'enregistrement des positions (IDX) des paquets de données des programmes sélectionnés (P1, P2) dans le fichier multiplex (FTS). 4. Procédé selon la revendication 3 caractérisé en ce que les positions des paquets (IDX) sont enregistrées dans un fichier d'index (20). 5. Procédé selon la revendication 3 caractérisé en ce qu'il comporte en outre une étape de restitution d'un programme numérique (P1) du fichier multiplex, comprenant les sous-étapes de : - acquisition des positions (IDX) des paquets de données du programme à restituer (P1); - lecture et décodage des paquets de données. 6. Terminal (STB) comprenant au moins un démodulateur apte à recevoir au moins un multiplex de programmes numériques (TS) et un support d'enregistrement (8) apte à enregistrer des données numériques, caractérisé en ce qu'il comprend : - un module apte à sélectionner au moins un programme à enregistrer (P1, P2) dans au moins un multiplex (TS) ; - un module apte à sélectionner un instant de début (TO) et de fin (T1); - un module apte à enregistrer, entre l'instant de début (TO) et l'instant de fin (T1), les paquets dudit au moins un programme sélectionné dans un fichier multiplex sur le support d'enregistrement. 7. Programme d'ordinateur apte à être mis en oeuvre sur un dispositif tel que défini dans la revendication 6, le programme comprenant des instructions de code qui, lorsque le programme est exécuté par un processeur, réalise les étapes du procédé défini selon la revendication 1.15