FR3024006A1 - Compression intra-image efficace - Google Patents

Compression intra-image efficace Download PDF

Info

Publication number
FR3024006A1
FR3024006A1 FR1456852A FR1456852A FR3024006A1 FR 3024006 A1 FR3024006 A1 FR 3024006A1 FR 1456852 A FR1456852 A FR 1456852A FR 1456852 A FR1456852 A FR 1456852A FR 3024006 A1 FR3024006 A1 FR 3024006A1
Authority
FR
France
Prior art keywords
image
tile
bits
compressed
pixel
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
Application number
FR1456852A
Other languages
English (en)
Inventor
Francois Helt
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
HIGHLANDS TECHNOLOGIES SOLUTIONS
Original Assignee
HIGHLANDS TECHNOLOGIES SOLUTIONS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by HIGHLANDS TECHNOLOGIES SOLUTIONS filed Critical HIGHLANDS TECHNOLOGIES SOLUTIONS
Priority to FR1456852A priority Critical patent/FR3024006A1/fr
Priority to PCT/FR2015/051961 priority patent/WO2016009159A1/fr
Publication of FR3024006A1 publication Critical patent/FR3024006A1/fr
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • H04N19/433Hardware specially adapted for motion estimation or compensation characterised by techniques for memory access
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2347Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2347Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption
    • H04N21/23476Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption by partially encrypting, e.g. encrypting the ending portion of a movie

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

L'invention propose un procédé de compression d'une image source en une image compressée sous forme binaire, la compression étant fondée sur un codage adaptatif de différences entre au moins une valeur de référence et des valeurs de pixels.

Description

