Brevet FR2880497A1 — publié le 20060707

L'invention concerne un dispositif et une méthode d'enregistrement de données. L'enregistrement de flux de données dans des moyens de stockage pour pouvoir les rejouer ensuite ou les utiliser dans diverses applications est courant aujourd'hui avec l'émergence des décodeurs numériques de plus en plus performants. De tels décodeurs sont généralement destinés à enregistrer des flux de données vidéo codées, l'utilisateur pouvant les utiliser ensuite selon ses besoins. Cependant les capacités de stockage de tels décodeurs étant très importantes, il est intéressant de pouvoir user de modes de navigation spéciaux comme dans les magnétoscopes tels les retour arrière, avance ou retour rapide, etc.. ; Les flux de données reçues sont souvent des flux de données encodées de manière à optimiser les ressources de transmission ainsi que les moyens de stockage. On connaît par exemple la norme MPEG-2 qui permet de coder les données audio vidéo et qui est couramment reconnue par les décodeurs numériques. Les flux de données sont bien souvent enregistrés de manière brute 20 dans les moyens de stockage, ce qui ne permet pas ensuite une manipulation facile. Dans les dispositifs de type magnétoscope, il est possible de rajouter des informations de contrôle sur la bande magnétique sur une piste spécifique. Ceci s'avère impossible dans des dispositifs d'enregistrement tels des disques durs dans lesquels les données sont enregistrées séquentiellement. Les données stockées dans leur format d'origine sont ainsi plus difficiles à manipuler lorsqu'elle sont destinées à des applications spécifiques. L'invention propose un dispositif d'enregistrement d'un flux de données comprenant des paquets de données, ledit dispositif comprenant des moyens de stockage destinés à stocker les paquets de données. Selon l'invention, le dispositif comprend des moyens d'insérer des paquets de bourrage entre les paquets de données lors de l'enregistrement dans les moyens de stockage. L'invention peut donc rendre possible la modification du flux avant son enregistrement. Effectivement, une fois le flux enregistré, il est parfois difficile, selon les moyens de stockage utilisés, de modifier le flux de manière aisée pour y insérer des informations tout en facilitant une lecture ultérieure. Effectivement, l'invention peut ainsi également éviter la fragmentation des données et donc aussi éviter d'avoir une relecture des données complexes. Avantageusement, le dispositif comprend des moyens de remplacer lesdits paquets de bourrage par des paquets de données de contrôle. Ceci peut permettre par la suite d'utiliser les paquets de bourrage pour des applications spécifiques. Selon un mode de réalisation préféré, les moyens d'insérer des paquets de bourrage insèrent les paquets de bourrage de manière régulièrement espacés dans le flux. De manière préférée, le dispositif comprend des moyens de lecture des paquets de données et des paquets de contrôle dans les moyens de stockage et des moyens de filtrage des paquets de contrôle. De manière caractéristique, lesdits paquets de contrôle sont destinés à contrôler des modes de navigation spéciaux. L'invention concerne également un procédé d'enregistrement dans des moyens de stockage d'un flux de données comprenant des paquets de données. Selon l'invention le procédé insère des paquets de bourrage entre les paquets de données lors de l'enregistrement dans les moyens de stockage. L'invention sera mieux comprise et illustrée au moyen d'exemples de 30 modes de réalisation et de mise en oeuvre avantageux, nullement limitatifs, en référence aux figures annexées sur lesquelles: la figure 1 représente schéma de principe d'un récepteur de télévision numérique conformément au présent mode de réalisation la figure 2 représente l'insertion des paquets de bourrage dans le flux de données. La présente description est réalisée dans le cadre d'un système acceptant un train de données conforme MPEG-2 et utilise le vocabulaire correspondant. On pourra trouver davantage d'informations concernant la syntaxe de la norme MPEG-2 pour la vidéo et le codage d'un niveau de transport par exemple dans les documents: ISO/IEC 13818-1 (Information Technology Generic coding of moving pictures and associated audio information: Systems) et ISO/IEC 13818-2 (Information Technology Generic coding of moving pictures and associated audio information: Video) . La présente invention est également conforme à la norme DVB ETR-154. L'invention ne se limite bien sûr pas à l'environnement MPEG-2, ni aux couches de données décrites dans la présente demande de brevet. Conformément à la présente invention, des données telles que la vidéo, mais ne se limitant pas à celle-ci, sont enregistrées au niveau de la couche de train de transport ou de la couche de train élémentaire paquétisé. Des informations décrivent la structure du train vidéo mémorisé au niveau d'un certain nombre de couches (Train de Transport (TS) , Train élémentaire paquétisé (PES), Train élémentaire (ES) conformément à la syntaxe MPEG-2 bien connue), jusqu'aux informations vidéo compressées. La figure 1 est un schéma de principe d'un récepteur de télévision numérique 1 conformément au présent mode de réalisation. Le récepteur 1 comprend des circuits frontaux 2 qui peuvent sortir un train de transport allant à un démultiplexeur de train de transport et filtre 4. Les circuits frontaux comportent de manière caractéristique un circuit d'accord, un convertisseur analogique/numérique, un démodulateur approprié et des circuits de correction d'erreurs sans voie de retour. Ils reçoivent un signal d'une source de signaux (non montrée), laquelle est de manière caractéristique un câble, une parabole de satellite et un convertisseur de blocs et abaisseur de faible bruit associé, ou une antenne terrestre. On peut également avoir un décodeur de type IP (acronyme anglais de internet protocol ). Des ressources globales dans le système comprennent une RAM 5, un analyseur syntaxique PES 6, un deuxième démultiplexeur de train de transport 7, des décodeurs audio et vidéo 8 et 9 et un microprocesseur 10. Le filtre et démultiplexeur TS 4 est programmé par le microprocesseur afin de filtrer et d'extraire du train de transport entrant des paquets de données correspondant à certains critères, de manière caractéristique des paquets de données ayant certaines valeurs d'identifiants de paquets (PID). Le contenu du train entrant, en particulier l'attribution des PID, est connu par exemple à partir d'un certain nombre de tables de données transmises définies par la norme MPEG-2 ou la norme d'informations de service DVB (référence de document ETSI EN 300 468). Des valeurs PID privées peuvent aussi être définies. Les paquets de données du train de transport filtré sont tamponnés dans une mémoire 5, dont une partie est agencée comme une FIFO d'Ecriture TS 15, en vue de leur traitement ultérieur par l'Analyseur syntaxique de Train 3. Les données de train compressées et autres données (p. ex. les données de commande) sont transmises entre des blocs périphériques par le biais de trajets de données modélisés par le bus 11. Le récepteur comprend en outre un dispositif de mémorisation en masse 12, lequel conformément au présent mode de réalisation est une unité de disque dur. Le dispositif de mémorisation en masse 12 est connecté au bus 11 par le biais d'une interface 13, dans le cas présent une interface EIDE. Le circuit de décodeur vidéo 9 est connecté d'une manière connue aux circuits de traitement et d'affichage vidéo 14. Les paquets de train transport sont des paquets de 188 octets. Ils sont 25 enregistrés sur le disque dur 12 dont la taille des secteurs est différente de 188 octets. Habituellement, les secteurs ont une taille de 512 octets. II n'est donc pas simple de venir insérer des informations de contrôle dans le flux enregistré sur le disque dur. L'invention concerne donc plus particulièrement l'enregistrement du flux de données dans le disque dur 12 et la possibilité de modifier le flux de façon à le rendre manipulable plus facilement dans des applications ultérieures. Parmi les applications, on peut notamment citer l'insertion ou la suppression de publicité lors de la visualisation, l'édition, le montage. A cet effet, on insère des paquets de bourrage dans le flux en l'écrivant dans la mémoire. Les paquets de bourrage sont insérés entre les paquets de données utiles lors de l'écriture dans le disque dur 12. Les paquets mémorisés dans la mémoire 5 sont ensuite transférés dans le disque dur 12 par le microprocesseur 10. Ce dernier, lors de l'écriture des paquets de données dans le disque dur 12, insère régulièrement ou irrégulièrement des paquets de données vides ou données dites de bourrage. La fréquence d'insertion des paquets de bourrage peut être donnée par l'application à laquelle les paquets sont destinés. La figure 2 illustre le flux de données avec l'insertion des paquets de bourrage. Les paquets de bourrage sont des paquets de données dont la taille est comparable à celle des paquets de données stockés. Ces paquets comportent un identificateur de paquet indiquant qu'il s'agit d'un paquet de bourrage. Après que le flux ait été enregistré, une première application vient remplacer certains paquets de bourrage par des paquets de données de contrôle dans le flux pour marquer certaines positions dans le contenu. Ces paquets de contrôle permettent à une seconde application de relecture de repérer dans le flux les positions de début et fin de publicité, ou de déclencher un saut d'une séquence, ou un changement automatique de mode de relecture, ou une reprise de la lecture à une position préalablement mémorisée, etc... . Le fait que le "marqueur" soit dans le flux est un avantage puisqu'il ne nécessite pas de fichier d'indexage spécifique, et qu'il fait partie intégrante du flux quelque soient les copies qui peuvent en être faites. Une application de marquage manuel par un utilisateur qui visualise simultanément le contenu est envisageable. Lors de la relecture du flux de données dans le disque dur 12, les paquets de bourrage sont remplacés par des paquets de données de contrôle dédiés à l'application. Ces paquets de contrôle permettent à l'application de savoir, par exemple, à quel moment on peut couper la visualisation du programme en cours pour y insérer des informations telles de la publicité ou encore pour insérer des ralentis ou autres manipulations. Ces paquets de contrôle peuvent également servir à contrôler les modes de navigation spéciaux tels l'avance rapide par exemple. Le processeur 10 filtre alors les paquets de bourrage lors de la relecture afin de les modifier. Dans un autre mode de réalisation, il est également envisageable que 5 les paquets de bourrage soient remplacés par des paquets de contrôle dans le flux enregistré sur le disque dur, avant la relecture du flux. La figure 2 illustre la modification effectuée sur le flux conformément au mode préféré de réalisation. Le flux de données 14 est un flux de type train transport comportant plusieurs programmes. Le flux est filtré par le filtre 4 en référence à la figure 1. Les différents programmes sont donc isolés et un flux 15 est reconstitué pour chaque programme comprenant les paquets relatifs à chaque programme. Le flux 15 est ensuite multiplexé avec des paquets 18 de données de bourrage. On obtient ainsi un flux 16 contenant des paquets de données d'un même PID et des paquets de bourrage 18 intercalés parmi les paquets de données. On peut par exemple insérer un paquet de bourrage 18 tous les 100 paquets de données. Le flux de données 16 est ensuite enregistré dans le disque dur 12. Lorsque ce flux doit être marqué relativement à une application particulière, l'application indique à quel endroit elle souhaite venir marquer le flux. Les données relatives à l'application sont reçues par le microprocesseur 10 qui effectue également la gestion du disque dur 12. Lorsque l'application indique quelles parties du flux elle souhaite marquer, le processeur vient remplacer le ou les paquets de bourrage 18 situées immédiatement après la position indiquée par l'application par les données de contrôle transmises par l'application. Le paquet de contrôle peut également pointer sur un paquet précis du flux en indiquant dans le paquet de contrôle une distance en nombre de paquets par exemple par rapport à l'emplacement qu'il souhaite marquer. II peut dans ce cas indiquer un nombre de paquets avant ou après le paquet de contrôle qui permet de repérer le paquet après ou avant lequel il faut insérer les informations souhaitées par l'application. II indique dans ce cas une position relative par rapport au paquet à marquer. Revendications 1. Dispositif (1) d'enregistrement d'un flux de données (14) comprenant des paquets de données, ledit dispositif comprenant des moyens (12) de stockage destinés à stocker les paquets de données caractérisé en ce qu'il comprend des moyens (4, 10) d'insérer des paquets de bourrage (18) entre les paquets de données lors de l'enregistrement dans lesdits moyens (12) de stockage. 2. Dispositif (1) selon la revendication 1 caractérisé en ce qu'il comprend des moyens (4,10) de remplacer lesdits paquets de bourrage (18) par des paquets de données de contrôle. 3. Dispositif (1) selon l'une des revendications précédentes caractérisé en ce que les moyens (4, 10) d'insérer des paquets de bourrage (18) insèrent lesdits paquets de bourrage (18) de manière régulièrement espacés dans le flux de données. 4. Dispositif (1) selon l'une des revendications 2 ou 3 caractérisé en ce qu'il comprend des moyens (10) de lecture des paquets de données et des paquets de contrôle dans les moyens (12) de stockage et des moyens (10) de filtrage des paquets de contrôle. 5. Dispositif (1) selon l'une des revendications précédentes caractérisé en ce que lesdits paquets de contrôle sont destinés à contrôler des modes de navigation spéciaux. 6. Dispositif (1) selon l'une des revendications 1 à 5 caractérisé en ce qu'il est un récepteur de télévision numérique. 7. Procédé d'enregistrement dans des moyens de stockage d'un flux de données comprenant des paquets de données, caractérisé en ce qu'il insère des paquets de bourrage entre les paquets de données lors de l'enregistrement dans les moyens de stockage.