Brevet FR2842320A1 — publié le 20040116

i L'invention concerne une méthode et un dispositif de traitement de données multimedia. Les dispositifs de traitement de flux de données multimédia sont amenés à traiter des flux de nature différente exigeant des temps de traitement très courts et également des performances remarquables. Par traitement de données multimédia, on entend, de manière non exhaustive, du codage, du décodage dans des formats différents suivant les types d'application auxquelles sont destinés les flux de données ainsi que de la manipulation de données multimédia consistant à personnaliser les données selon les souhaits d'un utilisateur. Par données multimédia, on entend, de manière non exhaustive, des données de type audio/vidéo, des images fixes, du son, des données graphiques. De plus, les dispositifs destinataires de ces flux sont souvent des dispositifs ayant des caractéristiques et des exigences souvent incompatibles, ces dispositifs pouvant être, de manière non exhaustive, des dispositifs de visualisation, des dispositifs de stockage ou des réseaux de données. Les traitements à effectuer sur les flux entrants sont donc souvent différents, par exemple en matière de codage ou de décodage, et parfois même incompatibles lorsqu'un flux est destiné à la fois à un moyen de stockage et à un dispositif de visualisation par exemple. Dans ce cas, les flux de données doivent bien souvent être manipulés plusieurs fois ce qui demande des ressources importantes dans les dispositifs connus En effet, les dispositifs de traitement de données multimédia connus mettent en oeuvre des architectures à base de bus interconnectant les différentes composantes permettant de réaliser les différents traitements à effectuer sur la vidéo. Si un même flux est destiné à différents destinataires de nature différente, ces flux sont souvent véhiculés sur le bus afin de subir les différents traitements. Les données passent donc sur le bus plusieurs fois afin de subir les différents traitements effectués par les différents modules et lorsque les données sont destinées à plusieurs modules, ils monopolisent bien souvent plusieurs fois le bus pour le même type de traitement, ce qui entraîne des temps de traitement importants et nécessite de nombreuses ressources. L'invention propose donc un dispositif dont l'architecture est adaptée au traitement de flux de données multimédia et permettant d'améliorer les performances des dispositifs actuels. A cet effet, l'invention propose un dispositif de traitement de données multimédia comportant - des moyens pour recevoir des flux entrants de données multimédia de nature différente, - des moyens de gestion de flux, - des moyens d'aiguiller les flux entrants en fonction de leur nature vers les moyens de gestion de flux, - une pluralité de moyens de traitement de flux en fonction de l'origine ou de la destination des flux, connectés aux moyens de gestion de flux, Selon l'invention, les moyens de gestion, les moyens de réception, les moyens d'aiguiller les flux entrants et les moyens de traitement de flux coopèrent afin d'assurer au moins un chemin pour chaque flux entrant de nature différente afin de permettre un traitement parallèle des flux de natures différentes et leur acheminement vers au moins un moyen destinataire du flux. Ainsi, les différents flux traités ne sont pas en concurrence et peuvent être traités de manière indépendante les uns des autres de façon à ne pas ralentir le temps de traitement et éviter les conflits qui peuvent se produire dans des architectures connues de type bus o un seul bus relie les différentes composantes mises en jeu dans le traitement des flux. L'architecture proposée peut par exemple être considérée comme une architecture de type " pipeline " par opposition à une architecture de type bus unique communément employée pour ce genre de traitement. Chaque flux entrant dans le dispositif de traitement est acheminé directement de l'entrée vers la sortie en passant par les différents modules mais en ne faisant pas plusieurs aller-retours entre les différents modules. Selon un mode préféré de réalisation, les moyens destinataires du flux peuvent être choisis parmi - un moyen de stockage permanent, - un moyen de stockage amovible, - un réseau de données, - un moyen de visualisation, et une combinaison quelconque de ces entités. L'invention est particulièrement avantageuse, mais non limitée à ce mode de réalisation, lorsque les différents flux sont destinés à des moyens de stockage, des réseaux ou des dispositifs de visualisation dont les exigences sont différentes en terme de format de flux, de débit et de traitement des données. Selon un mode préféré de réalisation, lorsque le module destinataire est un moyen de visualisation, les moyens de traitement comportent - des moyens de décodage du flux, - des moyens de présenter des flux de type audio/vidéo, - des moyens de coder un flux vidéo. Selon ce mode de réalisation, les flux de données peuvent subir des traitements permettant de réaliser des fonctions de décodage du flux, de conversion de l'audio/vidéo, de codage de la vidéo selon différents standards et ainsi de s'adapter aux différents dispositifs destinataires tout en ne monopolisant pas le dispositif pour ces traitements particuliers. Tous ces traitements sont effectués en utilisant des chemins différents permettant de les effectuer de manière concurrentielle. Selon un mode préféré de réalisation, les moyens de décodage du flux comprennent au moins deux moyens de décodage adaptés à décoder au moins deux flux simultanément. Ceci peut éventuellement permettre de faire de l'incrustation vidéo. Selon un mode préféré de réalisation, les moyens de présenter des flux de type audio/vidéo sont destinés à manipuler les flux de données en y ajoutant des moyens choisis parmi - de l'incrustation de texte - de la synthèse graphique, - de l'insertion d'image dans l'image, - des effets vidéo, - de l'édition temps réel sur le flux vidéo, et une combinaison quelconque de ces entités. Conformément à ce dernier mode de réalisation, le dispositif est particulièrement intéressant pour manipuler différents types de flux en y ajoutant des possibilités de manipulation graphique et différents effets spéciaux permettant de personnaliser les programmes reçus. Selon un mode préféré de réalisation, les flux entrants de données multimédia sont choisis parmi - des flux de nature numérique, - des flux de nature analogique, - des flux venant des moyens de présenter des flux de type audio/vidéo, - des flux venant des moyens de décodage du flux, et une combinaison quelconque de ces entités. Selon un mode préféré de réalisation, le dispositif comporte - des moyens de convertir les flux de nature analogique en flux de nature numérique, des moyens de coder les flux analogiques numérisés, les flux venant des moyens de décodage du flux et les flux sortant des moyens de présenter des flux de type audio/vidéo. Selon un mode préféré de réalisation, le dispositif comporte des moyens de protection du contenu permettant de protéger le contenu des flux sortant des moyens de présenter des flux de type audio/vidéo et des flux venant des moyens de décodage du flux et destinés à être stockés ou diffusés vers un réseau extérieur. La protection du contenu est un enjeu important pour les créateurs de contenu et notamment lorsque les dispositifs de traitement des données audio vidéo sont insérés dans des réseaux de communication car il est difficile alors de maîtriser l'utilisation du contenu par les différents périphériques connectés au réseau. Il peut donc être particulièrement avantageux, dans certains modes de réalisation, de prévoir une protection du contenu de façon à limiter l'utilisation des données et les droits de certains utilisateurs. L'invention concerne également une méthode de traitement de données multimédia comportant les étapes de: - réception des flux entrants de données multimédia de nature différente, - aiguillage des flux en fonction de leur nature vers des moyens de gestion des flux, - traitement de flux en fonction de l'origine ou de la destination du flux, connectés aux moyens de gestion des flux, caractérisé en ce qu'il comporte une étape permettant aux moyens de gestion, aux moyens d'aiguiller les flux et aux moyens de traitement de coopérer afin d'assurer au moins un chemin direct et distinct pour chaque flux entrant de nature différente afin d'assurer le traitement simultané des flux de nature différente et leur acheminement vers au moins un module destinataire du contenu. L'invention sera mieux comprise et illustrée au moyen d'exemples de 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 montre une représentation globale d'un mode de réalisation de l'invention, - La figure 2 montre une représentation détaillée d'un mode de réalisation de l'invention. Sur la figure 1, le dispositif de traitement 100 comporte des entrées de nature numérique Dl, D2,...,Dn et des entrées de nature analogique Ax véhiculant des données multimédia ou analogiques. Les flux analogiques sont convertis en flux numériques par un convertisseur analogique/numérique 10 et envoyés vers un multiplexeur 1 multiplexant également les entrées rebouclées venant du dispositif 100. La sortie du codeur 2 est connectée au dispositif 100 et plus particulièrement au module 3 d'aiguillage des flux. Le module 3 reçoit en entrée tous les flux entrants mentionnés et aiguille les flux en fonction de leur nature et de leur destination. Les entrées du module 3 sont dédiées aux flux entrants, les sorties sont dédiées aux entrées d'un gestionnaire de flux 4. Le module 3 est une couche d'adaptation qui permet d'aiguiller un signal entrant vers un process (qui a une entrée dédiée) du gestionnaire de flux 4. L'aiguillage est fonction de l'application. Par exemple, l'enregistrement direct d'un flux sur un moyen de stockage de type disque dur, non représenté, connecté à une entrée/sortie 8 du dispositif 100, se fait en établissant un chemin entre une entrée Dl, D2,...,Dn ou une sortie du codeur 2 et l'entrée du process qui gère l'enregistrement audio/vidéo du disque dur. Le module 3 d'aiguillage est connecté au gestionnaire 4 de flux de données. Le module 4 effectue, entre autre, des opérations de démultiplexage, de contrôle d'accès sur le flux audio/vidéo, de désembrouillage, d'estampillage temporel, de stockage, de lecture, de désempaquettage de deux ou plusieurs flux entrants. Il effectue aussi des relectures de données stockées dans des moyens de stockage connectés à l'entrée/sortie 8. Ce module est capable de traiter au moins deux flux simultanément. Toutes les opérations sont effectuées en temps réel par des processeurs rapides. Le gestionnaire de flux génère en sortie des flux de nature différente suivant la destination des flux. Le dispositif 100 comporte des moyens de traitement constitués de décodeurs 5, de module de présentation de la vidéo 6 et d'encodeur vidéo 7. Les flux peuvent être destinés à des dispositifs de stockage, des dispositifs de visualisation, ou à d'autres terminaux à travers des réseaux. Les flux destinés à des dispositifs de visualisation sont transmis à des décodeurs 5 fonctionnant selon des standards bien connus suivant le type de dispositif destinataire. Les flux en entrée du décodeur sont conformes à la norme MPEG-2 (acronyme anglais de " Motion Picture Expert Group "), MPEG-4, DV (acronyme anglais de " Digital video ") ou alors JPEG (acronyme anglais de " Joint Picture Expert Group "), TIFF (acronyme anglais de " Tagged Image File Format ") pour le codage d'images fixes, PNG (acronyme anglais de " Portable Network Graphics ") ou MP3 (acronyme anglais de " MPEG audio layer"), MP3Pro, WMA (acronyme anglais de " Windows Media Audio ") pour du son. Les décodeurs 5 sont par exemple des décodeurs conformes à la norme CCIR 656, encore connue sous le nom de 4:2:2. Ces décodeurs sont, par exemple, des codeurs basés sur la transformée en cosinus discrète (DCT). Les décodeurs 5 comportent des processeurs rapides pilotés par des logiciels temps réel qui permettent le décodage temps réel des flux vidéo sans l'assistance de processeurs externes. Les flux audio de type MPEG-2, MP3, WMA sont traités par des décodeurs audio non représentés sur cette figure. La sortie du décodeur vidéo est connectée à un module 6 de présentation de la vidéo. Ce module comporte des moyens lui permettant d'effectuer des modes d'effets spéciaux, des incrustation de texte (" OSD " en anglais), de l'image dans l'image (" PIP " en anglais), de la synthèse graphique, de l'édition temps réel sur le flux vidéo. Ce module permet également de faire des présentations avancées en ajoutant des modes spéciaux tels que des images en deux ou trois dimensions. Dans de tels modules tels que le module 6, la vidéo est considérée comme une texture et est plaquée sur des formes en deux dimensions telles que des rectangles ou toute autre forme. Lorsque des effets en trois dimensions sont réalisés, des formes en trois dimensions telles que des cubes par exemple sont utilisées pour plaquer la vidéo. Des calculs au niveau pixel sont effectués pour appliquer l'illumination, les ombrages et autres effets. Le module de présentation de la vidéo 6 donne les moyens de produire localement des images animées, complètement synthétisées ou crées à partir d'images originales ou de scènes. De telles images animées peuvent être par exemple des EPGs (acronyme de " guide de programmes électronique "), des jeux. Le module de présentation permet de présenter des images soit par composition de scène à partir d'objet, soit par synthèse, ou les deux. Le module de présentation de la vidéo permet également à un utilisateur de faire de l'édition vidéo en temps réel et de ce fait de produire ses films personnels ou ses bibliothèques d'images. Le module 6 de présentation de la vidéo est connecté en sortie à un module 7 d'encodage vidéo qui produit un signal conforme au format requis par le dispositif de visualisation. Ce signal de sortie peut être un signal connu de type numérique ou analogique, par exemple de type SDTV (acronyme anglais de " Standard Definition Television ") ou de type HDTV (acronyme anglais de " High Definition Television "). Dans un premier mode de réalisation, lorsque le format de sortie est conforme au standard SDTV, l'encodeur analogique est réalisé par un encodeur de type numérique auquel est ajouté un convertisseur numériqueanalogique. L'encodeur numérique convertit directement un signal 4:2:2 en un signal NTSC (acronyme anglais de " National Television System Committee "), conforme au standard CCIR601, ou un signal PAL (acronyme anglais de " Phase Alternating Line "), SECAM (acronyme de " Système Electronique Couleur Avec Mémoire "), Y/C ou RVB (acronyme de " Rouge, Vert, Bleu ").. Dans une variante, lorsque le format de sortie est conforme au standard HDTV, les signaux sont formatés au signal 4:2:2 et transmis en utilisant par exemple le standard DVI (acronyme anglais de " Digital Visual Interface " signifiant " interface visuelle numérique "). La sortie des décodeurs 5 est également connectée au multiplexeur 1. Ceci permet de façon avantageuse d'enregistrer des données audio/vidéo dans un format quelconque avant ou après un transcodage. Ceci permet de façon avantageuse d'enregistrer des données codées initialement au format DV (à 3OMbit/s) au format MPEG-2 à un débit de 4Mbit/s, la perte de qualité étant très faible. La sortie du module 6 de présentation de la vidéo est également connectée au multiplexeur 1. Ceci permet avantageusement d'enregistrer de la vidéo après l'avoir éditée, modifiée, traitée,. Par exemple, ceci peut permettre à un utilisateur recevant de la vidéo d'un caméscope numérique par l'intermédiaire d'un réseau au standard IEEE-1394 d'éditer cette vidéo en y ajoutant des effets spéciaux, des commentaires et de l'enregistrer ensuite sur un moyen de stockage à un débit inférieur pour ne pas utiliser trop d'espace mémoire sur un moyen de stockage. Des mécanismes de protection du contenu, non représentés, sont utilisés afin de préserver les droits associés aux données reçues. En effet, la protection du contenu est un objectif important dans le traitement de données audio/vidéo et les créateurs de contenu ne souhaitent pas une utilisation sans limite des données. La figure 2 représente une vue plus détaillée d'un dispositif 200 conforme à un mode de réalisation de l'invention. Le dispositif 200 conforme à un mode de réalisation selon l'invention comporte deux entrées analogiques AI, A2, deux entrés numériques Dl, D2, deux entrées 35, 36 connectées à une interface 34 conforme à la norme IEEE-1394. Les deux entrées analogiques sont connectées à un multiplexeur 38, dont la sortie est connectée à un module d'encodage 11 permettant d'encoder les flux analogiques au format CCIR656. Le flux encodé au format CCIR656 sortant du module d'encodage 11 est multiplexé par un multiplexeur 1 avec des flux rebouclés provenant du dispositif 200. A la sortie du multiplexeur 1, les flux sont transmis à un codeur 2 codant les données au format MPEG-2. Une mémoire 37 de type SDRAM (acronyme anglais de " Synchronous Dynamic Random Access Memory ") est connectée au codeur 2. Les entrées numériques DI, D2, les sorties de l'interface IEEE-1394 et les sorties du codeur 2 sont toutes reliées au module 3 d'aiguillage des données qui aiguille les flux en fonction de leur nature et de leur destination comme décrit précédemment. Le module 3 est connecté au module 4 de gestion des flux décrit précédemment. Ce module 4 est connecté à des moyens de stockage permanent 12 et amovible 13. Ces moyens de stockage permettent avantageusement d'enregistrer des données vidéo codées selon différents formats. Le gestionnaire de flux 4 est également connecté à un microprocesseur 14 luimême connecté à un lien Ethernet 15, à un lecteur de carte à puce 16 et à une mémoire de type SDRAM 17. Le microprocesseur 14 abrite le système, les applications et contrôle les différents périphériques liés au système, tels qu'une mémoire PROM (acronyme anglais de " Programmable Read Only Memory ") 18, une horloge temps réel 19, un générateur de graphiques 26, les périphériques lents tels que l'interface Ethernet 15, le lecteur de carte à puce 16, le mode asynchrone de l'interface 34 IEEE-1394, configure tous les modules système. Le gestionnaire de flux 4 est un ensemble de processeurs dédiés au traitement des flux, contrôlé et commandé par le microprocesseur mais possédant les ressources nécessaires pour effectuer les tâches demandées par les différentes applications. Le gestionnaire de flux 4 est connecté à des décodeurs vidéo 20 et 21 et à des décodeurs audio 22 et 23. Les décodeurs vidéo 20 et 21 sont respectivement connectés à des mémoires 24 et 25 de type SDRAM. Les décodeurs vidéo 20 et 21 sont connectés au module 6 de présentation de la vidéo. Les décodeurs audio 22 et 23 sont connectés à un module audio 29. Ce module audio 29 permet une connexion directe à un dispositif de restitution audio 32. Le module 6 de présentation de la vidéo est connecté à un accélérateur graphique 26 lui-même relié à une mémoire 27 de type SDRAM. Le module 6 est également connecté à un dispositif de codage CVBS (acronyme anglais de " Composite Video Baseband Signal ") 28 lui-même connecté à un dispositif de visualisation 31. Un bus B de connexion relie l'accélérateur graphique 26, le microprocesseur 14, le lecteur de carte à puce 16 ainsi que la mémoire 18 de type PROM, l'horloge temps réel 19 et l'interface 34 IEEE-1394. Revendications 1. Dispositif (100,200) de traitement de données multimédia comportant des moyens (1, 2, 10) pour recevoir des flux entrants (Dl, D2, Dn, Ax, AI, A2, 36, 35) de données multimédia de nature différente, - des moyens (4) de gestion de flux, - des moyens (3) d'aiguiller les flux entrants en fonction de leur nature vers les moyens (4) de gestion de flux, - une pluralité de moyens (5, 6, 7) de traitement de flux en fonction de l'origine ou de la destination des flux, connectés aux moyens (4) de gestion de flux, caractérisé en ce que les moyens (4) de gestion, les moyens (1, 2, 10) de réception, les moyens (3) d'aiguiller les flux entrants et les moyens de traitement (5, 6, 7) de flux coopèrent afin d'assurer au moins un chemin pour chaque flux entrant de nature différente afin de permettre un traitement parallèle des flux de natures différentes et leur acheminement vers au moins un moyen (8, 9) destinataire du flux. 2. Dispositif selon la revendication 1 caractérisé en ce que les moyens destinataires du flux peuvent être choisis parmi - un moyen (12) de stockage permanent, - un moyen (13) de stockage amovible, - un réseau de données, - un moyen (31) de visualisation, et une combinaison quelconque de ces entités. 3. Dispositif selon l'une des revendications 1 ou 2 caractérisé en ce que, lorsque le module destinataire est un moyen de visualisation, la pluralité des moyens de traitement comportent - des moyens (5, 20, 21, 22, 23) de décodage du flux, - des moyens (6) de présenter des flux de type audio/vidéo, - des moyens (7) de coder un flux vidéo. 4. Dispositif selon la revendication 3 caractérisé en ce que les moyens (5) de décodage du flux comprennent au moins deux moyens de décodage adaptés à décoder au moins deux flux simultanément. 5. Dispositif selon la revendication 3 ou 4 caractérisé en ce que les moyens (6) de présenter des flux de type audio/vidéo sont destinés à manipuler les flux de données en y ajoutant des moyens choisis parmi - de l'incrustation de texte - de la synthèse graphique, - de l'insertion d'image dans l'image, - des effets vidéo, - de l'édition temps réel sur le flux vidéo, et une combinaison quelconque de ces entités. 6. Dispositif selon l'une des revendications 1 à 6 caractérisé en ce que les flux entrants (DI, D2, Dn, Ax, AI, A2, 36, 35) de données multimédia sont choisis parmi - des flux (DI, D2, Dn) de nature numérique, - des flux (AI, A2, Ax) de nature analogique, - des flux venant des moyens de présenter des flux de type audio/vidéo, - des flux venant des moyens de décodage du flux, et une combinaison quelconque de ces entités. 7. Dispositif selon la revendication 6 caractérisé en ce qu'il comporte des moyens (10) de convertir les flux de nature analogique (AI, A2, Ax) en flux de nature numérique, - des moyens (2) de coder les flux analogiques (AI, A2, Ax) numérisés, les flux venant des moyens de décodage du flux et les flux sortant des moyens de présenter des flux de type audio/vidéo. 8. Dispositif selon la revendication 7 caractérisé en ce qu'il comporte des moyens de protection du contenu permettant de protéger le contenu des flux sortant des moyens de présenter des flux de type audio/vidéo et des flux venant des moyens de décodage du flux et destinés à être stockés ou diffusés vers un réseau extérieur. 9. Méthode de traitement de données multimédia comportant les étapes de - réception des flux entrants de données multimédia de nature différente, - aiguillage des flux en fonction de leur nature vers des moyens de gestion des flux, - traitement de flux en fonction de l'origine ou de la destination du flux, connectés aux moyens de gestion des flux, caractérisé en ce qu'il comporte une étape permettant d'assurer au moins un chemin direct et distinct pour chaque flux entrant de nature différente entre les différents moyens afin d'assurer le traitement simultané des flux de nature différente et leur acheminement vers un module destinataire du contenu.