COMPRESSION INTRA-IMAGE EFFICACE La présente invention concerne un traitement de fichiers vidéo, notamment pour une compression intra-image sans-perte.
Cette méthode est particulièrement avantageuse dans le cas du stockage de fichiers vidéo très volumineux et dont la diffusion du contenu doit pouvoir être contrôlée. On entend par « fichier vidéo » tout type de fichier à partir duquel est stockée au moins une image. L'invention est ici décrite dans son application aux vidéos mais peut également être 10 mise en oeuvre pour des images ou d'autres média. On entend par « mémoire temporaire » tout type de mémoire utilisée pour le stockage temporaire des données intervenant dans les calculs effectués par un processeur. Plusieurs types de mémoire temporaire peuvent être utilisés. On distingue ainsi : la mémoire vive qui est l'espace principal de stockage, dont le contenu disparaît dès la 15 mise hors tension de l'ordinateur. Typiquement les mémoires RAM (pour « Random Access Memory » en anglais) sont des mémoires vives ; la mémoire cache qui sert à conserver un court instant des informations fréquemment consultées. Ces mémoires ont une vitesse élevée mais une faible capacité de stockage ; et 20 les registres qui sont intégrés au coeur du processeur. Ce type de mémoire est le plus rapide mais est réservé à une très faible quantité de données. Le stockage de fichiers vidéo est souvent problématique en raison de la taille de ces fichiers. En effet, pour stocker de tels fichiers, il convient de stocker un très grand nombre d'images 25 ainsi qu'au moins une bande son. En particulier, dans le domaine de la préservation de vidéo, des fichiers vidéo sous forme numérique sont reconstruits à partir d'archives physiques se détériorant avec le temps. Il convient de conserver une version de la meilleure qualité possible des fichiers vidéo correspondant à ces archives. En effet, la transformation d'un fichier vidéo de bonne qualité (résolution élevée par exemple) vers un fichier vidéo de mauvaise qualité est irréversible : il est impossible d'obtenir un fichier vidéo de bonne qualité à partir d'un fichier vidéo de mauvaise qualité. On appelle fichier vidéo sous format « natif » un fichier vidéo d'une qualité maximum et à partir duquel il est possible d'obtenir des fichiers de qualité inférieure. Un tel fichier natif est donc par définition très volumineux, son stockage est ainsi particulièrement problématique. Pour faciliter un tel stockage, les fichiers natifs sont couramment compressés sans pertes afin de limiter l'espace qu'ils occupent dans des bases de données de stockage. Toutefois, les procédés de compression traditionnels présentent certains désavantages. Ainsi, la norme MJPEG 2000 (ou Motion JPEG 2000) propose un procédé de compression intra-image de chacune des images d'un fichier vidéo. Cette compression intra-image est fondée sur un codage dit « entropique ». Ce codage entropique consiste notamment en un regroupement statistique des données associées à chaque pixel.
Un tel procédé de compression propose des résultats satisfaisant mais implique de nombreuses étapes de calcul qui peuvent s'avérer très couteuses en termes de ressources et de durée. En particulier, les étapes du codage entropique susmentionné nécessitent la mise en mémoire temporaire d'une quantité importante de données temporaires de calcul. Par exemple, lors d'une étape dite de « nettoyage » (« cleanup » en anglais) de ce codage entropique, le processeur doit parcourir l'ensemble des pixels qui n'ont pas été traités lors de précédentes étapes. Pour réaliser cette étape, le processeur doit donc connaitre l'ensemble des pixels ayant déjà été traités. Il est donc nécessaire de stocker ces données de calculs sur des mémoires temporaires présentant des capacités de stockage relativement importantes (type mémoire vive ou cache). Or, les échanges entre de telles mémoires temporaires et le processeur sont relativement longs. Ainsi, les procédés de compression traditionnels sont lents à la compression comme à la décompression. D'autre part, pour faciliter l'administration des fichiers vidéo numériques, un « flux de consultation » doit être disponible pour chaque fichier natif. Un flux de consultation est une version allégée du fichier natif. Par exemple, un flux de consultation comprend des images dites « décimées ». Une image décimée est construite en ne retenant par exemple qu'un pixel sur quatre d'une image native dans les directions horizontales et verticales. Dans cet exemple, l'image décimée a donc une résolution seize fois plus faible que l'image native.
La taille des fichiers natifs augmente sensiblement le temps requis pour leur consultation ou leur transmission. Ainsi, les flux de consultation sont couramment utilisés pour consulter ou transmettre rapidement un fichier vidéo. Habituellement, ces flux de consultations doivent être générés préalablement à la compression des fichiers natifs. Ceci augmente encore la durée globale de traitement des fichiers vidéo en vue de leur stockage. En outre, le flux de consultation doit habituellement être stocké en plus du fichier natif compressé, ce qui augmente encore la quantité de données à stocker. Le stockage des fichiers vidéo est donc problématique. Pour s'affranchir de ces problèmes, les titulaires de droits sur les fichiers vidéo à stocker font habituellement appel à des prestataires externes pour la gestion de ce stockage. Un tel procédé présente toutefois des risques de diffusion incontrôlée des fichiers vidéo. Par exemple, en cas de faillite du prestataire responsable du stockage, les fichiers vidéo peuvent être égarés ou diffusés sans l'accord du titulaire de droits. Il convient donc de pouvoir restreindre l'accès au contenu des fichiers vidéo et de pouvoir identifier formellement ces fichiers vidéo afin de pouvoir en revendiquer la propriété. Pour remédier à ces problèmes, il a pu être proposé différents procédés de chiffrement des fichiers vidéo. Par exemple, les procédés de chiffrement homomorphique ou de chiffrement de type « order-preservation encryption » (« chiffrement avec préservation d'ordre » en français) habituellement utilisés permettent de garantir la confidentialité des fichiers vidéos mais sont complexes à mettre en oeuvre et compliquent sensiblement l'organisation du stockage par le prestataire. Ces procédés impliquent en effet le chiffrement de la totalité des fichiers vidéo. Or, ces fichiers sont particulièrement volumineux et difficiles à manipuler. Le chiffrement de ces fichiers est donc long et coûteux en termes de ressources de calcul.30 La présente invention vient améliorer la situation. L'invention propose ainsi un procédé de compression d'une image source en une image compressée sous forme binaire, l'image source comprenant une pluralité de pixels ayant chacun au moins une valeur de pixel, dans lequel : - l'image source est décomposée en tuiles de pixels, les tuiles étant de taille supérieure à 1 pixel dans les dimensions horizontale et verticale, le procédé comprenant, pour chaque tuile courante, les étapes de compression suivantes : - identification d'une valeur de référence présentant la plus petite valeur de pixel dans la tuile courante ; - calcul des représentations binaires des différences entre les valeurs de chacun des pixels de la tuile courante et la valeur de référence ; - détermination de longueurs de chacune des représentations binaires des différences, - identification de la longueur la plus élevée parmi les longueurs ; - limitation de la représentation binaire de chaque différence à la longueur la plus élevée en supprimant les bits de poids les plus forts afin de compresser chaque différence dans la tuile courante ; - on construit une image compressée comportant des représentations binaires de la valeur de référence d'une tuile, de la longueur la plus élevée dans cette tuile, et des différences compressées de cette tuile. On entend par « valeur de pixel » toute grandeur caractérisant un signal lumineux reçu par le pixel. Par exemple, une valeur de pixel peut correspondre à une valeur d'intensité d'un signal lumineux correspondant à une couleur particulière (typiquement rouge, vert et bleu avec un filtre de Bayer).
L'image compressée peut être construite en parcourant les tuiles par exemple dans le sens habituel de lecture : de gauche à droite et de haut en bas de l'image. Mais toute organisation du parcours des tuiles est possible.
Les redondances spatiales, très fréquentes au sein d'une même tuile, sont ainsi avantageusement utilisées pour compresser une image source. On appelle redondance toute répétition spatiale de valeurs de pixels au sein d'une image. En effet, plus les valeurs de pixels d'une tuile sont proches, plus les différences sont faibles et plus la taille requise pour coder ces différences est faible. Le procédé de compression susmentionné présente ainsi de bons résultats par rapport aux procédés traditionnels de compression sans pertes intra-image. Des résultats expérimentaux présentent un taux de compression moyen situé entre 15 et 65%.
Par ailleurs, la mise en oeuvre matérielle des calculs requis pour la réalisation des étapes susmentionnés est largement optimisée. En effet, les étapes de compression du procédé selon l'invention ne font pas intervenir une quantité importante de données temporaires de calcul. En particulier, pour une tuile de 2x2 pixels par exemple, la mémoire temporaire ne doit contenir en même temps que quatre valeurs de pixels (pour la détermination de la valeur de référence). Il est donc possible de stocker les données temporaires de calcul sur les registres du processeur. Ce stockage sur les registres du processeur réduit très sensiblement le temps des échanges entre mémoire temporaire et unités de calcul du processeur. Dans un mode de réalisation, l'image compressée comprend une première succession de bits qui comporte les représentations binaires des valeurs de référence des tuiles de l'image source, et une deuxième succession de bits qui comprend, pour une tuile, les différences dans la tuile et la longueur la plus élevée dans cette tuile. L'ensemble des valeurs de référence comprises dans la première succession de bits peut être utilisé pour construire très facilement un flux de consultation. On rappelle qu'un flux de consultation est constitué d'images de résolution réduite (image dite « décimée » comme expliqué ci-avant). Pour une tuile, une valeur de référence correspond à un pixel parmi l'ensemble des pixels de la tuile. Ainsi, on peut reconstruire une image décimée en ne retenant que la valeur de référence pour représenter une tuile. L'image décimée ainsi construite comporte donc une pluralité de pixels ayant chacun une des valeurs de référence comme valeur de pixel.
Ainsi, il n'est plus nécessaire de prévoir, en sus du procédé de compression, un procédé de génération d'un flux de consultation. En effet, comme expliqué ci-avant, l'ensemble des valeurs de référence généré au cours du procédé de compression au sens de l'invention peut directement être utilisé en tant qu'image décimée. On rappelle que le flux de consultation est formé de ces images décimées. Ceci réduit encore la durée globale de traitement des fichiers vidéo en vue de leur stockage. Par ailleurs, il n'est plus nécessaire de stocker un flux de consultation en plus de l'image compressée puisque celui-ci est directement présent (ensemble des valeurs de référence) dans l'image compressée par le procédé de compression au sens de l'invention.
En variante, les valeurs de référence, les différences et les longueurs la plus élevée sont comprises dans une unique succession de bits. D'autres répartitions dans l'image compressée des valeurs de référence, des différences et des longueurs la plus élevée de chaque tuile sont encore envisageables : les valeurs de référence et les longueurs les plus élevées peuvent par exemple être rassemblées.
Dans un autre mode de réalisation, le procédé comporte une étape de communication sélective de la deuxième succession de bits. La communication sélective correspond par exemple à la communication de la deuxième succession de bits de manière séparée à la communication de la première succession de bits. Il est ainsi possible de stocker séparément la deuxième succession de bits. Ce stockage est sécurisé car la deuxième succession de bits n'est pas suffisante pour permettre une décompression de l'image compressée. Dans un mode de réalisation, le procédé comporte une étape de chiffrement de la première succession de bits, et une étape de communication de la première succession de bits, chiffrée, et de la deuxième succession de bits. Ainsi, l'image compressée est transmise sous une forme sécurisée. La décompression de l'image ne peut être effectuée correctement sans les valeurs de référence. Lorsque ces valeurs de référence sont transmises sous forme chiffrée, il n'est pas possible de décompresser l'image compressée sans déchiffrer au préalable les valeurs de référence. En outre, comme cela est expliqué ci-après, il est possible de localiser un fichier à partir des seules valeurs de différences. On rappelle que ces valeurs de différences sont comprises dans la deuxième succession de bits qui n'est pas chiffrée. Il est donc possible de localiser le fichier compressé au sens de l'invention, malgré le chiffrement des valeurs de référence.
De plus, le chiffrement de l'image compressée est simplifié et temporellement optimisé par rapport aux procédés classiques de chiffrement. En effet, ce chiffrement n'est pas appliqué à la totalité de l'image mais seulement aux valeurs de référence, ce qui limite le nombre d'opérations nécessaires au chiffrement de l'image compressée.
Par ailleurs, le chiffrement est le seul moyen d'identifier de manière irréfutable un contenu par vérification du fait que seule la clé détenue par le titulaire permet de déchiffrer l'image. En variante, le procédé comporte une étape de chiffrement de la première succession de bits, et une étape de communication sélectivement de la deuxième succession de bits. Dans une autre variante, la première succession de bits, chiffrée, est sélectivement communiquée. Dans une autre variante, la deuxième succession de bits est chiffrée. Toutes les combinaisons de succession chiffrée et succession transmise sont envisageables. L'opportunité de telles combinaisons dépend du degré de sécurité choisi et de la complexité de chiffrement tolérée. Dans un autre mode de réalisation, on construit à partir de la première succession de bits une décimation d'image, comportant une pluralité de pixels ayant chacun une de ces valeurs de référence comme valeur de pixel. On applique en outre au moins une fois les étapes de compression décrites ci-avant à la décimation d'image pour obtenir une compression de l'image décimée. La répétition des étapes de compression améliore sensiblement le taux de compression. En effet, des redondances existent fréquemment entre des valeurs de référence représentant des tuiles qui sont proches. L'application des étapes de compression à ces valeurs de référence exploite donc ces redondances pour réduire encore la taille de l'image compressée. Dans un mode de réalisation, le nombre de fois où les étapes de compression sont réitérées dépend du nombre de pixels existant dans les directions horizontale et verticale de l'image. Dans un autre mode de réalisation, chaque pixel de l'image source a une pluralité de valeurs dans des plans chromatiques respectifs, les étapes de compression étant appliquées à l'un au moins de ces plans. Préférentiellement, les étapes de compression sont appliquées à tous les plans. Dans un mode de réalisation, chaque pixel de l'image source a une pluralité de valeurs dans des plans chromatiques respectifs. Le procédé comporte une étape de transformation de composantes de pixels dans les plans chromatiques en composantes choisies, les étapes de compression étant appliquées au moins à l'une des composantes choisies. La transformation peut varier pour être adaptée, par exemple, à l'étendue de l'espace de couleur qu'un certain type de matériel permet de reproduire. On appelle « gamut » un tel espace de couleur. Dans un autre mode de réalisation, les composantes choisies comportent une composante de luminance par pixel et les étapes de compression sont appliquées au moins à la composante de luminance. Dans un autre mode de réalisation, l'image source, acquise par un capteur comportant un filtre de Bayer, est décomposée en un plan de valeurs de pixels correspondant à une intensité de couleur rouge, un plan de valeurs de pixels correspondant à une intensité de couleur bleue, un premier plan de valeurs de pixels correspondant à une intensité de couleur verte, et un deuxième plan de valeurs de pixels correspondant à une intensité de couleur verte. Les images acquises par un capteur comportant un filtre de Bayer sont directement décomposées sur de tels plans. On appelle « décomposition Bayer » une telle décomposition. Les étapes de compression sont ensuite appliquées à l'un de ces plans ou à une transformation de ces plans. Les étapes de compression sont donc directement appliquées à une décomposition Bayer d'une image source. L'invention vise en outre un procédé de comparaison d'au moins une première image reçue à 20 au moins une deuxième image stockée sous forme binaire, compressée par le procédé décrit ci-avant, le procédé comportant au moins les étapes : compresser la première image par le procédé décrit ci-avant ; comparer, bit à bit, des valeurs de différences entre la première image compressée et la deuxième image compressée, 25 déterminer un nombre de bits différents à l'issue de cette comparaison, et décider que la première image correspond à la deuxième image si le nombre de bits différents est inférieur à un seuil choisi. Le seuil choisi peut dépendre du degré de précision requis pour la comparaison, de l'efficacité souhaitée en termes de rapidité et de ressources mobilisées, du type d'images sources comparées, etc. A titre d'exemple, ce seuil peut être de 10% de bits différents. Le procédé de comparaison peut être utilisé à des fins de localisation pour permettre une meilleure gestion du stockage chiffré.
Cette comparaison étant fondée sur les valeurs de différences, il est possible de la mettre en oeuvre même lorsque les valeurs de référence sont chiffrées. Ainsi, les images compressées protégées par un chiffrement des valeurs de référence peuvent être localisées sans avoir à être déchiffrées puis décompressées. Le procédé de comparaison est donc rapide et simple à mettre en oeuvre.
Ceci est particulièrement avantageux dans la situation où le stockage des images est sous- traité à un prestataire. Il est en effet préférable, dans cette situation, de ne pas permettre au prestataire d'accéder au contenu des vidéos en transmettant des images chiffrées qui pourront cependant être aisément localisées en cas de faillite ou de demande de restitution par le commanditaire. Dans cette situation, la localisation possible des images par le procédé décrit précédemment permet de localiser des sous-ensembles et de faire les opérations d'extraction de copie et de vérification, nécessaires à une bonne gestion du stockage. Plus généralement, un tel procédé facilite l'administration du stockage par le prestataire qui peut comparer et classer les fichiers malgré le fait que ces fichiers ne soient pas consultables. L'invention vise en outre le procédé de décompression d'une image compressée par un procédé tel que décrit ci-avant, dans lequel - l'image compressée sous forme binaire comprend, pour la décompression d'une tuile courante, une valeur de référence associée à la tuile courante, la longueur la plus élevée parmi les représentations binaires des différences entre valeurs de pixels et valeur de référence pour la tuile courante, et ces différences, compressées en limitant la représentation binaire de chaque différence à la longueur la plus élevée, - le procédé de décompression comprend, pour la tuile courante, les étapes de décompression: - à partir de la longueur la plus élevée, déterminer le nombre de bits associé à chaque différence compressée, - à partir de la valeur de référence et d'une lecture, sur le nombre de bits, des représentations binaires de chaque différence, déterminer chaque valeur de pixel de la tuile courante, chaque valeur de pixel étant donnée sur un même nombre de bits, - on construit une image décompressée en réitérant les étapes de décompression pour une tuile courante suivante, identifiée par une valeur de référence suivante dans l'image compressée. Chaque valeur de référence est, pour chaque tuile, donnée sur un même nombre de bits dans l'image compressée. Chaque longueur la plus élevée est, pour chaque tuile, donnée sur un même nombre de bits dans l'image compressée. Ainsi, le dispositif en charge de la décompression peut, de manière itérative, reconstituer les valeurs de pixels de chaque tuile. En effet, la valeur de référence et la longueur la plus élevée sont codées sur un nombre fixe de bits. Les différences sont codées sur un nombre de bits qui varie selon les tuiles mais qui est indiqué pour chaque tuile par la valeur de la longueur la plus élevée. L'invention vise aussi un programme informatique comportant des instructions pour la mise en oeuvre des procédés de compression et de décompression décrits ci-avant. L'invention peut être mise en oeuvre par un dispositif de compression d'une image source en une image compressée sous forme binaire, cette image source comprenant une pluralité de pixels ayant chacun au moins une valeur de pixel, le dispositif comprenant un processeur et une mémoire de travail pour : - décomposer l'image source en tuiles de pixels, les tuiles étant de taille supérieure à 1 pixel dans les dimensions horizontale et verticale ; - effectuer, pour chaque tuile courante, les opérations d'identification d'une valeur de référence présentant la plus petite valeur de pixel dans la tuile courante, de calcul des représentations binaires des différences entre les valeurs de chacun des pixels de la tuile courante et la valeur de référence, de détermination de longueurs de chacune des représentations binaires des différences, d'identification de la longueur la plus élevée parmi ces longueurs, de limitation de la représentation binaire de chaque différence à la longueur la plus élevée en supprimant les bits de poids les plus forts afin de compresser chaque différence dans la tuile courante ; - stocker dans un fichier représentant l'image compressée, les représentations binaires de la valeur de référence d'une tuile, de la longueur la plus élevée dans cette tuile, et des différences compressées de cette tuile. L'invention vise également le support de stockage d'une image compressée obtenue par la mise en oeuvre du procédé de compression décrit ci-avant. On entend par « support de stockage » tout dispositif physique tel que disque compact (CD pour « compact disc » en anglais), disque optique numérique de première génération (DVD pour « digital versatile disc » en anglais) ou de seconde génération (blu-ray (MARQUE DEPOSEE)), disquette, clé USB (« universal serial bus » en anglais), disque dur, ordinateur, tablette numérique, téléphone portable ou tout dispositif non-physique tel qu'un stockage dématérialisé sur des serveurs distants (informatique nuagique ou en nuage pour « cloud » en anglais). L'invention vise également un dispositif de décompression d'une image compressée sous forme binaire par un procédé tel que décrit ci-avant en une image décompressée, le dispositif comprenant un processeur et une mémoire de travail pour: - associer à une tuile courante une valeur de référence associée à la tuile courante, la longueur la plus élevée parmi les représentations binaires des différences entre valeurs de pixels et valeur de référence pour la tuile courante, et ces différences, compressées en limitant la représentation binaire de chaque différence à la longueur la plus élevée, - pour chaque tuile courante, effectuer les opérations de décompression suivantes : - à partir de la longueur la plus élevée parmi les représentations binaires des différences, déterminer le nombre de bits associé à chaque différence, - à partir de la valeur de référence et d'une lecture, sur le nombre de bits, des représentations binaires de chaque différence, déterminer chaque valeur de pixel de la tuile courante, chaque valeur de pixel étant donnée sur un même nombre de bits, - stocker, dans un fichier représentant une image décompressée, chaque valeur de pixel de chaque tuile en réitérant les opérations de décompression pour des tuiles successives identifiées par des valeurs de référence respectives dans l'image compressée.
Chaque valeur de référence est, pour chaque tuile, donnée sur un même nombre de bits dans l'image compressée. Chaque longueur la plus élevée étant, pour chaque tuile, donnée sur un même nombre de bits dans l'image compressée. D'autres avantages et caractéristiques de l'invention apparaîtront à la lecture de la description détaillée ci-après, d'exemples de réalisation de l'invention et à l'examen des dessins sur lesquels : la figure 1 illustre schématiquement un contexte de mise en oeuvre de l'invention, la figure 2 illustre une image source à laquelle on applique le procédé de compression, dans un exemple de réalisation, la figure 3 illustre le détail d'un dispositif de compression, dans un exemple de réalisation, - la figure 4 illustre schématiquement les étapes d'un procédé de compression, dans un exemple de réalisation, - la figure 5A illustre schématiquement une tuile d'image source et la partie d'image compressée correspondante à cette tuile, dans un exemple de réalisation, - la figure 5B illustre schématiquement une représentation binaire d'une image compressée, dans un premier exemple de réalisation, - la figure 5C illustre schématiquement une représentation binaire d'une image compressée, dans un deuxième exemple de réalisation, la figure 6A illustre le détail d'un dispositif de décompression, dans un exemple de réalisation, la figure 6B illustre le détail d'un dispositif de comparaison d'images compressées, dans un exemple de réalisation, la figure 7 illustre schématiquement les étapes d'un procédé de décompression, dans un exemple de réalisation.
L'invention est décrite ci-après dans son application, non limitative, au stockage de fichiers vidéo, notamment à un stockage confié à un prestataire externe. Bien sûr, d'autres contextes très différents peuvent être choisis tels que : stockage de vidéos destinés à la télévision par une chaîne de télévision, compression de photographies au moyen d'un téléphone portable pour une restitution sur un site de réseau social, acquisition de photographies par un satellite à destination d'un service de topologie, etc. Un contexte de mise en oeuvre de l'invention est ici décrit en référence à la figure 1. Une caméra numérique 1 capture une vidéo qui est transmise à un dispositif de compression 2. Les fichiers vidéo peuvent provenir d'autres sources telles qu'un dispositif de numérisation de bobines physiques, un fichier téléchargé depuis le réseau internet, etc. Les images sources constituant la vidéo sont compressées par le dispositif de compression 2 en une image compressée. Cette image compressée est alors stockée sans chiffrement sur un support de stockage 3. Dans cette situation, tout dispositif de décompression 5 peut décompresser directement l'image compressée contenue sur le support de stockage 3 pour le diffuser, par exemple, sur un ordinateur 6. En variante, un chiffrement de l'image compressée au moyen d'une clé de chiffrement 7A est effectué par le dispositif de compression 2. Dans cette situation, l'image compressée stockée sur le support de stockage 3 ne peut être décompressée sans la clé de chiffrement 7A. Les personnes qui disposent de la clé de déchiffrement 7A peuvent décompresser l'image compressée au moyen du dispositif de décompression 5. L'image décompressée est par exemple ensuite diffusée sur un ordinateur 6. Même sous forme chiffrée, une image compressée peut être localisée. Par exemple, un prestataire peut se voir confier le stockage de fichiers vidéo compressés et chiffrés stockés sur des supports de stockage 3. Dans cette situation, la compression et le chiffrement sont mis en oeuvre par le titulaire des droits sur les fichiers vidéo au moyen du dispositif 2. Les fichiers étant chiffrés, le prestataire ne peut décompresser les vidéos comprises sur ces supports de stockage sans la clé de déchiffrement.
Toutefois, le titulaire de droits sur ces fichiers peut vouloir retrouver un fichier particulier parmi l'ensemble des fichiers stockés par le prestataire sans avoir à décompresser la totalité des fichiers stockés. Dans cette situation, un extrait du fichier particulier est compressé par le dispositif 2 et transmis au prestataire, par exemple au moyen d'un dispositif de stockage temporaire 7B. Le fichier particulier est ensuite comparé à l'ensemble des fichiers stockés par le prestataire au moyen d'un procédé de comparaison décrit ci-après en référence à la figure 6B et mis en oeuvre par un ordinateur 4. Le dispositif de compression 2 est maintenant décrit en référence à la figure 3, ce dispositif comporte une interface d'entrée 18 pour la réception d'images sources reçues de la caméra 1, par exemple. Un processeur de signal numérique 19 (par exemple un DSP pour « digital signal processor » en anglais) effectue ensuite un premier traitement des images source. Des étapes classiques de traitement de l'image peuvent être effectuées par le DSP. Ainsi, ce premier traitement peut consister à quantifier les valeurs de pixels afin d'en donner une représentation sous forme binaire, par exemple. Ce premier traitement peut également consister à empiler temporairement les images source d'un fichier vidéo pour les envoyer au processeur 20 quand celui-ci est disponible. L'empilement des images sources peut également être réalisé par une mémoire de type mémoire de masse 22 ou mémoire vive 21. Dans un mode de réalisation, le DSP 19 effectue une extraction d'au moins une tuile de pixels d'une image source afin de les transmettre au processeur 20. En variante, plusieurs lignes de valeurs de pixels sont transmises à une mémoire cache 20A du processeur 20. La transmission directe de plusieurs lignes de pixels vers la mémoire cache du processeur limite les échanges entre le DSP 19 et le processeur 20. En conséquence, la pagination entre mémoires est réduite au minimum ce qui réduit le temps de mise en oeuvre du procédé de compression. Dans cette variante, le processeur 20 extrait au moins une tuile des lignes de pixels temporairement stockées dans la mémoire cache. Plusieurs unités arithmétiques et logiques 20C (ALU pour « Arithmetical and Logical Unit » en anglais) associées à des registres 20B peuvent être présentes dans le processeur 20. Plusieurs tuiles extraites peuvent alors être compressées en parallèle au sein des ALU 20C du processeur 20. Si une seule unité arithmétique et logique 20C associée à des registres 20B est disponible, la compression s'effectue tuile par tuile. Les étapes de compression effectuées par le processeur 20 sont décrites en détail ci-après en référence à la figure 4. Dans le cas où plusieurs lignes de valeurs de pixels sont temporairement stockées sur la mémoire cache, les étapes de compression sont appliquées à partir de ces lignes jusqu'à ce que tous les pixels des lignes temporairement stockées aient été compressés. Une fois tous ces pixels compressés, de nouvelles lignes sont temporairement stockées dans la mémoire cache 20A pour être compressées jusqu'à ce que tous les pixels de l'image soient compressés. Une image compressée est ensuite fournie par le processeur 20 à une interface de sortie 23 pour un stockage sur le support de stockage 3.
Un procédé de compression au sens de l'invention est maintenant décrit en référence à la figure 4. A l'étape 24, plusieurs lignes de valeurs de pixels d'une image source sont disponibles dans la mémoire cache 20A du processeur 20. Si le DSP 19 est en charge de l'extraction des tuiles, la 15 totalité de l'image est stockée dans une mémoire interne au DSP 19. La variable de comptage des tuiles k est initialisée à 0. A l'étape 25, une tuile Tk est ensuite extraite. Les tuiles sont en général analysées dans un ordre de lecture déterminé (par exemple de gauche à droite et de haut en bas) mais peuvent également être sélectionnées dans n'importe quel ordre. Cette tuile est ici composée de quatre 20 pixels ayant pour valeurs de pixels Alk, A/2<, A/3< et A. A l'étape 26, la valeur de référence Rk est déterminée. Cette valeur de référence Rk correspond au minimum des quatre valeurs de pixels Alk, Al2<, A13< et A. Dans le cas où les valeurs de pixels n'ont pas déjà été quantifiées et ne sont donc pas disponibles sous forme binaire, Rk doit être quantifié à ce stade pour être disponible sous forme binaire. 25 A l'étape 27, les différences Dl, D2, D3 et D4 avec la valeur de référence Rk sont respectivement calculées pour les valeurs de pixels Al, Al2<, A3k et A. Dans une variante, seules trois différences sont calculées, une des quatre valeurs de différence correspondant à la valeur de référence Rk.
Dans le cas où les valeurs de pixels ont déjà été quantifiées et sont disponibles sous forme binaire, cette opération correspond à une simple soustraction binaire. En variante, la soustraction peut être effectuée entre des valeurs non quantifiées. Dans cette situation, les valeurs obtenues pour les différences sont quantifiées directement après le calcul de la différence. Dans ces deux situations, ces différences sont disponibles dans une représentation binaire à l'issue de l'étape 27. A l'étape 28, la longueur L de la représentation binaire de chacune des différences Dl, D2, D3 et D4 est déterminée. La représentation binaire choisie pour coder les différences est la représentation binaire minimale de ces différences. On entend par représentation binaire minimale, une représentation utilisant le nombre minimum de bits requis pour coder exactement une valeur. Le maximum Ck de ces longueurs est ensuite déterminé. On entend par longueur le nombre de bits requis pour représenter ces différences. Les différences Dl, D2, D3, D4 sont alors codées sur le nombre de bits correspondant à la longueur maximum Ck, par exemple en supprimant des bits de poids forts.
Par exemple, si D1=5 ; D2=9 ; D3=0 et D4=2, alors Dl pourra être codé sur 3 bits, D2 sur 4 bits, D3 sur 1 bit et D4 sur 2 bits. Ainsi, la longueur maximum est dans ce cas égale à 4 et toutes les différences sont alors codées sur 4 bits. A l'étape 29, les représentations binaires de la valeur de référence Rk, des différences Dl, D2, D3 et D4 et de la longueur maximum Ck sont ajoutées à l'image compressée S. Plusieurs modes de réalisation pour cet ajout sont décrits ci-après en référence aux figures 5A à 5C. Un test 30 vérifie ensuite que la valeur de la variable de comptage k n'est pas inférieure à une valeur prédéterminée K. En fonction de l'architecture matérielle retenue pour effectuer les étapes de compression, cette valeur prédéterminée peut prendre plusieurs valeurs. Si plusieurs lignes de valeurs pixels sont stockées dans la mémoire cache 20A du processeur 20, K correspond au nombre de tuiles présentes dans ces lignes. Si les tuiles sont extraites par le DSP 19, K correspond au nombre de tuiles présentes sur l'image. Si k est inférieur ou égal à K, la variable de comptage k est incrémentée à l'étape 31 et une nouvelle tuile est ensuite extraite à l'étape 25 pour une nouvelle itération du procédé. Si k est strictement supérieur à K, toutes les valeurs de pixels ont été compressées.
Si plusieurs lignes de valeurs pixels sont stockées dans la mémoire cache 20A du processeur 20, la compression des lignes de valeur de pixel stockées dans la mémoire cache est effectuée. L'image compressée S est alors temporairement stockée dans les registres 20B, dans la mémoire cache 20A ou dans la mémoire vive 21 du processeur. Si toutes les lignes de l'image source ont été compressées, l'image compressée S est transmise à l'interface de sortie 23. Sinon, de nouvelles lignes sont extraites de l'image source et temporairement stockées dans la mémoire cache 20A pour une nouvelle itération des étapes de compression décrites ci-avant. Si les tuiles sont extraites par le DSP 19, toutes les valeurs de pixels de l'image ont été compressées.
On décrit maintenant le choix de la taille d'une tuile. Si la taille des tuiles est trop importante, les zones contenant beaucoup de contours ne seront pas bien compressées. De plus, si les tuiles sont trop grandes le temps requis pour la compression d'une tuile peut être trop important.
L'introduction de la longueur maximum dans l'image compressée représente une part importante du nombre de bits nécessaires pour coder l'ensemble des informations d'une tuile. Plus ce nombre est élevé et plus le taux de compression est faible. Or, comme le nombre de bits requis pour coder cette longueur maximum est fixe (ceci est décrit ci-après en référence aux figures 4 et 7), son influence relative est plus importante quand la taille d'une tuile est faible. Pour cette raison, il est souhaitable de ne pas trop réduire la taille des tuiles. La taille optimum des tuiles peut être définie en fonction des dimensions de l'image, hauteur et largeur. En effet, si les tuiles ne recouvrent pas exactement la largeur et la hauteur de l'image, des tuiles ne sont pas totalement remplies ce qui rallonge inutilement l'image compressée. Ainsi, un test de division de chaque dimension (longueur et largeur) par 4, 5 ou 6 peut être effectué afin de déterminer les tailles de tuiles envisageables. Il faut donc utiliser une taille de tuile qui soit un diviseur des dimensions de l'image. Il est possible d'utiliser des tuiles non carrées pour que chaque dimension soit un diviseur exact de la dimension correspondante de l'image.
La taille minimum d'une tuile doit être au moins de 4 pixels (pour des raisons de bruit et de filtrage passe-bas des caméras). Des valeurs typiques de taille de tuile sont comprises entre 4x4 (16 pixels) et 6x6 (36 pixels). Les dimensions de la tuile sont par exemple choisies en prenant le diviseur exact le plus élevé pour chaque dimension de l'image en partant de 6, par exemple (notamment recommandé pour les tailles actuelles d'images). Si aucun des diviseurs n'est exact, une dimension de 4 est choisie (le reste de la division est le plus faible). Des exemples de tailles (en pixels) de tuile sont donnés dans le tableau ci-dessous : Format image source Taille image source Taille d'une tuile Nombre de tuiles Vidéo standard 720 x 576 6 x 6 120 x 96 Vidéo HD 1920 x 1080 6 x 6 320 x 180 Vidéo UHD 3840 x 2160 6 x 6 640 x 360 Container 2K cinéma 2048 x 1080 4 x 6 512 x 180 numérique Cinéma numérique 2K au ratio « flat » 1998 x 1080 6 x 6 333 x 180 Cinéma numérique 2K au ratio « cinémascope » 2048 x 858 4 x 6 512 x 143 On décrit maintenant en référence à la figure 2 l'application du procédé de compression au sens de l'invention à des images décomposées dans des plans de valeurs de pixels. Dans un mode de réalisation, ces plans correspondent à des composantes de couleurs et peuvent ainsi être qualifiés de plans chromatiques. Dans un mode de réalisation, l'image source est acquise par un capteur comportant un filtre de Bayer. Cette image source est décomposée en un plan 14 de valeurs de pixels correspondant à une intensité R de couleur rouge, un plan 15 de valeurs de pixels correspondant à une intensité B de couleur bleue, un premier plan 16 de valeurs de pixels correspondant à une intensité V1 de couleur verte, et un deuxième plan 17 de valeurs de pixels correspondant à une intensité V2 de couleur verte. De manière classique, les images acquises par un capteur comportant un filtre de Bayer sont directement décomposées sur de tels plans.
On rappelle que cette décomposition est ici appelée « décomposition Bayer ».
Les étapes de compression sont ensuite appliquées à ces plans. Chaque plan est en effet constitué d'une pluralité de pixels auxquels sont affectées des valeurs de pixels. Dès lors, les étapes de compression et décompression décrites ci-avant et ci-après en référence à une image constituée de pixels sont appliquées à ces plans également constitués de pixels.
De nombreuses autres décompositions de l'image peuvent être utilisées. Il est possible de passer d'une décomposition à une autre en appliquant une transformation aux valeurs de pixels d'une image. De telles transformations sont représentées par des matrices de passage d'un ensemble de plans à un autre ensemble de plans. Par exemple, il est possible de passer d'une décomposition Bayer à une décomposition dans le 10 système colorimétrique dit «CIE (pour Commission Internationale de l'Eclairage) XYZ » ou encore à une décomposition dans le système colorimétrique dit « RGB » pour Red, Green, Blue (Rouge, Vert, Bleu en français) ou à d'autres systèmes de couleurs primaires. Dans un mode de réalisation, ces plans correspondent à des composantes de couleurs et peuvent ainsi être qualifiés de plans chromatiques. Le degré de redondance entre valeurs de 15 pixels peut varier selon les plans. Ainsi, il est possible de réduire la complexité du procédé de compression en ne compressant que les plans présentant des degrés de redondance importants. Selon la décomposition retenue, un, ou plusieurs, plan peut correspondre à une composante de luminance. La luminance traduit une intensité lumineuse. Les étapes de compression susmentionnées peuvent n'être appliquées qu'au plan correspondant à une composante de 20 luminance. Différents modes de réalisation décrits en référence aux figures 5A à 5C sont ici présentés pour l'agencement dans l'image compressée S de la représentation binaire R des valeurs de référence de tuiles, de la représentation binaire C de la longueur maximum des différences de 25 tuiles et des représentations binaires Dl, ..., Dn des différences de tuiles. Une tuile 10 de n pixels est en effet compressée par le procédé décrit ci-avant en référence à la figure 4 en une représentation binaire R des valeurs de référence de tuiles, une représentation binaire C de la longueur maximum des différences de tuiles et des représentations binaires Dl, ..., Dn des différences de tuiles.
Les étapes d'ajout des représentations binaires de R, C et Dl, ..., Dn correspondent à des décalages (« shift » en anglais) qui sont gérés par les registres du processeur 20. Ces étapes sont donc effectuées très rapidement. Dans un mode de réalisation illustré à la figure 5B, les représentations binaires de la valeur de référence, des différences et de la longueur la plus élevée sont comprises dans un paquet d'information de tuile Pq. L'image compressée comprend alors une succession Pql, Pq2, ..., PqP de paquets d'information de tuiles. Dans un autre mode de réalisation illustré à la figure 5C, les valeurs de référence B I, ..., BP sont comprises dans une première succession de bits. Les représentations binaires des différences et de la longueur la plus élevée sont comprises dans une deuxième succession de bits. Un ensemble Pd composé de la représentation binaire de la longueur la plus élevée et des représentations binaires des différences est prévu pour chaque tuile. L'image compressée comprend alors une succession de ces ensembles Pdl, Pd2, ..., PdP. Les valeurs de référence peuvent être chiffrées au moyen de procédés standard de chiffrement tels que le DES (« data encryption standard » en anglais) ou encore tels que le RSA (pour Rivest, Shamir et Adleman). Ainsi, la protection des fichiers est assurée en ne chiffrant qu'une partie restreinte de l'image compressée. Le chiffrement n'étant pas appliqué à la totalité de l'image mais seulement aux valeurs de référence, le nombre d'opérations nécessaires au chiffrement de l'image compressée est donc réduit. Le procédé de protection est donc optimisé en temps et en ressources de calcul. Dans un mode de réalisation particulier, on construit une image décimée à partir de la représentation binaire des valeurs de référence. Cette image décimée comprend une pluralité de pixels ayant chacun une de ces valeurs de référence comme valeur de pixel.
On applique alors au moins une fois les étapes du procédé de compression décrites ci-avant à l'image décimée. L'application de ces étapes donne une nouvelle succession de valeurs de référence de tuile d'image décimée. Une nouvelle image décimée peut être obtenue à partir de cette nouvelle succession de valeurs de référence, etc. On appelle itération chaque application des étapes du procédé de compression.
Le nombre d'itérations dépend du nombre de pixel existant dans les directions horizontales et verticales de l'image. Plus la taille de l'image décimée est importante, plus une nouvelle itération est efficace quant au taux de compression. Plus la taille des tuiles est faible, plus l'image décimée présente une taille importante. Il est donc pertinent de choisir des tailles de tuile relativement faibles afin d'optimiser l'efficacité des nouvelles étapes d'itérations. Toutefois, comme cela est mentionné ci-avant en référence à la figure 2, une taille de tuile trop faible augmente l'importance relative de la longueur maximum quant au taux de compression de chaque tuile.
La taille des tuiles utilisées pour les étapes de compression peut varier en fonction des itérations. Il est possible d'appliquer une nouvelle itération tant que les deux dimensions de l'image décimée ne sont pas des nombres premiers. Pour éviter d'atteindre très vite un diviseur non entier des dimensions de l'image décimée, il est possible d'utiliser des tuiles quasi carrées dont les dimensions horizontale et verticale ne sont pas égales mais très proches. Des tailles typiques de tuiles dans le présent mode de réalisation sont 2x2, 2x3 ou 3x2. Pour déterminer les tailles des tuiles à l'occasion d'une itération, on peut décomposer les chiffres des dimensions de l'image décimée en nombres premiers. Pour une image de cinéma numérique 2K au ratio flat (1998x1080) la décomposition en 20 nombres premiers des dimensions donne : 1998 = 2 x 32 x 111 et 1080 = 23 x 33 x 5. La dimension horizontale est la plus restrictive et limite la décomposition à 3 itérations : soit des tuiles de 2x2 puis 3x2 puis 3x2. Pour une image cinéma numérique 2K au format cinémascope (2048x858) on a : 2048 = 211 et 858 = 2 x 3 x 11 x 13. On est donc limité à 2 itérations, 2x2 puis 2x3. 25 En vidéo HD (1920x1080), on a : 920 = 27 x 3 x 5 et 1080 = 23 x 33 x 5. On peut donc avoir 6 itérations. Trois itérations 2x2, puis 2x2, puis 2x2 donnent déjà une bonne compression En vidéo SD (720x576), on a : 720 = 24 x 32 x 5 ; et 576 = 26 x 32. Possibilité de 6 itérations aussi. Trois itérations 2x2, puis 2x2, puis 2x2 donnent déjà une bonne compression.
La figure 6A représente un exemple de dispositif de décompression 5 dans un mode de réalisation de l'invention. Dans ce mode de réalisation, le dispositif comprend une mémoire vive 36 pour stocker des instructions permettant la mise en oeuvre du procédé, les données de mesures reçues, et des données temporaires pour réaliser les différentes étapes du procédé de décompression décrit ci-après en référence à la figure 7. Le dispositif comporte aussi une mémoire de masse 37 pour le stockage de données destinées à être conservées après la décompression d'une image. De telles données peuvent par exemple fournir des données statistiques sur la présence d'erreur lors de la compression des images sources.
Le dispositif 5 comporte en outre un processeur de signal numérique (DSP) 34. Ce DSP 34 reçoit l'image compressée pour mettre en forme, démoduler et amplifier, de façon connue en soi cette image compressée. Le dispositif comporte également un processeur 35 pour la mise en oeuvre des étapes de décompression décrites ci-après en référence à la figure 7. De manière symétrique au procédé de compression décrit ci-avant, les données temporaires de calcul requises pour la mise en oeuvre de la décompression sont très réduites. En particulier, pour la décompression d'une tuile, seules les représentations binaires de la valeur de référence, des différences et de la longueur maximale constituent les données temporaires de calcul. Il est donc possible de mobiliser principalement les registres du processeur 35 pour les étapes de décompression d'une tuile. Le recours à ces registres réduit sensiblement le temps requis pour la décompression. Le dispositif comporte également une interface d'entrée 33 pour la réception de l'image compressée, et une interface de sortie 38 pour une diffusion, par exemple sur un ordinateur 6, de l'image décompressée.
La figure 6B représente un exemple de dispositif de comparaison 4A. Un tel dispositif de comparaison peut être intégré dans un ordinateur 4. Ce dispositif peut par exemple être utilisé par un prestataire à qui a été confié le stockage d'images compressées et chiffrées selon le procédé décrit ci-avant. Le titulaire des images peut chercher à localiser une image particulière parmi l'ensemble des images stockées par le prestataire.
Pour ce faire, le titulaire transmet au prestataire, par exemple au moyen d'un dispositif de stockage temporaire 7B, l'image particulière qu'il cherche à localiser au sein des images stockées par le prestataire. Au moyen du dispositif 4A, le prestataire effectue alors une comparaison de l'image particulière avec les images stockées sur les supports de stockage 3.
Dans un mode de réalisation, le dispositif comprend une mémoire vive 42 et un processeur 41 pour stocker des instructions permettant la mise en oeuvre du procédé de comparaison décrit ci-après. Le dispositif comporte aussi une mémoire de masse 43 pour le stockage de données destinées à être conservées après la comparaison. Le dispositif 4 peut en outre comporter un processeur de signal numérique (DSP) 40. Ce DSP 10 40 reçoit les images pour mettre en forme, démoduler et amplifier, de façon connue en soi ces images. Le dispositif comporte également une interface d'entrée 39 pour la réception de l'image particulière à localiser et pour la lecture des supports de stockage 3, et une interface de sortie 44 pour la diffusion des résultats de la comparaison, qui peuvent être affichés sur un moniteur 15 4B. Le procédé de comparaison compare l'image particulière reçue du titulaire qui cherche à localiser cette image parmi les images stockées dans les supports de stockage 3. Cette image particulière peut être compressée avant d'être reçue par le dispositif 4A ou directement 20 compressée par ce dispositif 4A. Le procédé comporte alors une étape de comparaison, bit à bit, des valeurs de différences entre l'image particulière et une des images stockées par le prestataire. Dans un mode de réalisation, l'image particulière est comparée à toutes les images stockées. Dans un autre mode de réalisation, l'image particulière est comparée à un échantillon d'images stockées. 25 Le nombre de bits différents est déterminé à l'issue de cette étape de comparaison. Si un nombre suffisant de bits sont identiques, la comparaison est positive et l'image particulière est formellement localisée chez le prestataire. En particulier, si le nombre de bits différents est inférieur à un seuil choisi, le processeur 41 transmet une instruction à l'interface de sortie pour l'affichage d'un message indiquant la localisation de l'image particulière. Ceci peut par 30 exemple permettre de prouver que le prestataire dispose encore de fichiers appartenant au titulaire ou permettre au prestataire de localiser des fichiers qui seraient stockés en double.
Il est également possible de recourir à d'autres types de traitement d'image, sous forme compressée ou décompressée, pour comparer avec succès les différences des tuiles de deux images. Ceci peut contribuer à faciliter la gestion des contenus par le prestataire du stockage. Une fois les fichiers localisés, une étape de déchiffrement peut être effectuée par le titulaire au moyen de la clé ayant servi au chiffrement afin de prouver que le fichier appartient bien au titulaire. On a décrit ci-avant le procédé de comparaison dans son application à une comparaison d'images. Ceci peut être directement appliqué à une comparaison de vidéos. Dans cette situation, les images constitutives des vidéos sont comparées.
Un procédé de décompression au sens de l'invention est maintenant décrit en référence à la figure 7. A l'étape 45, l'image compressée est reçue par l'interface d'entrée 33 et la variable de comptage i est initialisée à O. L'indice i fait référence à une tuile particulière.
A l'étape 46, le processeur de signal numérique 34 extrait les représentations binaires de la valeur de référence R, et de la longueur maximum C, d'une tuile i. Cette extraction est possible car le nombre de bits sur lequel sont codées ces deux valeurs est fixe dans l'image compressée. A l'étape 47, le processeur 35 détermine le nombre de bits sur lequel les différences sont codées pour cette tuile i à partir de la longueur maximum C1. Chaque différence est ensuite lue en parcourant, pour chaque différence, le nombre de bits déterminé. A l'étape 48, les valeurs de pixels sont décompressées en calculant la somme de la valeur de référence R, avec chacune des différences lues à l'étape 47. A l'étape 49, les valeurs de pixels décompressées à l'étape 48 sont ajoutées à l'image 25 décompressée DS. A l'étape 50, la variable de comptage i est comparée à une valeur prédéterminée I. Cette valeur prédéterminée I peut correspondre au nombre de tuiles comprises dans l'image à décompresser.
Si la variable de comptage i est inférieure ou égale à I, i est incrémenté et le procédé reprend à l'étape 46 pour une nouvelle tuile. Sinon, l'image décompressée DS est transmise à l'interface de sortie 38.
La présente invention ne se limite pas aux formes de réalisation décrites ci-avant à titre d'exemples ; elle s'étend à d'autres variantes. Ainsi, on a décrit ci-avant un mode de réalisation dans lequel les dispositifs de compression ou de décompression sont des entités à part entière. Bien sûr, ces dispositifs peuvent être embarqués dans tout type de dispositif plus important comme par exemple une caméra numérique, un appareil photo, un téléphone portable, un ordinateur, un projecteur de cinéma, etc. De plus, on a décrit un mode de réalisation proposant une architecture particulière des dispositifs de compression, de décompression et de comparaison. Ces architectures ne sont données qu'à titre illustratif. Ainsi, un agencement des composants et une répartition différente des taches affectées à chacune de ces composantes est également envisageable. Par exemple, les tâches effectuées par le processeur de signal numérique (DSP) peuvent également être effectuées par un processeur classique.

