FR2850825A1 - Procede et dispositif de formation d'un signal numerique d'image transcode compresse - Google Patents
Procede et dispositif de formation d'un signal numerique d'image transcode compresse Download PDFInfo
- Publication number
- FR2850825A1 FR2850825A1 FR0301224A FR0301224A FR2850825A1 FR 2850825 A1 FR2850825 A1 FR 2850825A1 FR 0301224 A FR0301224 A FR 0301224A FR 0301224 A FR0301224 A FR 0301224A FR 2850825 A1 FR2850825 A1 FR 2850825A1
- Authority
- FR
- France
- Prior art keywords
- signal
- compressed
- transcoded
- data block
- image
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/40—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/63—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
L'invention concerne un procédé de formation d'un signal numérique d'image transcodé compressé à partir d'un signal numérique d'image d'origine compressé, la compression du signal comportant au moins une étape de transformation spatio-fréquentielle de ce signal et une étape de codage dudit signal transformé, caractérisé en ce que ledit procédé comporte les étapes suivantes :- décodage du signal numérique d'image d'origine compressé afin d'obtenir un signal numérique d'image d'origine décodé,- transformation géométrique du signal numérique d'image d'origine décodé,- codage du signal numérique d'image d'origine décodé ainsi transcodé, afin d'obtenir un signal numérique d'image transcodé compressé.
Description
<Desc/Clms Page number 1>
La présente invention concerne un procédé et un dispositif de formation d'un signal numérique d'image transcodé compressé à partir d'un signal numérique d'image d'origine compressé.
L'invention s'applique notamment aux images conformes à la norme J PEG2000.
Selon cette norme, un signal numérique d'image compressé possède une structure générale comportant un en-tête principal et un corps qui comporte, sous forme compressée, des données d'origine représentatives de grandeurs physiques que sont les pixels et qui sont organisées en blocs de données (connus en terminologie anglosaxonne sous le terme "code-blocks") ordonnés dans le signal.
Chaque bloc de données compressé est une représentation compressée d'une partie rectangulaire élémentaire du signal d'image qui a, par exemple, été transformée, de manière connue, en sous-bandes de fréquence.
De manière générale, un signal numérique d'image compressé conforme à la norme JPEG2000 contient ainsi plusieurs ensembles de blocs de données compressés correspondant chacun à une tuile (si le signal d'image est décomposé en tuile(s)), une composante (ex : luminance ou chrominance), un niveau de résolution, un niveau de qualité et une position spatiale donnés.
Par ailleurs, il est connu d'appliquer des transformations géométriques à des images compressées pour diverses raisons, ces images n'étant pas nécessairement conformes à la norme JPEG2000.
<Desc/Clms Page number 2>
De façon générale, la compression d'une image passe par une étape nécessaire de codage, par exemple de type entropique.
Souvent, l'étape de codage est précédée d'une étape de transformation spatio-fréquentielle (par exemple de type transformée en cosinus discrète ou DCT signifiant, en terminologie anglo-saxonne "Discrete Cosine Transform") et d'une étape de quantification des coefficients issus de la transformation.
Pour appliquer une transformation géométrique à un signal d'image compressé, on procède généralement à une décompression complète du signal d'image compressé, en appliquant à ce dernier les opérations inverses de celles décrites précédemment : décodage entropique, déquantification et application d'une transformation inverse de la transformation spatio-fréquentielle.
Ensuite, la transformation géométrique, telle que par exemple une symétrie d'axe vertical, est appliquée au signal d'image décompressé, c'est-à-dire dans le domaine image.
Il est prévu alors de compresser à nouveau le signal d'image transformé, également appelé signal transcodé, en appliquant successivement les opérations de transformation spatio-fréquentielle, quantification et codage entropique.
Cependant, la méthode qui vient d'être décrite ne tient pas compte de l'espace mémoire nécessaire pour effectuer toutes les opérations précitées aux seules fins d'appliquer une transformation géométrique au signal d'image compressé.
Or, certains appareils de traitement de données tels que, par exemple, les appareils photographiques numériques, les caméscopes ou les assistants personnels numériques (PDA), ne disposent pas d'un espace mémoire suffisant pour effectuer la totalité de ces opérations à partir d'un signal d'image compressé.
L'espace mémoire nécessaire peut d'ailleurs varier en fonction du signal d'image considéré et, notamment, de sa taille, de son nombre de composantes, du nombre de bits affectés à chaque composante ...
Compte tenu de ce qui précède, il est donc parfois impossible de réaliser des transformations géométriques à partir de signaux d'image compressés dans des appareils de traitement de données dont la capacité mémoire se révèle insuffisante.
<Desc/Clms Page number 3>
Il serait par conséquent intéressant de pouvoir effectuer une transformation géométrique sur un signal d'image à partir du signal d'image compressé, et ce, dans un appareil de traitement de données dont la capacité mémoire est relativement faible.
La présente invention a ainsi pour objet, selon un premier aspect, un procédé de formation d'un signal numérique d'image transcodé compressé à partir d'un signal numérique d'image d'origine compressé, la compression du signal comportant au moins une étape de transformation spatio-fréquentielle de ce signal et une étape de codage dudit signal transformé, caractérisé en ce que ledit procédé comporte les étapes suivantes : - décodage du signal numérique d'image d'origine compressé afin d'obtenir un signal numérique d'image d'origine décodé, - application d'une transformation géométrique du signal numérique d'image d'origine décodé, - codage du signal numérique d'image d'origine décodé ainsi transcodé, afin d'obtenir un signal numérique d'image transcodé compressé.
Corrélativement, l'invention vise un dispositif de formation d'un signal numérique d'image transcodé compressé à partir d'un signal numérique d'image d'origine compressé, la compression du signal comportant au moins une transformation spatio-fréquentielle de ce signal et un codage dudit signal transformé, caractérisé en ce que le dispositif comporte : - des moyens de décodage du signal numérique d'image d'origine compressé afin d'obtenir un signal numérique d'image d'origine décodé, - des moyens de transformation géométrique du signal numérique d'image d'origine décodé, - des moyens de codage du signal numérique d'image d'origine décodé ainsi transformé géométriquement, afin d'obtenir un signal numérique d'image transcodé compressé.
Ainsi, en prévoyant de n'effectuer que le décodage du signal d'image d'origine compressé et en appliquant une transformation géométrique au signal ainsi décodé, mais qui est toujours sous la forme transformée résultant de la
<Desc/Clms Page number 4>
transformation spatio-fréquentielle, on évite d'avoir à effectuer une décompression complète de ce signal.
L'espace mémoire nécessaire à la réalisation de ces étapes est donc réduit par rapport à celui qui était nécessaire dans l'art antérieur, ce qui permet notamment de mettre en #uvre l'invention dans un appareil de traitement de données de capacité mémoire relativement restreinte.
Par ailleurs, la réalisation de ces étapes nécessite moins de calculs qu'auparavant de la part d'une unité de traitement telle qu'un processeur.
En effet, étant donné que l'on n'a pas à effectuer les opérations de transformation spatio-fréquentielle inverse sur le signal décodé, le nombre d'opérations par pixel du signal d'image est réduit.
Ainsi, le transcodeur selon l'invention peut être dimensionné sans tenir compte des opérations de transformation spatio-fréquentielle inverse, ce qui permet de réduire la surface de silicium en cas d'implantation du transcodeur dans un circuit de type ASIC.
Le nombre d'étapes à réaliser pour effectuer une transformation géométrique sur un signal d'image à partir du signal compressé étant réduit, l'unité de traitement exécutant ces étapes est moins longtemps sollicitée, ce qui lui permet d'être disponible pour exécuter d'autres tâches.
Selon un deuxième aspect, l'invention a pour objet un procédé de formation d'un signal numérique d'image transcodé compressé à partir d'un signal numérique d'image d'origine compressé qui comporte des données numériques organisées en blocs, la compression du signal d'origine comportant au moins une étape de transformation spatio-fréquentielle de ce signal et une étape de codage des blocs de données dudit signal transformé, caractérisé en ce que le procédé comporte les étapes suivantes : - sélection d'un bloc de données dans l'un des signaux compressés, - identification dans l'autre signal compressé, d'un bloc de données dit dual qui correspond au bloc de données sélectionné compte tenu d'une transformation géométrique donnée appliquée à ce bloc, - décodage du bloc de données appartenant au signal d'origine compressé,
<Desc/Clms Page number 5>
- application de la transformation géométrique donnée au bloc de données ainsi décodé, - codage du bloc de données décodé ainsi transformé géométriquement, - insertion du premier bloc de données ainsi codé dans le signal d'image transcodé compressé à la position de son bloc dual.
Corrélativement, l'invention vise un dispositif de formation d'un signal numérique d'image transcodé compressé à partir d'un signal numérique d'image d'origine compressé qui comporte des données numériques organisées en blocs, la compression du signal d'origine comportant au moins une étape de transformation spatio-fréquentielle de ce signal et une étape de codage des blocs de données dudit signal transformé, caractérisé en ce que le dispositif comporte : - des moyens de sélection d'un bloc de données dans l'un des signaux compressés, - des moyens d'identification dans l'autre signal compressé, d'un bloc de données dit dual qui correspond au bloc de données sélectionné compte tenu d'une transformation géométrique donnée appliquée à ce bloc, - des moyens de décodage du bloc de données appartenant au signal d'origine compressé, - des moyens d'application de la transformation géométrique donnée au bloc de données ainsi décodé, - des moyens de codage du bloc de données transformé géométriquement, - des moyens d'insertion du bloc de données ainsi codé dans le signal d'image transcodé compressé à la de son bloc dual.
On notera que chacun des deux blocs mentionnés ci-dessus est le dual de l'autre.
L'invention exposée ci-dessus prévoit ainsi de traiter le signal d'image compressé bloc de données par bloc de données, afin de réduire la quantité des données présentes en mémoire.
<Desc/Clms Page number 6>
Il est en outre prévu de décoder chaque bloc de données du signal compressé au fur et à mesure de son traitement, sans toutefois procéder à une transformation spatio-fréquentielle inverse de ce bloc.
Ceci contribue également à réduire l'espace mémoire nécessaire pour pouvoir appliquer la transformation géométrique donnée.
Par ailleurs, les calculs nécessaires pour mettre en #uvre l'invention sont réduits par rapport à ceux nécessaires à la mise en #uvre des méthodes de l'art antérieur, puisque seul un décodage du bloc de données est effectué, et non sa décompression totale.
Selon une caractéristique, la sélection d'un bloc est effectuée dans le signal numérique d'image transcodé compressé.
De cette façon, l'invention est relativement simple à mettre en #uvre puisque l'on va ainsi construire de façon "naturelle" le signal numérique d'image transcodé compressé en parcourant les différents blocs dans l'ordre de parcours spatial, c'est-à-dire ligne par ligne, au fur et à mesure de leur insertion dans le signal.
Selon une autre caractéristique, la sélection d'un bloc est effectuée dans le signal numérique d'image d'origine compressé.
On parcourt ainsi les blocs dans l'ordre de parcours spatial dans le signal numérique d'image d'origine compressé et l'on construit ensuite, à partir de ces blocs, le signal numérique d'image transcodé compressé.
Selon une caractéristique, le signal numérique d'image transcodé est formé progressivement au fur et à mesure de l'insertion de chaque bloc de données codé dans le signal d'image transcodé compressé.
En transcodant chaque bloc de données décodé, indépendamment des autres blocs, et en l'insérant sous forme codée dans le signal d'image transcodé, on construit ainsi progressivement le signal d'image transcodé, ce qui permet de minimiser la quantité de données présentes en mémoire à un instant donné.
Selon une caractéristique, lorsque la compression du signal d'origine comporte, préalablement au codage, une étape de décomposition en sousbandes de fréquence dudit signal, le procédé comporte une étape
<Desc/Clms Page number 7>
d'identification de la sous-bande de fréquence à laquelle appartient le bloc de données dual qui dépend de la transformation géométrique donnée.
Ainsi, la sous-bande de fréquence du bloc de données dual peut varier selon la transformation géométrique envisagée et, plus particulièrement, selon que cette transformation fait intervenir ou non une transposition.
Lorsque la transformation géométrique appliquée au bloc de données décodé fait intervenir une transposition TR, si le bloc de données du premier signal compressé appartient à une sous-bande de fréquence LH ayant des coefficients de basse fréquence selon une première direction et des coefficients de haute fréquence selon une seconde direction, alors le bloc de données dual du second signal compressé appartient à la sous-bande de fréquence HL ayant des coefficients de haute fréquence selon la première direction et des coefficients de basse fréquence selon la seconde direction, et inversement.
Si, au contraire, la transformation géométrique appliquée ne correspond ni à une transposition, ni à une combinaison d'une transposition et d'au moins une autre transformation, alors les sous-bandes de fréquence LH et HL ne sont pas inversées.
Selon une caractéristique, lorsque la transformation géométrique donnée est sélectionnée parmi un sous-ensemble de transformations comprenant une transposition TR, une combinaison d'une transposition et d'une symétrie d'axe vertical TR o SV, une combinaison d'une transposition et d'une symétrie d'axe horizontal TR o SH, une combinaison d'une transposition, d'une symétrie d'axe horizontal et d'une symétrie d'axe vertical TR o SH o SV, ladite transformation est appliquée un nombre pair de fois.
Ceci permet en effet d'éviter les phénomènes de distorsion qui ont lieu lorsque les lignes et les colonnes de l'image sont inversées et que l'ordre de décodage n'est pas respecté.
Plus particulièrement, l'identification du bloc de données dual dans l'autre signal compressé consiste à rechercher, dans ce signal, la position qu'aurait le bloc de données correspondant du premier signal compressé en lui appliquant la transformation géométrique donnée.
<Desc/Clms Page number 8>
Par ailleurs, les étapes de sélection, d'identification et de décodage sont effectuées à partir d'au moins un en-tête du signal numérique d'image d'origine compressé et qui comporte les différents paramètres caractérisant l'image compressée.
En analysant l'en-tête, on est ainsi capable d'obtenir les informations nécessaires sur les blocs de données à traiter sans avoir besoin de décoder tout le signal.
Selon une caractéristique, le procédé comporte une étape de formation d'au moins un en-tête du signal numérique d'image transcodé compressé en fonction de la transformation géométrique appliquée.
On forme cet en-tête à partir des différents paramètres caractérisant le signal numérique d'image d'origine compressé, en modifiant ces paramètres pour qu'ils tiennent compte, dans cet en-tête, de la transformation géométrique appliquée.
On doit ainsi être capable, à la lecture de l'en-tête du signal transcodé, de décoder parfaitement les blocs de données insérés dans ce signal, quelle que soit la transformation géométrique qui leur a été appliquée.
Selon une caractéristique, les étapes de sélection, d'identification, de décodage, de transformation, de codage et d'insertion des blocs de données sont effectuées niveau de résolution par niveau de résolution du signal numérique d'image transcodé compressé.
Un tel traitement par niveau de résolution permet de soulager la mémoire nécessaire au transcodage selon l'invention car les transformations géométriques ont pour but de manipuler les blocs de données d'un même niveau de résolution.
Dans le cas d'un signal d'image conforme à la norme JPEG2000, le traitement par niveau de résolution selon l'invention est avantageux dans la mesure où il correspond à un ordre de construction du signal compressé imposé par ce standard.
On peut, pour un signal d'image conforme à la norme JPEG2000, après avoir transformé les blocs de données d'un même niveau de résolution, insérer
<Desc/Clms Page number 9>
ceux-ci dans le signal transcodé dans l'ordre de construction dudit signal imposé par le standard.
L'invention concerne également un appareil de traitement de données comportant un dispositif de formation d'un signal numérique d'image transcodé compressé tel que brièvement exposé ci-dessus.
Selon un autre aspect, l'invention vise aussi : - un moyen de stockage d'informations lisible par un ordinateur ou un microprocesseur comportant des instructions de code d'un programme d'ordinateur pour l'exécution des étapes du procédé de formation d'un signal numérique d'image transcodé compressé selon l'invention tel que celui exposé brièvement ci-dessus, et - un moyen de stockage d'informations amovible, partiellement ou totalement, lisible par un ordinateur ou un microprocesseur comportant des instructions de code d'un programme d'ordinateur pour l'exécution des étapes du procédé de formation d'un signal numérique d'image transcodé compressé selon l'invention tel que celui brièvement exposé ci-dessus.
Selon encore un autre aspect, l'invention vise un programme d'ordinateur chargeable dans un appareil programmable, comportant des séquences d'instructions ou portions de code logiciel pour mettre en #uvre des étapes du procédé de formation d'un signal numérique d'image transcodé compressé de l'invention tel que brièvement exposé ci-dessus, lorsque ledit programme d'ordinateur est chargé et exécuté sur l'appareil programmable.
Les caractéristiques et avantages relatifs au dispositif de formation d'un signal numérique d'image transcodé compressé, à l'appareil de traitement de données comportant un tel dispositif, aux moyens de stockage d'informations et au programme d'ordinateur étant les mêmes que ceux exposés ci-dessus concernant le procédé de formation d'un signal numérique d'image transcodé compressé selon l'invention, ils ne seront pas rappelés ici.
D'autres caractéristiques et avantages de la présente invention apparaîtront plus clairement à la lecture de la description qui va suivre, faite en référence aux dessins annexés, sur lesquels :
<Desc/Clms Page number 10>
- la figure 1a représente de manière schématique un dispositif de compression d'un signal numérique d'image; - la figure 1 b illustre la représentation des divers éléments d'une image JPEG2000 dans un repère de référence ; - la figure 2 représente les différentes transformations géométriques applicables à une image ; - la figure 3 représente de manière schématique un dispositif de formation d'un signal numérique d'image transcodé compressé selon l'invention ; - la figure 4 est un mode de réalisation d'un appareil programmable mettant en #uvre l'invention ; - la figure 5 est un algorithme illustrant les différentes étapes du procédé de traitement selon l'invention ; - la figure 6 est un algorithme détaillant le transcodage des blocs effectués lors de l'étape E510 de l'algorithme de la figure 5 ; - la figure 7 est un algorithme détaillant les différentes opérations effectuées lors de la détermination du bloc dual réalisé à l'étape E603 de l'algorithme de la figure 6 ; - la figure 8 est un algorithme détaillant les différentes opérations effectuées lors de l'exécution de l'étape E514 de l'algorithme de la figure 5 ; - la figure 9 illustre un exemple de transformation géométrique appliquée à une image décomposée en sous-bandes de fréquence.
Sur la figure 1a est représenté un dispositif 2 de compression de données qui comporte une entrée 24 à laquelle est reliée une source 1 de données numériques d'image d'origine non compressées.
La source 1 comporte par exemple un moyen de mémoire, telle que mémoire vive, disque dur, disquette, disque compact, pour mémoriser des données non compressées, ce moyen de mémoire étant associé à un moyen de lecture approprié pour y lire les données. Un moyen pour enregistrer les données dans le moyen de mémoire peut également être prévu.
<Desc/Clms Page number 11>
On considérera plus particulièrement dans la suite que les données d'origine à compresser sont une suite d'échantillons numériques représentatifs de grandeurs physiques et représentant une image IM.
La source 1 fournit un signal numérique d'image IM à l'entrée du dispositif de compression 2. Le signal d'image IM est une suite de mots numériques, par exemple des octets. Chaque valeur d'octet représente un pixel de l'image IM, ici à 256 niveaux de gris, ou image noir et blanc. L'image peut être une image multispectrale, par exemple une image en couleur ayant des composantes dans trois bandes de fréquence, de type rouge-vert-bleu ou luminance et chrominance. Soit l'image couleur est traitée dans son intégralité, soit chaque composante est traitée de manière analogue à l'image monospectrale.
Des moyens 3 utilisateurs de données compressées sont reliés en sortie 25 du dispositif de compression 2.
Les moyens utilisateurs 3 comportent par exemple des moyens de mémorisation de données compressées, et/ou des moyens de transmission des données compressées.
Le dispositif de compression 2 comporte classiquement, à partir de l'entrée 24, un circuit de transformation 21 qui met en #uvre des décompositions en des signaux de sous-bandes de fréquence du signal de données, de manière à effectuer une analyse du signal.
Toutefois, la décomposition en sous-bandes de fréquence n'est pas indispensable.
D'autres transformations peuvent bien entendu être envisagées.
Le circuit de transformation 21 est relié à un circuit de quantification 22. Le circuit de quantification met en #uvre une quantification connue en soi, par exemple une quantification scalaire, ou une quantification vectorielle, des coefficients, ou de groupes de coefficients, des signaux de sous-bandes de fréquence fournis par le circuit 21.
Le circuit 22 est relié à un circuit 23 de codage entropique, qui effectue un codage entropique, par exemple un codage de Huffman, ou un codage arithmétique, des données quantifiées par le circuit 22.
<Desc/Clms Page number 12>
Le signal numérique d'image compressé issu du circuit 25 est, par exemple, plus particulièrement, conforme au standard JPEG2000.
Ce signal a une structure générale qui comporte un en-tête principal et un corps comportant, sous forme compressée, les données d'origine visées plus haut et qui sont regroupées en blocs de données (connus en terminologie anglo-saxonne sous le terme "code-blocks") ordonnés dans le signal. On notera que les blocs ont été compressés indépendamment les uns des autres.
La fin du signal numérique est indiquée par un marqueur.
Plus particulièrement, le signal d'image est par exemple partitionné en zones appelées tuiles qui elles-mêmes sont chacune partitionnées en blocs de données.
Dans le signal numérique d'image compressé, les données sont organisées en paquets de données p (R,Q) R et Q sont des entiers représentant respectivement la résolution et la couche ou niveau de qualité du paquet.
On notera que dans le cadre du standard JPEG2000 les paquets de données sont indexés suivant les tuiles T, les composantes Co, les niveaux de résolution, les localisations spatiales ou positions P ("precincts") et les niveaux de qualité et sont notés p (T, R, Q, Co, P).
Cependant, pour l'explication qui suit, par souci de simplification on s'en tiendra à la notation p (R, Q).
Ce paquet contient un en-tête de paquet (en anglais "packet header") qui fait partie des informations d'en-tête évoquées plus haut et un corps de paquet (en anglais "packet body"). Cet en-tête décrit le contenu des données incluses dans le corps du paquet et une suite de paramètres de codage de chacun des blocs de données, à la résolution R et pour la couche de qualité Q.
Le corps de chaque paquet comporte des blocs de données qui correspondent chacun à la contribution d'un bloc de données pour la résolution R et la couche de qualité Q du paquet considéré.
Cette contribution d'un bloc de données à un paquet est également appelée niveau ou couche de qualité du bloc.
<Desc/Clms Page number 13>
Un même bloc de données correspondant à une localisation spatiale (position) précise de l'image comporte différents niveaux de qualités présents dans les corps respectifs de différents paquets.
L'en-tête de paquet donne la liste des blocs effectivement présents dans le paquet et des paramètres concernant chaque bloc.
Les paquets du signal d'image compressé sont par exemple organisés en résolution. Le train binaire contient d'abord tous les paquets concernant la première résolution, puis les paquets de la deuxième résolution, et ainsi de suite.
Cet agencement permet d'extraire les résolutions une par une sans avoir à parcourir le train binaire en entier. Le train binaire est alors dit progressif en résolution.
Il est à noter que le train binaire pourrait être organisé de manière différente. Par exemple, le paquet p(0,0) pourrait être suivi du paquet p(1,0), suivi lui-même du paquet p(2, 0) et ainsi de suite. Dans ce cas, la première couche correspond à une qualité donnée pour toutes les résolutions, par exemple 0,01 bpp (bit par pixel). Les couches suivantes contiennent des données additionnelles et correspondent respectivement à des qualités supérieures. La représentation des données est alors dite progressive en qualité.
Dans l'exemple de réalisation, le signal compressé est par exemple progressif en résolution et comporte trois niveaux de résolution ainsi que deux couches de qualité.
Le signal compressé comporte ainsi, en plus de l'en-tête principal, pour chaque tuile considérée, un en-tête de tuile et, pour chaque paquet considéré, un en-tête de paquet.
L'en-tête principal et l'en-tête de chaque tuile contiennent des informations représentatives de la structure du signal compressé et de l'organisation des données dans ledit signal et, plus généralement, des paramètres caractérisant le signal d'image.
Les informations sont, de façon non exhaustive : - des informations concernant la taille de l'image, à savoir sa largeur et sa hauteur, ainsi que la position de l'image dans un repère de référence,
<Desc/Clms Page number 14>
- des informations concernant les tuiles, à savoir leur nombre, leur largeur, leur hauteur et leur position dans le repère de référence précité, - des informations concernant les blocs de données, à savoir leur nombre, leur largeur, leur hauteur et leur position dans le repère de référence précité, - le nombre de niveaux de résolution, - le nombre de composantes et des informations sur une éventuelle transformation appliquée à ces composantes, - des informations sur la compression des données, à savoir le type de transformation envisagée (ex : transformées en ondelettes discrètes ...), les particularités de l'opération de quantification (ex : le pas de quantification ...), le type de codage utilisé (ex : codage arithmétique ...), - des informations sur les zones spatiales localisées dans les sousbandes de fréquence et correspondant chacune à un sur-ensemble de blocs de données pour une résolution donnée (cette zone est connue sous le terme "precinct" en terminologie anglo-saxonne), - la présence d'éventuelles régions d'intérêt (ROI), ...
La figure 1 b illustre les différents éléments caractérisant une image conforme à la norme JPEG2000 (image, tuiles, blocs et taille de chaque élément) et les différents points de référence utilisés pour positionner ces éléments dans un repère de référence d'origine placée en 0 et d'axes Ox et Oy.
Dans ce repère, on identifie la position de l'image # par ses coordonnées (Ix, ly), celle du point de référence des tuiles T par ses coordonnées (Tx, Ty).
On notera que, dans la description de la partie 1 de la norme JPEG2000, les coordonnées (Cx, Cy) qui représentent un décalage des blocs par rapport au point origine de l'image (Ix, ly) valent ici (0,0) car elles sont volontairement confondues avec les coordonnées (Ix, ly) de l'image. Le zéro de référence pour le point C origine du bloc est alors le point # et non le point O.
Dans la description de la partie 2 de la norme JPEG2000, les coordonnées (Cx, Cy) peuvent au contraire prendre toutes les valeurs suivantes (0,0), (0,1), (1,0) et (1,1).
<Desc/Clms Page number 15>
Par ailleurs, la taille de l'image est représentée par sa hauteur IH et sa largeur IW, la taille d'une tuile, par sa hauteur TH et sa largeur TW et, la taille d'un bloc, par sa hauteur CH et sa largeur CW.
L'invention a plus particulièrement trait au traitement d'images compressées dans le but d'effectuer une ou plusieurs transformations géométriques sur les images.
L'invention prévoit ainsi d'effectuer un transcodage d'images compressées.
On supposera que ces images auront préalablement été compressées, par exemple, par un dispositif analogue à celui de la figure 1a.
La figure 2 illustre les huit transformations géométriques différentes qu'il est possible d'appliquer à un signal d'image tel que celui représenté par l'image 200.
Sur cette figure, l'image 201 illustre le résultat de la transformation identité appliquée à l'image 200. Aucun transcodage n'est alors nécessaire pour obtenir cette image à partir de l'image 200.
L'image 202 est obtenue à partir de l'image 200, en effectuant une symétrie d'axe vertical que l'on notera par la suite SV.
L'image 203 est obtenue, à partir de l'image 200, en réalisant une symétrie d'axe horizontal que l'on notera SH.
Pour obtenir l'image 204, l'image 200 a été transposée (TR): les lignes de l'image originale sont devenues les colonnes de l'image résultante et, inversement, les colonnes de l'image originale sont devenues les lignes de l'image résultante.
Les autres images 205 à 208 sont obtenues par combinaison d'au moins deux des trois transformations précédentes.
Ainsi, l'image 205 est obtenue suite à l'application d'une symétrie d'axe vertical et d'une symétrie d'axe horizontal que l'on peut noter SV o SH.
L'image 206 est obtenue suite à l'application d'une transposition et d'une symétrie d'axe verticale que l'on peut noter TR o SV.
L'image 207 est obtenue suite à l'application d'une symétrie d'axe vertical, d'une symétrie d'axe horizontal et d'une transposition (TR o SV o SH).
<Desc/Clms Page number 16>
L'image 208, quant à elle, est obtenue suite à l'application d'une transposition et d'une symétrie d'axe horizontal (TR o SH).
Il convient de noter que les opérations de manipulation géométrique sont commutatives, c'est-à-dire que la combinaison de transformations SV o SH est équivalente à la combinaison SH o SV.
Par ailleurs, les huit opérations possibles sur une image sont obtenues à partir des transformations élémentaires SV, SH et TR.
On peut également remarquer les équivalences suivantes : # la combinaison de transformations TR o SV correspond à une rotation de 90 degrés.
# la combinaison de transformations SV o SH correspond à une rotation de 180 degrés.
# la combinaison de transformations TR o SH correspond à une rotation de 270 degrés ou de-90 degrés.
La figure 3 représente un dispositif 300 de formation d'un signal numérique d'image transcodé compressé selon l'invention à partir d'une source 302 du signal compressé précédemment décrit.
Le signal compressé peut par exemple être obtenu par le dispositif de compression 2 de la figure 1a.
On peut également envisager que la source 302 du signal compressé soit placée à distance du dispositif 300 selon l'invention, par exemple, dans une architecture de communication de type client-serveur.
Par ailleurs, il est également possible d'envisager que la source de signal compressé 302 et le dispositif 300 de cette figure soient intégrés dans un même appareil de traitement de données tel que celui représenté à la figure 4.
Le dispositif 300 comporte une unité de lecture et d'analyse du signal compressé 304.
Cette unité procède plus particulièrement à la lecture et l'analyse des informations représentatives de la structure du signal compressé et de l'organisation des données dans ledit signal et, plus généralement, des paramètres caractérisant le signal d'image compressé qui sont contenus dans les différents en-têtes du signal.
<Desc/Clms Page number 17>
Le dispositif 300 comporte une unité 306 de sélection d'un bloc de données compressé.
Ce bloc est sélectionné soit dans le signal d'image d'origine compressé, soit dans le signal d'image transcodé compressé.
Quel que soit le choix du signal, pour des raisons de simplification, on considérera que le bloc de données est sélectionné dans un signal appelé premier signal compressé.
On repère ainsi la position du bloc de données sélectionné dans le premier signal compressé.
Le dispositif 300 comporte également une unité de sélection 308 (par un utilisateur) d'une transformation géométrique 310 à appliquer au signal d'image considéré.
Cette transformation géométrique est choisie parmi les transformations géométriques représentées sur la figure 2.
Le dispositif 300 comporte une unité d'identification 312, qui prévoit d'identifier dans l'autre signal, appelé second signal compressé, un bloc de données dit dual qui se trouve être le correspondant du bloc de données sélectionné par l'unité 306 dans le premier signal, compte tenu de la transformation géométrique 310 appliquée à ce bloc.
Plus particulièrement, l'identification du bloc de données dual dans le second signal compressé consiste à rechercher, dans ce signal, la position qu'aurait le bloc de données correspondant du premier signal compressé en lui appliquant la transformation géométrique considérée.
Par exemple, lorsque le premier signal compressé correspond au signal numérique d'image transcodé compressé en cours de formation, le bloc sélectionné par l'unité 306 correspond donc à un bloc en cours de construction dans ce signal transcodé, à une position parfaitement définie.
Ainsi, l'unité 312 cherche dans le signal d'origine compressé le bloc de données (bloc dual) de ce signal qui, par la transformation géométrique envisagée, correspondrait au bloc en cours de construction dans le signal transcodé.
<Desc/Clms Page number 18>
Inversement, si le bloc sélectionné par l'unité 306 est un bloc du signal d'origine compressé fourni par la source 302, alors l'unité 312 prévoit d'identifier dans le signal transcodé compressé le bloc correspondant (bloc dual) au bloc du signal d'origine compressé auquel aurait été appliquée la transformation géométrique envisagée.
Dans l'exemple de réalisation considéré, on choisira le cas où le premier signal compressé est le signal numérique d'image transcodé compressé, puisque ce cas de figure est le plus simple à mettre en oeuvre.
En effet, en procédant ainsi, il est possible de construire le fichier contenant le signal numérique d'image transcodé compressé en parcourant les différents blocs de données dans l'ordre spatial (connu en terminologie anglosaxonne sous le terme "raster scan"), c'est-à-dire ligne par ligne, de gauche à droite et de haut en bas, au fur et à mesure de l'insertion des blocs dans le signal (écriture dans le fichier).
On notera qu'on établit de cette manière une correspondance entre le bloc de données sélectionné par l'unité 306 et son bloc dual identifié par l'unité 312, ceux-ci étant ainsi dits appairés.
Il est à noter que le bloc identifié est le bloc dual du bloc sélectionné et que le bloc sélectionné est également considéré comme le bloc dual du bloc identifié.
Parallèlement, le dispositif 300 comporte une unité 314 qui prévoit de former l'en-tête ou les en-têtes du signal transcodé compressé en cours de construction, en tenant compte de la transformation géométrique appliquée au bloc de données.
Cette unité 314 adapte le ou les en-têtes du signal d'image d'origine compressé en fonction de cette transformation géométrique, afin que la lecture ultérieure de ce ou ces en-têtes permette d'obtenir directement des informations représentatives de la structure de l'image et de l'organisation des données dans celle-ci, sans avoir besoin de décompresser tout le signal.
Le dispositif 300 comporte une unité 316 de décodage du bloc de données qui est présent dans le signal d'origine compressé et qui est appelé premier bloc.
<Desc/Clms Page number 19>
Dans l'exemple de réalisation décrit, ce bloc de données décodé est le bloc dual déterminé par l'unité 312.
On notera que le signal d'image d'origine ayant été compressé comme indiqué lors de la description faite en référence à la figure 1a, l'unité de décodage 316 prévoit uniquement d'effectuer l'opération inverse de celle réalisée par l'unité 23 de codage entropique des données du dispositif 2 de la figure 1 a.
Ainsi, le premier bloc de données issu de l'unité de décodage 316 est encore partiellement compressé puisqu'il fait partie du domaine transformé et non du domaine image.
On notera que même si les unités 21 et 22 du dispositif 2 de la figure 1a n'étaient pas présentes dans celui-ci, l'unité 316 se contenterait malgré tout d'effectuer uniquement le décodage du bloc de données dual.
Le dispositif 300 comporte en outre une unité 318 qui prévoit d'appliquer la transformation géométrique 310 au premier bloc de données décodé issu de l'unité 316.
Le premier bloc de données ainsi transcodé par cette unité 318 est ensuite traité par l'unité 320 qui effectue un codage de ce dernier qui est, par exemple, conforme au codage effectué par l'unité 23 de la figure 1a.
On remarquera que la transformation géométrique 310 est appliquée, non seulement dans le domaine transformé, mais isolément à un bloc de données, ce qui simplifie considérablement les calculs et réduit ainsi l'espace mémoire nécessaire pour l'accomplissement de ces opérations.
En effet, pendant ce temps, les autres blocs de données du signal d'origine compressé sont toujours sous forme compressée, au niveau de la source 302.
L'espace mémoire du dispositif 300 n'est donc pas rempli par tous les blocs de données du signal compressé.
Bien qu'un seul bloc de données soit traité à la fois, il n'est pas exclu, pour des raisons d'efficacité de traitement, que d'autres blocs de données soient stockés de façon intermédiaire dans le dispositif 300 en attente de leur traitement.
<Desc/Clms Page number 20>
Le dispositif 300 comporte par ailleurs une unité 322 qui prévoit l'insertion du premier bloc de données, transcodé par l'unité 318 et ensuite codé par l'unité 320, dans le signal transcodé compressé 324 en cours de formation à la position du bloc dual dudit premier bloc.
En effet, dès lors que la transformation géométrique 310 a été sélectionnée et que la lecture et l'analyse du ou des en-têtes du signal d'origine compressé ont été effectuées, le ou les en-têtes du signal transcodé compressé en cours de formation sont formées.
Le signal transcodé compressé est formé progressivement au fur et à mesure du traitement et de l'insertion de chaque premier bloc de données codé par l'unité 320.
On notera également que l'unité 314 procède à une modification du ou des en-têtes du signal transcodé compressé en cours de formation, en fonction de l'insertion dans le corps de ce signal de chaque premier bloc de données codé.
Le signal transcodé compressé une fois formé, est ensuite exploité par une unité 326 qui peut, par exemple, prévoir son affichage sur un écran de visualisation, après décompression.
En référence à la figure 4, est décrit un exemple d'appareil de traitement de données programmable 400 mettant en #uvre l'invention. Cet appareil est adapté à traiter un signal numérique compressé ou des informations et données provenant de ce signal.
A cet effet, l'appareil 400 comporte, par exemple, le dispositif 300 de formation d'un signal d'image transcodé selon l'invention représenté à la figure 3.
Selon le mode de réalisation choisi et représenté à la figure 4, un appareil mettant en #uvre l'invention est par exemple un micro-ordinateur 400 connecté à différents périphériques, par exemple une caméra numérique 401 (ou un scanner, ou tout moyen d'acquisition ou de stockage d'image) reliée à une carte graphique et fournissant des données à compresser.
L'appareil 400 comporte un bus de communication 402 auquel sont reliés :
<Desc/Clms Page number 21>
- une unité centrale 403 (microprocesseur), - une mémoire morte 404, comportant un programme d'ordinateur "Progr", - une mémoire vive 406, comportant des registres adaptés à enregistrer des variables modifiées au cours de l'exécution du programme précité, - un écran 408 permettant de visualiser les données à traiter selon l'invention ou les données du signal transcodé selon l'invention, ou de servir d'interface avec l'utilisateur qui pourra paramétrer certains modes du transcodage selon l'invention, à l'aide d'un clavier 410 ou de tout autre moyen, tel que par exemple une souris, - un disque dur 412 pouvant également comporter le programme "Progr" précité, - un lecteur de disquette 414 adapté à recevoir une disquette 416, - une interface de communication 418 avec un réseau de communication 420 apte à recevoir des données compressées et qui sont à transcoder par l'appareil ou apte à transmettre des données transcodées et compressées par l'appareil.
Le bus de communication permet la communication entre les différents éléments inclus dans le micro-ordinateur 400 ou reliés à lui. La représentation du bus n'est pas limitative et, notamment, l'unité centrale est susceptible de communiquer des instructions à tout élément du microordinateur 400 directement ou par l'intermédiaire d'un autre élément du microordinateur 400.
Le programme noté "Progr" permettant à l'appareil programmable de mettre en #uvre l'invention, peut être stocké par exemple en mémoire morte 404 (appelée ROM sur le dessin) comme représenté sur la figure 4.
Bien qu'un seul programme soit identifié, il est possible d'avoir plusieurs programmes ou sous programmes pour mettre en #uvre l'invention.
Selon une variante, la disquette 416, tout comme le disque dur 412, peuvent contenir des données compressées et à transcoder ainsi que le code
<Desc/Clms Page number 22>
de l'invention qui, une fois lu par l'appareil 400, sera stocké dans le disque dur 412.
La disquette tout comme le disque dur peuvent également contenir des données transcodées et compressées selon l'invention.
En seconde variante, le programme pourra être reçu par l'intermédiaire du réseau de communication 420, pour être stocké de façon identique à celle décrite précédemment.
Les disquettes peuvent être remplacées par tout support d'information tel que, par exemple, un CD-ROM ou une carte mémoire. De manière générale, un moyen de stockage d'information, lisible par un ordinateur ou par un microprocesseur, intégré ou non à l'appareil, éventuellement amovible, mémorise un programme mettant en #uvre le procédé selon l'invention.
De manière plus générale, le programme pourra être chargé dans un des moyens de stockage de l'appareil 400 avant d'être exécuté.
L'unité centrale 403 va exécuter les instructions relatives à la mise en oeuvre de l'invention, instructions stockées dans la mémoire morte 404 ou dans les autres éléments de stockage (disque dur). Lors de la mise sous tension, le ou les programmes de transcodage selon l'invention, qui sont stockés dans une mémoire non volatile, par exemple la mémoire ROM 404, sont transférés dans la mémoire vive RAM 406 qui contiendra alors le code exécutable de l'invention, ainsi que des registres pour mémoriser les variables nécessaires à la mise en #uvre de l'invention.
Il convient de noter que l'appareil de traitement de données comportant un dispositif de formation d'un signal numérique d'image transcodé compressé selon l'invention peut également être un appareil programmé.
Cet appareil contient alors le code du ou des programmes informatiques, par exemple, figé dans un circuit intégré à application spécifique (ASIC).
Par ailleurs, l'appareil 400 peut avantageusement être un appareil de traitement de données ne disposant pas d'une capacité mémoire élevée.
<Desc/Clms Page number 23>
Ainsi, cet appareil peut, par exemple, être un appareil photographique numérique, un caméscope, un assistant personnel numérique, voire un appareil de téléphonie cellulaire.
Etant donné que les opérations de transcodage sont effectuées dans le domaine transformé du signal d'image et non dans le domaine image, les calculs pratiqués sur les données du signal sont moins nombreux que si le transcodage avait lieu dans le domaine image, ce qui réduit la tâche de l'unité centrale 403.
La figure 5 illustre un algorithme comportant différentes instructions ou portions de code logiciel correspondant à des étapes du procédé de formation d'un signal d'image transcodé compressé selon l'invention.
Le programme informatique noté "Progr" qui est basé sur cet algorithme est, par exemple, stocké dans la mémoire morte 404 de la figure 4 et, à l'initialisation du système, est transféré dans la mémoire vive 406.
Ce programme est ensuite exécuté par l'unité centrale 403, ce qui permet ainsi de mettre en oeuvre le procédé selon l'invention dans l'appareil de traitement de données de la figure 4.
L'algorithme de la figure 5 comporte une première étape E501 au cours de laquelle on lit les différents paramètres de l'en-tête principal du signal d'image d'origine compressé qui caractérisent ce signal (informations représentatives de la structure du signal compressé et de l'organisation des données dans ce signal).
Les paramètres lus au cours de cette étape sont la hauteur IH de l'image, sa largeur IW, le point de référence de l'image représenté par ses coordonnées lx et ly, le point de référence des tuiles constitutives de l'image représenté par ses coordonnées Tx et Ty, la hauteur TH et la largeur TW de chaque tuile, et le point de référence C des blocs de données représenté sur la figure 1 b par les coordonnées Cx et Cy, ainsi que des valeurs par défaut de la largeur CW et de la hauteur CH de ces blocs.
Au cours de l'étape suivante E502, on lit et on analyse les en-têtes des tuiles constitutives du signal d'image et qui contiennent des paramètres de codage spécifiques à chaque tuile et, éventuellement, des valeurs de largeur et
<Desc/Clms Page number 24>
de hauteur des blocs de données qui remplaceront celles par défaut qui ont été précédemment lues dans l'en-tête principal.
Tous les en-têtes de tuiles sont ainsi lus et analysés.
Compte tenu de la transformation géométrique qui a été sélectionnée pour effectuer le transcodage du signal d'image d'origine compressé, l'étape suivante E503 prévoit de former l'en-tête principal du signal numérique d'image transcodé compressé en cours de constitution, en fonction de cette transformation géométrique.
Plus particulièrement, au cours de cette étape, on modifie les paramètres de l'en-tête principal caractérisant l'image compressée en fonction de la transformation géométrique sélectionnée.
Ces paramètres notés respectivement IH', IW', TH', TW', lx', ly', Tx', Ty', Cx', et Cy' correspondent aux paramètres de l'en-tête principal précité et sont répertoriés dans le tableau 1 ci-dessous en fonction de la transformation géométrique appliquée, à savoir respectivement SH, SV, SH o SV, TR, SH o TR, SV o TR et SH o SV o TR.
Par convention, on notera avec la notation " ' les éléments qui se rapportent au signal numérique d'image transcodé compressé.
Les paramètres notés IH, IW, TH, TW, lx, ly, Tx, Ty, Cx et Cy correspondent, quant à eux, aux paramètres de l'en-tête principal du signal numérique d'image d'origine compressé.
<Desc/Clms Page number 25>
<tb>
<tb>
<tb>
SH <SEP> SV <SEP> SHoSV <SEP> TR <SEP> SHoTR <SEP> SVoTR <SEP> SHoSVoTR
<tb> IH' <SEP> IH <SEP> IH <SEP> IH <SEP> IW <SEP> IW <SEP> IW <SEP> IW
<tb> IW' <SEP> IW <SEP> IW <SEP> lW <SEP> IH <SEP> IH <SEP> IH <SEP> IH
<tb> TH <SEP> TH <SEP> TH <SEP> TH <SEP> TW <SEP> TW <SEP> TW <SEP> TW
<tb> TW' <SEP> TW <SEP> TW <SEP> TW <SEP> TH <SEP> TH <SEP> TH <SEP> TH
<tb> lx' <SEP> Kx.Omx <SEP> lx <SEP> Kx.Omx <SEP> ly <SEP> Ky.Omy <SEP> ly <SEP> Ky.Omy
<tb> +1-IH <SEP> +1-IH <SEP> +1-1W <SEP> +1-IW
<tb> ly' <SEP> ly <SEP> Ky.Omy <SEP> Ky.Omy <SEP> lx <SEP> lx <SEP> Kx.Omx <SEP> Kx.Omx
<tb> +1-IW <SEP> +1-IW <SEP> +1-IH <SEP> +1-IH
<tb> Tx' <SEP> Kx.Omx <SEP> Tx <SEP> Kx.Omx <SEP> Ty <SEP> Ky.Omy <SEP> Ty <SEP> Ky.Omy
<tb> +1-FTX <SEP> +1-FTX <SEP> +1-FTY <SEP> +1-FTY
<tb> Ty' <SEP> Ty <SEP> Ky.Omy <SEP> Ky.Omy <SEP> Tx <SEP> Tx <SEP> Kx.Omx <SEP> Kx. <SEP> Omx
<tb> +1-FTY <SEP> +1-FTY <SEP> +1-FTX <SEP> +1-FTX
<tb> Cx' <SEP> 1-Cx <SEP> Cx <SEP> 1-Cx <SEP> Cy <SEP> 1-Cy <SEP> Cy <SEP> 1-Cy
<tb> Cy' <SEP> Cy <SEP> 1-Cy <SEP> 1-Cy <SEP> Cx <SEP> Cx <SEP> 1-Cx <SEP> 1-Cx
<tb>
Tableau 1
Dans ce tableau, les valeurs des variables Omx et Omy sont les suivantes :
Omx = ppcm {CH(t, c) * 2L(t,c) * RH(c),pour tout t et c},
Omy = ppcm {CW(t, c) * 2L(t,c) * RW(c),pour tout t et c}, où le terme ppcm désigne la fonction du plus petit commun multiple de l'ensemble indiqué entre accolades et CH (t,c) CW (t,c) respectivement la hauteur et la largeur des blocs de données pour la tuile t et la composante c.
<tb> IH' <SEP> IH <SEP> IH <SEP> IH <SEP> IW <SEP> IW <SEP> IW <SEP> IW
<tb> IW' <SEP> IW <SEP> IW <SEP> lW <SEP> IH <SEP> IH <SEP> IH <SEP> IH
<tb> TH <SEP> TH <SEP> TH <SEP> TH <SEP> TW <SEP> TW <SEP> TW <SEP> TW
<tb> TW' <SEP> TW <SEP> TW <SEP> TW <SEP> TH <SEP> TH <SEP> TH <SEP> TH
<tb> lx' <SEP> Kx.Omx <SEP> lx <SEP> Kx.Omx <SEP> ly <SEP> Ky.Omy <SEP> ly <SEP> Ky.Omy
<tb> +1-IH <SEP> +1-IH <SEP> +1-1W <SEP> +1-IW
<tb> ly' <SEP> ly <SEP> Ky.Omy <SEP> Ky.Omy <SEP> lx <SEP> lx <SEP> Kx.Omx <SEP> Kx.Omx
<tb> +1-IW <SEP> +1-IW <SEP> +1-IH <SEP> +1-IH
<tb> Tx' <SEP> Kx.Omx <SEP> Tx <SEP> Kx.Omx <SEP> Ty <SEP> Ky.Omy <SEP> Ty <SEP> Ky.Omy
<tb> +1-FTX <SEP> +1-FTX <SEP> +1-FTY <SEP> +1-FTY
<tb> Ty' <SEP> Ty <SEP> Ky.Omy <SEP> Ky.Omy <SEP> Tx <SEP> Tx <SEP> Kx.Omx <SEP> Kx. <SEP> Omx
<tb> +1-FTY <SEP> +1-FTY <SEP> +1-FTX <SEP> +1-FTX
<tb> Cx' <SEP> 1-Cx <SEP> Cx <SEP> 1-Cx <SEP> Cy <SEP> 1-Cy <SEP> Cy <SEP> 1-Cy
<tb> Cy' <SEP> Cy <SEP> 1-Cy <SEP> 1-Cy <SEP> Cx <SEP> Cx <SEP> 1-Cx <SEP> 1-Cx
<tb>
Tableau 1
Dans ce tableau, les valeurs des variables Omx et Omy sont les suivantes :
Omx = ppcm {CH(t, c) * 2L(t,c) * RH(c),pour tout t et c},
Omy = ppcm {CW(t, c) * 2L(t,c) * RW(c),pour tout t et c}, où le terme ppcm désigne la fonction du plus petit commun multiple de l'ensemble indiqué entre accolades et CH (t,c) CW (t,c) respectivement la hauteur et la largeur des blocs de données pour la tuile t et la composante c.
La valeur de L (t,c) représentele nombre de niveaux de décomposition pour la tuile t et la composante c.
RH (c) et RW (c) respectivement les rapports de taille de la composante c dans le sens de la hauteur et de la largeur par rapport à la taille de l'image IH,IW.
<Desc/Clms Page number 26>
Il existe en effet des formats d'image dont les composantes couleurs sont plus petites que l'image finale.
Le cas simplifié est celui où l'on n'a qu'une valeur pour Omx et une pour Omy, quels que soient t et c.
Les termes Kx et Ky sont déterminés par les relations suivantes :
Kx = ARR ((FTX-1)/(Omx)) avec FTX = Tx + NTX*TH,
Ky = ARR ((FTY-1)/(Omy)) avec FTY = Ty + NTY*TW, où ARR représente la fonction d'arrondi à la valeur entière supérieure et NTX et NTY correspondent respectivement aux nombres de tuiles dans le sens de la hauteur et de la largeur.
Kx = ARR ((FTX-1)/(Omx)) avec FTX = Tx + NTX*TH,
Ky = ARR ((FTY-1)/(Omy)) avec FTY = Ty + NTY*TW, où ARR représente la fonction d'arrondi à la valeur entière supérieure et NTX et NTY correspondent respectivement aux nombres de tuiles dans le sens de la hauteur et de la largeur.
L'en-tête principal du signal d'image transcodé compressé qui vient d'être adapté est ensuite inséré dans ce signal au cours de l'étape suivante E504.
L'algorithme comporte ensuite une étape E505 qui prévoit d'initialiser les différentes variables qui vont permettre de former le signal transcodé compressé.
Parmi ces variables, on trouve la variable T' correspondant à l'indice des tuiles, la variable R' correspondant aux différentes résolutions de l'image, la variable Q' correspondant aux différentes couches de qualité de l'image, la variable Co' correspondant aux différentes composantes de l'image et la variable P' correspondant à la localisation spatiale ou position dans la résolution considérée ("precinct" en terminologie anglo-saxonne).
Au cours de l'étape suivante E506, on procède à une analyse et à un traitement des données constitutives du signal d'image d'origine compressé en s'intéressant à cette image, tuile par tuile.
Comme expliqué précédemment, on considère, dans l'exemple de réalisation décrit, successivement, les tuiles et les blocs de données en cours de construction dans le signal d'image transcodé compressé qui est en cours de formation.
Ainsi, au cours de l'étape E506, on s'intéresse à la construction de la tuile T' = T' + 1 dans ce signal d'image transcodé compressé en cours de formation (second signal compressé).
<Desc/Clms Page number 27>
Au cours de l'étape suivante E507, on prévoit de rechercher dans le signal d'image d'origine compressé (premier signal compressé), la tuile T correspondant à la tuile T' précédemment identifiée à l'étape E506, compte tenu de la transformation géométrique envisagée.
Les coordonnées de la tuile T dépendant de la transformation géométrique appliquée sont répertoriées dans le tableau 2 qui sera décrit ultérieurement en référence aux figures 6 et 7.
On notera que la tuile T est considérée comme une tuile duale de la tuile T'.
Au cours de l'étape E507, l'analyse effectuée sur la tuile T va permettre d'identifier les différents paramètres de codage de cette tuile et de localiser les différents blocs de données présents dans cette tuile et qui vont se retrouver dans la future tuile T' en cours de construction.
Cette analyse permettra notamment de repérer les différentes couches de qualité de chaque bloc de données.
L'algorithme de la figure 5 comporte une étape E508 au cours de laquelle on insère l'en-tête de la tuile T' en cours de construction dans le signal transcodé compressé en cours de formation (second signal compressé).
Cet en-tête de tuile a été adapté compte tenu de la transformation géométrique envisagée et comporte ainsi, notamment, les coordonnées (xT', yT') de la tuile T' fournies par le tableau 2 qui sera décrit ultérieurement en référence aux figures 6 et 7.
Au cours de l'étape suivante E509, on s'intéresse à l'image compressée niveau de résolution par niveau de résolution.
Ainsi, pour le niveau de résolution considéré, l'algorithme comporte une étape E510 au cours de laquelle est plus particulièrement effectué le transcodage des blocs de données selon l'invention.
Cette étape E510 est illustrée de façon plus détaillée à la figure 6 qui représente un algorithme comportant différentes instructions ou portions de code logiciel correspondant à des étapes du procédé selon l'invention.
Le programme informatique basé sur cet algorithme fait partie du programme "Progr" précédemment mentionné.
<Desc/Clms Page number 28>
L'algorithme de la figure 6 débute par une première étape E601 d'initialisation d'une variable i correspondant à l'indice des blocs de données qui vont être parcourus pour la tuile considérée.
Cette étape est suivie d'une étape E602 au cours de laquelle on sélectionne, dans le premier signal d'image compressé, à savoir le signal d'image transcodé compressé en cours de formation, un bloc de données d'indice i CB'(i) qui, lors de la première exécution de cet algorithme, correspond au bloc de données d'indice 1.
Cette étape correspond, lors de l'exécution des boucles suivantes, à une itération sur l'indice i du bloc considéré.
Cette sélection est effectuée à partir de l'en-tête du signal et consiste notamment à identifier la position du bloc dans le premier signal.
L'étape suivante E603 prévoit d'identifier dans le second signal compressé le bloc de données dual CB (i) du bloc de données CB'(i) et notamment sa position.
L'identification de ce bloc est illustrée plus en détail sur la figure 7 qui va maintenant être décrite.
Le bloc de données sélectionné CB' (i) et son bloc de données dual identifié CB (i) ainsi une paire de blocs de données.
La figure 7 représente un algorithme comportant différentes instructions ou portions de code logiciel correspondant à des étapes du procédé selon l'invention.
Le programme informatique basé sur cet algorithme fait partie du programme noté "Progr" précédemment mentionné.
On notera que l'étape E603 est mise en #uvre par l'unité 312 d'identification du bloc dual du dispositif 300 selon l'invention de la figure 3.
L'algorithme de la figure 7 débute par une première étape E701 au cours de laquelle on procède à un test afin de déterminer le type de transformation géométrique qui a été sélectionné pour l'image considérée.
Plus précisément, au cours de ce test, on détermine si la transformation géométrique envisagée est de type 2, à savoir si elle fait
<Desc/Clms Page number 29>
intervenir une transposition TR telle que celles représentées par les images 204, 206, 207 et 208 sur la figure 2.
Les formules pour obtenir les correspondances entre les coordonnées d'un bloc et celles de son bloc dual sont données dans le tableau 2 ci-dessous.
<tb>
<tb>
<tb>
SH <SEP> SV <SEP> SHoSV <SEP> TR <SEP> SHoTR <SEP> SVoTR <SEP> SHoSVoTR
<tb> type <SEP> 1 <SEP> 1 <SEP> 1 <SEP> 2 <SEP> 2 <SEP> 2 <SEP> 2
<tb> xT <SEP> NTX'-1-xT' <SEP> xT' <SEP> NTX'-1-xT' <SEP> yT' <SEP> NTY'-1- <SEP> yT' <SEP> NTY'-1-yT'
<tb> yT'
<tb> yT <SEP> yT' <SEP> NTY'-1-yT' <SEP> NTY'-1-yT' <SEP> xT' <SEP> xT' <SEP> NTX'-1-xT' <SEP> NTX'-1-xT'
<tb> xP <SEP> NPX'-1- <SEP> xP' <SEP> NPX'-1- <SEP> yP' <SEP> NPY'-1- <SEP> yP' <SEP> NPY'-1-yP'
<tb> xP' <SEP> xP' <SEP> yP'
<tb> yP <SEP> yP' <SEP> NPY'-1- <SEP> NPY'-1- <SEP> xP' <SEP> xP' <SEP> NPX'-1-xP' <SEP> NPX'-1-xP'
<tb> yP' <SEP> yP'
<tb> xCB <SEP> NCBX'-1- <SEP> xCB' <SEP> NCBX'-1- <SEP> yCB' <SEP> NCBY'-1- <SEP> yCB' <SEP> NCBY'-1xCB' <SEP> xCB' <SEP> yCB' <SEP> yCB'
<tb> yCB <SEP> yCB' <SEP> NCBY'-1- <SEP> NCBY'-1- <SEP> xCB' <SEP> xCB' <SEP> NCBX'-1- <SEP> NCBX'-1yCB' <SEP> yCB' <SEP> xCB' <SEP> xCB'
<tb>
<tb> type <SEP> 1 <SEP> 1 <SEP> 1 <SEP> 2 <SEP> 2 <SEP> 2 <SEP> 2
<tb> xT <SEP> NTX'-1-xT' <SEP> xT' <SEP> NTX'-1-xT' <SEP> yT' <SEP> NTY'-1- <SEP> yT' <SEP> NTY'-1-yT'
<tb> yT'
<tb> yT <SEP> yT' <SEP> NTY'-1-yT' <SEP> NTY'-1-yT' <SEP> xT' <SEP> xT' <SEP> NTX'-1-xT' <SEP> NTX'-1-xT'
<tb> xP <SEP> NPX'-1- <SEP> xP' <SEP> NPX'-1- <SEP> yP' <SEP> NPY'-1- <SEP> yP' <SEP> NPY'-1-yP'
<tb> xP' <SEP> xP' <SEP> yP'
<tb> yP <SEP> yP' <SEP> NPY'-1- <SEP> NPY'-1- <SEP> xP' <SEP> xP' <SEP> NPX'-1-xP' <SEP> NPX'-1-xP'
<tb> yP' <SEP> yP'
<tb> xCB <SEP> NCBX'-1- <SEP> xCB' <SEP> NCBX'-1- <SEP> yCB' <SEP> NCBY'-1- <SEP> yCB' <SEP> NCBY'-1xCB' <SEP> xCB' <SEP> yCB' <SEP> yCB'
<tb> yCB <SEP> yCB' <SEP> NCBY'-1- <SEP> NCBY'-1- <SEP> xCB' <SEP> xCB' <SEP> NCBX'-1- <SEP> NCBX'-1yCB' <SEP> yCB' <SEP> xCB' <SEP> xCB'
<tb>
Tableau 2
Dans ce tableau, on utilise les notations suivantes où : # xT représente l'indice de la tuile courante selon l'axe vertical Ox (axe suivant la hauteur de l'image), # yT représente l'indice de la tuile courante selon l'axe horizontal Oy (axe suivant la largeur de l'image), # NTX représente le nombre de tuiles sur l'axe Ox, # NTY représente le nombre de tuiles sur l'axe Oy, # xP représente l'indice de la position P ("precinct") courante selon l'axe Ox, # yP représente l'indice de la position P ("precinct") courante selon l'axe Oy, # NPX représente le nombre de position ("precincts") sur l'axe Ox,
Dans ce tableau, on utilise les notations suivantes où : # xT représente l'indice de la tuile courante selon l'axe vertical Ox (axe suivant la hauteur de l'image), # yT représente l'indice de la tuile courante selon l'axe horizontal Oy (axe suivant la largeur de l'image), # NTX représente le nombre de tuiles sur l'axe Ox, # NTY représente le nombre de tuiles sur l'axe Oy, # xP représente l'indice de la position P ("precinct") courante selon l'axe Ox, # yP représente l'indice de la position P ("precinct") courante selon l'axe Oy, # NPX représente le nombre de position ("precincts") sur l'axe Ox,
<Desc/Clms Page number 30>
# NPY représente le nombre de position ("precincts") sur l'axe Oy, # xCB représente l'indice du bloc courant selon l'axe Ox, # yCB représente l'indice du bloc courant selon l'axe Oy, # NCBX représente le nombre de blocs sur l'axe Ox, # NCBY représente le nombre de blocs sur l'axe Oy.
D'après le tableau 2 ci-dessus, on comprend ainsi que les différentes coordonnées de tuile, de position ("precinct") et de bloc dépendent du type de la transformation géométrique appliquée qui est répertorié à la seconde ligne.
Par ailleurs, en fonction du type de cette transformation géométrique, on détermine ainsi une sous-bande de fréquence adaptée.
Dans l'hypothèse où la transformation géométrique appliquée est de type 1, à savoir qu'elle ne fait pas intervenir de transposition TR, alors l'étape E701 est suivie d'une étape E702.
Au cours de cette étape, la sous-bande de fréquence à laquelle appartient le bloc dual considéré est déterminée comme étant la même que la sous-bande de fréquence du bloc courant en cours de reconstruction dans le signal transcodé compressé.
Au contraire, lorsque la transformation géométrique envisagée est de type 2, à savoir qu'elle fait intervenir une transposition TR, alors l'étape E701 est suivie d'une étape E703 au cours de laquelle on procède à un test, afin de déterminer si la sous-bande de fréquence à laquelle appartient le bloc courant d'ordre i, dans le signal transcodé compressé en cours de formation, est la sous-bande HL.
On notera que la sous-bande de fréquence HL possède des coefficients de haute fréquence selon une première direction et des coefficients de basse fréquence selon une seconde direction, alors que la sous-bande de fréquence LH possède des coefficients de basse fréquence selon la première direction et des coefficients de haute fréquence selon la seconde direction.
Ainsi, si le test pratiqué au cours de l'étape E703 est positif, alors le bloc de données dual du second signal compressé (signal d'image d'origine compressé) appartient à la sous-bande de fréquence SB qui est la sous-bande LH (étape E704).
<Desc/Clms Page number 31>
En présence d'une transformation géométrique faisant intervenir une transposition (type 2), il y a donc inversion des sous-bandes de fréquence LH et HL entre le bloc courant et le bloc dual.
Ces transformations géométriques de type 2 sont la transformation TR, la combinaison de transformations SH o TR, la combinaison SV o TR et les combinaisons SH o SV o TR.
De retour à l'étape E703, si la sous-bande de fréquence SB à laquelle appartient le bloc courant d'ordre i, dans le signal transcodé compressé, n'est pas la sous-bande HL, alors l'étape est suivie d'une étape E705 au cours de laquelle on procède à un test afin de déterminer si cette sous-bande SB' est égale à la sous-bande LH.
Dans l'affirmative, là aussi il y a inversion des sous-bandes de fréquence HL et LH entre le bloc courant et le bloc dual, et l'étape E706 prévoit d'identifier la sous-bande de fréquence SB du bloc dual comme étant la sousbande de fréquence HL.
Dans la négative, l'étape E705 est suivie de l'étape E707 au cours de laquelle la sous-bande de fréquence SB à laquelle appartient le bloc dual CB (i) est considérée comme étant la même que la sous-bande de fréquence SB' à laquelle appartient le bloc courant CB'(i).
L'algorithme de la figure 7 comporte ensuite une étape E709 au cours de laquelle on procède à la détermination des autres coordonnées du bloc dual et qui sont répertoriées dans le tableau 2 indiqué ci-dessus.
On notera que l'on identifie ainsi, dans le signal d'image d'origine compressé (second signal compressé), le bloc de données dual CB (i) correspondant au bloc de données courant CB'(i) du signal d'image transcodé compressé (premier signal compressé) par ses différentes coordonnées.
Cette étape met fin à l'algorithme de la figure 7 et l'on revient à l'étape E603 de l'algorithme de la figure 6.
Une fois que le bloc dual CB (i) correspondant au bloc courant CB' d'indice i du premier signal compressé a été déterminé (détermination de la sous-bande de fréquence à laquelle il appartient et des autres coordonnées de ce bloc), l'étape E603 est suivie d'une étape E604 au cours de laquelle on
<Desc/Clms Page number 32>
récupère le bloc de données dual CB (i) à partir du signal d'image d'origine compressé (second signal compressé).
Au cours de l'étape suivante E605, on procède à un décodage entropique du bloc de données dual CB (i) appelé premier bloc, opération inverse de celle réalisée dans l'unité de codage entropique 23 du dispositif 2 de la figure 1a.
Le décodage entropique est effectué par l'unité de décodage 316 du dispositif 300 de la figure 3.
Le bloc dual CB (i) étant distribué dans plusieurs paquets de données, le décodage est effectué sur tous les paquets auxquels le bloc contribue et l'on mémorise ensuite la contribution qu'apporte le bloc à chacun de ces paquets.
On obtient ainsi les coefficients du bloc de données issus de la transformation spatio-fréquentielle réalisée par le circuit 21 de la figure 1a et qui ont été quantifiés par le circuit de quantification 22 de cette même figure.
* Au cours de l'étape suivante E606, on applique la transformation géométrique considérée au bloc de données dual CB (i) ainsi décodé.
Les coefficients de ce bloc de données sont alors réordonnancés géométriquement selon la transformation géométrique considérée.
Cette opération est mise en #uvre par l'unité de transformation 318 du dispositif 300 de la figure 3.
L'algorithme de la figure 6 comporte ensuite une étape E607 de codage entropique du bloc de données dual CB (i) ainsi transcodé.
Cette opération est mise en #uvre par l'unité de codage 320 du dispositif 300 de la figure 3.
L'étape suivante E608 prévoit de sauvegarder le bloc dual CB (i) transcodé et nouvellement codé qui occupera ultérieurement la position du bloc courant CB'(i), appelé second bloc, lors de son insertion dans le signal d'image transcodé compressé 324 en cours de formation (figure 3).
L'algorithme de la figure 6 comporte enfin une dernière étape E609 au cours de laquelle un test est pratiqué pour savoir s'il reste des blocs de données à traiter selon l'invention.
<Desc/Clms Page number 33>
Dans l'affirmative, l'étape E609 est suivie de l'étape E602 précédemment décrite qui prévoit d'incrémenter l'indice i du bloc de données courant afin que tous les blocs de la tuile et de la résolution considérées soient transcodés.
Au contraire, lorsque le résultat du test pratiqué à l'étape E609 est négatif, alors ceci met fin à l'algorithme de la figure 6 et l'on passe à l'étape suivante E511de l'algorithme de la figure 5.
Au cours de cette étape, on incrémente la couche de qualité considérée Q' d'une unité.
Au cours de l'étape suivante E512, on incrémente la composante Co' en cours d'analyse d'une unité.
L'étape suivante E513 prévoit à son tour d'incrémenter d'une unité la position P' ("precinct").
On notera que l'ordre de traitement du signal d'image compressé prévoit de s'intéresser, pour un même niveau de résolution R', à la sélection d'un bloc de données courant, à l'identification du bloc dual considéré compte tenu de la transformation géométrique envisagée, au décodage du bloc dual ainsi identifié, au transcodage de ce bloc dual ainsi décodé et au codage du bloc transcodé.
Ensuite, tous les blocs ainsi traités pour ce niveau de résolution sont insérés par paquets dans le signal en cours de formation d'abord, par niveau de qualité Q', puis par composante Co' et enfin par position P' ("precinct").
L'ordre d'imbrication des différentes boucles de l'algorithme de la figure 5 correspond à un mode de construction du train de données binaires ("bitstream" en terminologie anglo-saxonne) conforme à la norme JEPG2000.
On remarquera toutefois qu'il est possible d'envisager d'autres ordres de traitement des données tels que, par exemple, l'ordre résolution-positioncomposante-qualité, en intervertissant les boucles traitant de la position et de la qualité dans l'algorithme de la figure 5, c'est-à-dire en intervertissant les étapes E511 et E513.
Au cours de l'étape suivante E514, on procède à l'insertion d'un paquet de données p(R', Q', Co', P') pour la résolution R', la couche de qualité
<Desc/Clms Page number 34>
Q', la composante Co' et la position P' ("precinct") considérée dans le signal d'image transcodé compressé 324 en cours de formation (figure 3).
Comme on l'a vu plus haut, les paquets de données sont chacun constitués de plusieurs blocs de données compressés.
Le détail des opérations réalisées lors de cette étape, est illustré par l'algorithme de la figure 8.
Cet algorithme comporte différentes instructions ou portions de code logiciel correspondant à des étapes du procédé selon l'invention.
Le programme informatique qui est basé sur cet algorithme fait partie du programme "Progr" précédemment mentionné et représenté sur la figure 4.
Comme représenté sur la figure 8, l'algorithme débute par une étape E801, d'une part, de formation de l'en-tête du paquet considéré pour les blocs de données transcodés, et, d'autre part, d'insertion de cet en-tête dans le signal d'image transcodé compressé en cours de formation.
Au cours de l'étape suivante, on procède à l'initialisation de l'indice i du bloc courant en cours de construction dans le signal transcodé compressé en cours de formation (étape E802).
Au cours de l'étape suivante E803, on procède à l'insertion, dans le signal d'image transcodé compressé en cours de formation, de la contribution du bloc courant CB'(i) et, plus particulièrement, à l'insertion de ce bloc dans le paquet considéré, pour la résolution R', la couche de qualité Q', la composante Co' et la position P'.
On notera que lors du décodage du bloc de données dual (CB(i)), à l'étape E605 de la figure 6, les informations d'inclusion du bloc dual dans les différentes couches de qualité sont mémorisées et ce sont ces mêmes informations qui sont utilisées pour construire le paquet et son en-tête.
Lors de l'étape E803 d'insertion de la contribution du bloc CB' (i) dans le paquet considéré, on insère en fait la contribution à ce paquet du bloc dual CB (i) transcodé nouvellement codé et qui a été mémorisée à l'étape E608 de la figure 6.
On comprend ainsi que le signal numérique d'image transcodé compressé est formé progressivement, au fur et à mesure de l'insertion de
<Desc/Clms Page number 35>
chaque premier bloc de données compressé dans ce signal à la position du second bloc appairé.
L'algorithme de la figure 8 comporte une étape E804 au cours de laquelle un test est pratiqué afin de déterminer si la contribution du bloc courant qui vient d'être insérée dans le signal transcodé compressé en cours de formation est la dernière pour la tuile T', la résolution R', la couche de qualité Q', la composante Co' et la position P' considérées.
Dans la négative, l'étape E804 est suivie d'une étape E805 au cours de laquelle l'indice i est incrémenté d'une unité et l'on passe alors à l'étape E803 précédemment décrite.
Au contraire, dans l'affirmative, l'étape E804 met fin à l'algorithme de la figure 8.
De retour à la figure 5, suite à l'étape E514, l'algorithme comporte une étape E515 au cours de laquelle un test est pratiqué sur une valeur prédéterminée PF de la position ("precinct") afin de savoir si la position considérée lors de ce traitement est la dernière position.
Dans la négative, une nouvelle exécution de la boucle sur la valeur de la position P' est effectuée en l'incrémentant d'une unité (E513) et l'on exécute alors l'étape E514 précédemment décrite (figure 8).
Dans l'affirmative, l'étape E515 est suivie d'une étape E516 au cours de laquelle un test est pratiqué sur une valeur prédéterminée CF de la composante de l'image afin de déterminer si la composante considérée lors du traitement est la dernière composante.
Dans la négative, la boucle sur la composante est de nouveau exécutée en effectuant une itération d'une unité sur la valeur de la composante Co' (E512) et les étapes E513 à E515 précédemment décrites sont alors de nouveau exécutées.
Dans l'affirmative, l'étape E516 est suivie d'une étape E517 au cours de laquelle un test est pratiqué sur une valeur prédéterminée QF de la couche de qualité afin de déterminer si la couche de qualité considérée lors du traitement est la dernière couche de qualité.
<Desc/Clms Page number 36>
Dans la négative, la boucle sur la couche de qualité est de nouveau exécutée en incrémentant d'une unité la couche de qualité Q' (E511) et les étapes suivantes E512 à E516 précédemment décrites sont de nouveau exécutées.
Dans l'affirmative, l'étape E517 est suivie d'une étape E518 au cours de laquelle un test est pratiqué sur une valeur prédéterminée RF de la résolution afin de déterminer si la résolution considérée lors de ce traitement est la dernière résolution.
Dans la négative, on procède alors à une incrémentation d'une unité sur la valeur de la résolution R' (E509) et les étapes suivantes E510 à E517 précédemment décrites sont de nouveau exécutées.
Dans l'affirmative, l'étape E518 est suivie d'une étape E519 au cours de laquelle un test est pratiqué sur une valeur prédéterminée TF de tuile afin de déterminer si la tuile considérée lors de ce traitement est la dernière tuile.
Dans la négative, on incrémente d'une unité l'indice de la tuile considérée (E506) et les étapes suivantes E507 à E518 précédemment décrites sont alors de nouveau exécutées.
Dans l'affirmative, l'étape E519 est suivie d'une étape E520 mettant fin à l'exécution de l'algorithme de la figure 5.
Le signal d'image transcodé compressé 324 de la figure 3 est ainsi formé et peut donc être exploité.
A titre d'exemple, la figure 9 représente une image initiale # comportant un seul niveau de décomposition en ondelettes et montrant, pour chaque sous-bande de fréquence considérée, les différents blocs de données qui vont être traités selon l'invention.
Pour chaque sous-bande, l'indice des blocs varie de 1 à 15.
Sur cette même figure, l'image F correspond à l'image finale obtenue après avoir appliquée à chacun des blocs de données de l'image initiale # une transformation géométrique donnée, à savoir, dans cet exemple, une rotation de 90 .
Ceci correspond par exemple au passage de l'image 200 à l'image 206 de la figure 2 (transformation TR o SV).
<Desc/Clms Page number 37>
Comme représenté dans l'image résultante F de la figure 9, suite au traitement selon l'invention et, plus particulièrement, à l'exécution de l'algorithme de la figure 7 (étape E707), les blocs de données présents dans la sous-bande basse LL de l'image initiale # se retrouvent tous dans la même sous-bande LL de l'image résultante F.
Cependant, l'agencement de tous les blocs de la sous-bande LL de l'image # a subi une rotation de 90 .
Ainsi, les trois lignes de blocs composant la sous-bande LL ont été transformées en trois colonnes dans la sous-bande LL de l'image résultante F.
Par ailleurs, les coefficients présents dans chaque bloc de données ont également été transformés suivant la rotation de 90 .
De même, les blocs de données de la sous-bande de fréquence HH de l'image initiale I ont subi les mêmes transformations au niveau des lignes et des colonnes.
Par contre, les blocs de données de la sous-bande LH de l'image initiale 1 se retrouvent dans la sous-bande HL de l'image transcodée F, comme il ressort de l'exécution des étapes E705 et E706 de l'algorithme de la figure 7.
De même, les lignes de blocs ont été transformées en colonnes lors du passage de l'image initialeà l'image résultante F.
Inversement, les blocs de données de la sous-bande de fréquence HL de l'image initiale # se retrouvent dans la sous-bande de fréquence LH de l'image transcodée F, conformément à l'exécution des étapes E703 et E704 de l'algorithme de la figure 7.
Là aussi, l'ordre des lignes et des colonnes de blocs a été inversé.
On remarquera que pour une rotation de 90 (transformation TR o SV), de même que pour une transposition TR, pour la combinaison d'une transposition et d'une symétrie d'axe horizontal (transformation TR o SH) et pour la combinaison d'une transposition, d'une symétrie d'axe vertical et d'une symétrie d'axe horizontal (TR o SV o SH), l'image transcodée qui résulte de la transformation appliquée subit une légère distorsion en mode sans perte.
<Desc/Clms Page number 38>
Ceci est dû au fait que le filtre 5 x 3 utilisé dans le mode sans perte est non linéaire et, donc, il est supposé suivre un ordre spécifique pour les colonnes et les lignes d'une image, lors du décodage de celle-ci.
Dans la mesure où les différentes transformations mentionnées cidessus effectuent une inversion des lignes et des colonnes de l'image, l'ordre de décodage n'est pas respecté. Il en résulte ainsi une légère modification des coefficients de l'image qui, toutefois, n'est pas perceptible.
Cependant, si l'on veut éliminer une telle distorsion, on peut appliquer la transformation mentionnée ci-dessus un nombre pair de fois, rendant ainsi inexistante l'inversion des lignes et des colonnes.
Claims (31)
1. Procédé de formation d'un signal numérique d'image transcodé compressé à partir d'un signal numérique d'image d'origine compressé, la compression du signal comportant au moins une étape de transformation spatio-fréquentielle de ce signal et une étape de codage dudit signal transformé, caractérisé en ce que ledit procédé comporte les étapes suivantes : - décodage du signal numérique d'image d'origine compressé afin d'obtenir un signal numérique d'image d'origine décodé, - transformation géométrique du signal numérique d'image d'origine décodé, - codage du signal numérique d'image d'origine décodé ainsi transcodé, afin d'obtenir un signal numérique d'image transcodé compressé.
2. Procédé de formation d'un signal numérique d'image transcodé compressé à partir d'un signal numérique d'image d'origine compressé qui comporte des données numériques organisées en blocs, la compression du signal d'origine comportant au moins une étape de transformation spatiofréquentielle de ce signal et une étape de codage des blocs de données dudit signal transformé, caractérisé en ce que le procédé comporte les étapes suivantes : - sélection d'un bloc de données dans l'un des signaux compressés, - identification dans l'autre signal compressé, d'un bloc de données dit dual qui correspond au bloc de données sélectionné compte tenu d'une transformation géométrique donnée appliquée à ce bloc, - décodage du bloc de données appartenant au signal d'origine compressé - application de la transformation géométrique donnée au bloc de données ainsi décodé, - codage du bloc de données transformé géométriquement, - insertion du bloc de données ainsi codé dans le signal d'image transcodé compressé à la position de son bloc dual.
<Desc/Clms Page number 40>
3. Procédé selon la revendication 2, caractérisé en ce que la sélection d'un bloc est effectuée dans le signal numérique d'image transcodé compressé.
4. Procédé selon la revendication 2, caractérisé en ce que la sélection d'un bloc est effectuée dans le signal numérique d'image d'origine compressé.
5. Procédé selon l'une des revendications 2 à 4, caractérisé en ce que le signal numérique d'image transcodé compressé est formé progressivement au fur et à mesure de l'insertion de chaque bloc de données codé dans ce signal.
6. Procédé selon l'une des revendications 2 à 5, caractérisé en ce que la transformation géométrique donnée est sélectionnée parmi un ensemble de transformations comprenant une symétrie d'axe vertical (SV), une symétrie d'axe horizontal (SH), une transposition (TR) et une combinaison de transformations formée d'au moins deux des trois transformations précitées (SV, SH, TR).
7. Procédé selon l'une des revendications 2 à 6, caractérisé en ce que, lorsque la compression du signal d'origine comporte, préalablement au codage, une étape de décomposition en sous-bandes de fréquence dudit signal, ledit procédé comporte une étape d'identification de la sous-bande de fréquence à laquelle appartient le bloc de données dual qui dépend de la transformation géométrique donnée.
8. Procédé selon les revendications 6 et 7, caractérisé en ce que, lorsque la transformation géométrique appliquée au bloc de données décodé fait intervenir la transposition (TR), si le bloc de données du premier signal compressé appartient à une sous-bande de fréquence (LH) ayant des coefficients de basse fréquence selon une première direction et des coefficients de haute fréquence selon une seconde direction, alors le bloc de données dual du second signal compressé appartient à la sous-bande de fréquence (HL) ayant des coefficients de haute fréquence selon la première direction et des coefficients de basse fréquence selon la seconde direction, et inversement.
<Desc/Clms Page number 41>
9. Procédé selon l'une des revendications 6 à 8, caractérisé en ce que lorsque la transformation géométrique donnée est sélectionnée parmi un sous-ensemble de transformations comprenant une transposition (TR), une combinaison d'une transposition et d'une symétrie d'axe vertical (TR o SV), une combinaison d'une transposition et d'une symétrie d'axe horizontal (TR o SH), une combinaison d'une transposition, d'une symétrie d'axe horizontal et d'une symétrie d'axe vertical (TR o SH o SV), ladite transformation est appliquée un nombre pair de fois.
10. Procédé selon l'une des revendications 2 à 9, caractérisé en ce que l'identification du bloc de données dual dans l'autre signal compressé consiste à rechercher, dans ce signal, la position qu'aurait le bloc de données correspondant du premier signal compressé en lui appliquant la transformation géométrique donnée.
11. Procédé selon l'une des revendications 2 à 10, caractérisé en ce que les étapes de sélection, d'identification et de décodage sont effectuées à partir d'au moins un en-tête du signal numérique d'image d'origine compressé et qui comporte les différents paramètres caractérisant l'image compressée.
12. Procédé selon la revendication 11, caractérisé en ce qu'il comporte une étape de formation d'au moins un en-tête du signal numérique d'image transcodé compressé en fonction de la transformation géométrique appliquée.
13. Procédé selon l'une des revendications 2,3, 5 à 12, caractérisé en ce que les étapes de sélection, d'identification, de décodage, de transformation et de codage des blocs de données sont effectuées niveau de résolution par niveau de résolution du signal numérique d'image transcodé compressé.
14. Dispositif de formation d'un signal numérique d'image transcodé compressé à partir d'un signal numérique d'image d'origine compressé, la compression du signal comportant au moins une transformation spatiofréquentielle de ce signal et un codage dudit signal transformé, caractérisé en ce que le dispositif comporte :
<Desc/Clms Page number 42>
- des moyens de décodage du signal numérique d'image d'origine compressé afin d'obtenir un signal numérique d'image d'origine décodé, - des moyens de transformation géométrique du signal numérique d'image d'origine décodé, - des moyens de codage du signal numérique d'image d'origine décodé ainsi transformé géométriquement, afin d'obtenir un signal numérique d'image transcodé compressé.
15. Dispositif de formation d'un signal numérique d'image transcodé compressé à partir d'un signal numérique d'image d'origine compressé qui comporte des données numériques organisées en blocs, la compression du signal d'origine comportant au moins une transformation spatio-fréquentielle de ce signal et un codage des blocs de données dudit signal transformé, caractérisé en ce que le dispositif comporte : - des moyens de sélection d'un bloc de données dans l'un des signaux compressés, - des moyens d'identification dans l'autre signal compressé , d'un bloc de données dit dual qui correspond au bloc de données sélectionné compte tenu d'une transformation géométrique donnée appliquée à ce bloc, - des moyens de décodage du bloc de données appartenant au signal d'origine compressé, - des moyens d'application de la transformation géométrique donnée au bloc de données ainsi décodé, - des moyens de codage du bloc de données transformé géométriquement , - des moyens d'insertion du bloc de données ainsi codé dans le signal d'image transcodé compressé à la position de son bloc dual .
16. Dispositif selon la revendication 15, caractérisé en ce que la sélection d'un bloc est effectuée dans le signal numérique d'image transcodé compressé.
17. Dispositif selon la revendication 15, caractérisé en ce que la sélection d'un bloc est effectuée dans le signal numérique d'image d'origine compressé.
<Desc/Clms Page number 43>
18. Dispositif selon l'une des revendications 15 à 17, caractérisé en ce que la transformation géométrique donnée est sélectionnée parmi un ensemble de transformations comprenant une symétrie d'axe vertical (SV), une symétrie d'axe horizontal (SH), une transposition (TR) et une combinaison de transformations formée d'au moins deux des trois transformations précitées (SV, SH, TR).
19. Dispositif selon l'une des revendications 15 à 18, caractérisé en ce que, lorsque la compression du signal d'origine prévoit, préalablement au codage, une décomposition en sous-bandes de fréquence dudit signal, ledit dispositif comporte des moyens d'identification de la sous-bande de fréquence à laquelle appartient le bloc de données dual qui dépend de la transformation géométrique donnée.
20. Dispositif selon les revendications 18 et 19, caractérisé en ce que, lorsque la transformation géométrique appliquée au bloc de données décodé fait intervenir la transposition (TR), si le bloc de données du premier signal compressé appartient à une sous-bande de fréquence (LH) ayant des coefficients de basse fréquence selon une première direction et des coefficients de haute fréquence selon une seconde direction, alors le bloc de données dual du second signal compressé appartient à la sous-bande de fréquence (HL) ayant des coefficients de haute fréquence selon la première direction et des coefficients de basse fréquence selon la seconde direction, et inversement.
21. Dispositif selon l'une des revendications 15 à 20, caractérisé en ce que les moyens d'identification du bloc de données dual dans l'autre signal compressé comprennent, plus particulièrement, des moyens de recherche, dans ce signal, de la position qu'aurait le bloc de données du premier signal compressé en lui appliquant la transformation géométrique donnée.
22. Dispositif selon l'une des revendications 15 à 21, caractérisé en ce que les moyens de sélection, d'identification et de décodage utilisent des informations contenues dans au moins un en-tête du signal numérique d'image d'origine compressé et qui comporte les différents paramètres caractérisant l'image compressée.
<Desc/Clms Page number 44>
23. Dispositif selon la revendication 22, caractérisé en ce qu'il comporte des moyens de formation d'au moins un en-tête du signal numérique d'image transcodé compressé en fonction de la transformation géométrique appliquée.
24. Appareil de traitement de données, caractérisé en ce en ce qu'il comporte un dispositif de formation d'un signal numérique d'image transcodé compressé selon la revendication 14.
25. Appareil de traitement de données, caractérisé en ce qu'il comporte un dispositif de formation d'un signal numérique d'image transcodé compressé selon l'une des revendications 15 à 23.
26. Moyen de stockage d'informations lisible par un ordinateur ou un microprocesseur comportant des instructions de code d'un programme d'ordinateur pour l'exécution des étapes du procédé de formation d'un signal numérique dérivé selon la revendication 1.
27. Moyen de stockage d'informations lisible par un ordinateur ou un microprocesseur comportant des instructions de code d'un programme d'ordinateur pour l'exécution des étapes du procédé de formation d'un signal numérique dérivé selon l'une des revendications 2 à 13.
28. Moyen de stockage d'informations amovible, partiellement ou totalement lisible par un ordinateur ou un microprocesseur comportant des instructions de code d'un programme d'ordinateur pour l'exécution des étapes du procédé de formation d'un signal numérique d'image transcodé compressé selon la revendication 1.
29. Moyen de stockage d'informations amovible, partiellement ou totalement lisible par un ordinateur ou un microprocesseur comportant des instructions de code d'un programme d'ordinateur pour l'exécution des étapes du procédé de formation d'un signal numérique d'image transcodé compressé selon l'une des revendications 2 à 13.
30. Programme d'ordinateur chargeable dans un appareil programmable, caractérisé en ce qu'il comporte des séquences d'instructions ou des portions de code logiciel pour mettre en oeuvre les étapes du procédé de formation d'un signal numérique d'image transcodé compressé selon la
<Desc/Clms Page number 45>
revendication 1, lorsque ce programme d'ordinateur est chargé et exécuté par l'appareil programmable.
31. Programme d'ordinateur chargeable dans un appareil programmable, caractérisé en ce qu'il comporte des séquences d'instructions ou des portions de code logiciel pour mettre en #uvre les étapes du procédé de formation d'un signal numérique d'image transcodé compressé selon l'une des revendications 2 à 13, lorsque ce programme d'ordinateur est chargé et exécuté par l'appareil programmable.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0301224A FR2850825B1 (fr) | 2003-02-03 | 2003-02-03 | Procede et dispositif de formation d'un signal numerique d'image transcode compresse |
US10/769,769 US7580578B1 (en) | 2003-02-03 | 2004-02-03 | Method and device for forming a compressed transcoded digital image signal |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0301224A FR2850825B1 (fr) | 2003-02-03 | 2003-02-03 | Procede et dispositif de formation d'un signal numerique d'image transcode compresse |
Publications (2)
Publication Number | Publication Date |
---|---|
FR2850825A1 true FR2850825A1 (fr) | 2004-08-06 |
FR2850825B1 FR2850825B1 (fr) | 2005-07-01 |
Family
ID=32696314
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR0301224A Expired - Fee Related FR2850825B1 (fr) | 2003-02-03 | 2003-02-03 | Procede et dispositif de formation d'un signal numerique d'image transcode compresse |
Country Status (1)
Country | Link |
---|---|
FR (1) | FR2850825B1 (fr) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014075884A1 (fr) * | 2012-11-19 | 2014-05-22 | Universite De Nice | Procédé, système et produit programme informatique pour traiter des données numériques multidimensionnelles |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0947954A1 (fr) * | 1998-03-30 | 1999-10-06 | Seiko Epson Corporation | Transformations d'images comprimées |
EP0982931A1 (fr) * | 1998-08-26 | 2000-03-01 | Canon Kabushiki Kaisha | Transcodage géométrique d'un signal numérique |
-
2003
- 2003-02-03 FR FR0301224A patent/FR2850825B1/fr not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0947954A1 (fr) * | 1998-03-30 | 1999-10-06 | Seiko Epson Corporation | Transformations d'images comprimées |
EP0982931A1 (fr) * | 1998-08-26 | 2000-03-01 | Canon Kabushiki Kaisha | Transcodage géométrique d'un signal numérique |
Non-Patent Citations (4)
Title |
---|
BO SHEN ET AL: "Block-based manipulations on transform-compressed images and videos", MULTIMEDIA SYSTEMS, MARCH 1998, SPRINGER-VERLAG, GERMANY, vol. 6, no. 2, pages 113 - 124, XP002256532, ISSN: 0942-4962 * |
CHANG S-F: "NEW ALGORITHMS FOR PROCESSING IMAGES IN THE TRANSFORM-COMPRESSED DOMAIN", PROCEEDINGS OF THE SPIE, SPIE, BELLINGHAM, VA, US, vol. 2501, no. PART 1, 24 May 1995 (1995-05-24), pages 445 - 454, XP000610425, ISSN: 0277-786X * |
DORRELL A ET AL: "Fast image operations in wavelet spaces", CONFERENCE PROCEEDINGS DICTA-95. DIGITAL IMAGE COMPUTING: TECHNIQUES AND APPLICATIONS, CONFERENCE PROCEEDINGS DICTA-95. DIGITAL IMAGE COMPUTING: TECHNIQUES AND APPLICATIONS, BRISBANE, QLD., AUSTRALIA, 6-8 DEC. 1995, 1995, Brisbane, Qld., Australia, Australian Pattern Recgnition Soc, Australia, pages 98 - 103, XP002256533 * |
SMITH B C ET AL: "Compressed Domain Processing of JPEG-encoded imaages", REAL-TIME IMAGING, ACADEMIC PRESS LIMITED, GB, vol. 2, no. 1, February 1996 (1996-02-01), pages 3 - 17, XP004419658, ISSN: 1077-2014 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014075884A1 (fr) * | 2012-11-19 | 2014-05-22 | Universite De Nice | Procédé, système et produit programme informatique pour traiter des données numériques multidimensionnelles |
EP2738737A1 (fr) * | 2012-11-19 | 2014-06-04 | Université de Nice | Procédé et dispositif pour accéder à des images en coupe et des sousvolumes dans un volume 3D comprimé |
Also Published As
Publication number | Publication date |
---|---|
FR2850825B1 (fr) | 2005-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
FR2835366A1 (fr) | Procede et dispositif de formation d'un signal numerique compresse reduit | |
FR2826823A1 (fr) | Procede et dispositif de traitement d'un signal numerique code | |
FR2826227A1 (fr) | Procede et dispositif de traitement d'un signal numerique code | |
FR2831728A1 (fr) | Procede et dispositif de formation d'un signal numerique derive a partir d'un signal numerique compresse | |
FR2815748A1 (fr) | Procede et dispositif de traitement et de decodage d'un signal numerique code | |
WO2015059400A1 (fr) | Procédé de codage et de décodage d'images, dispositif de codage et de décodage d'images et programmes d'ordinateur correspondants | |
FR2816154A1 (fr) | Insertion d'information supplementaire dans des donnees numeriques | |
WO2014001703A1 (fr) | Procédé de codage d'un bloc courant d'une première composante d'image par rapport a un bloc de référence d'au moins une deuxième composante d'image, dispositif de codage et programme d'ordinateur correspondant | |
EP2277318A2 (fr) | Codage et decodage d'une image ou d'une sequence d'images decoupees selon des partitions de pixels de forme lineaire | |
EP3075155B1 (fr) | Procédé de codage et de décodage d'images, dispositif de codage et de décodage d'images et programmes d'ordinateur correspondants | |
FR3029333A1 (fr) | Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants | |
WO2017187040A1 (fr) | Procede de decodage d'une image numerique, procede de codage, dispositifs, et programmes d'ordinateurs associes | |
FR2825224A1 (fr) | Procede et dispositif de compression et ou d'indexation d'images numeriques | |
EP3345391A2 (fr) | Procédé de codage et de décodage d'images, dispositif de codage et de décodage d'images et programmes d'ordinateur correspondants | |
FR3046321A1 (fr) | Procede de codage d'une image numerique, procede de decodage, dispositifs, terminal d'utilisateur et programmes d'ordinateurs associes | |
FR2782861A1 (fr) | Transcodage geometrique d'un signal numerique | |
EP3685283A1 (fr) | Procedes de codage et de decodage d'une image | |
FR2850825A1 (fr) | Procede et dispositif de formation d'un signal numerique d'image transcode compresse | |
EP3520416B1 (fr) | Procédé de codage d'une image, procédé de decodage, dispositifs, equipement terminal et programmes d'ordinateurs associés | |
WO2019015884A1 (fr) | Procede de decodage d'une image, procede de codage, dispositifs, equipement terminal et programmes d'ordinateurs associes | |
FR2872972A1 (fr) | Procede et dispositif de transmission video entre un serveur et un client | |
FR2956789A1 (fr) | Procede et dispositif de traitement d'une sequence video | |
FR2853749A1 (fr) | Procede et dispositif de traitement d'un signal d'image numerique compresse en vue de sa visualisation | |
FR3044507A1 (fr) | Procede de codage et de decodage d'images, dispositif de codage et de decodage d'images et programmes d'ordinateur correspondants | |
WO2024121109A1 (fr) | Procédé et dispositif de codage et décodage d'images |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ST | Notification of lapse |
Effective date: 20141031 |