FR2988959A1 - Procede de tatouage avec streaming adaptatif - Google Patents
Procede de tatouage avec streaming adaptatif Download PDFInfo
- Publication number
- FR2988959A1 FR2988959A1 FR1252924A FR1252924A FR2988959A1 FR 2988959 A1 FR2988959 A1 FR 2988959A1 FR 1252924 A FR1252924 A FR 1252924A FR 1252924 A FR1252924 A FR 1252924A FR 2988959 A1 FR2988959 A1 FR 2988959A1
- Authority
- FR
- France
- Prior art keywords
- content
- digital
- tattooed
- client
- content segments
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims abstract description 31
- 230000003044 adaptive effect Effects 0.000 title description 7
- 230000008569 process Effects 0.000 title description 2
- 238000012545 processing Methods 0.000 claims abstract description 15
- 230000005540 biological transmission Effects 0.000 claims description 20
- 230000011218 segmentation Effects 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 2
- 238000003780 insertion Methods 0.000 description 4
- 230000037431 insertion Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000003139 buffering effect Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000004513 sizing Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/835—Generation of protective data, e.g. certificates
- H04N21/8358—Generation of protective data, e.g. certificates involving watermark
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/23439—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/258—Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
- H04N21/25808—Management of client data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computer Graphics (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
L'invention concerne un procédé de traitement d'un contenu numérique, le procédé étant mis en oeuvre dans un dispositif de traitement et le procédé comprenant : - segmenter le contenu multimédia en une pluralité de segments de contenu ; - générer au moins une première séquence de m segments de contenu tatoués et une seconde séquence de m segments de contenu tatoués, à l'aide d'un premier tatouage numérique et d'un second tatouage numérique respectivement, les premier et second tatouages numériques étant distincts l'un de l'autre ; - sur réception d'une requête d'un terminal client, le terminal client étant associé à un identifiant client, sélectionner une succession de m segments de contenu tatoués, dans les première et seconde séquences, en fonction de l'identifiant client ; - construire une liste ordonnée de m identifiants respectifs des m segments de contenu tatoués successifs sélectionnés ; et - transmettre la liste ordonnée au terminal client.
Description
Procédé de tatouage avec streaming adaptatif La présente invention concerne la distribution et la protection de contenus multimédia.
Elle concerne plus précisément des applications de streaming dans le cadre de la diffusion de contenus multimédia à la demande ou de la diffusion de contenus multimédia « en direct ». Par « streaming », on entend désigner un mode de transmission de données en continu, permettant la lecture d'un flux de données à mesure qu'il est transmis. On entend par contenu multimédia tout contenu audio ou vidéo, ou tout autre contenu numérique. On utilisera indifféremment par la suite les expressions « contenu multimédia » et « contenu numérique ». Des techniques de protection de contenus multimédia originaux permettent d'éviter le partage illégal de ces contenus par d'éventuels pirates. Une technique de tatouage numérique, aussi appelée « watermarking » permet d'ajouter des informations de droits d'auteur ou d'autres messages de vérification à un contenu multimédia. Dans le cadre d'un service de visualisation d'un contenu numérique à la demande, « en direct » ou en « streaming », un tatouage numérique peut être inséré dans le contenu numérique transmis au client, le tatouage numérique identifiant de façon unique le client et permettant ainsi de tracer celui-ci. Un tatouage numérique est préférentiellement invisible pour le client et respecte certains critères de robustesse aux attaques éventuelles (compression, dimensionnement, collusion, etc). La génération et l'insertion du tatouage numérique peuvent être effectuées soit côté serveur, soit côté terminal client. Selon les méthodes les plus répandues, l'insertion du tatouage numérique se fait généralement à la volée entre le serveur et le terminal client (achat du contenu numérique par exemple). Cependant, l'insertion de tels tatouages numériques dans le cadre de la diffusion de contenus multimédia « en direct » ou à la demande est un mécanisme coûteux en termes de ressources machine, de temps de traitement et d'espace de stockage. En effet, à chaque client est associé un tatouage numérique qui doit être généré de manière unique. Le tatouage numérique est généralement généré pour chaque contenu multimédia à transmettre. Le tatouage numérique est ensuite inséré dans le contenu multimédia à la volée, au moment de sa transmission. Ces conditions imposent un fonctionnement en temps réel d'une méthode de génération de tatouages numériques, pour garantir une expérience satisfaisante pour le client. Un tel fonctionnement en temps réel a un impact direct sur les propriétés de la méthode de génération choisie. Or, un niveau satisfaisant de robustesse, d'imperceptibilité et de sécurité est généralement lié à une complexité importante de la méthode de génération.
Ainsi, les méthodes actuelles de transmission d'un contenu multimédia avec insertion d'un tatouage numérique à la volée sont fortement contraintes et n'intègrent pas les dernières évolutions relatives au traçage de contenu multimédia. Ces méthodes sont par conséquent facilement attaquables et n'incitent pas à la coopération les grands acteurs du marché de la distribution de contenus multimédia. En outre, l'intégration d'un tatouage numérique à la volée implique un travail d'intégration considérable dans les terminaux client, tels que les SetTop Box (STB), qui ne disposent pas nécessairement tous des mêmes ressources et qui n'ont pas tous les mêmes performances.
La présente invention vient améliorer la situation. A cet effet, un premier aspect de l'invention concerne un procédé de traitement d'un contenu numérique, le procédé étant mis en oeuvre dans un dispositif de traitement. Le procédé comprend : - segmenter le contenu numérique en une pluralité de segments de contenu ; - générer au moins une première séquence de m segments de contenu tatoués et une seconde séquence de m segments de contenu tatoués, à l'aide d'un premier tatouage numérique et d'un second tatouage numérique respectivement, les premier et second tatouages numériques étant distincts l'un de l'autre; - sur réception d'une requête d'un terminal client, le terminal client étant associé à un identifiant client, sélectionner une succession de m segments de contenu tatoués, dans les première et seconde séquences, en fonction de l'identifiant client; - construire une liste ordonnée de m identifiants respectifs des m segments de contenu tatoués successifs sélectionnés ; - transmettre la liste ordonnée au terminal client. La présente invention permet ainsi avantageusement de simplifier le mécanisme de tatouage de contenus numériques en l'intégrant dans des applications de streaming adaptatif dans lequel les contenus numériques sont segmentés en une pluralité de segments de contenu. Toutefois, l'invention s'applique à toute transmission d'un contenu numérique en mode streaming avec segmentation du contenu. Elle est par ailleurs à la fois compatible avec la transmission de contenus numériques à la demande et la transmission de contenus numériques en direct. Dans le cas de la transmission de contenus numériques à la demande, les contenus numériques peuvent être segmentés et tatoués de manière anticipée, avant réception d'une requête d'un client pour recevoir le contenu, facilitant ainsi l'obtention de segments de contenu tatoués dont le tatouage est propre à un client, lorsqu'un utilisateur requiert ce contenu multimédia. Dans le cas de la transmission de contenus numériques en direct, le tatouage des segments de contenu à la volée est simplifié. En effet, les segments de contenu moins volumineux que le contenu numérique sont plus faciles à traiter et peuvent permettre de mettre en place un système de mise en mémoire tampon. Selon certains modes de réalisation, l'étape de générer une liste ordonnée d'identifiants comprend une sous-étape d'anonymisation des identifiants de la liste et une liste ordonnée d'identifiants anonymisés est transmise au terminal client. L'introduction d'une fonction d'anonymisation des identifiants de segments de contenu tatoués permet d'empêcher l'accès par un éventuel pirate aux identifiants des segments de contenu qui sont stockés du côté du dispositif de traitement. Le pirate dispose uniquement d'identifiants anonymisés qui ne permettent pas de savoir à quel segment de contenu correspond chaque identifiant anonymisé.. Ainsi, la reconstitution du contenu numérique côté client est complexifiée, augmentant la robustesse du tatouage à l'égard d'éventuelles attaques par collusion. Selon certains modes de réalisation, les m segments de contenu tatoués successifs de chaque séquence étant associés à m index respectifs, et l'identifiant client comprenant m éléments indexés à l'aide des m index respectivement, les m segments de contenu tatoués sont sélectionnés en choisissant, pour chaque index donné, l'un des segments appartenant respectivement au moins à la première séquence et à la seconde séquence, en fonction de l'élément de l'identifiant client indexé à l'aide de l'index donné. Ainsi, la sélection de segments de contenu tatoués est simplifiée en établissant un lien direct entre le nombre d'éléments compris dans l'identifiant client et le nombre de segments de contenu. Une correspondance directe entre chaque élément de l'identifiant client et chaque segment de contenu d'index correspondant peut ainsi être établie. En complément, q séquences de segments de contenu tatoués sont générées à partir de q tatouages numériques différents, q étant supérieur ou égal à 2, les q séquences de segments de contenu tatoués sont associées à q valeurs respectives, chaque élément de l'identifiant client est un mot composé de k bits, k étant entier tel que 2k est supérieur ou égal à q, et, pour chacun des m index, le segment de contenu appartenant à la séquence associée à la valeur correspondant au mot est sélectionné pour construire la liste ordonnée. Ainsi, l'identifiant client, composé de m éléments, peut être codé en utilisant soit un alphabet binaire, soit un alphabet de cardinalité q, plus couramment appelé alphabet q-aire par l'homme du métier. Dans le premier cas, chaque élément de l'identifiant client est codé par un bit valant 0 ou 1, l'alphabet est donc de taille 2 car il contient deux symboles correspondant aux valeurs de bit 0 et 1. Dans le deuxième cas, chaque élément de l'identifiant client est codé par un mot comprenant k bits. Le nombre k de bits nécessaires pour coder les q symboles est tel que 2^k est supérieur ou égal à q.
L'alphabet q-aire est un ensemble de q symboles, un symbole pouvant par exemple être un entier positif ou nul, ou bien une suite de lettres. Un identifiant client codé à l'aide de cet alphabet comprend m éléments, chaque élément étant un mot correspondant à l'un des q symboles.
Pour chaque segment de contenu à tatouer, il convient de générer une version tatouée de ce segment associée à chaque symbole de l'alphabet q-aire. Il convient donc de générer q versions différentes d'un segment de contenu. A cet effet, on met en oeuvre une opération de tatouage qui prend en entrée un segment à tatouer et un symbole de l'alphabet et qui produit en sortie un segment tatoué qui correspond au symbole en entrée. Augmenter la cardinalité q de l'alphabet utilisé a pour intérêt de réduire le nombre d'éléments nécessaires pour coder chaque identifiant client et d'ainsi réduire le nombre de segments de contenu à tatouer dans une séquence.
En complément, chaque élément de l'identifiant client peut être codé sur un bit valant 0 ou 1, si l'élément d'identifiant client est 0, un segment de contenu tatoué appartenant à la première séquence est sélectionné, et, si l'élément d'identifiant client est 1, un segment de contenu tatoué appartenant à la seconde séquence est sélectionné.
Ainsi, le procédé peut être mis en oeuvre de manière simple, sur la base d'un alphabet binaire tel que précédemment détaillé. Un deuxième aspect de l'invention concerne un produit programme d'ordinateur comprenant des instructions de code de programme enregistrées sur un support lisible par un ordinateur, pour l'exécution des étapes du procédé selon l'un des modes de réalisation du premier aspect de l'invention. Un troisième aspect de l'invention concerne un dispositif pour le traitement d'un contenu numérique comprenant : - une unité de segmentation du contenu multimédia en une pluralité de segments de contenu; - une unité de tatouage pour générer au moins une première séquence de m segments de contenu tatoués et une seconde séquence de m segments de contenu tatoués, à l'aide d'un premier tatouage numérique et d'un second tatouage numérique respectivement, les premier et second tatouages numériques étant distincts l'un de l'autre ; - une unité de génération pour sélectionner, sur réception d'une requête d'un terminal client, le terminal client étant associé à un identifiant client, une succession de m segments de contenu tatoués, dans les première et seconde séquences, en fonction de l'identifiant client, et pour construire une liste ordonnée de m identifiants respectifs des m segments de contenu tatoués successifs sélectionnés ; - une unité de transmission pour transmettre la liste ordonnée au terminal client.
Selon certains modes de réalisation, le dispositif comprend en outre une unité d'anonymisation pour anonymiser des identifiants de la liste et l'unité de transmission est apte à transmettre la liste ordonnée d'identifiants anonymisés au terminal client. Un quatrième aspect de l'invention concerne un système pour le traitement d'un contenu numérique comprenant un terminal client et un dispositif, le terminal client étant adapté pour émettre une requête pour requérir un contenu numérique auprès du dispositif, le dispositif comprenant : - une unité de segmentation du contenu multimédia en une pluralité de segments de contenu; - une unité de tatouage pour générer au moins une première séquence de m segments de contenu tatoués et une seconde séquence de m segments de contenu tatoués, à l'aide d'un premier tatouage numérique et d'un second tatouage numérique respectivement, les premier et second tatouages numériques étant distincts l'un de l'autre ; - une unité de génération pour sélectionner, sur réception d'une requête d'un terminal client, le terminal client étant associé à un identifiant client, une succession de m segments de contenu tatoués, dans les première et seconde séquences, en fonction de l'identifiant client, et pour construire une liste ordonnée de m identifiants respectifs des m segments de contenu tatoués successifs sélectionnés ; - une unité de transmission pour transmettre la liste ordonnée au terminal client.
D'autres caractéristiques et avantages de l'invention apparaîtront à l'examen de la description détaillée ci-après, et des dessins annexés sur lesquels: - la figure 1 illustre un système selon certains modes de réalisation de l'invention; - la figure 2 est un diagramme illustrant les étapes d'un procédé selon certains modes de réalisation de l'invention. La figure 1 illustre un système selon certains modes de réalisation de l'invention. Le système comprend un dispositif de traitement d'un contenu numérique 1 relié à un terminal client 2 via une interface 10. Aucune restriction n'est attachée à l'interface 10. En effet, le dispositif 1 peut être accessible via n'importe quel type de réseau, tel qu'un réseau IP par exemple. Le terminal client 2 est adapté pour requérir des contenus numériques disponibles depuis le dispositif 1. Par exemple, dans le cadre d'un service de transmission de contenus numériques à la demande, un utilisateur (ou client) du terminal client 2 (pouvant être une Set-Top Box reliée à un téléviseur du client) peut parcourir un ensemble de contenus numériques disponibles sur le dispositif 1, ou sur un serveur relié au dispositif 1, en vue de la sélection et de l'achat de l'un de ces contenus numériques. En variante, le client peut également requérir la visualisation d'un contenu numérique en direct, ce contenu numérique peut être accessible via le dispositif 1 et le contenu peut également être transmis au terminal client 2 via le dispositif 1.
Le dispositif 1 comprend une base de données client 11 adaptée pour générer et stocker des identifiants client. Chaque client peut ainsi être associé à un identifiant client unique, tel que décrit ultérieurement. Le dispositif 1 peut recevoir un contenu numérique via une unité de réception 12. Le contenu numérique peut être reçu pour une transmission en direct ou peut-être reçu en vue d'un stockage local pour une application de transmission de contenus numériques à la demande. Le contenu numérique reçu est ensuite segmenté par une unité de segmentation 13 en une pluralité de n1 segments de contenu. Les segments de contenus peuvent être repérés par un index permettant ainsi d'ordonner les segments de contenu et de reconstituer le contenu numérique par assemblage ordonné des segments de contenu. La segmentation de contenus numériques est couramment utilisée dans des applications de streaming adaptatif (ou « adaptive streaming » en anglais). De par sa simplicité, sa souplesse et son faible coût de mise en oeuvre, le mécanisme de segmentation est répandu sur les réseaux, notamment le réseau Internet, pour la transmission de contenus numériques en direct ou à la demande et tend à remplacer des techniques historiques de streaming. A titre d'exemple, la technologie http Live Streaming d'AppleTM peut être utilisée pour la segmentation au sens de l'invention. Par ailleurs, la segmentation de contenus numériques permet de mettre en place un système de mise en mémoire tampon. Les n1 segments de contenu peuvent ensuite être transmis à au moins une première unité de tatouage 14.1 et à une seconde unité de tatouage 14.2. Aucune restriction n'est attachée au nombre d'unités de tatouage comprises dans le serveur au sens de l'invention. Des unités de tatouages supplémentaires peuvent en effet être prévues, comme décrit ultérieurement. La première unité de tatouage 14.1 est adaptée pour tatouer, selon un premier tatouage numérique, m segments de contenu parmi les n1 segments de contenu obtenus par segmentation du contenu numérique, m étant inférieur ou égal à n1, afin d'obtenir une première séquence de m segments de contenu tatoués. La seconde unité de tatouage 14.2 est adaptée pour tatouer, selon un second tatouage numérique, m segments de contenu parmi les n1 segments de contenu obtenus par segmentation du contenu numérique, afin d'obtenir une seconde séquence de m segments de contenu tatoués. Les premier et second tatouages numériques sont distincts l'un de l'autre. Lorsque le contenu numérique reçu par l'unité de réception 12 est un contenu numérique dédié à un service de vidéo à la demande, les première et seconde séquences de segments de contenu tatoués peuvent être stockées dans une base de données de contenus 15, en vue d'un traitement ultérieur par une unité de génération 16. Lorsque le contenu numérique est un contenu à transmettre en direct au terminal client 2, la génération des première et seconde séquences est effectuée à la volée puis les séquences sont transmises à l'unité de génération 16. L'unité de génération 16 est apte, à partir de l'identifiant client d'un client et des première et seconde séquences de m segments de contenu tatoués, à sélectionner m segments de contenu parmi les m segments de contenu de la première séquence et les m segments de contenu de la seconde séquence. L'identifiant client peut comprendre m éléments, un élément pouvant correspondre, par exemple, à un bit ou à une séquence de bits. Par exemple, lorsque l'identifiant client du client est une séquence de m bits, chaque élément étant un bit et chaque élément ayant un index i, i étant compris entre 1 et m, et lorsque seules deux séquences de m segments de contenu tatoués sont générées, pour un index donné, le bit '1' peut être associé au segment de contenu d'index donné de la première séquence tandis que le bit '0' peut être associé au segment de contenu d'index donné de la seconde séquence. Ainsi, pour chaque index i, l'unité de génération 16 sélectionne le segment de contenu d'index i dans la séquence qui est associée au bit d'index i dans l'identifiant client du client. De manière plus générale, l'invention prévoit la génération d'une pluralité de séquences de segments de contenu tatoués comprenant plus de deux séquences. A cet effet, le dispositif 1 peut comprendre q unités de tatouage 14, q étant supérieur à 2. Chacune des q unités de tatouage 14 est adaptée pour tatouer une séquence de m segments de contenu selon un tatouage numérique distinct de ceux des autres unités de tatouage. Un tatouage numérique est appelé symbole dans ce qui suit. L'ensemble des q symboles forme un alphabet q-aire. Afin de sélectionner, pour un index, l'un des q segments de contenu tatoués avec des symboles différents, l'identifiant client comprend m mots, chaque mot comprenant k bits, k étant tel que 2k est supérieur à q.
Ainsi, chaque élément de l'identifiant client est codé par un mot comprenant k bits. L'alphabet q-aire est un ensemble de q symboles, un symbole pouvant par exemple être un entier positif ou nul, ou bien une suite de lettres.
L'identifiant client codé à l'aide de cet alphabet comprend m éléments, chaque élément étant un mot correspondant à l'un des q symboles. Pour chaque segment de contenu, il convient de générer une version tatouée de ce segment associée à chaque symbole de l'alphabet q-aire. Il convient donc de générer q versions différentes d'un segment de contenu. A cet effet, on met en oeuvre une opération de tatouage qui prend en entrée un segment à tatouer et un symbole de l'alphabet et qui produit en sortie un segment tatoué qui correspond au symbole en entrée. Augmenter la cardinalité q de l'alphabet utilisé a pour intérêt de réduire le nombre d'éléments nécessaires pour coder chaque identifiant client et d'ainsi réduire le nombre de segments de contenu à tatouer dans une séquence. Prenons le cas d'un identifiant client codé en utilisant un alphabet binaire et comportant des éléments binaires. Dans le cas où le nombre m d'éléments de l'identifiant est trop important compte tenu de la taille du contenu à tatouer, il peut être judicieux de réduire la taille de l'identifiant client par exemple par deux en utilisant un alphabet comportant 4 symboles, notés par exemple A, B, C et D. A titre d'exemple illustratif, ces symboles correspondent aux mots binaires (éléments de l'identifiant client) suivants : - Symbole A : 00 - Symbole B : 01 - Symbole C :10 - Symbole D : 11 Un alphabet de ce type n'est toutefois pas adapté pour être utilisé pour réaliser des codes anti-collusions. En effet, les codes anti-collusions sont utilisés pour définir les identifiants clients et afin d'identifier plusieurs pirates qui, chacun possédant un contenu avec un tatouage numérique lié à son identifiant client, mettraient en commun des segments de contenus numériques tatoués issus de leurs contenus respectifs. Le code anti-collusion, basé sur des calculs statistiques, est propre au nombre d'éléments et au nombre de bits codant chaque élément. Ainsi, dans le cadre de codes anti-collusion, il n'est pas possible de réutiliser un identifiant comprenant initialement des éléments 2 98 8959 11 binaires en groupant ces éléments afin de réduire le nombre m de segments tatoués du contenu numérique. Dans une problématique de traçage avec codes anti-collusion, augmenter la cardinalité augmente les performances de traçage. A 5 performance égale les séquences d'un alphabet de cardinalité plus importante seront plus courtes. La cardinalité est un entier supérieur ou égal à 2, car il y a au moins 2 symboles dans le cas binaire. On notera qu'avec un nombre m de segments de contenu et un nombre q de symboles d'alphabet, qm séquences différentes peuvent être 10 générées. Cependant, cela ne signifie pas qu'il est possible de créer qm contenus numériques tatouées différents d'un même contenu numérique pour qm utilisateurs possibles. En effet, pour que le traçage des utilisateurs soit robuste aux erreurs de détection au niveau du tatouage ou aux attaques par collusion, le nombre de symboles de combinaisons des m séquences de 15 segments, égal à qm, est préférentiellement supérieur au nombre n d' utilisateurs ou de copies d'un contenu numérique à distribuer. En d'autres termes, en langage mathématique, il est préférable que m>logq(n). Prenons l'exemple d'un alphabet binaire (q=2). Considérons qu'il y a 16 copies d'un contenu numérique à distribuer. Il y a donc 16 identifiants 20 clients, ou séquences utilisateurs, à générer. Un identifiant client comprend donc au minimum quatre éléments (quatre bits dans le cas de l'alphabet binaire). Pour empêcher des erreurs de détection et des attaques par collusion la séquence peut être codée sur 10 bits. Les 16 identifiants clients sont donc codés sur 10 bits. Le nombre d'identifiants client et donc de séquences de 25 segments de contenu tatoués possibles est alors de 210=1024. De tels modes de réalisation permettent une génération souple d'identifiants client, en fonction de la robustesse qui est à conférer au tatouage. Augmenter le nombre de séquences de segments de contenu tatoués permet soit de rajouter de la redondance dans les séquences utilisateurs soit 30 d'augmenter le nombre de séquences utilisateur. En outre, et surtout, l'utilisation d'un alphabet q-aire permet de réduire la taille de l'identifiant client et, par conséquent, de tatouer un contenu numérique plus court décomposé en un nombre limité de segments de contenu. Dans le cas d'une transmission à la demande d'un contenu numérique, celui-ci peut être segmenté et tatoué de manière anticipée, si bien que l'augmentation du nombre q de séquences n'affecte pas la rapidité de traitement d'une requête d'un client. En cas de transmission en direct d'un contenu, le nombre q de séquences de segments de contenu tatoués peut être réduit en vue d'accélérer le mécanisme de tatouage à la volée. Lorsque les m segments de contenu tatoués ont été sélectionnés, l'unité de génération 16 peut construire une liste d'identifiants des m segments de contenu tatoués sélectionnés et des ni-m segments de contenu non tatoués, dans le cas où n1 est strictement supérieur à m, la liste comprenant n1 identifiants de segment de contenu. Les identifiants de segment de contenu peuvent être un nom de segment de contenu incluant l'index (compris entre 1 et ni) de chaque segment de contenu dans la série de m segments de contenu tatoués sélectionnés. Chaque identifiant de segment de contenu identifie de manière unique un segment de contenu tatoué sélectionné ou un segment de contenu non tatoué. Les index compris dans le nom de segment de contenu permettent ainsi d'ordonner les m segments de contenu tatoués sélectionnés et les ni-m segments de contenu non tatoués.
La sélection des m segments de contenu tatoués et la construction de la liste d'identifiants peut être effectuée par l'unité de génération 16 sur réception d'une requête depuis le terminal client 2, la requête requérant la transmission d'un contenu numérique. Lorsque la requête est reçue, le dispositif 1 peut vérifier, selon l'invention, si un identifiant client est stocké dans la base de données client 11 en association avec le client qui a pu, au préalable, être identifié et/ou authentifié, ou qui est un abonné de l'opérateur proposant les contenus numériques. Si tel est le cas, l'identifiant client est transmis à l'unité de génération 16. En revanche, s'il s'agit d'un nouveau client, un identifiant client unique pour le nouveau client est généré et est enregistré dans la base de données client 11, en vu de réutilisations ultérieures. Ainsi, un identifiant client est généré une unique fois pour chaque client. Si le contenu numérique est un contenu à la demande, ce contenu numérique a été au préalable segmenté et tatoué. Les séquences de m segments de contenu tatoués ainsi que les n1-m segments de contenu non tatoués correspondant à ce contenu numérique qui sont stockées dans la base de données de contenu 15 sont transmises à l'unité de génération 16. En revanche, si le contenu numérique est un contenu en direct, la segmentation et le tatouage sont effectués à la volée, puis les séquences sont transmises à l'unité de génération 16. Après sélection de m segments de contenu tatoués et construction de la liste de n1 identifiants par l'unité de génération 16, la liste d'identifiants peut être transmise par l'interface 10 au terminal client 2 en réponse à la requête précédemment reçue. La liste d'identifiants constitue ainsi une liste de lecture pour le client au sens de l'HTTP live streaming. Le terminal client 2 reçoit donc un descriptif des segments de contenu constituant le contenu numérique requis. Le terminal client 2 peut ensuite requérir chacun des m segments de contenu tatoués sélectionnés ainsi que les n1-m segments de contenu non tatoués, en fournissant les identifiants au dispositif 1 selon des méthodes de streaming adaptatif bien connues. En variante, il est possible de prévoir, préalablement à l'envoi de la liste d'identifiants au terminal client 2, une anonymisation des identifiants de la liste d'identifiants par une unité d'anonymisation 17. En effet, les identifiants permettent d'ordonner les segments de contenu tatoués et non tatoués. Ainsi, plusieurs pirates peuvent mettre en commun leurs copies afin de créer une nouvelle liste de m segments de contenu tatoués, qui peuvent être ordonnés correctement en fonction de leurs index, mais dont les tatouages sont mélangés de manière à empêcher l'identification du client qui a acquis cette liste.
Le dispositif 1 peut générer n1 identifiants anonymisés et associer chacun de ces identifiants anonymisés à l'un des index des segments de contenu tatoués sélectionnés. Par la suite, seule la liste d'identifiants anonymisés est envoyée au terminal client 2. Seul le serveur 1 peut ainsi faire l'association entre l'identifiant anonymisé et l'identifiant utilisé pour rechercher dans la base de données de contenu 15 le segment de contenu tatoué sélectionné ou non tatoué à transmettre au terminal client 2. Par exemple, l'anonymisation peut consister en un changement des noms de segment de contenu et en une permutation de ces noms.
La fonction d'anonymisation des segments de contenu tatoués sélectionnés permet au dispositif 1 d'éviter de faire figurer les « véritables » noms de segment de contenu, comprenant notamment les index des segments de contenu, et permet ainsi de complexifier la reconstitution du contenu numérique par des pirates. En effet, les pirates sont alors dans l'incapacité de savoir à quel index correspond chacun des segments de contenu reçus. Ainsi, la présente invention permet une minimisation des coûts de déploiement et d'exploitation des fonctionnalités de tatouage de contenus numériques pour un traçage des clients. Ces fonctionnalités permettent par ailleurs une réutilisation de l'architecture de streaming adaptatif (segmentation en segments de contenu des contenus numériques) et sont par conséquent faciles à déployer. En outre, la présente invention propose une génération simple d'identifiants client qui permet de générer des segments de contenu tatoués qui sont robustes à des attaques par collusion de pirates. La fonctionnalité supplémentaire d'anonymisation permet par ailleurs une complexification de la mise en oeuvre des attaques par collusion. La figure 2 est un diagramme illustrant les étapes d'un procédé selon certains modes de réalisation.
A une étape 20, un contenu numérique est reçu par le dispositif 1. A une étape 21, le contenu numérique est segmenté par l'unité de segmentation 13 en une pluralité de n1 segments de contenu. A une étape 22, au moins deux séquences de m segments de contenu sont obtenues par application de deux tatouages numériques différents à m segments de contenu parmi les n1 segments de contenu obtenus à l'étape 21, m étant inférieur ou égal à n1, par les unités de tatouage 14.1 et 14.2 respectivement. A une étape 23 éventuelle, les séquences de m segments de contenu tatoués générées et les n1-m segments de contenu non tatoués, dans le cas où n1 est strictement supérieur à m, sont stockées dans la base de données de contenu 15, dans le cas ou le contenu numérique est un contenu à la demande, destiné à être transmis ultérieurement à des terminaux client en ayant fait la demande. Dans le cas d'un contenu numérique en direct, les séquences générées ne sont pas stockées. A une étape éventuelle 24, une requête est reçue par le serveur 1 depuis un terminal client 2, la requête requérant un contenu numérique. Dans le cas où le contenu numérique est un contenu à la demande, les étapes 20 à 23 précédemment détaillées sont effectuées préalablement à l'étape 24. En revanche, dans le cas où le contenu numérique est un contenu en direct, la réception de la requête à l'étape 24 engendre la réception du contenu multimédia en direct à l'étape 20. A une étape 25, un identifiant client est obtenu pour transmission à l'unité de génération 16. Par exemple, le client est identifié ou authentifié sur le serveur préalablement à l'émission de la requête. Un identifiant client a ainsi pu être stocké en association avec le client (le login et/ou le mot de passe du client) dans la base de données client 11, sous la forme d'une succession d'éléments, chaque élément pouvant être un bit ou un mot comprenant k bits, k étant supérieur à 1. Si aucun identifiant client n'est stocké en association avec le client dans la base de données client 11, un identifiant client unique est généré puis associé au login et/ou mot de passe du client dans la base de données client 11. A une étape 26, l'unité de génération 16 sélectionne, sur réception de l'identifiant client d'un client et d'au moins deux séquences de m segments de contenu tatoués, une succession de m segments de contenu tatoués en fonction de l'identifiant client puis construit une liste de n1 identifiants des m segments de contenu tatoués sélectionnés et des n1-m segments de contenu non tatoués, tel que précédemment expliqué.
A une étape optionnelle 27, les identifiants de la liste sont remplacés par n1 identifiants anonymisés générés par l'unité d'anonymisation 17. A une étape 28, la liste d'identifiants (ou en variante la liste d'identifiants anonymisés) est transmise au terminal client 2 ayant émis la requête de contenu numérique.
A une étape 29, le contenu numérique est alors transmis par le dispositif 1 au terminal client 2 sous la forme des m segments de contenu tatoués sélectionnés et de n1-m segments de contenu non-tatoués, selon des méthodes de streaming adaptatif bien connues par exemple.
Claims (9)
- REVENDICATIONS1. Procédé de traitement d'un contenu numérique, ledit procédé étant mis en oeuvre dans un dispositif de traitement (1), caractérisé en ce que le procédé comprend : - segmenter le contenu numérique en une pluralité de segments de contenu ; - générer au moins une première séquence de m segments de contenu tatoués et une seconde séquence de m segments de contenu tatoués, à l'aide d'un premier tatouage numérique et d'un second tatouage numérique respectivement, les premier et second tatouages numériques étant distincts l'un de l'autre; - sur réception d'une requête d'un terminal client (2), ledit terminal client étant associé à un identifiant client, sélectionner une succession de m segments de contenu tatoués, dans les première et seconde séquences, en fonction de l'identifiant client; - construire une liste ordonnée de m identifiants respectifs des m segments de contenu tatoués successifs sélectionnés ; - transmettre ladite liste ordonnée au terminal client. 20
- 2. Procédé selon la revendication 1, caractérisé en ce que l'étape de générer une liste ordonnée d'identifiants comprend une sous-étape d'anonymisation des identifiants de la liste et en ce qu'une liste ordonnée d'identifiants anonymisés est transmise au terminal client. 25
- 3. Procédé selon l'une des revendications précédentes, caractérisé en ce que, les m segments de contenu tatoués successifs de chaque séquence étant associés à m index respectifs, et ledit identifiant client comprenant m éléments indexés à l'aide des m index respectivement, 30 les m segments tatoués sont sélectionnés en choisissant, pour chaque index donné, l'un des segments appartenant respectivement au moins à la première séquence et à la seconde séquence, en fonction de l'élément de l'identifiant client indexé à l'aide de l'index donné.
- 4. Procédé selon la revendication 3, caractérisé en ce que q séquences de segments de contenu tatoués sont générées à partir de q tatouages numériques différents, q étant supérieur ou égal à 2, en ce que les q séquences de segments de contenu tatoués sont associées à q valeurs respectives, en ce que chaque élément de l'identifiant client est un mot composé de k bits, k étant entier tel que 2k est supérieur ou égal à q, et en ce que, pour chacun des m index, le segment de contenu appartenant à la séquence associée à la valeur correspondant audit mot est sélectionné pour construire la liste ordonnée.
- 5. Procédé selon la revendication 4, caractérisé en ce que, chaque élément de l'identifiant client étant codé sur un bit valant 0 ou 1, si l'élément d'identifiant client est 0, un segment de contenu tatoué appartenant à la première séquence est sélectionné, et, si l'élément d'identifiant client est 1, un segment de contenu tatoué appartenant à la seconde séquence est sélectionné.
- 6. Produit programme d'ordinateur comprenant des instructions de code de programme enregistrées sur un support lisible par un ordinateur, pour l'exécution des étapes du procédé selon l'une quelconques des revendications 1 à 5.
- 7. Dispositif pour le traitement d'un contenu numérique, caractérisé en ce que le dispositif (1) comprend : - une unité de segmentation (13) du contenu numérique en une pluralité de segments de contenu ; - une unité de tatouage (14.1 ;14.2) pour générer au moins une première séquence de m segments de contenu tatoués et une seconde séquence de m segments de contenu tatoués, à l'aide d'un premier tatouage numérique et d'un second tatouage numérique respectivement, les premier et second tatouages numériques étant distincts l'un de l'autre ; - une unité de génération (16) pour sélectionner, sur réception d'unerequête d'un terminal client (2), ledit terminal client étant associé à un identifiant client, une succession de m segments de contenu tatoués, dans les première et secondes séquences, en fonction de l'identifiant client, et pour construire une liste ordonnée de m identifiants respectifs des m segments de contenu tatoués successifs sélectionnés ; - une unité de transmission (10) pour transmettre ladite liste ordonnée au terminal client.
- 8. Dispositif selon la revendication 7, caractérisé en ce qu'il comprend en outre une unité d'anonymisation pour anonymiser des identifiants de la liste et en ce que l'unité de transmission est apte à transmettre la liste ordonnée d'identifiants anonymisés au terminal client (2).
- 9. Système pour le traitement d'un contenu numérique, caractérisé en ce que le système comprend un terminal client (2) et un dispositif (1), ledit terminal client étant adapté pour émettre une requête pour requérir un contenu numérique auprès dudit dispositif, ledit dispositif comprenant : - une unité de segmentation (13) du contenu numérique en une pluralité de segments de contenu ; - une unité de tatouage (14.1 ;14.2) pour générer au moins une première séquence de m segments de contenu tatoués et une seconde séquence de m segments de contenu tatoués, à l'aide d'un premier tatouage numérique et d'un second tatouage numérique respectivement, les premier et second tatouages numériques étant distincts l'un de l'autre ; - une unité de génération (16) pour sélectionner, sur réception de la requête du terminal client (2), ledit terminal client étant associé à un identifiant client, une succession de m segments de contenu tatoués, dans les première et seconde séquences, en fonction de l'identifiant client, et pour construire une liste ordonnée de m identifiants respectifs des m segments de contenu tatoués successifs sélectionnés ; - une unité de transmission (10) pour transmettre ladite liste ordonnée au terminal client.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1252924A FR2988959A1 (fr) | 2012-03-30 | 2012-03-30 | Procede de tatouage avec streaming adaptatif |
PCT/FR2013/050723 WO2013144531A1 (fr) | 2012-03-30 | 2013-04-02 | Procede de tatouage avec streaming adaptatif |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1252924A FR2988959A1 (fr) | 2012-03-30 | 2012-03-30 | Procede de tatouage avec streaming adaptatif |
Publications (1)
Publication Number | Publication Date |
---|---|
FR2988959A1 true FR2988959A1 (fr) | 2013-10-04 |
Family
ID=46754551
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR1252924A Withdrawn FR2988959A1 (fr) | 2012-03-30 | 2012-03-30 | Procede de tatouage avec streaming adaptatif |
Country Status (2)
Country | Link |
---|---|
FR (1) | FR2988959A1 (fr) |
WO (1) | WO2013144531A1 (fr) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
NL2011201C2 (en) * | 2013-07-19 | 2015-01-21 | Civolution B V | Method and system for watermarking content prior to fragmenting. |
CN110944235B (zh) * | 2019-11-22 | 2022-09-16 | 广州方硅信息技术有限公司 | 直播互动方法、装置、系统、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1134977A1 (fr) * | 2000-03-06 | 2001-09-19 | Irdeto Access B.V. | Procédé et système pour générer des copies d'un contenu brouillé avec des marquages uniques, et système de désembrouillage du contenu brouillé |
DE102006005052A1 (de) * | 2006-02-03 | 2007-08-09 | Siemens Ag | Verfahren und Vorrichtung zum Generieren zumindest eines nutzerspezifisch markierten Datenstroms, Verfahren und Vorrichtung zum Nachweis eines nutzerspezifisch markierten Datenstroms und ein nutzerspezifisch markierter Datenstrom |
EP2418869A1 (fr) * | 2010-08-09 | 2012-02-15 | Sony Corporation | Appareil de traitement d'informations, procédé et programme de traitement d'informations |
US20120042332A1 (en) * | 2010-08-11 | 2012-02-16 | Andrew Augustine Wajs | Method and system for providing encrypted content to a plurality of user devices |
EP2429189A1 (fr) * | 2010-09-09 | 2012-03-14 | Irdeto B.V. | Procédé et système pour fournir un contenu dans un dispositif récepteur |
-
2012
- 2012-03-30 FR FR1252924A patent/FR2988959A1/fr not_active Withdrawn
-
2013
- 2013-04-02 WO PCT/FR2013/050723 patent/WO2013144531A1/fr active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1134977A1 (fr) * | 2000-03-06 | 2001-09-19 | Irdeto Access B.V. | Procédé et système pour générer des copies d'un contenu brouillé avec des marquages uniques, et système de désembrouillage du contenu brouillé |
DE102006005052A1 (de) * | 2006-02-03 | 2007-08-09 | Siemens Ag | Verfahren und Vorrichtung zum Generieren zumindest eines nutzerspezifisch markierten Datenstroms, Verfahren und Vorrichtung zum Nachweis eines nutzerspezifisch markierten Datenstroms und ein nutzerspezifisch markierter Datenstrom |
EP2418869A1 (fr) * | 2010-08-09 | 2012-02-15 | Sony Corporation | Appareil de traitement d'informations, procédé et programme de traitement d'informations |
US20120042332A1 (en) * | 2010-08-11 | 2012-02-16 | Andrew Augustine Wajs | Method and system for providing encrypted content to a plurality of user devices |
EP2429189A1 (fr) * | 2010-09-09 | 2012-03-14 | Irdeto B.V. | Procédé et système pour fournir un contenu dans un dispositif récepteur |
Also Published As
Publication number | Publication date |
---|---|
WO2013144531A1 (fr) | 2013-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11019407B2 (en) | Systems and methods for providing watermarked content | |
US10461931B2 (en) | Method for watermarking content | |
EP3413566B1 (fr) | Obfuscation de variant de watermarking pour distribution de content | |
EP3552129B1 (fr) | Procédé d'enregistrement d'un contenu multimédia, procédé de détection d'une marque au sein d'un contenu multimédia, dispositifs et programme d'ordinateurs correspondants | |
EP1525748A1 (fr) | Procede et module electronique de transmission securisee de donnees | |
FR2877119A1 (fr) | Procede et dispositif pour generer une cle de decryptage d'un contenu | |
EP2700226A1 (fr) | Procedes et appareils de production et de traitement de representations de scenes multimedias | |
WO2009080926A2 (fr) | Procede de codage d'un flux video echelonnable a destination d'utilisateurs de differents profils | |
WO2020008131A1 (fr) | Procede d'obtention d'une succession de cles cryptographiques | |
EP3732849B1 (fr) | Procédé et système d'identification de terminal d'utilisateur pour la réception de contenus multimédia protégés et fournis en continu | |
EP2947888A1 (fr) | Procédé de téléchargement adaptatif de contenus numériques pour plusieurs écrans | |
FR2988959A1 (fr) | Procede de tatouage avec streaming adaptatif | |
WO2014147077A1 (fr) | Procédé et dispositif de génération de données protégées, procédé et dispositif de restitution de données source tatouées et programme d'ordinateur correspondants | |
EP1365589B1 (fr) | Brouillage, débrouillage, codage et décodage de signal vidéo utilisant une clé de cryptage et une clé de marquage | |
FR3050090A1 (fr) | Extraction de flux video | |
EP3317799B1 (fr) | Procédé de fourniture d'un contenu multimédia protégé | |
EP1994718B2 (fr) | Procédé et équipement de distribution de contenus audiovisuels numériques sécurisés par des solutions interopérables | |
EP2652899B1 (fr) | Procédé et système d'accès conditionnel à un contenu numérique, terminal et dispositif d'abonné associés | |
EP3928518A1 (fr) | Procédé permettant de dissimuler des données dans une image ou un flux vidéo à l'intérieur d'une chaîne de compression | |
FR3054765B1 (fr) | Procede pour la lecture sur un equipement d'un contenu multimedia avec un retard cible par rapport au direct inferieur a un retard maximal donne | |
EP1554879B1 (fr) | Dispositif pour la transformation de contenus multimedias et audiovisuels de type mpeg-2 en contenus securises de meme type | |
EP2328316B1 (fr) | Controle d'accès à un contenu numérique | |
FR3110263A1 (fr) | Procédé et système pour authentifier une application informatique, ou une fonction de l’application, exécutée par un récepteur multimédia | |
FR3095094A1 (fr) | Procedes de multi-diffusion et d'obtention de contenus numeriques dans un reseau, dispositif et systeme associes | |
FR2913166A1 (fr) | Procede de tatouage numerique d'un contenu photo ou video permettant une tracabilite de ce contenu |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ST | Notification of lapse |
Effective date: 20141128 |