Claims (15)

  1. REVENDICATIONS1. Procédé de compression d'une image source en une image compressée sous forme binaire, ladite image source comprenant une pluralité de pixels ayant chacun au moins une valeur de pixel, dans lequel : - l'image source est décomposée en tuiles de pixels, les tuiles étant de taille supérieure à 1 pixel dans les dimensions horizontale et verticale, le procédé comprenant, pour chaque tuile courante, les étapes de compression suivantes : - identification (26) d'une valeur de référence présentant la plus petite valeur de pixel dans la tuile courante ; - calcul (27) des représentations binaires des différences entre les valeurs de chacun des pixels de la tuile courante et ladite valeur de référence ; - détermination (28) de longueurs de chacune des représentations binaires desdites différences, - identification (28) de la longueur la plus élevée parmi lesdites longueurs ; - limitation de la représentation binaire de chaque différence à ladite longueur la plus élevée en supprimant les bits de poids les plus forts afin de compresser chaque différence dans la tuile courante ; - on construit une image compressée comportant des représentations binaires : * de la valeur de référence d'une tuile, * de ladite longueur la plus élevée dans cette tuile, et * desdites différences compressées de cette tuile.25
  2. 2. Procédé selon la revendication 1, dans lequel l'image compressée comporte : - une première succession de bits (B1, ..., BP) comportant les représentations binaires des valeurs de référence desdites tuiles de l'image source, et - une deuxième succession de bits (Pdl, ..., PdP) comprenant, pour une tuile, les différences dans la tuile et la longueur la plus élevée dans cette tuile.
  3. 3. Procédé selon la revendication 2, comprenant en outre une étape de communication sélectivement de la deuxième succession de bits.
  4. 4. Procédé selon la revendication 2, comprenant une étape de chiffrement de la première succession de bits, et une étape de communication de la première succession de bits, chiffrée, et de la deuxième succession de bits.
  5. 5. Procédé selon la revendication 2, dans lequel on construit à partir de la première succession de bits une décimation d'image comportant une pluralité de pixels ayant chacun une desdites valeurs de référence comme valeur de pixel, et dans lequel on applique au moins une fois les étapes de compression à ladite décimation d'image pour obtenir une compression de l'image décimée.
  6. 6. Procédé selon l'une quelconque des revendications précédentes, dans lequel chaque pixel de l'image source a une pluralité de valeurs dans des plans chromatiques respectifs, les étapes de compression étant appliquées à l'un au moins desdits plans.
  7. 7. Procédé selon l'une quelconque des revendications 1 à 5, dans lequel chaque pixel de l'image source a une pluralité de valeurs dans des plans chromatiques respectifs, le procédé comportant une étape de transformation de composantes de pixels dans lesdits planschromatiques en composantes choisies, les étapes de compression étant appliquées au moins à l'une des composantes choisie.
  8. 8. Procédé selon la revendication 7, dans lequel les composantes choisies comportent une 5 composante de luminance par pixel et les étapes de compression sont appliquées au moins à la composante de luminance.
  9. 9. Procédé selon l'une des revendications 6 à 8, dans lequel l'image source, acquise par un capteur comportant un filtre de Bayer, est décomposée en :
  10. 10 - un plan de valeurs de pixels correspondant à une intensité de couleur rouge, - un plan de valeurs de pixels correspondant à une intensité de couleur bleue, - un premier plan de valeurs de pixels correspondant à une intensité de couleur verte, et - un deuxième plan de valeurs de pixels correspondant à une autre intensité de couleur verte, les étapes de compression étant appliquées à l'un au moins desdits plans ou à une 15 transformation de plans desdits plans. 10. Procédé de comparaison d'au moins une première image reçue à au moins une deuxième image stockée sous forme binaire, compressée selon l'une des revendications précédentes, le procédé comportant au moins les étapes : 20 - compresser la première image par un procédé selon l'une des revendications précédentes ; - comparer, bit à bit, des valeurs de différences entre la première image compressée et la deuxième image compressée, - déterminer un nombre de bits différents à l'issue de ladite comparaison, et 25 - décider que la première image correspond à la deuxième image si le nombre de bits différents est inférieur à un seuil choisi.
  11. 11. Procédé de décompression d'une image compressée par un procédé selon l'une des revendications 1 à 9, dans lequel - l'image compressée sous forme binaire comprend, pour la décompression d'une tuile courante : * une valeur de référence associée à la tuile courante, * la longueur la plus élevée parmi les représentations binaires des différences entre valeurs de pixels et valeur de référence pour la tuile courante, et * lesdites différences, compressées en limitant la représentation binaire de chaque différence à ladite longueur la plus élevée, - le procédé de décompression comprend, pour la tuile courante, les étapes de décompression: - à partir de la longueur la plus élevée, déterminer le nombre de bits associé à chaque différence compressée, - à partir de la valeur de référence et d'une lecture (47), sur ledit nombre de bits, des représentations binaires de chaque différence compressée, déterminer (48) chaque valeur de pixel de la tuile courante, chaque valeur de pixel étant donnée sur un même nombre de bits, - on construit une image décompressée en réitérant les étapes de décompression pour une tuile courante suivante, identifiée par une valeur de référence suivante dans l'image compressée, chaque valeur de référence étant, pour chaque tuile, donnée sur un même nombre de bits dans l'image compressée, et chaque longueur la plus élevée étant, pour chaque tuile, donnée sur un même nombre de bits dans l'image compressée.
  12. 12. Programme informatique comportant des instructions pour la mise en oeuvre du procédé selon l'une quelconque des revendications précédentes, lorsque ces instructions sont exécutées par un processeur (20, 35, 41).
  13. 13. Dispositif de compression (2) d'une image source en une image compressée sous forme binaire, ladite image source comprenant une pluralité de pixels ayant chacun au moins une valeur de pixel, le dispositif comprenant un processeur et une mémoire de travail pour : - décomposer l'image source en tuiles de pixels, les tuiles étant de taille supérieure à 1 pixel dans les dimensions horizontale et verticale ; - effectuer les opérations suivantes, pour chaque tuile courante : - identification d'une valeur de référence présentant la plus petite valeur de pixel dans la tuile courante ; - calcul des représentations binaires des différences entre les valeurs de chacun des pixels de la tuile courante et ladite valeur de référence ; - détermination de longueurs de chacune des représentations binaires desdites différences ; - identification de la longueur la plus élevée parmi lesdites longueurs ; - limitation de la représentation binaire de chaque différence à ladite longueur la plus élevée en supprimant les bits de poids les plus forts afin de compresser chaque différence dans la tuile courante ; stocker dans un fichier représentant l'image compressée, les représentations binaires : * de la valeur de référence d'une tuile, * de la longueur la plus élevée dans cette tuile, et * desdites différences compressées de cette tuile.
  14. 14. Support de stockage (3) comportant un fichier représentant l'image compressée obtenue par la mise en oeuvre du procédé selon l'une des revendications 1 à 9.
  15. 15. Dispositif de décompression (5) d'une image compressée sous forme binaire par un procédé selon l'une des revendications 1 à 9 en une image décompressée, le dispositif comprenant un processeur et une mémoire de travail pour: - associer (34 ; 40) à une tuile courante : * une valeur de référence associée à la tuile courante, * la longueur la plus élevée parmi les représentations binaires des différences entre valeurs de pixels et valeur de référence pour la tuile courante, et * lesdites différences, compressées en limitant la représentation binaire de chaque différence à ladite longueur la plus élevée, - pour chaque tuile courante, effectuer les opérations de décompression suivantes : - à partir de la longueur la plus élevée, déterminer le nombre de bits associé à chaque différence compressée, - à partir de la valeur de référence et d'une lecture, sur ledit nombre de bits, des représentations binaires de chaque différence compressée, déterminer chaque valeur de pixel de la tuile courante, chaque valeur de pixel étant donnée sur un même nombre de bits, - stocker, dans un fichier représentant une image décompressée, chaque valeur de pixel de chaque tuile en réitérant les opérations de décompression pour des tuiles successives identifiées par des valeurs de référence respectives dans l'image compressée, chaque valeur de référence étant, pour chaque tuile, donnée sur un même nombre de bits dans l'image compressée, et chaque longueur la plus élevée étant, pour chaque tuile, donnée sur un même nombre de bits dans l'image compressée.25
