Procédé de visionnagc d'images embrouillées, serveur, terminal de visualisation et programme d'ordinateur correspondant. 1. Domaine de l'invention
Le domaine de l'invention est celui du visionnage d'images et de séquences vidéos par le biais de réseaux de communication filaires ou sans fil, tels qu'Internet, les réseaux de radiocommunication mobile ou les réseaux de diffusion télévisuelle terrestre de type DVB-T par exemple, ou depuis des supports d'enregistrements tels que des
DVD, des CD-ROM, des disquettes, etc.
Plus précisément, l'invention concerne une technique de mise à disposition d'images fixes ou animées, permettant à un utilisateur de visualiser une version basse résolution (encore appelée version grossière ou dégradée) de l'image, de façon à déterminer si son contenu l'intéresse, puis, dans l'affirmative, d'obtenir un droit d'accès à cette image pour la visionner sous forme raffinée.
L'invention trouve notamment des applications dans le domaine de la VOD ("Video On Demand", vidéo à la demande) et des systèmes de type "Pay Per View" (télévision à la carte). Elle peut également être utilisée dans le cadre d'achat d'images ou de photographies sur Internet, dans le cadre de la navigation dans de grandes bases d'images ou de vidéos stockées sur un serveur de données, ou encore pour la consultation de supports d'enregistrements tels que des DVD. 2. Solutions de l'art antérieur et leurs inconvénients
On connaît déjà plusieurs méthodes permettant d'embrouiller le contenu d'images ou de vidéos, et de fournir le contenu ainsi embrouillé à un utilisateur, de façon à lui permettre de juger si ce contenu l'intéresse.
Dans le domaine de la vidéo, dans lequel les images sont codées selon une approche vectorielle par vecteurs de mouvement, de telles méthodes peuvent consister à modifier les vecteurs de mouvement en les perturbant sur des grilles de différentes formes.
Un inconvénient de ces techniques d'embrouillage est qu'elles induisent des impressions visuelles de clignotement des images, ainsi que des effets de dérive dans le domaine compressé, dus à la continuité des vecteurs de mouvement dans le temps. Il est donc difficile pour l'utilisateur de déterminer, à partir du contenu embrouillé, s'il
souhaite pouvoir accéder à l'intégralité de la vidéo en clair.
Dans le domaine de l'image fixe, la norme de compression JPEG ( "Joint Photographie Experts Group", groupe conjoint d'experts de la photographie) (ISO/IEC (ITU-T SG8) JTC1/SC29 WGl (JPEG/JBIG), JPEG2000 Part I Final Committee Draft, Document N2165, Juin 2001), qui prévoit de coder les images par transformée en cosinus de type DCT ("Discrète Cosinus Transform", transformée en cosinus discrète), propose d'embrouiller le contenu des images en transmettant les hautes fréquences des coefficients DCT sous forme cryptée, de façon à obtenir un rendu flou de l'image.
Un inconvénient de cette technique de l'art antérieur est qu'elle génère de forts artefacts, ainsi que des effets de bloc dus à une mauvaise reconstruction des coefficients DCT.
3. Objectifs de l'invention
L'invention a notamment pour objectif de pallier ces inconvénients de l'art antérieur. Plus précisément, un objectif de l'invention est de fournir une technique de visionnage d'images fixes ou de vidéos, permettant à un utilisateur de visionner une version basse résolution, ou grossière du contenu, afin de déterminer si ce contenu l'intéresse, puis, dans l'affirmative, de rendre ce contenu accessible avec une meilleure définition. L'invention a encore pour objectif de fournir une telle technique qui permette à l'utilisateur de visionner une version dégradée de l'image qui présente une qualité suffisante pour lui permettre de décider si le contenu de l'image l'intéresse, et de préférence constante pour tout type d'image ou de vidéo.
L'invention a aussi pour objectif de proposer une telle technique qui soit adaptée à la distribution d'images et de vidéos sur tout type de réseau de communication, et plus particulièrement sur les réseaux présentant une architecture de type client-serveur.
L'invention a également pour objectif de fournir une telle technique qui soit bien adaptée aux systèmes de type "Pay-Per-View" et VOD.
L'invention a encore pour objectif de proposer une telle technique qui soit simple à mettre en œuvre, et adaptée aux capacités de tout type de terminal de visualisation dont dispose un utilisateur.
4. Caractéristiques essentielles de l'invention
Ces objectifs, ainsi que d'autres qui apparaîtront par la suite, sont atteints à l'aide d'un procédé de visionnage d'au moins une image fixe ou animée par un utilisateur disposant d'un terminal de visualisation, ladite image étant associée à un maillage de base constitué d'un ensemble de facettes définies par un ensemble de sommets et d'arêtes, et à des coefficients dans une base d'ondelettes correspondant à des modifications locales dudit maillage de base, dits coefficients d'ondelettes.
Selon l'invention, un tel procédé de visionnage comprend les étapes de : chargement d'au moins un maillage de base sur ledit terminal de visualisation, de façon à permettre une reconstruction d'une version basse résolution de ladite image ; obtention par ledit utilisateur d'un droit de visionnage de ladite image ; autorisation d'accès dudit utilisateur à au moins certains desdits coefficients d'ondelettes, en fonction dudit droit de visionnage. Ainsi, l'invention repose sur une approche tout à fait nouvelle et inventive du visionnage d'images et de vidéos, sous une forme grossière ou embrouillée d'abord, puis sous une forme de meilleure qualité ensuite, lorsqu'il s'avère que l'utilisateur est autorisé à accéder à l'image ou à la vidéo.
En effet, l'invention propose de s'appuyer sur une technique de codage d'images par maillage et ondelettes de deuxième génération (présentées plus en détail dans la suite de ce document). Dans un premier temps, on transmet à l'utilisateur les basses fréquences de l'image, sous la forme du maillage de base qui lui est associé. Le terminal de visualisation de l'utilisateur peut alors, à partir de ce maillage de base, reconstruire une version basse résolution de l'image. L'utilisateur décide alors si son contenu l'intéresse ou non, et dans l'affirmative, obtient un droit de visionnage de l'image ou de la vidéo.
Un tel droit de visionnage peut être obtenu sur requête adressée au serveur sur lequel sont stockées les images, ou à un serveur dédié à l'attribution d'autorisations d'accès aux utilisateurs. Le droit de visionnage de l'utilisateur peut par exemple être acquis par paiement (dans le cadre d'un système de type Pay-Per-View par exemple), ou par identification (dans le cadre d'accès à des images ou des vidéos confidentielles ou
réservées à certains abonnés d'un service par exemple). Le droit de visionnage peut encore être contrôlé par un module de pilotage d'un support d'enregistrement amovible lisible par le terminal de visualisation et sur lequel sont stockées les images (un DVD par exemple). On autorise ensuite l'utilisateur à accéder à tout ou partie des coefficients d'ondelettes associés à l'image ou à la vidéo, qui correspondent à des raffinements successifs du maillage de base précédemment reçu, en fonction du droit de visionnage qui a été attribué à l'utilisateur (par exemple en fonction du montant dont il s'est acquitté). Le terminal de visualisation peut alors reconstruire une image de meilleure qualité, voire même de qualité maximale (par exemple la qualité d'origine de l'image).
Le procédé de l'invention permet donc de protéger efficacement les contenus (images ou vidéos) sur les serveurs ou les supports d'enregistrement dédiés, en restreignant les droits d'accès des utilisateurs, tout en leur donnant la possibilité de les consulter sous forme embrouillée. Il permet en outre de s'affranchir des problèmes de clignotement ou d'artefacts des techniques de l'art antérieur.
Selon une première variante de réalisation de l'invention, lors de ladite étape d'autorisation d'accès, on transmet audit utilisateur au moins certains desdits coefficients d'ondelettes, de façon à permettre une reconstruction d'une version raffinée de ladite image. Ces coefficients d'ondelettes proviennent d'un serveur ou d'un support d'enregistrement amovible sur lequel ils sont stockés et ils sont utilisés pour raffiner la version basse résolution précédemment reconstruite à partir du maillage de base.
Selon une deuxième variante de réalisation de l'invention, lors de ladite étape de chargement, on charge également sur ledit terminal de visualisation au moins certains desdits coefficients d'ondelettes, de façon à ce que ladite version basse résolution satisfasse au moins un critère de qualité prédéterminé, et, lors de ladite étape d'autorisation d'accès, on transmet audit utilisateur au moins certains autres coefficients d'ondelettes, de façon à permettre une reconstruction d'une version raffinée de ladite image.
Cette deuxième variante est particulièrement avantageuse lorsque le maillage de base ne permet pas à lui seul la reconstruction d'une image basse résolution de suffisamment bonne qualité pour que l'utilisateur puisse en évaluer l'intérêt. Les
coefficients joints au maillage de base lors de l'étape de chargement doivent réaliser un compromis en termes de qualité, puisqu'ils doivent permettre de reconstruire une image basse résolution de qualité suffisante pour une évaluation d'intérêt, mais suffisamment médiocre pour que l'utilisateur souhaite tout de même faire l'acquisition de droits de visionnage de l'image raffinée.
Préférentiellement, dans ces deux variantes de réalisation, lesdits coefficients d'ondelettes transmis lors de ladite étape d'autorisation d'accès sont fonction d'une capacité dudit terminal de visualisation et/ou d'un débit autorisé sur un réseau de communication auquel est connecté ledit terminal de visualisation et/ou d'un niveau de qualité souhaité de ladite version raffinée.
En effet, il est par exemple inutile de transmettre l'intégralité des coefficients d'ondelettes si, par exemple, le terminal de l'utilisateur n'est pas capable de gérer tous ces coefficients, ou si l'écran de visualisation est de trop mauvaise résolution, ou encore si cela risque de surcharger le réseau de communication. Selon une troisième variante de réalisation de l'invention, lors de ladite étape de chargement, on charge également sur ledit terminal de visualisation au moins certains desdits coefficients d'ondelettes sous forme cryptée, et, lors de ladite étape d'autorisation d'accès, on transmet audit utilisateur une clef de décryptage desdits coefficients d'ondelettes cryptés, de façon à permettre une reconstruction d'une version raffinée de ladite image.
Ainsi, l'utilisateur dispose dès le départ de tous les coefficients, mais sous forme codée. Un pirate qui tenterait d'intercepter le flux ne pourrait pas l'exploiter, faute de clef de décryptage. On introduit ainsi un niveau de protection supplémentaire du contenu. Selon une caractéristique avantageuse de cette troisième variante, lesdits coefficients d'ondelettes étant codés par plans de bits, on sélectionne ledit ou lesdits plan(s) de bits à crypter, en vue de la transmission desdits coefficients d'ondelettes sous forme cryptée, en fonction d'un critère d'embrouillage prédéterminé.
On peut en effet vouloir empêcher totalement le visionnage du contenu, et donc imposer une force d'embrouillage très élevée, en cryptant tous les plans de bits, ou à l'inverse, simplement gêner sa visualisation, et donc tolérer une force d'embrouillage
plus faible, en ne cryptant que certains de ces plans.
Préférentiellement, ledit ou lesdits plan(s) de bits sont cryptés au moyen d'un générateur pseudo-aléatoire.
L'invention concerne aussi un serveur de distribution d'au moins une image fixe ou animée vers un utilisateur disposant d'un terminal de visualisation, via un réseau de communication, ladite image étant associée à un maillage de base constitué d'un ensemble de facettes définies par un ensemble de sommets et d'arêtes, et à des coefficients dans une base d'ondelettes correspondant à des modifications locales dudit maillage de base, dits coefficients d'ondelettes. Un tel serveur comprend : - des moyens de transmission d'au moins un maillage de base audit utilisateur, de façon à permettre une reconstruction d'une version basse résolution de ladite image ; des moyens de vérification d'obtention par ledit utilisateur d'un droit de visionnage de ladite image ; - des moyens d'autorisation d'accès dudit utilisateur à au moins certains desdits coefficients d'ondelettes, en fonction dudit droit de visionnage.
Un tel serveur est par exemple un serveur de contenus relié au terminal de l'utilisateur par un réseau de type Ethernet ou Internet.
L'invention concerne également un terminal de visualisation d'au moins une image fixe ou animée stockée sur un serveur et/ou un support d'enregistrement lisible par ledit terminal, ladite image étant associée à un maillage de base constitué d'un ensemble de facettes définies par un ensemble de sommets et d'arêtes, et à des coefficients dans une base d'ondelettes correspondant à des modifications locales dudit maillage de base, dits coefficients d'ondelettes. Un tel terminal de visualisation comprend : des moyens de chargement d'au moins un maillage de base depuis ledit serveur et/ou ledit support d'enregistrement, et des moyens de reconstruction d'une version basse résolution de ladite image à partir dudit maillage de base chargé ; des moyens d'obtention d'un droit de visionnage de ladite image ; - des moyens d'accès à au moins certains desdits coefficients d'ondelettes, en fonction dudit droit de visionnage, et des moyens de reconstruction d'une version
raffinée de ladite image à partir desdits coefficients d'ondelettes.
Un tel terminal peut être un micro-ordinateur, un téléviseur, un PDA ("Personal Digital Assistant", pour "assistant numérique personnel"), un radiotéléphone, etc.
L'invention concerne encore un programme d'ordinateur comprenant des instructions de code de programme pour l'exécution des étapes du procédé de visionnage d'au moins une image fixe ou animée décrit précédemment lorsque ledit programme est exécuté par un microprocesseur.
Elle concerne enfin un produit programme d'ordinateur comprenant des instructions de code de programme enregistré sur un support utilisable dans ou par un ordinateur, ledit programme permettant le visionnage d'au moins une image fixe ou animée par un utilisateur disposant d'un terminal de visualisation, ladite image étant associée à un maillage de base constitué d'un ensemble de facettes définies par un ensemble de sommets et d'arêtes, et à des coefficients dans une base d'ondelettes correspondant à des modifications locales dudit maillage de base, dits coefficients d'ondelettes. Un tel produit programme d'ordinateur comprend : des moyens de programmation lisibles par ordinateur pour effectuer une étape de chargement d'au moins un maillage de base sur ledit terminal de visualisation, de façon à permettre une reconstruction d'une version basse résolution de ladite image ; - des moyens de programmation lisibles par ordinateur pour effectuer une étape d' obtention par ledit utilisateur d'un droit de visionnage de ladite image ; des moyens de programmation lisibles par ordinateur pour effectuer une étape d'autorisation d'accès dudit utilisateur à au moins certains desdits coefficients d'ondelettes, en fonction dudit droit de visionnage. Un tel programme est téléchargeable, par exemple depuis Internet.
Ainsi, l'invention peut s'appliquer à la vente de contenus (images ou vidéos). Une telle technique de vente de contenus multimédia codés par maillages et ondelettes comprend les étapes suivantes : chargement d'au moins un maillage de base sur un terminal de visualisation d'un client, de façon à permettre une reconstruction d'une version basse résolution de ladite image ;
paiement par ledit client d'un droit de visionnage de ladite image ; autorisation d'accès dudit client à au moins certains desdits coefficients d'ondelettes, en fonction dudit droit de visionnage payé.
5. Liste des figures D'autres caractéristiques et avantages de l'invention apparaîtront plus clairement à la lecture de la description suivante d'un mode de réalisation préférentiel, donné à titre de simple exemple illustratif et non limitatif, et des dessins annexés, parmi lesquels : la figure 1 présente un organigramme des principales étapes du procédé de visionnage d'images de l'invention ; - la figure 2 illustre une première variante de réalisation de l'invention, selon laquelle on charge sur le terminal de visualisation un maillage de base puis, après acquisition des droits de visionnage, les coefficients d'ondelettes associés ; la figure 3 décrit une deuxième variante de l'invention, selon laquelle on charge dans un premier temps sur le terminal de visualisation un maillage de base et certains coefficients d'ondelettes, pour reconstruire une version basse résolution de l'image de qualité suffisante, puis, en fonction des droits de visionnage de l'utilisateur, on charge le reste des coefficients d'ondelettes ; la figure 4 décrit une troisième variante de l'invention selon laquelle on charge avec le maillage de base sur le terminal de visualisation les coefficients d'ondelettes sous forme cryptée, puis, si l'utilisateur est titulaire d'un droit de visionnage, on lui transmet une clef de décryptage des coefficients d'ondelettes ; la figure 5 illustre le flux des données échangées dans le cadre du procédé de visionnage de l'invention ; la figure 6 présente un synoptique des différentes étapes du procédé de visionnage de l'invention synthétisant les trois variantes des figures 2 à 4 ; la figure 7 présente le principe de cryptage des plans de bits dans la variante de la figure 4 ; la figure 8 illustre une application de l'invention dans le cadre d'une architecture client serveur ; - la figure 9 présente la structure d'un terminal de visualisation selon l'invention.
6. Description d'un mode de réalisation de l'invention
Le principe général de l'invention repose sur : le chargement préalable de basses fréquences associées à une image codée par maillage et ondelettes, sous la forme d'un maillage de base, de façon à permettre à l'utilisateur de visionner une version basse résolution de l'image ; - puis, si l'utilisateur dispose d'un droit de visionnage, sur une mise à disposition des coefficients d'ondelettes associés, de façon à lui permettre de reconstruire une version raffinée de l'image.
La technique de visionnage d'images de l'invention repose donc sur un codage des images par maillages et ondelettes de deuxième génération (ou d'une éventuelle génération ultérieure), dont on rappelle succinctement le principe en annexe 1, qui fait partie intégrante de la présente description.
Dans toute la suite de la description, on désigne généralement par la même référence numérique un même élément présent dans différentes figures.
On présente tout d'abord, en relation avec la figure 1, les principales étapes du procédé de visionnage d'images (images fixes ou images successives d'une séquence vidéo) de l'invention.
Un utilisateur dispose d'un terminal de visualisation, du type ordinateur personnel (PC), téléviseur, téléphone mobile équipé d'un écran, ou plus généralement d'un dispositif de codage/décodage d'images et/ou de séquences vidéo. Ce terminal peut être relié par le biais d'un réseau de communication filaire ou sans fil (réseau de radiocommunication mobile, réseau Internet, réseau éthernet, réseau téléphonique fixe, etc.) à un serveur de données sur lequel sont stockés des contenus (images fixes et/ou vidéos) codés selon une technique de codage par maillage et ondelettes. Le terminal peut aussi être équipé de moyens de lecture d'un support d'enregistrement amovible (un DVD par exemple) sur lequel sont stockés de tels contenus.
Sur ce serveur ou sur ce support d'enregistrement, chaque image est donc mémorisée en association avec un maillage de base et une pluralité de coefficients d'ondelettes correspondant à des raffinements successifs du maillage de base. Un tel maillage de base peut être régulier ou irrégulier. Dans le cas le plus général, il présente des mailles triangulaires, dont chacun des sommets est indexé par un coefficient d'ondelettes.
Le maillage de base et les coefficients d'ondelettes associés peuvent aussi ne pas être stockés mais reconstruits à chaque fois que cela est nécessaire, par exemple par une recherche de points saillants pour le maillage de base, et par analyse en ondelettes pour les coefficients. L'utilisateur, qui souhaite visionner une image ou une séquence vidéo, adresse une requête au serveur de données (ou à un serveur de requêtes qui lui est connecté) ou accède au support d'enregistrement. Le serveur ou le support d'enregistrement transmettent alors au terminal de visualisation, lors d'une étape référencée 10, une ensemble de données qui comprennent au moins le maillage de base associé à l'image ou à une image de la séquence vidéo qui intéresse l'utilisateur.
Le serveur de données (ou un serveur d'authentification ou d'autorisation) ou un module de contrôle d'accès au support d'enregistrement, vérifie alors, lors d'une étape référencée 11, si l'utilisateur dispose d'un droit de visionnage de l'image ou de la séquence vidéo qui l'intéresse. Ce droit de visionnage peut avoir été acquis par paiement par l'utilisateur (par exemple, par paiement par carte bancaire au serveur, ou par achat du support d'enregistrement). Ce droit de visionnage peut aussi résulter d'une authentification de l'utilisateur dans le cas de contenus dont l'accès est réservé à certaines personnes autorisées seulement (par exemple les abonnés d'une chaîne télévisée, ou les titulaires d'un agrément en cas de données confidentielles). Si la vérification 11 est négative, i.e. si l'utilisateur n'a pas obtenu de droit de visionnage du contenu, l'image ou la séquence vidéo ne lui reste accessible que sous version grossière, ou basse résolution 12.
Dans le cas contraire, l'utilisateur peut accéder 13 à certains ou à tous les coefficients d'ondelettes associés à l'image, de façon à ce que le terminal de visualisation puisse en reconstruire 14 une version raffinée.
Lors de l'étape référencée 13, on peut rendre accessibles l'intégralité des coefficients d'ondelettes associés au contenu, ou seulement certains d'entre eux, par exemple si le terminal de visualisation ne présente pas les capacités de traitement suffisantes pour gérer tous les coefficients, ou si ces coefficients doivent être transmis par un réseau de communication dont le débit maximum autorisé est déjà atteint, ou encore si certains de ces coefficients seulement suffisent à atteindre un niveau de qualité
satisfaisant de la version raffinée de l'image ou de la vidéo.
6.1 Première variante de réalisation de l'invention
On présente, en relation avec la figure 2, une première variante de l'invention. Les images ou les séquences vidéos à visionner sont stockées sur un serveur de données 20. A chaque contenu, image fixe ou image d'une séquence vidéo, on associe un maillage de base 21, grâce à la technique de codage par maillages et ondelettes de deuxième génération rappelée en annexe 1. Ce maillage de base 21 est transmis à l'utilisateur, qui peut alors réaliser un pré-visionnage 22 de l'image sur son terminal de visualisation. Le serveur de données, ou un autre serveur dédié, vérifie alors 23 si l'utilisateur a acheté un droit de visionnage du contenu prévisionné, par exemple en lui ayant communiqué ses coordonnées bancaires. Dans la négative 24, l'utilisateur ne peut pas visionner de version plus raffinée de l'image, dont le contenu reste illisible.
Dans l'affirmative en revanche, le serveur de données transmet 25 à l'utilisateur les coefficients d'ondelettes correspondant aux raffinements successifs du maillage de base 21, de façon que le terminal de visualisation de ce dernier puisse reconstruire 26 une version raffinée de l'image ou de la vidéo. Lors de l'étape de transmission 25 des coefficients d'ondelettes, le serveur de données peut ne transmettre que certains des coefficients de raffinement, par exemple en proportion du montant dont s'est acquitté l'utilisateur lors de l'achat du droit de visionnage.
6.2 Deuxième variante de réalisation de l'invention
La variante de réalisation de la figure 3 s'applique au cas où le maillage de base associé à l'image ne permet pas à l'utilisateur de reconstruire une version basse résolution de l'image de suffisamment bonne qualité pour qu'il puisse évaluer si ce contenu l'intéresse, ou plus généralement au cas où l'on souhaite offrir la possibilité à l'utilisateur de prévisionner une image grossière de meilleure qualité que dans la variante de la figure 2.
La variante de la figure 3 diffère de celle de la figure 2 en ce que, outre le maillage de base 21, le serveur de contenu transmet aussi au préalable à l'utilisateur une partie 31 des coefficients d'ondelettes, que son terminal de visualisation utilise pour reconstruire une version dégradée du contenu à prévisionner 22.
En effet, on peut vouloir garantir une qualité fixe de pré-visionnage, quel que soit le nombre de triangles du maillage de base.
Le nombre de coefficients d'ondelettes 31 à transmettre avec le maillage de base 21 est déterminé en mettant en œuvre un contrôle débit-distorsion tel que décrit dans une demande de brevet français conjointe déposée le même jour que la présente demande de brevet par le même déposant et intitulée « Procédé de codage d'images codées par ondelettes à contrôle du débit, dispositif de codage et programme d'ordinateur correspondants ». Le serveur procède de manière itérative pour déterminer quels sont les coefficients d'ondelettes 31 à transmettre pour atteindre un niveau de qualité de reconstruction cible, associé à un débit de transmission cible. Si, à partir des coefficients d'ondelettes 31 et du maillage de base 21, la version de l'image que l'on peut reconstruire est trop dégradée 32, on reboucle, de façon à ce que le serveur de contenu 20 vienne ajouter de nouveaux coefficients d'ondelettes dans l'ensemble 31 des données à transmettre à l'utilisateur. Le bitstream (ou flux de données) étant scalable (ou échelonnable), il sera tronqué de manière adaptative afin de permettre une pré¬ visualisation de qualité suffisante.
Après prévisionnage 22 du contenu par l'utilisateur, on vérifie 23, comme pour la variante de la figure 2, que l'utilisateur a obtenu un droit de visionnage du contenu. Par exemple, ce droit de visionnage résulte d'une identification correcte de l'utilisateur auprès du serveur de données, après que l'utilisateur lui a communiqué un identifiant et un mot de passe. Le serveur a ainsi vérifié que l'utilisateur faisait partie de la liste restreinte des personnes qui étaient autorisées à accéder aux contenus confidentiels qu'il stocke.
La variante de la figure 3 diffère ensuite de celle de la figure 2 en ce qu'on ne transmet pas l'intégralité des coefficients d'ondelettes, mais seulement ceux qui n'ont pas fait partie de l'envoi préalable 31 lors de l'étape référencée 35.
Le terminal de visualisation utilise les nouveaux coefficients d'ondelettes reçus lors de l'étape référencée 35 pour raffiner l'image basse résolution prévisionnée 22, et reconstruit ainsi 26 le contenu final. 6.3 Troisième variante de réalisation de l'invention
Dans une troisième variante de l'invention, illustrée en figure 4, les images à
visionner (fixes ou appartenant à une séquence vidéo) sont stockées 20 sur un support d'enregistrement amovible lisible par le terminal de visualisation de l'utilisateur, par exemple un DVD ou un CD-Rom. Chacune de ces images est associée à un maillage de base 21, et à un ensemble de coefficients d'ondelettes 41 correspondant à des raffinements successifs du maillage. Afin de permettre à l'utilisateur de prévisionner 22 une version basse résolution de l'image, on lui fournit, dans cette variante de réalisation, non seulement le maillage de base 21, mais aussi l'intégralité des coefficients d'ondelettes 41 (ou seulement une partie de ces derniers, par exemple si le terminal de visualisation ne présente pas des capacités de traitement suffisantes). Cependant, avant l'envoi de ces coefficients d'ondelettes 41, on procède à un cryptage 42 des plans de bits par modulation par une séquence chaotique.
En effet, les coefficients d'ondelettes sont ordonnés par ordre d'importance au sein de plans de bits, que l'on vient crypter en amorçant un générateur pseudo-aléatoire, comme décrit plus en détail dans la suite en relation avec la figure 7. Le cryptage, à clé publique ou privée, opère sur les coefficients d'ondelettes de deuxième génération représentant à la fois les raffinements spatiaux du maillage, et temporels dans le cas d'une image d'une séquence vidéo pour laquelle on réalise un codage par prédiction inter-images.
L'utilisateur peut alors prévisionner 22 une version basse résolution du contenu à partir du seul maillage de base 21. Un module de contrôle d'accès au support d'enregistrement amovible vérifie 23 alors si l'utilisateur dispose d'un droit de visionnage de l'image : par exemple, lors de l'achat du DVD, l'utilisateur peut s'être acquitté d'un montant l'autorisant à visionner cinquante images parmi toutes celles stockées sur le disque. La vérification 23 consiste alors à déterminer combien d'images l'utilisateur a déjà visionnées sous forme raffinée, afin de savoir si l'on peut lui transmettre 43 une clef de décodage lui permettant de décrypter les plans de bits.
Après décryptage des coefficients d'ondelettes reçus 41, le terminal de visualisation reconstruit 26 une version raffinée de l'image choisie par l'utilisateur.
On notera que chacune des trois variantes de réalisation a été décrite dans un contexte différent (achat de droits à un serveur, authentification de l'utilisateur auprès d'un serveur, stockage des données sur un support d'enregistrement amovible, ...). Il est
bien sûr évident qu'aucune de ces variantes ne se limite au contexte décrit, et que toutes les caractéristiques contextuelles décrites ci-dessus s'appliquent à l'une quelconque des variantes de réalisation de l'invention.
6.4 Eléments de l'invention communs aux différentes variantes de réalisation
La figure 5 illustre le flux des données échangées entre un serveur 51 de stockage de contenus et le terminal de visualisation 52 d'un utilisateur, dans l'une quelconque des variantes de réalisation de l'invention.
Par transformation en ondelettes, une image It est associée à un maillage de base MB 21 et à un ensemble de coefficients d'ondelettes W 41. Ces coefficients 41 sont rangés dans des arbres de type SPIHT (« Set Partitioning In Hierarchical Trees »), encore appelés arbres « zero-tree », puis codés par plans de bits 53.
En utilisant un algorithme débit-distorsion 55 (tel que décrit ci-dessus en relation avec la figure 3), on peut coder une partie seulement de ces coefficients d'ondelettes 41 par plans de bits 53, de façon que le serveur 51 transmette au terminal de visualisation 52 un maillage de base 21 et un sous-ensemble de coefficients d'ondelettes 31, qui lui permettent de reconstruire une version dégradée I\ de l'image. Dans la première variante de l'invention, le terminal de visualisation 52 ne reçoit que le maillage de base 21 pour reconstruire l'image basse résolution I't. Si l'on met en œuvre la troisième variante de la figure 4, ces plans de bits 53 sont cryptés 54 avant d'être envoyés au terminal de visualisation 52.
Lors d'une étape référencée 23 on vérifie que l'utilisateur est autorisé à visionner le contenu dans sa qualité d'origine, et on lui transmet une clef de décodage qui lui permet de décrypter les plans de bits cryptés 54. A partir de l'image basse résolution I't et des plans de bits décryptés 56, qui contiennent les coefficients d'ondelettes non encore reçus par le terminal 52, ce dernier reconstruit l'image initiale
La figure 6 illustre les différentes étapes du procédé de visionnage de l'invention sous une forme synoptique regroupant les trois variantes des figures 2 à 4. La première étape référencée 61 est celle de la création du maillage de base 21 associé à une image It. La recherche du maillage de base peut s'effectuer de diverses
méthodes, par exemple selon la technique décrite dans la demande de brevet français FR 03 07083 au nom des mêmes déposants que la présente demande de brevet, ou encore dans l'article de J. Kelsey, B. Schneier, et N. Ferguson, "Yarrow-160 : Notes on the Design and Analysis of the Yarrow Cryptographie Pseudorandom Number Generator", Proc. of the όa Annual Int. Workshop, volume 1758 de Lecture Notes in Computer Science, page 13, Kingston, Août 1999.
Lors de la deuxième étape référencée 62, on réalise la subdivision du maillage de base 21 et la transformée en ondelettes de l'image. Le maillage raffiné (par exemple par la méthode décrite par les inventeurs S. Brangoulo & P. Gioia dans "An Adaptive Video Coder Using Saliency and Second Génération Wavelets", IASTED 6th Conférence on Signal and Image Processing, Proceeding pp 286-291, Honolulu, Hawaii U. S. A, août 2004) est stocké afin d'être par la suite analysé.
Le maillage est raffiné par une méthode hiérarchique adaptative, décrite dans la demande de brevet français FR 03 07083 citée ci-dessus. Ainsi, certains triangles sont subdivisés au maximum, d'autres sont subdivisés à un niveau intermédiaire, et certains ne sont pas subdivisés du tout. Les triangles sont ensuite analysés en ondelettes, et les coefficients d'ondelettes sont codés dans un arbre de zéros, puis en plans de bits, comme décrit par A. Said, W. Pearlman, dans "A new, fast, and efficient image codée based on set partitioning in hierarchical trees", IEEE Trans. Circuits Syst. Video Technol. 6 (June 1996) 243-250.
L'étape référencée 63 est une étape d'embrouillage des coefficients d'ondelettes. Les plans de bit sont sélectionnés par ordre d'importance, suivant la force d'embrouillage que l'on souhaite obtenir. Ainsi, pour obtenir une force d'embrouillage maximum, tous les plans sont sélectionnés. Pour une force moyenne, la moitié des plans est sélectionnée. Pour une visualisation sans embrouillage (variantes des figures 2 et 3), aucun plan de bit n'est sélectionné au cours de l'étape 63, qui est donc optionnelle.
Dans un exemple de réalisation de l'invention, les coefficients d'ondelettes sont codés sur 16 plans de bit. Lorsque l'on ne souhaite pas embrouiller l'image (force de 0%, pour les première et deuxième variantes des figures 2 et 3), on ne sélectionne donc aucun plan de bit. Pour une force d'embrouillage de 25 %, 4 plans de bit seront sélectionnés (variante de la figure 4). Pour une force de 50 %, 8 plans de bit sont
sélectionnés et ainsi de suite jusqu'à atteindre une force d'embrouillage de 100%, par sélection des 16 plans de bit.
Dans un mode de réalisation particulier de l'invention, on utilise un critère psycho visuel, qui permet de sélectionner les coefficients d'ondelettes visuellement importants, afin de ne pas coder tout le plan de bit, et ainsi gagner en efficacité.
Pour crypter ces plans de bit, on utilise une clé privée qui amorce un générateur aléatoire. Ce générateur est utilisé pour crypter les plans de bit, par multiplication, ainsi qu'illustré par la figure 7. On considère la portion de plan de bits 71, que l'on transpose dans le domaine {-1,1}, pour obtenir une portion de plan de bits transposée 72. Le générateur est initialisé grâce à une clé, comme dans l'article précité de A. Said et W. Pearlman. On multiplie la portion transposée 72 par une séquence pseudo-aléatoire 73, et on obtient ainsi une portion de plan de bits cryptée 74. Les perturbations locales apportent une dérive, due à la continuité des maillages. Il convient donc d'adapter la force d'embrouillage pour ne pas trop dégrader le contenu. En se référant à nouveau à la figure 6, l'étape référencée 64i est celle de la transmission du maillage de base (de manière libre, i.e. non embrouillée) et de plans de bit contenant certains coefficients d'ondelettes. Dans la variante de la figure 4, les plans de bit transmis sont cryptés selon l'étape référencée 63. Dans une variante de réalisation de l'invention (variante de la figure 3 ou adaptation particulière de la variante de la figure 4), afin d'assurer une double protection du contenu, une partie des plans de bit reste au niveau du serveur, pour une transmission ultérieure.
L'étape référencée 642 est une étape substitutive de l'étape 64i. Dans cette étape 642, la totalité des plans de bit sont transmis, sous forme cryptée, ainsi que le maillage de base associé, en clair. L'utilisateur ne peut cependant reconstruire une version basse résolution du contenu qu'à partir du maillage de base, et éventuellement d'une petite partie des coefficients ondelettes (si nécessaire pour obtenir une qualité de reconstruction suffisante, évaluée au moyen d'un algorithme de contrôle débit- distorsion). A nouveau, pour sécuriser le contenu, on peut envisager au cours de cette étape 642 une transmission partielle des coefficients d'ondelettes : ces derniers sont alors cryptés à l'aide d'une clé différente, ce qui permet de sécuriser la transmission.
Au cours de l'étape référencée 65, on reconstruit une version dégradée, ou basse
résolution du contenu, à partir du maillage de base, et éventuellement de certains coefficients d'ondelettes pour atteindre un niveau de qualité satisfaisant. Dans ce cas, et pour le cas particulier de la variante de la figure 4, les coefficients d'ondelettes nécessaires à la reconstruction de cette version grossière sont décryptés par une clé transmise par le serveur.
L'utilisateur décide alors de s'acquitter 66 des droits de visionnage du média encodé (dans un exemple d'application de type « Pay Per View » par exemple). Il envoie une requête au serveur, qui transmet au décodeur du terminal de visualisation la clé permettant de décrypter le reste des plans de bit. Le serveur transmet alors 67 les coefficients d'ondelettes restants, le cas échéant. Le terminal de visualisation peut alors reconstruire 68 le contenu intégral, en suivant la méthode décrite dans l'article précité de S. Brangoulo et P. Gioia. Les coefficients d'ondelettes sont décryptés si nécessaire (variante de la figure 4) et sont ajoutés au flux du média. L'utilisateur peut donc visionner le média dans sa qualité d'origine. La figure 8 illustre une application de l'invention dans le cadre d'une architecture client-serveur.
Un tel système d'échanges client-serveur permet au client 52 de visionner une version dégradée d'un contenu (image ou vidéo), à partir de laquelle il peut juger si le contenu l'intéresse ou non. Il peut aussi s'agir d'un système de transmission cryptée (par exemple pour une chaîne de télévision cryptée), où les programmes sont brouillés de manière à susciter chez l'utilisateur 52 l'envie d'acheter les droits de visionnage des contenus présents sur la chaîne.
Le terminal de visualisation 52 de l'utilisateur envoie une requête 81 au serveur de contenu 51, qui stocke une banque d'images ou de séquences vidéos, pour demander à visionner une image particulière. Le serveur extrait de sa base de données, ou reconstruit, le maillage de base 21 associé à cette image et le transmet 82 à l'utilisateur 52. Le terminal de visualisation 52 reconstruit alors à partir de ce maillage de base 21 une version basse résolution de l'image que l'utilisateur peut prévisionner 22.
L'utilisateur s'acquitte 83 de droits de visionnage de l'image auprès du serveur 51, qui détermine les coefficients d'ondelettes 84 associés à l'image requise. Le serveur 51 transmet 85 ensuite ces coefficients 84 au terminal de visualisation 52, qui les utilise
pour reconstruire une version raffinée 86 de l'image.
Dans le cas particulier de la variante de la figure 4, les coefficients d'ondelettes 84 sont transmis sous forme cryptée à l'utilisateur 52, qui reçoit une clef de décodage après acquisition 83 des droits de visionnage. Dans le cas d'un piratage, l'utilisateur ne peut donc pas visionner la séquence vidéo ou l'image, tant que celle-ci reste cryptée. De la même manière, lors de la transmission des coefficients d'ondelettes du serveur 51 à l'utilisateur 52, des pirates ne pourront pas intercepter le flux, puisque ce dernier sera crypté. S'ils essaient de décrypter la vidéo par un code erroné, ou d'intercepter le flux, les perturbations seront encore plus intenses, ce qui rendra toute la séquence illisible.
La technique de l'invention peut être utilisée conjointement avec une technique de tatouage d'images ou de séquences vidéos, décrite dans une demande de brevet français conjointe déposée le même jour par les mêmes déposants que la présente demande de brevet et intitulée "Procédé de tatouage d'images codées par ondelettes, procédé de détection, dispositifs, programmes d'ordinateur, signal et support d'enregistrement correspondants". On assure ainsi la pérennité de la protection durant toute la vie du média (lors de sa transmission, puis lors des échanges possibles entre les utilisateurs).
La figure 9 présente enfin la structure d'un terminal de visualisation de l'invention, qui comprend une mémoire M 91, et une unité de traitement 90 équipée d'un microprocesseur μP, qui est piloté par le programme d'ordinateur Pg 92. L'unité de traitement 90 reçoit en entrée un maillage de base 21, à partir duquel le microprocesseur μP reconstruit, selon les instructions du programme Pg 92, une version basse résolution 22 de l'image. L'unité de traitement 90 présente également une entrée destinée à recevoir les coefficients d'ondelettes 84 associés à l'image, à partir desquels le microprocesseur μP raffine l'image basse résolution 22 et délivre en sortie du terminal de visualisation une version raffinée 86 de l'image. Dans la variante de réalisation selon laquelle les coefficients d'ondelettes sont reçus par le terminal sous forme cryptée, un tel terminal présente également une entrée, non représentée sur la figure 9, destinée à recevoir la clef de décryptage de ces coefficients. L'unité de traitement 90 comprend alors également des moyens de décodage des coefficients cryptés.
ANNEXE 1
Les techniques connues de codage d'images fixes ou de séquences vidéo par maillage reposent sur l'utilisation de maillages hiérarchiques, que l'on associe aux images à coder. Ainsi, considérons une image fixe, par exemple codée en niveaux de gris (la même technique s'applique pour une image codée en chrominance par exemple). L'image peut être considérée comme une représentation discrétisée d'une surface paramétrique. On peut donc appliquer, soit sur une zone de l'image, soit sur l'image entière, un maillage quelconque. Par subdivision hiérarchique (qui peut être adaptative ou non), on fait évoluer ce maillage de manière régulière ou irrégulière. On dispose ainsi d'une « hiérarchie », en subdivisant le maillage dans les seules régions de l'image où l'erreur calculée est supérieure à un seuil prédéterminé. Un aperçu général des techniques à base de maillages est également présenté dans le document ISO/IEC (ITU- T SG8) JTC1/SC29 WGl (JPEG/JBIG), JPEG2000 Part I Final Committee Draft, Document N2165, Juin 2001. Les ondelettes de deuxième génération, mises en œuvre dans le cadre de la présente invention, constituent quant à elles une nouvelle transformation, issue du monde mathématique.
Cette transformation a été introduite en premier lieu par W. Dahmen ("Décomposition of refinable spaces and applications to operator équations", Numer. Algor., N°5, 1993, pp.229-245, en français "décomposition d'espaces pouvant être raffinés et applications aux équations d'opérateur") et J. M. Carnicer, W. Dahmen et J.M. Pena ("Local décomposition of refinable spaces", Appl. Comp. Harm. Anal. 3, 1996, pp. 127-153, en français "décomposition locale d'espaces pouvant être raffinés") puis développée par W.Sweldens ("The Lifting Scheme : A Construction of Second Génération Wavelets", Nov 1996, SIAM Journal on Mathematical Analysis, en français "Le schéma "lifting" : une construction d'ondelettes de deuxième génération") et W. Sweldens & P. Schrôder ("Building Your Own Wavelet at Home", Chapter 2, Technical report 1995, Industrial Mathematics Initiative, en français "Construisez vos propres ondelettes chez vous"). Ces ondelettes sont construites à partir d'une subdivision irrégulière de l'espace d'analyse, et sont basées sur une méthode d'interpolation pondérée et moyennée. Le
produit vectoriel habituellement utilisé sur L2(R) devient un produit vectoriel interne pondéré. Ces ondelettes sont particulièrement bien adaptées pour les analyses sur des supports compacts et sur les intervalles. Elles conservent cependant les propriétés des ondelettes de première génération, à savoir une bonne localisation temps/fréquence et une bonne rapidité de calculs, car elles sont construites autour de la méthode lifting exposée précédemment.
M. Lounsbery, T. DeRose, et J. Warren dans "Multiresolution Analysis for Surfaces of Arbitrary Topological Type", ACM Transactions on Graphics, 1994 (en français "Analyse multiresolution de surfaces de type topologique arbitraire") ont envisagé d'appliquer ces ondelettes sur une structure surfacique quelconque. Dans le cadre de la présente invention, ces ondelettes sont appliquées sur un maillage, qui constitue une surface dont la topologie peut être quelconque.
Pour définir de manière exacte ces ondelettes de deuxième génération, on peut tout d'abord rappeler les propriétés que ces dernières ont en commun avec les ondelettes dites de première génération, puis indiquer les propriétés supplémentaires que ces ondelettes de deuxième génération présentent, et qui sont notamment exploitées dans le cadre de la présente invention.
Propriétés communes aux ondelettes de première et de deuxième génération :
Pl : Les ondelettes forment une base de Riez sur L2(R), ainsi qu'une base « uniforme » pour une grande variété d'espace de fonctions, tel que les espaces de
Lebesgue, Lipchitz, Sobolev et Besov. Cela signifie que toute fonction des espaces cités peut être décomposée sur une base d'ondelettes, et cette décomposition convergera uniformément en norme (la norme de l'espace de départ) vers cette fonction.
P2 : Les coefficients de décomposition sur la base uniforme sont connus (ou peuvent être trouvés simplement). Soit les ondelettes sont orthogonales, soit les ondelettes duales sont connues (dans le cas bi-orthogonal).
P3 : Les ondelettes, ainsi que leur duales, ont des propriétés locales en espace et en fréquence. Certaines ondelettes sont même à support compact (la présente invention utilise préférentiellement, mais non exclusivement, de telles ondelettes). Les propriétés de localisation en fréquence découlent directement de la régularité de l'ondelette (pour les hautes fréquences) et du nombre de moments polynomiaux nuls
(pour les basses fréquences).
P4 : Les ondelettes peuvent être utilisées en analyse multirésolution. Cela conduit à la FWT (Fast Wavelet transform, en français, "transformée en ondelettes rapide"), qui permet de passer de la fonction aux coefficients ondelettes en « temps linéaire ».
Propriétés supplémentaires caractérisant les ondelettes de seconde génération :
Ql : Alors que les ondelettes de première génération donnent des bases pour des fonctions définies sur Rn, certaines applications (segmentation de données, solutions des équations aux dérivées partielles sur des domaines généraux, ou application des ondelettes sur un maillage à topologie arbitraire...), nécessitent des ondelettes définies sur des domaines de Rn arbitraires, tels que les courbes, les surfaces ou les variétés ;
Q2 : La diagonalisation des formes différentielles, l'analyse des courbes et des surfaces, et les approximations pondérées, nécessitent une base adaptée aux mesures pondérées. Cependant, les ondelettes de première génération ne fournissent de bases que pour les espaces avec des mesures invariantes par translation (typiquement les mesures de Lebesgue) ;
Q3 : Beaucoup de problèmes réels nécessitent des algorithmes adaptés pour les données à échantillonnage irrégulier, alors que les ondelettes de première génération ne permettent qu'une analyse sur les données échantillonnées de manière régulière. Ainsi, pour résumer la construction des ondelettes de deuxième génération, on peut mettre en avant les principes ci-dessous.
Lors de l'analyse multirésolution, on pose que l'espace traditionnelle où évoluent les fonctions d'échelle sont les Vk, tels que :
On agrandit l'espace d'analyse, en se plaçant dans un Banach (noté B). On a donc, pour les ondelettes de deuxième génération :
On définit, dans le Banach, au sens des distributions, un produit scalaire permettant de redéfinir les espaces duaux. La condition de raffinement devient (sous forme matricielle) :
où P est une matrice quelconque.