Brevet FR2972886A1 — publié le 20120921

Procédé de' compression/décompression de flux vidéo partiellement masqués, codeur et décodeur mettant en oeuvre le procédé La présente invention porte sur un procédé de compression et de décompression d'un flux vidéo dont une partie du contenu visuel est préalablement masquée ainsi que sur un codeur mettant en oeuvre le procédé de compression et un décodeur mettant en oeuvre le procédé de décompression. L'invention concerne le domaine du codage ou de la compression ~o d'une séquence vidéo. L'invention concerne également le domaine de la sécurisation de l'accès aux informations contenues dans une séquence vidéo. L'invention concerne enfin le domaine de la transmission, sur des réseaux hétérogènes, de flux vidéo compressés et sécurisés. L'invention concerne enfin le domaine du stockage de flux vidéo. 15 Dans une séquence vidéo, destinée à être visionnée par un utilisateur public quelconque, certaines informations peuvent être volontairement masquées par le propriétaire de la séquence pour des raisons diverses. Par exemple, l'anonymat des personnes peut être préservé en masquant leur 20 visage et les données personnelles (adresse, plaque d'immatriculation) pour des raisons de protection de la vie privée. De façon générale, le propriétaire d'une séquence vidéo peut définir, dans cette séquence, des zones privées dont le visionnage n'est autorisé que pour des utilisateurs définis. L'utilisateur public visionnera, quant à lui, la séquence vidéo originale sur laquelle est 25 appliqué un masque occultant permettant de cacher uniquement les zones privées de la séquence. Le masque occultant peut consister à noircir les zones à masquer ou à rendre ces zones floues ou en toute autre technique d'occultation empêchant un utilisateur non autorisé de percevoir et d'authentifier les informations présentes dans les zones masquées. Un 30 exemple de principe de masquage d'une image 1 par un masque M est illustré à la figure 1. L'image masquée IM est identique à l'image originale 1 mis à part pour les zones M1,M2 définies par le masque M comme devant` être occultées. Lorsqu'on souhaite transmettre ou stocker une séquence vidéo masquée, il est d'usage courant de la compresser pour diminuer sa taille et s'adapter à la capacité du réseau de transmission ou de l'espace de stockage. Le problème visé par la présente invention concerne l'accès, à partir d'un unique flux `vidéo compressé, du contenu de cette vidéo pour des utilisateurs autorisés et non autorisés. Un utilisateur non autorisé qui ~o décompresse la séquence vidéo transmise ou stockée doit pouvoir visualiser la, séquence vidéo originale masquée. Au contraire l'utilisateur autorisé doit, en décompressant le même flux, pouvoir visionner l'intégralité de la séquence vidéo originale y compris les zones masquées. 95 Une solution connue au problème précité consiste à compresser séparément la séquence vidéo originale et la séquence vidéo masquée et à transmettre ou stocker les deux flux compressés résultant à destination respective des utilisateurs autorisés et non autorisés. Cette solution présente l'inconvénient de nécessiter la génération de 20 deux flux compressés séparés et d'engendrer ainsi un surcout en débit utile car une redondance importante existe entre les deux flux. D'autres solutions connues abordant le problème du masquage de contenus vidéo se limitent à la définition de techniques de génération dynamique de masque et ne prennent pas en compte la problématique de la 25 compression. La présente invention permet de résoudre les limitations des solutions de l'art antérieur en proposant notamment un procédé de compression adapté à produire un unique flux compressé à partir duquel un utilisateur 3o autorisé aura accès à l'intégralité du contenu de la séquence vidéo originale 2972886 alors qu'un utilisateur non autorisé n'aura accès qu'à la séquence vidéo L'invention a pour avantage de permettre aux utilisateurs non autorisés le visionnage de la séquence vidéo masquée en utilisant un décodeur source classique tout en empêchant le visionnage des zones préalablement masquées. Le décodeur source utilisé à cet effet ne nécessite aucune adaptation pour réaliser la décompression du flux. Ainsi les flux vidéo compressés peuvent notamment transiter sur un réseau de transmission non protégé. Seules les personnes autorisées peuvent avoir accès, à partir du Io même flux compressé, à l'intégralité de la séquence vidéo. L'invention a ainsi pour objet un procédé de compression d'une séquence vidéo partiellement masquée par une séquence de masques occultant au moins une zone privée d'au moins une image de ladite t 5 séquence, caractérisé en ce qu'il comporte au moins les étapes suivantes : i compresser, à l'aide d'un codeur vidéo, la séquence vidéo masquée afin d'obtenir un premier flux compressé, ü. compresser, à l'aide du même codeur vidéo, la différence entre la séquence vidéo originale et la séquence vidéo masquée 20 compressée puis décompressée afin d'obtenir un second flux compressé, marquer le second flux compressé avec un identifiant non interprétable par ledit codeur vidéo, de façon à ce qu'un décodeur vidéo adapté audit codeur ne puisse pas décompresser ledit 25 second flux, iv. entrelacer et synchroniser les premier et second flux compressés afin d'obtenir un unique flux compressé. Dans une autre variante de réalisation de l'invention, le premier flux compressé correspond à un premier niveau d'information de la séquence 30 vidéo, le second flux compressé correspond à un niveau d'information supplémentaire ou de rehaussement de la séquence vidéo et ledit codeur vidéo est un codeur scalable adapté à produire un unique flux compressé comportant les deux niveaux d'information. Dans une variante de réalisation de l'invention, le procédé comporte en outre une étape de chiffrement dudit second flux compressé. L'invention a également pour objet un procédé de décompression, à l'aide d'un décodeur vidéo, d'un flux vidéo compressé caractérisé en ce qu'il comporte au moins les étapes suivantes : i. identifier et désentrelacer d'une part les données interprétables par ledit décodeur vidéo afin de créer un premier flux et d'autre part les ~o données no interprétables par ledit décodeur vidéo afin de créer un second flux, ü transposer le second flux vers une syntaxe interprétable par ledit décodeur vidéo, décompresser les premier et second flux et recomposer la 15 séquence vidéo comportant les données vidéo issues des deux flux. Dans une autre variante de réalisation de l'invention, le premier flux compressé correspond à un premier niveau d'information d'une séquence vidéo, le second flux compressé correspond à un niveau d'information 20 supplémentaire ou de rehaussement de ladite séquence vidéo et ledit décodeur vidéo est un décodeur scalable adapté à décompresser conjointement les deux flux et à recomposer ladite séquence vidéo. Dans une variante de réalisation de l'invention, le procédé de décompression comporte en outre une étape de déchiffrement du second 25 flux. L'invention a également pour objet un codeur source vidéo caractérisé en ce qu'il comporte des moyens adaptés à mettre en oeuvre le procédé de compression selon l'invention. L'invention a également pour objet un décodeur source vidéo caractérisé 30 en ce qu'il comporte des moyens adaptés à mettre en oeuvre le procédé de décompression selon l'invention. D'autres caractéristiques et avantages de l'invention apparaîtront à l'aide de la description qui suit faite en regard de dessins annexés qui représentent s la figure 1, une illustration du principe de masquage de zones privées dans une image, la figure 2, un synoptique illustrant la mise en oeuvre du procédé selon l'invention, la figure 3, un schéma du codeur vidéo adapté à mettre en oeuvre le ~o procédé de compression selon l'invention, la figure 4, un schéma du décodeur vidéo adapté à mettre en oeuvre le procédé de décompression selon l'invention. La figure 2 schématise, sur un synoptique, la mise en oeuvre du 15 procédé selon l'invention. Une séquence vidéo 100, comportant des zones d'image privées, est transmise à un codeur vidéo 102, selon l'invention, avec une séquence 101 de masques. La séquence 101 comporte, pour chaque image de la séquence vidéo 100, un masque de dimensions identiques à cette image et construit de telle sorte qu'il permet, en le superposant à 20 l'image, d'occulter certaines zones prédéfinies. Par exemple, un masque comporte des pixels noirs aux emplacements des zones à masquer. De façon générale un masque contient l'information de 1a localisation spatiale des pixels de l'image qui doivent être masqués. A partir de la séquence originale 100 et de la séquence 101 de 25 masques, le codeur vidéo 102 selon l'invention produit un unique flux 105 compressé. Dans une variante de réalisation de l'invention, un dispositif de chiffrement 103, associé à une clé de chiffrement 104, sont utilisés conjointement au codeur vidéo 102 pour chiffrer, dans le flux 105 compressé, les zones privées des images de la séquence vidéo 100 pour que l'accès à 30 ces zones par un tiers non autorisé soit empêché. Le flux compressé 105 est ensuite soit transmis à travers un réseau de transmission 106, soit stocké par des moyens de stockage 107. Le réseau de transmission 106 peut être un réseau filaire, tel un réseau Internet, public ou privé mais aussi un réseau sans fils ou cellulaire, ou encore un réseau hétérogène comprenant à la fois des moyens de transmission filaire et par voie radio. Les moyens de stockage 107 sont typiquement une mémoire ou un disque dur ou encore une base de données interrogeable à distance par un utilisateur qui souhaite télécharger la séquence vidéo compressée 105. Deux types de terminaux peuvent être connectés au réseau 106. Un terminal public accessible à un utilisateur non autorisé met en oeuvre un décodeur vidéo standard 110 qui décompresse le flux compressé 105 afin d'obtenir la séquence vidéo originale 100 dans laquelle les zones privées sont masquées par l'intermédiaire de la séquence de masques 101 prédéfinie. Un utilisateur non autorisé a ainsi accès, par l'intermédiaire d'un décodeur source classique, uniquement aux zones non privées de la séquence vidéo. Un autre terminal, sécurisé, et accessible à un utilisateur autorisé met en ceuvre un décodeur vidéo 108 selon l'invention qui réalise également une décompression du flux 105 transmis â travers le réseau 106. Le résultat de cette décompression 109 correspond à la séquence vidéo 100 originale dans son intégralité et dévoile, à l'utilisateur autorisé, les zones privées de cette séquence, qui sont masquées pour tous les utilisateurs non autorisés. La figure 3 illustre àprésent, sur un synoptique, les étapes du procédé de compression selon l'invention ainsi que ses moyens de mise en ceuvre. Le procédé de compression selon l'invention est mis en ceuvre au moyen d'un dispositif 102 de compression de flux vidéo ou codeur vidéo. Le dispositif 102 reçoit en entrée la séquence vidéo originale 100 à compresser et la séquence de masques 101 ou la séquence vidéo déjà masquée 20. Le 3o , principe, à la base de l'invention, consiste à décomposer la séquence vidéo masquée 20 en deux flux distincts, à les compresser séparément puis à générer un unique flux par multiplexage. Avantageusement, l'invention prend en compte la propriété de scalabilité de certains codeurs vidéo, (en anglais ces codeurs sont désignés par les termes « scalable video coder »), c'est-à-dire la possibilité de représenter un même signal vidéo à différents niveaux d'informations. Le principe de la scalabilité appliquée à la compression vidéo est connu principalement pour trois types d'information, spatiale, temporelle et en qualité. La propriété de scalabilité en qualité permet d'obtenir, dans un ~o unique flux compressé, plusieurs niveaux ou couches de scalabilité représentant le signal vidéo à des niveaux de qualité (ou rapport signal à bruit) croissants. Typiquement, on parle de couche de base pour désigner la partie du flux compressée qui, une fois décompressée, produira un signal vidéo à un niveau de qualité minimum et de couches de rehaussement pour 15 désigner les parties du flux supplémentaires qui permettent, si elles sont décompressées, d'augmenter la qualité de la séquence vidéo décompressée en diminuant la distorsion de quantification entre la séquence originale et la séquence reconstruite. L'invention utilise la propriété de scalabilité pour définir deux niveaux 20 d'information qui sont compressés par un codeur scalable 200 comme deux couches de scalabilité. Ainsi, la couche de base est définie par l'information minimale à laquelle tous les utilisateurs ont accès, c'est-à-dire la séquence vidéo masquée 20. Cette séquence est compressée 201 comme couche de base ' pour obtenir un premier flux 21 compressé. La couche de 25 rehaussement est définie par l'information supplémentaire à laquelle seuls les utilisateurs autorisés ont accès. Cette information supplémentaire est définie comme la différence 22, pixel par pixel, entre la séquence vidéo masquée compressée 21 puis décompressée 21 bis et la séquence vidéo originale 100. La séquence vidéo masquée compressée 21 puis 30 décompressée 21 bis est utilisée au lieu de la séquence vidéo originale 100 à laquelle est appliquée directement la séquence de masques 101, pour assurer la stricte réversibilité de la prédiction inter-couche au niveau du décodage, et pour éviter que ne soit engendrés des artéfacts visuels dus à la compression aux contours des zones masquées. La différence 22 est ensuite compressée 202 comme couche supplémentaire pour obtenir un second flux 23 compressé. Précisément, la couche supplémentaire 22 est constituée d'une séquence de même résolution spatiale et temporelle que la séquence originale 100 et comportant sur toutes les zones non masquées des pixels ayant une valeur numérique nulle et sur toutes les zones définies comme devant être masquées les pixels ro de la séquence originale 100. En résumé la couche supplémentaire ne comporte principalement que l'information supplémentaire contenue dans les zones spécifiées comme devant être occultées avant que le masquage ne leur soit appliqué. Les étapes de compression 201,202 sont mises en oeuvre par un codeur scalable standard 200, par exemple respectant la norme 15 H.264/SVC ou H.2641MVC, ou par un codeur scalable adapté 200. Dans une variante de réalisation de l'invention, le second flux compressé 23 correspondant à la couche supplémentaire est sécurisé par des moyens de chiffrement 103 utilisant une clé de chiffrement 104. La méthode de chiffrement peut utiliser, par exemple, l'algorithme connu de 20 chiffrement symétrique AES (Advanced Encryption Standard). Toute autre méthode de chiffrement ou cryptographie peut être envisagée en particulier une méthode de chiffrement visuel enfouie directement dans le codeur vidéo telle que décrite dans la demande de brevet française du demandeur FR 2879878 portant sur un procédé de chiffrement sélectif compatible pour flux 25 vidéo. En sécurisant par des moyens de chiffrement la couche supplémentaire, le décodage de cette couche par un utilisateur non autorisé est rendu impossible. De tels moyens de sécurisation permettent d'augmenter la sécurisation de l'accès aux zones privées de la vidéo. Le premier flux 21, correspondant à la couche de base, et le second 30 flux 23, correspondant à la couche supplémentaire, et optionnellement chiffré sont transmis ensuite à un multiplexeur 203 qui a pour fonction, à partir de ces deux flux 21,23, de générer un unique flux compressé 105 et d'assurer la synchronisation des données entre la couche de base et la couche supplémentaire de façon à permettre à un décodeur autorisé de reconstituer la séquence vidéo originale 100. La synchronisation est réalisée en entrelaçant les deux flux 21,23 de façon à alterner systématiquement un paquet de données du premier flux 21 suivi d'un paquet de données du second flux 23, les deux paquets successifs correspondant aux mêmes zones spatiales d'une image. De cette façon, un décodeur autorisé à décompresser les deux flux pourra reconstruire la séquence originale à partir ~o de la recomposition des deux flux synchrones. En outre, le multiplexage 203 doit également permettre de marquer les paquets du second flux 23 de telle façon qu'un décodeur standard, utilisé par un tiers non autorisé, ne pourra pas décoder ce second flux. Un tel marquage consiste, par exemple, à utiliser un identifiant de paquet non 15 reconnu par un décodeur standard. Le standard de compression vidéo H.264 utilise une couche d'abstraction, appelée « Network Abstraction layer » ou NAL qui permet d'encapsuler les données en les regroupant par type avant de les transmettre sur un réseau. Typiquement les données compressées à partir d'une couche de base sont encapsulées dans des paquets NAL 20 comportant un identifiant associé à cette couche de base et les données compressées à partir de la couche supplémentaire bénéficient d'un identifiant de paquet NAL différent. Le marquage du second flux 23 peut consister à modifier les identifiants de paquets NAL en leur attribuant un identifiant réservé non exploitable par un décodeur standard. 25 La figure 4 illustre, sur un synoptique, les étapes du procédé de décompression selon l'invention ainsi que ses moyens de mise en oeuvre. Le procédé de décompression selon l'invention est exécuté pour un utilisateur autorisé et permet de visionner l'intégralité de la séquence vidéo originale, y 30 compris les zones privées masquées. Le flux compressé 105, par le biais du procédé de compression selon l'invention, est reçu, après transmission ou stockage, par un décodeur vidéo 108 selon l'invention apte à décompresser et reconstruite la séquence vidéo originale 100. Le flux compressé 105 est reçu par un démultiplexeur 301 qui produit en sortie deux flux compressés 31,32. Le premier flux compressé 31 contient l'information relative à la couche de base, c'est-à-dire la séquence vidéo masquée 20. Le second flux compressé 32 contient l'information relative à la couche de rehaussement, c'est-à-dire la différence 22 entre la séquence originale 100 et la séquence masquée 20. Pour séparer les deux flux 31,32 à partir du flux unique 105, le démultiplexeur 301 identifie les paquets marqués avec un identifiant spécifique, correspondant à la couche d'information supplémentaire à laquelle seuls les utilisateurs autorisés ont accès. Si le décodeur vidéo standard 110 mis en oeuvre pour décompresser les flux est un décodeur scalable, alors le démultiplexeur réalise uniquement une transposition de l'identifiant des paquets de la couche de rehaussement vers un identifiant compatible du décodeur standard 110 et qui permet d'identifier le flux 32 de paquets comme contenant des données complémentaires à celles de la couche de base 31. Le décodeur scalable 110 permet ensuite de décompresser les deux flux 31,32 simultanément et de recomposer la séquence vidéo d'origine en superposant la séquence masquée avec la séquence résultant de la différence entre la séquence originale et la séquence masquée. Si le décodeur vidéo standard 110 utilisé n'est pas un décodeur scalable (par exemple un décodeur de type H.264/AVC), alors le démultiplexeur sépare en outre les deux flux 31,32 qui sont décodés séparément puis la séquence visionnée est recomposée après décodage. Dans une variante de réalisation de l'invention, si le flux 32 est sécurisé au moyen d'un algorithme de chiffrement, une étape de déchiffrement 302 est exécutée pour déchiffrer le flux 32 à partir de la connaissance de la clé de chiffrement 104. Les moyens de déchiffrement 302 peuvent' être dissociés du décodeur vidéo 110 ou intégrés dans ce dernier. Une fois la couche de base décodée 304 et la couche supplémentaire décodée 303, la séquence originale 109 non masquée est reconstruite et peut être visionnée par un utilisateur autorisé. Si le flux compressé 105 est reçu par un utilisateur non autorisé, il est décompressé par un décodeur vidéo 110 standard, scalable ou non. Un tel Io décodeur vidéo 110 va lire le flux 105 et écarter les paquets comportant un identifiant spécifique non pris en charge de façon standard. Ainsi seul le flux compressé 21, correspondant à la couche de base ou encore à la séquence vidéo masquée 20, est décompressé et l'utilisateur non autorisé ne peut pas visionner les zones privées masquées des images de la séquence. 15 Même si un utilisateur non autorisé malintentionné sait interpréter l'identifiant spécifique du flux 23 de la couche de rehaussement pour réaliser le démultiplexage du flux 105, l'étape de chiffrement 103 permet d'augmenter encore la sécurité de l'accès audit flux 23. 20 Dans une variante de réalisation de l'invention, un dispositif de transcodage, situé dans le réseau 106 à un point intermédiaire dans la chaine de transmission entre le codeur vidéo 102 et les décodeurs vidéos 108,110, est utilisé pour transmettre aux utilisateurs uniquement les parties du flux compressé 105 selon l'invention qui correspondent à leurs 25 autorisation d'accès. Dans le cadre d'une application de vidéo à la demande, un utilisateur non autorisé interroge un serveur de diffusion distant dans lequel est implémenté le dispositif de transcodage qui transmet alors audit utilisateur uniquement le flux 21 comportant la couche de base relative à la séquence vidéo masquée. Si la demande provient au contraire d'un 30 utilisateur autorisé, alors le dispositif de transcodage transmet l'intégralité du flux compressé 105. De cette façon, le débit de transmission est optimisé car les informations non accessibles à un utilisateur ne lui sont pas transmises. L'invention permet de générer un flux compressé dont certaines parties sont sécurisées et d'accès réservé à des utilisateurs autorisés et munis d'un décodeur vidéo selon l'invention. L'invention présente l'avantage de conserver la compatibilité du flux vidéo compressé avec un décodeur standard scalable ou non. L'invention utilise les propriétés intrinsèques d'un codeur/décodeur vidéo scalable en séparant la séquence vidéo à transmettre to en deux niveaux d'information associés à une couche de base et une couche de rehaussement et destinés à des groupes d'utilisateurs distincts.