Brevet FR2940729A1 — publié le 20100702

Procédé de génération de fichiers multimédia destinés à être transmis par paquets dans un réseau pair-à-pair La présente invention concerne un procédé de génération de fichiers multimédia destinés à être transmis par paquets dans un réseau pair-à-pair. Il est connu d'utiliser le réseau Internet pour accéder à des contenus multimédia, notamment pour visualiser des contenus vidéo accessibles en vidéo à la demande ou VoD pour � Video On Demand � en anglais. Selon un mode de diffusion, ces contenus vidéo peuvent être transmis par téléchargement, auquel cas il nécessite de récupérer l'ensemble du fichier codant ce contenu vidéo préalablement à sa restitution. La mise en oeuvre d'une diffusion par un réseau pair-à-pair, ou � peer-to-peer � en anglais, peut alors permettre de faciliter cette récupération. En effet, un réseau pair-à-pair est formé par une pluralité de serveurs pouvant transmettre et recevoir des fichiers de telle sorte que chaque serveur du réseau, ayant reçu un fichier, peut le retransmettre aux autres serveurs du réseau. Par la suite, un tel serveur est dénommé pair. Afin de fournir des fichiers à diffuser au réseau pair-à-pair, un opérateur peut préparer ces derniers à l'aide d'un serveur dénommé � seed server � ou � Content Préparation Server � en anglais. Un tel serveur opérateur définit une première zone du réseau pair-àpair vis-à-vis d'une seconde zone formée par les pairs qui, comme indiqués, peuvent remplir les fonctions de clients et de serveurs. Afin de répondre à une requête d'achat d'un contenu, le serveur opérateur émet un ticket d'achat transmis avec deux listes décrites ci- dessous: - Une liste de paquets, également dénommés morceaux ou � chunk � en anglais, formant le fichier multimédia et utilisés pour distribuer le fichier codant ce contenu dans le réseau pair-à-pair. Cette liste est dénommée � content map� en anglais. - Une liste de serveurs, comprenant au moins un serveur opérateur et les pairs, auprès desquels ce fichier peut être totalement û tous ses paquets - ou partiellement û quelques paquets û récupéré. Cette liste est dénommée � peer list� en anglais. Il apparaît que le fonctionnement d'un réseau pair-à-pair est particulièrement performant, notamment en termes de rapidité et de fiabilité de réponse, lorsqu'un même fichier est distribué à plusieurs reprises. De fait, dans ce cas, les paquets déjà distribués une première fois, à travers des pairs, peuvent être utilisés à travers les mêmes pairs pour répondre à toute nouvelle requête. Toutefois, des fournisseurs de contenus vidéo peuvent souhaiter individualiser les contenus délivrés dans ces réseaux selon des profils déterminés afin de personnaliser et/ou d'adapter leur offre de contenus. Par exemple, différentes publicités peuvent alternativement être insérées dans un film transmis par un réseau pair-à-pair en fonction de la localisation géographique du pair requérant le téléchargement de ce film. A titre d'exemple, on peut citer d'autres critères pour personnaliser/adapter une offre de contenus comme, sans limitation, une catégorie d'abonnement, une catégorie socioprofessionnelle du requérant, un historique des requêtes et/ou des achats déjà effectués, des préférences déclarées par le requérant dans un questionnaire. Dans ce cas, la spécificité de chaque fichier multimédia ainsi généré entraîne une pluralité de contenus multimédia distincts et, par conséquent, multiplie la quantité de fichiers, et des paquets dérivés, devant être traités par un réseau pair-à-pair. La présente invention vise à remédier à cet inconvénient. Elle résulte de la constatation que la transmission, dans un réseau pair-à-pair, de deux fichiers présentant une différence, même relativement faible, de contenus peut requérir des paquets totalement distincts pour chacun de ces fichiers. En effet, les paquets mis en oeuvre dans un réseau pair-à-pair ont généralement une taille constante de telle sorte que, par exemple, une insertion de données dans un fichier décale l'ensemble des données de ce fichier en aval de l'insertion vis-à-vis du sens de lecture de ce fichier. C'est pourquoi, la présente invention concerne un procédé de génération de fichiers multimédia destinés à être transmis via un réseau pair-à-pair par paquets de même taille, chacun de ces fichiers multimédia étant obtenus à partir d'un fichier intermédiaire comprenant : - un contenu commun aux fichiers intermédiaires, formé par des données primaires, et - un contenu spécifique à chaque fichier intermédiaire, formé par des données secondaires introduites dans une zone d'insertion délimitée par des données primaires, caractérisé en ce qu'on génère ces fichiers multimédia en introduisant des données de remplissage dans les zones d'insertion des fichiers intermédiaires de telle sorte qu'une limite de ces zones d'insertion corresponde à une limite entre deux paquets de transmission distincts. Grâce à un procédé conforme à l'invention, il est possible d'augmenter la quantité de paquets communs à plusieurs fichiers multimédia transmis via un réseau pair-à- pair. En effet, les données de remplissage sont utilisées pour compenser le décalage, dû à l'insertion de données comme précédemment décrit, entre des paquets transportant des données multimédia qui diffèrent à la suite d'une insertion de données distinctes. Ainsi, la transmission des données présentes dans les zones d'insertions (données secondaires ou données de remplissage) peut être effectuée au moyen de paquets dédiés de telle sorte que la transmission du contenu commun, situé au-delà de cette limite, peut être effectuée à partir de mêmes paquets communs. Dans une réalisation, on introduit les données de remplissages entre les données secondaires et la limite des zones d'insertion correspondant à une limite entre deux paquets distincts. Selon une réalisation, on introduit les données de remplissage en fonction de paramètres communs aux fichiers intermédiaires. Par exemple, les paramètres communs aux fichiers intermédiaires peuvent comprendre au moins un des paramètres suivants : la localisation des zones d'insertion dans le fichier commun, une taille prédéterminée des paquets à transmettre, les tailles des fichiers intermédiaires, une règle de localisation des données de remplissage dans un paquet. Ainsi, une telle règle de localisation des données de remplissage dans un paquet peut requérir la localisation de ces données de remplissage en début ou en fin de paquet. Dans ce cas, des informations indiquant la quantité de données de remplissage, situées en début ou en fin d'un paquet, peuvent être associées à ce paquet dans la liste des paquets ou �content map �. Dans une réalisation, on associe à un premier fichier multimédia généré une liste de contenus identifiant au moins un second fichier multimédia présentant des paquets communs avec ce premier fichier multimédia. L'invention concerne également un serveur opérateur générant des fichiers multimédia destinés à être transmis par paquets dans un réseau pair-à-pair, chacun de ces fichiers multimédia étant obtenu à partir d'un fichier intermédiaire comprenant : - un contenu commun formé par des données primaires, - un contenu spécifique formé par des données secondaires introduites dans une zone d'insertion située entre des données primaires du contenu com- mun, caractérisé en ce qu'il comprend des moyens pour générer ces fichiers en introduisant des données de remplissage dans les zones d'insertion des fichiers intermédiaires de telle sorte qu'une limite de ces zones d'insertion corresponde à une limite entre deux paquets de transmission distincts selon un procédé conforme à l'une des réalisations précédentes. Dans une réalisation, le serveur opérateur comprend : - des moyens pour recevoir une requête de transmission du contenu commun, et - des moyens pour transmettre une liste de paquets et une liste de serveurs d'un fichier multimédia généré, ce fichier multimédia étant sélectionné en fonction de paramètres propres à la requête de ce serveur client. L'invention concerne également un pair destiné à recevoir et transmettre des fichiers multimédia dans un réseau pair-à-pair, chacun de ces fichiers multimédia étant obtenu à partir d'un fichier intermédiaire comprenant : - un contenu commun formé par des données primaires, - un contenu spécifique formé par des données secondaires introduites dans une zone d'insertion située entre des données primaires du contenu commun, caractérisé en ce qu'il comprend des moyens pour détecter des données de remplissages insérées entre des données d'un fichier multimédia selon un procédé conforme à l'une des réalisations précédentes, et - des moyens pour supprimer ces données de remplissage afin de reproduire le contenu multimédia du fichier sans considérer les données de rem-plissage. Selon une réalisation, le pair comprend des moyens pour réinsérer les données de remplissage supprimées avant de transmettre le fichier mul- timédia à un autre pair. L'invention concerne également des fichiers multimédia destinés à être transmis par paquets dans un réseau pair-à-pair, chacun de ces fichiers multimédia étant obtenu à partir d'un fichier intermédiaire comprenant : - un contenu commun formé par des données primaires, - un contenu spécifique formé par des données secondaires introduites dans une zone d'insertion située entre des données primaires du contenu commun, caractérisés en ce qu'ils comprennent des données de remplissage dans leurs zones d'insertion de telle sorte qu'une limite de ces zones d'insertion corresponde à une limite entre deux paquets de transmission distincts selon un procédé conforme à l'une des réalisations précédentes. Brève description des figures D'autres caractéristiques et avantages de l'invention ressortiront clai- rement de la description qui en est donnée ci-dessous, à titre indicatif et nullement limitatif, en référence aux différentes figures annexées qui montrent : - à la figure 1, des fichiers intermédiaires formés par un contenu commun et des contenus spécifiquement insérés préalablement à la mise en oeuvre de l'invention, - à la figure 2, des paquets, communs ou spécifiques à différents fi- chiers multimédias, générés à partir des fichiers intermédiaires de la figure 1 conformément à l'invention, et - à la figure 3, des fichiers multimédia formés par les paquets de la figure 1 conformément à l'invention. Description des formes de réalisation préférées de l'invention Les éléments ayant une même fonction, apparaissant sur différentes figures, conservent sauf précision contraire les mêmes références. En référence à la figure 1 est représenté un contenu 10 commun, formé par des données primaires, destiné à former 5 fichiers multimédia par différentes introduction de contenus spécifiques 16, 18, 20 et/ou 22 dans des zones d'insertion 12 et 14 de ce contenu commun. Plus précisément, ces 5 fichiers multimédia doivent être générés de comme indiqués ci-dessous : - Le premier fichier : 10 + 16 (zone 1) + 18 (zone 2) - Le second fichier : 10 + 16 (zone 1) + 22 (zone 2) - Le troisième fichier : 10 + 18 (zone 1) + 20 (zone 2) - Le quatrième fichier : 10 + 18 (zone 1) + 22 (zone 2) - Le cinquième fichier : 10 + 20 (zone 2) Dans cet exemple, ces zones d'insertion 12 et 14 sont sélectionnées par un opérateur afin d'être acceptables et/ou pertinentes par rapport au contenu vidéo du fichier commun 10. Ainsi, l'opérateur peut éviter d'interrompre un dialogue ou une scène d'action avec une publicité. Lorsque les contenus spécifiques 16, 18, 20 et/ou 22 sont insérés dans le fichier commun 10, on génère alors les fichiers intermédiaires 1', 2', 3', 4' ou 5' représentés. Ces fichiers intermédiaires 1', 2', 3', 4' ou 5' présentent des longueurs variables de telle sorte que leur décomposition en paquets de même taille génèrerait de nombreux paquets spécifiques à chacun des fichiers, limitant ainsi l'intérêt d'une transmission par un réseau pair-à-pair comme précédemment souligné. C'est pourquoi, un outil logiciel est mis en oeuvre pour introduire des données de remplissages dans les zones d'insertion 12 ou 14 de telle sorte qu'une limite de chacune de ces zones d'insertion 12 et 14 corresponde à une limite entre deux paquets de transmission distincts. Une telle mise en oeuvre génère plusieurs paquets communs et/ou spécifiques tels qu'identifiés sur la figure 2 par une ordonnée - I, II ou III û et une abscisse - a, b, c, ...j ou k -, les divers fichiers multimédia souhaités pouvant être formés à partir de ces paquets communs et/ou spécifiques comme représenté sur la figure 3. Dans cet exemple, la limite considérée des zones d'insertion 12 et 14 est la limite située en aval vis-à-vis du sens de lecture û ou de reproduction û des fichiers, ce sens étant représenté par une flèche sur la figure 2. Ainsi, les données primaires situées en aval d'une zone d'insertion peuvent être transmises par des paquets communs - Ile et Ilf pour la zone 12 ; IIj, Ilk pour la zone 14 - tandis que toutes les données û secondaires ou de remplissage - situées dans une zone d'insertion peuvent être transmises par des paquets spécifiques û Ic, Ilc, Ild pour la zone 12 ; Ih, li, Ilh, Illh pour la zone 14. En outre, les données primaires situées à la limite amont d'une zone d'insertion peuvent être également transmises dans un paquet commun en considérant, par exemple, que le paquet transmettant ces données primaires est complété par des données de remplissage. Toutefois, dans cette réalisation, ces données primaires situées en amont d'une zone d'insertion forment un paquet spécifique û lb, Ilb ou Illb pour la zone 12 ; Ig, Ilg ou Illg pour la zone 14 - à chaque fichier multimédia en formant un paquet avec des données secondaires d'un contenu spécifique, ce qui permet de limiter la quantité de données de remplissage utilisées par le procédé. De fait, l'outil logiciel peut prendre en considération de nombreuses approches et de nombreux paramètres pour insérer des données de remplissage tels que, sans limitation, la localisation des zones d'insertion 12 ou 14, la taille imposée des paquets et les tailles des fichiers intermédiaires 1', 2', 3', 4' ou 5'. Il convient de noter que, lorsque des fichiers multimédia présentent des contenus spécifiques identiques, l'outil logiciel peut également produire des paquets de données secondaires communs à ces fichiers, tels que les paquets lb et le (fichiers 1 et 2). Comme montré sur la figure 3, les 5 fichiers multimédia 1, 2, 3, 4 et 5 générés présentent de nombreux paquets communs, tant à l'ensemble de ces fichiers multimédia comme les paquets Ila, Ile, Ilf, Ilj et Ilk, qu'à un nombre limité de ces fichiers tels que les paquets lb et le communs aux fichiers 1 et 2. Plus précisément, en notant CMi le plan de contenus, ou � Content Map � en anglais, du fichier i, ce dernier se compose alors : Fichier 1: CM1 = {Ila, lb, Ic, Ile, Ilf, Ig, Ih, Ilj, Ilk} Fichier 2: CM2 = { Ila, lb, Ic, Ile, Ilf, Illg, Illh, Ilj, Ilk } Fichier 3: CM3 = { Ila, Ilb, Ilc, Ild, Ile, Ilf, Ilg, Ilh, Ilj, Ilk } Fichier 4: CM4 = { Ila, Ilb, Ilc, Ild, Ile, Ilf, Ilg, Illh, Ilj, Ilk} Fichier 5: CM5 = {Ila, Illb, Ile, Ilf, Ilg, Ilh, Ilj, Ilk} Conformément au fonctionnement des réseaux pair-à-pair précédemment décrits, on associe à chaque fichier multimédia une liste des paquets, ou � content map � qui permet de générer ce fichier. Toutefois, l'invention permettant de mettre en oeuvre des paquets communs, il convient également d'associer à un premier fichier multimédia généré selon l'invention une liste des paquets identifiant au moins un second fichier multimédia présentant des paquets communs avec ce premier fichier multimédia. Ainsi, un pair souhaitant obtenir des paquets communs pourrait requérir ces derniers auprès des pairs stockant un autre fichier multimédia qui présente néanmoins ces paquets communs. La présente invention est susceptible de nombreuses variantes. Notamment de nombreux paramètres/approches peuvent être pris en compte pour introduire les données de remplissage dans les zones d'insertion, comme par exemple des paramètres liés aux contraintes physiques ou logicielles propres au réseau pair-à-pair. Par exemple, l'exemple décrit ci-dessus a utilisé une règle de localisation des données de remplissage implicite telle que, dans un paquet, ces données de remplissage étaient situées en fin de paquet. Toutefois il convient de signaler que les données de remplissage peuvent être librement localisées dans la zone d'insertion. Par ailleurs, dans l'exemple décrit ci-dessus, des données spécifiques peuvent être attachées à des données principales dans un même paquet. Cela correspond par exemple au paquet lb de la figure 2, qui contient la donnée principale 10 et une partie de la donnée spécifique 16. La séparation de ces données peut être rendue volontairement compliquée, de sorte que ces données doivent être lues ensembles. Ainsi si la donnée spécifique 16 correspond à de la publicité, le contenu principal 10 ne peut être lue qu'avec cette publicité. De manière alternative, ces données peuvent être liées de telle sorte qu'elles peuvent être lues indépendamment l'une de l'autre. Dans tous les cas, il convient d'indiquer, dans des métadonnées associées à un paquet, la quantité de données de remplissage et leur localisation, par exemple en début ou en fin d'un paquet.25 REVENDICATIONS1. Procédé de génération de fichiers multimédia (1, 2, 3, 4, 5) destinés à être transmis via un réseau pair-à-pair par paquets de même taille, chacun de ces fichiers multimédia (1, 2, 3, 4, 5) étant obtenus à partir d'un fichier intermédiaire (1', 2', 3', 4', 5') comprenant : - un contenu commun (10) à tous les fichiers intermédiaires (1', 2', 3', 4', 5'), formé par des données primaires, et - un contenu spécifique (16, 18, 20, 22) à chaque fichier intermédiaire (1', 2', 3', 4', 5'), formé par des données secondaires introduites dans une zone d'insertion (12, 14) délimitée par des données primaires du contenu commun (10), caractérisé en ce qu'on génère ces fichiers (1, 2, 3, 4, 5) en introduisant des données de remplissage (24) dans les zones d'insertion (12, 14) de ces fichiers intermédiaires (1', 2', 3', 4', 5') de telle sorte qu'une limite de ces zones d'insertion corresponde à une limite entre deux paquets de transmission distincts. 2. Procédé selon la revendication 1 caractérisé en ce qu'on introduit les données de remplissages (24) entre les données secondaires d'un contenu spécifique (16, 18, 20, 22) et la limite des zones d'insertion correspondant à une limite entre deux paquets distincts. 3. Procédé selon la revendication 1 ou 2 caractérisé en ce qu'on introduit les données de remplissage (24) en fonction de paramètres communs aux fichiers intermédiaires. 4. Procédé selon la revendication 3 caractérisé en ce que les paramètres communs aux fichiers intermédiaires comprennent au moins un des paramètres suivants : la localisation des zones d'insertion dans le fichier commun, une taille prédéterminée des paquets à transmettre, les tailles des fi- chiers intermédiaires, une règle de localisation des données de remplissage dans un paquet. 5. Procédé selon la revendication 4 caractérisé en ce que la règle de localisation des données de remplissage (24) dans un paquet requiert la localisation de ces données de remplissage en début ou en fin de paquet. 6. Procédé selon la revendication 5 caractérisé en ce que des informa- tions indiquant la quantité de données de remplissage, situées en début ou en fin d'un paquet, sont associées à ce paquet. 7. Procédé selon l'une des revendications précédentes caractérisé en ce qu'on associe à un premier fichier multimédia généré une liste de conte-nus identifiant au moins un second fichier multimédia présentant des pa- quets communs avec ce premier fichier multimédia. 8. Serveur opérateur générant des fichiers multimédia destinés à être transmis par paquets dans un réseau pair-à-pair, chacun de ces fichiers multimédia étant obtenu à partir d'un fichier intermédiaire (1', 2', 3', 4', 5') comprenant : - un contenu commun (10) formé par des données primaires, - un contenu spécifique (16, 18, 20, 22) formé par des données secondaires introduites dans une zone d'insertion (12, 14) située entre des données primaires du contenu commun (10), caractérisé en ce qu'il comprend des moyens pour générer ces fichiers (1, 2, 3, 4, 5) en introduisant des données de remplissage dans les zones d'insertion des fichiers intermédiaires (1', 2', 3', 4', 5') de telle sorte qu'une limite de ces zones d'insertion corresponde à une limite entre deux paquets de transmission distincts selon un procédé conforme à l'une des revendications précédentes. 9. Serveur opérateur selon la revendication 8 caractérisé en ce qu'il comprend : - des moyens pour recevoir une requête de transmission du contenu commun, et - des moyens pour transmettre une liste de paquets et une liste de serveurs d'un fichier multimédia généré, ce fichier multimédia étant sélectionné en fonction de paramètres propres à la requête de ce serveur client. 10. Pair destiné à recevoir et transmettre des fichiers multimédia via un réseau pair-à-pair, chacun de ces fichiers multimédia étant obtenu à partir d'un fichier intermédiaire (1', 2', 3', 4', 5') comprenant : - un contenu commun (10) formé par des données primaires, - un contenu spécifique (16, 18, 20, 22) formé par des données secondaires introduites dans une zone d'insertion (12, 14) située entre des données primaires du contenu commun (10), caractérisé en ce qu'il comprend des moyens pour détecter des données de remplissages (24) insérées entre des données d'un fichier multimédia (1, 2, 3, 4, 5) selon un procédé conforme à l'une des revendications 1 à 7, et - des moyens pour supprimer ces données de remplissage (24) afin de reproduire le contenu multimédia du fichier sans considérer les données de remplissage (24). 11. Pair selon la revendication 10 caractérisé en ce qu'il comprend des moyens pour réinsérer les données de remplissage (24) supprimées avant de transmettre le fichier multimédia (1, 2, 3, 4, 5) à un autre pair. 12. Fichiers multimédia (1, 2, 3, 4, 5) destinés à être transmis par paquets dans un réseau pair-à-pair, chacun de ces fichiers multimédia étant obtenu à partir d'un fichier intermédiaire (1', 2', 3', 4', 5') comprenant : - un contenu commun (10) formé par des données primaires, - un contenu spécifique (16, 18, 20, 22) formé par des données secondaires introduites dans une zone d'insertion (12, 14) située entre des données primaires du contenu commun (10), caractérisés en ce qu'ils comprennent des données de remplissage dans leurs zones d'insertion (12, 14) de telle sorte qu'une limite de ces zones d'insertion corresponde à une limite entre deux paquets de transmission distincts selon un procédé conforme à l'une des revendications 1 à 7.30