FR1456852A 2014-07-17 2014-07-17 Compression intra-image efficace Withdrawn FR3024006A1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR1456852A FR3024006A1 (fr) 2014-07-17 2014-07-17 Compression intra-image efficace
PCT/FR2015/051961 WO2016009159A1 (fr) 2014-07-17 2015-07-16 Compression intra-image par decomposition de l'image source en tuiles de pixels

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR1456852A FR3024006A1 (fr) 2014-07-17 2014-07-17 Compression intra-image efficace

Publications (1)

Publication Number Publication Date
FR3024006A1 true FR3024006A1 (fr) 2016-01-22

Family

ID=52423783

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1456852A Withdrawn FR3024006A1 (fr) 2014-07-17 2014-07-17 Compression intra-image efficace

Country Status (2)

Country Link
FR (1) FR3024006A1 (fr)
WO (1) WO2016009159A1 (fr)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114996745B (zh) * 2022-07-29 2022-11-22 湖南工商大学 基于舆情事件智能搜寻的媒体资产管理系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06303434A (ja) * 1993-04-15 1994-10-28 Nippon Steel Corp 画像処理方法
FR2909507A1 (fr) * 2006-12-05 2008-06-06 Medialive Sa Procede et systeme de distribution securisee de donnees audiovisuelles par marquage transactionel
WO2012032311A1 (fr) * 2010-09-10 2012-03-15 Imagination Technologies Limited Compression sans perte de données paramétrées à accès aléatoire pour systèmes graphiques informatiques 3d
WO2012093325A1 (fr) * 2011-01-05 2012-07-12 Rafael Advanced Defense Systems Ltd. Procédé et appareil d'imagerie multi-spectrale

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06303434A (ja) * 1993-04-15 1994-10-28 Nippon Steel Corp 画像処理方法
FR2909507A1 (fr) * 2006-12-05 2008-06-06 Medialive Sa Procede et systeme de distribution securisee de donnees audiovisuelles par marquage transactionel
WO2012032311A1 (fr) * 2010-09-10 2012-03-15 Imagination Technologies Limited Compression sans perte de données paramétrées à accès aléatoire pour systèmes graphiques informatiques 3d
WO2012093325A1 (fr) * 2011-01-05 2012-07-12 Rafael Advanced Defense Systems Ltd. Procédé et appareil d'imagerie multi-spectrale

Also Published As

Publication number Publication date
WO2016009159A1 (fr) 2016-01-21

Similar Documents

Publication Publication Date Title
EP2985998B1 (fr) Support d&#39;enregistrement mémorisant un flux de données d&#39;images codées
EP4009633A1 (fr) Procédé et support d&#39;enregistrement mémorisant un flux de données d&#39;images codées
FR2992815A1 (fr) Procede de codage d&#39;un bloc courant d&#39;une premiere composante d&#39;image par rapport a un bloc de reference d&#39;au moins une deuxieme composante d&#39;image, dispositif de codage et programme d&#39;ordinateur correspondant
WO2015055937A1 (fr) Procédé de codage et de décodage d&#39;images, dispositif de codage et de décodage d&#39;images et programmes d&#39;ordinateur correspondants
EP3075155B1 (fr) Procédé de codage et de décodage d&#39;images, dispositif de codage et de décodage d&#39;images et programmes d&#39;ordinateur correspondants
EP3345391A2 (fr) Procédé de codage et de décodage d&#39;images, dispositif de codage et de décodage d&#39;images et programmes d&#39;ordinateur correspondants
EP3649778A1 (fr) Procédé de codage et décodage d&#39;images, dispositif de codage et décodage et programmes d&#39;ordinateur correspondants
WO2016009159A1 (fr) Compression intra-image par decomposition de l&#39;image source en tuiles de pixels
EP3529987A1 (fr) Procédé de codage et de décodage de paramètres d&#39;image, dispositif de codage et de décodage de paramètres d&#39;image et programmes d&#39;ordinateur correspondants
EP1714498B1 (fr) Procede de recherche de la directon de prediction en codage video intra-image
EP4140136A1 (fr) Procédés et dispositifs de codage et de décodage d&#39;une séquence vidéo multi-vues
CA3130555A1 (fr) Procede permettant de dissimuler des donnees dans une image ou un flux video a l&#39;interieur d&#39;une chaine de compression
EP4078959A1 (fr) Procede d&#39;encodage d&#39;une image numerique en vue de sa compression
EP1554879B1 (fr) Dispositif pour la transformation de contenus multimedias et audiovisuels de type mpeg-2 en contenus securises de meme type
EP2914005B1 (fr) Générateur de flux vidéo
FR2949283A1 (fr) Procede et installation pour marquer en temps reel un flux video compose d&#39;une succession d&#39;images video codees selon la norme mpeg-2.
EP3854088A1 (fr) Procédés et dispositifs de codage et de décodage d&#39;un flux de données représentatif d&#39;au moins une image
WO2020094706A1 (fr) Codage d&#39;image par modulation differentielle par impulsions codees a l&#39;aide d&#39;une fonction de prediction
FR2990097A1 (fr) Procedes de codage et de decodage spatialement echelonnables et dispositifs correspondants
FR3064145A1 (fr) Procede de codage et decodage d&#39;images, dispositif de codage et decodage et programmes d&#39;ordinateur correspondants
FR3046004A1 (fr) Procede, decodeur et systeme de transmission video securise reconfigurable pour chiffrement selectif
EP2910024A1 (fr) Procede reversible pour transcrire un fichier code en un premier codage en un fichier code en un deuxieme codage.
WO2005010815A2 (fr) Procede de decodage d&#39;image et dispositif de mise en oeuvre de ce procede

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20160122

ST Notification of lapse

Effective date: 20170331