FR2853749A1 - Procede et dispositif de traitement d'un signal d'image numerique compresse en vue de sa visualisation - Google Patents
Procede et dispositif de traitement d'un signal d'image numerique compresse en vue de sa visualisation Download PDFInfo
- Publication number
- FR2853749A1 FR2853749A1 FR0304454A FR0304454A FR2853749A1 FR 2853749 A1 FR2853749 A1 FR 2853749A1 FR 0304454 A FR0304454 A FR 0304454A FR 0304454 A FR0304454 A FR 0304454A FR 2853749 A1 FR2853749 A1 FR 2853749A1
- Authority
- FR
- France
- Prior art keywords
- signal
- compressed
- transcoded
- image signal
- sep
- 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
- 230000009466 transformation Effects 0.000 title claims abstract description 90
- 230000006837 decompression Effects 0.000 title claims abstract description 16
- 238000003672 processing method Methods 0.000 title description 2
- 238000012545 processing Methods 0.000 claims abstract description 50
- 238000000034 method Methods 0.000 claims abstract description 35
- 238000004590 computer program Methods 0.000 claims abstract description 19
- 230000009977 dual effect Effects 0.000 claims description 33
- 230000017105 transposition Effects 0.000 claims description 22
- 238000007906 compression Methods 0.000 claims description 13
- 230000006835 compression Effects 0.000 claims description 13
- 238000012986 modification Methods 0.000 claims description 13
- 230000004048 modification Effects 0.000 claims description 13
- 238000012800 visualization Methods 0.000 claims description 9
- 230000008569 process Effects 0.000 claims description 3
- 238000004422 calculation algorithm Methods 0.000 description 42
- 238000000844 transformation Methods 0.000 description 15
- 238000012360 testing method Methods 0.000 description 14
- 238000013139 quantization Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 7
- 239000000728 ammonium alginate Substances 0.000 description 6
- 235000010407 ammonium alginate Nutrition 0.000 description 6
- 239000000648 calcium alginate Substances 0.000 description 6
- 235000010410 calcium alginate Nutrition 0.000 description 6
- NLXLAEXVIDQMFP-UHFFFAOYSA-N Ammonium chloride Substances [NH4+].[Cl-] NLXLAEXVIDQMFP-UHFFFAOYSA-N 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 4
- PMZURENOXWZQFD-UHFFFAOYSA-L sodium sulphate Substances [Na+].[Na+].[O-]S([O-])(=O)=O PMZURENOXWZQFD-UHFFFAOYSA-L 0.000 description 4
- 239000001117 sulphuric acid Substances 0.000 description 4
- 239000004100 Oxytetracycline Substances 0.000 description 3
- 239000004098 Tetracycline Substances 0.000 description 3
- 239000008272 agar Substances 0.000 description 3
- 235000010419 agar Nutrition 0.000 description 3
- 239000001166 ammonium sulphate Substances 0.000 description 3
- 239000001175 calcium sulphate Substances 0.000 description 3
- 239000000470 constituent Substances 0.000 description 3
- 238000010276 construction Methods 0.000 description 3
- 238000000354 decomposition reaction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- VEXZGXHMUGYJMC-UHFFFAOYSA-N hydrochloric acid Substances Cl VEXZGXHMUGYJMC-UHFFFAOYSA-N 0.000 description 3
- 238000003780 insertion Methods 0.000 description 3
- 230000037431 insertion Effects 0.000 description 3
- TWRXJAOTZQYOKJ-UHFFFAOYSA-L magnesium chloride Substances [Mg+2].[Cl-].[Cl-] TWRXJAOTZQYOKJ-UHFFFAOYSA-L 0.000 description 3
- CSNNHWWHGAXBCP-UHFFFAOYSA-L magnesium sulphate Substances [Mg+2].[O-][S+2]([O-])([O-])[O-] CSNNHWWHGAXBCP-UHFFFAOYSA-L 0.000 description 3
- 239000001120 potassium sulphate Substances 0.000 description 3
- 230000000750 progressive effect Effects 0.000 description 3
- 239000000770 propane-1,2-diol alginate Substances 0.000 description 3
- 235000010409 propane-1,2-diol alginate Nutrition 0.000 description 3
- 239000001119 stannous chloride Substances 0.000 description 3
- 239000004128 Copper(II) sulphate Substances 0.000 description 2
- 239000004105 Penicillin G potassium Substances 0.000 description 2
- 239000001110 calcium chloride Substances 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 239000000679 carrageenan Substances 0.000 description 2
- 235000010418 carrageenan Nutrition 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 239000000737 potassium alginate Substances 0.000 description 2
- 235000010408 potassium alginate Nutrition 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 230000001131 transforming effect Effects 0.000 description 2
- 239000004099 Chlortetracycline Substances 0.000 description 1
- 239000004277 Ferrous carbonate Substances 0.000 description 1
- 239000004104 Oleandomycin Substances 0.000 description 1
- 239000004185 Penicillin G procaine Substances 0.000 description 1
- 239000004107 Penicillin G sodium Substances 0.000 description 1
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 239000001164 aluminium sulphate Substances 0.000 description 1
- 239000001099 ammonium carbonate Substances 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013079 data visualisation Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000001627 detrimental effect Effects 0.000 description 1
- 238000002513 implantation Methods 0.000 description 1
- 239000001095 magnesium carbonate Substances 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- BWHMMNNQKKPAPP-UHFFFAOYSA-L potassium carbonate Substances [K+].[K+].[O-]C([O-])=O BWHMMNNQKKPAPP-UHFFFAOYSA-L 0.000 description 1
- 239000001103 potassium chloride Substances 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 239000000661 sodium alginate Substances 0.000 description 1
- 235000010413 sodium alginate Nutrition 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/60—Rotation of whole images or parts thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/007—Transform coding, e.g. discrete cosine transform
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Discrete Mathematics (AREA)
- Multimedia (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
L'invention concerne un procédé de traitement d'un signal d'image numérique d'origine compressé en vue de sa visualisation dans une représentation géométrique finale souhaitée, le signal d'image numérique d'origine ayant une représentation géométrique initiale différente, la compression du signal d'origine 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 le procédé comporte les étapes suivantes :- obtention d'au moins une partie de signal transcodée compressée en appliquant un transcodage ou signal d'origine compressé,- modification de l'ordre géométrique dans lequel ladite au moins une partie de signal transcodée va être visualisée sur un support après décompression, la modification de l'ordre de visualisation tenant compte, d'une part, de la représentation géométrique finale souhaitée et, d'autre part, d'une transformation géométrique appliquée lors du transcodage.
Description
<Desc/Clms Page number 1>
La présente invention concerne un procédé de traitement d'un signal d'image numérique d'origine compressé en vue de sa visualisation dans une représentation géométrique finale souhaitée, le signal d'image numérique d'origine ayant une représentation géométrique initiale différente de la représentation géométrique finale.
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.
Il est connu d'appliquer des transformations géométriques sur des images numériques pour diverses raisons.
Par exemple, lorsqu'une image qui est disponible en mode paysage, sous forme compressée, dans un appareil de traitement de données tel qu'un caméscope doit être visualisée en mode portrait, il faut faire subir à cette image une rotation de 90 .
Pour appliquer une telle transformation géométrique à une image compressée on procède à une décompression complète de l'image compressée, en appliquant à cette dernière 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.
<Desc/Clms Page number 2>
Ensuite, la transformation géométrique est appliquée à l'image décompressée, c'est-à-dire dans le domaine image, avant de visualiser l'image ainsi transformée sur un support de visualisation.
La visualisation d'une image sur un support de visualisation peut se comprendre, de manière non limitative, comme correspondant à l'affichage des données numériques constitutives de l'image sur un écran de visualisation ou sur une feuille de papier par impression.
S'il est connu d'effectuer des transformations géométriques sur une image après l'avoir décompressée, il subsiste malgré tout un problème dans la mesure où les opérations susvisées de décompression requièrent des ressources en mémoire non négligeables qui ne sont pas toujours disponibles sur certains appareils de traitement de données autonomes (appareil photographique numérique, caméscope, PDA, téléphone cellulaire, ...).
Pour éviter cela, il est avantageux d'effectuer les différentes manipulations géométriques dans le domaine compressé.
Cependant, dans certaines normes de compression d'images, il n'est pas toujours possible d'effectuer toutes les transformations géométriques souhaitées.
Ainsi, par exemple, la partie 1 de la norme JPEG2000 ne prévoit la possibilité d'effectuer que des transpositions sur les images compressées, tandis que la partie 2 de cette même norme prévoit, quant à elle, de pouvoir effectuer sept types de manipulations géométriques différents sur les images.
De ce fait, lorsqu'un appareil de traitement de données (appareil photographique numérique, caméscope, ...) reçoit des images compressées conformes à la partie 1 de la norme JPEG2000 et des images compressées conformes à la partie 2 de cette norme, et s'il veut passer d'une représentation géométrique de l'image en mode portrait à une représentation en mode paysage, ou inversement, il doit adapter le traitement de l'image compressée à la partie de la norme considérée, ce qui complique le fonctionnement de l'appareil.
Ce problème d'adaptation du traitement de l'image compressée peut également se rencontrer avec d'autres normes de compression.
<Desc/Clms Page number 3>
Une complication du fonctionnement de l'appareil s'avère préjudiciable pour des appareils dont la capacité de traitement est relativement restreinte.
La présente invention prévoit de remédier à au moins un des inconvénients précités en proposant un procédé de traitement d'un signal d'image numérique d'origine compressé en vue de sa visualisation dans une représentation géométrique finale souhaitée, le signal d'image numérique d'origine ayant une représentation géométrique initiale différente, la compression du signal d'origine 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 le procédé comporte les étapes suivantes : - obtention d'au moins une partie de signal transcodée compressée en appliquant un transcodage au signal d'origine compressé, - modification de l'ordre géométrique dans lequel ladite au moins une partie de signal transcodée va être visualisée sur un support après décompression, la modification de l'ordre de visualisation tenant compte, d'une part, de la représentation géométrique finale souhaitée et, d'autre part, d'au moins une transformation géométrique appliquée lors du transcodage.
Corrélativement, l'invention propose un dispositif de traitement d'un signal d'image numérique d'origine compressé en vue de sa visualisation dans une représentation géométrique finale souhaitée, le signal d'image numérique d'origine ayant une représentation géométrique initiale différente, la compression du signal d'origine 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 d'obtention d'au moins une partie de signal transcodée compressée en appliquant un transcodage au signal d'origine compressé, - des moyens de modification de l'ordre géométrique dans lequel ladite au moins une partie de signal transcodée va être visualisée sur un support après décompression, la modification de l'ordre de visualisation tenant compte, d'une part, de la représentation géométrique finale souhaitée et, d'autre part, d'au moins une transformation géométrique appliquée lors du transcodage.
<Desc/Clms Page number 4>
En choisissant la transformation géométrique à appliquer en fonction des spécifications de la norme et des représentations géométriques initiale et finale de l'image, on peut ainsi réaliser, lors du transcodage, une partie de la manipulation géométrique souhaitée pour au moins une partie de l'image dans le domaine de l'image transformée (domaine spatio-fréquentiel).
L'autre partie de la manipulation géométrique est réalisée indépendamment de la norme, lors de la visualisation de l'image ou d'une partie de celle-ci, après décompression, sur un support de visualisation (écran, feuille... ).
Il est ainsi possible d'effectuer des manipulations géométriques d'une image conforme à une norme en utilisant la ou les seules transformations géométriques prévues dans cette norme.
La modification de l'ordre de visualisation des données d'au moins une partie de l'image transcodée doit de ce fait tenir compte de la transformation géométrique appliquée et ainsi être adaptée pour parvenir au résultat escompté, à savoir visualiser l'image dans sa représentation géométrique finale souhaitée.
On notera que la modification de l'ordre géométrique de visualisation des données et la décompression peuvent être simultanées.
Par ailleurs, l'invention offre une solution unique pour les parties 1 et 2 de la norme JPEG2000.
En effet, par exemple, selon l'art antérieur, un appareil de traitement de données recevant une image conforme à la partie 2 de la norme JPEG2000 peut appliquer à cette image n'importe quelle transformation géométrique pour obtenir la représentation géométrique finale souhaitée.
Au contraire, lorsque le même appareil reçoit une image conforme cette fois-ci à la partie 1 de cette norme, alors il n'est pas possible d'appliquer n'importe quelle transformation géométrique.
Il faut donc concevoir une méthode différente pour traiter de telles images et l'implanter sur l'appareil, ce qui complexifie la tâche.
En outre, dans la mesure où la transformation géométrique est appliquée dans le domaine de l'image transformée et non dans le domaine
<Desc/Clms Page number 5>
image, les ressources en mémoire de l'appareil dans lequel s'effectue la transformation géométrique sont sollicitées de façon plus raisonnable.
On évite ainsi d'avoir à effectuer une décompression complète du signal compressé.
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, ce qui lui permet d'être disponible pour exécuter d'autres tâches.
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.
Selon une caractéristique, l'obtention d'au moins une partie du signal transcodée compressée à partir d'un signal d'image numérique d'origine compressé comporte les étapes suivantes : - décodage d'au moins une partie du signal numérique d'origine compressée, - application d'au moins une transformation géométrique à ladite au moins une partie de signal décodée, - codage de ladite au moins une partie de signal transformée géométriquement afin d'obtenir une partie de signal transcodée compressée.
Selon une autre caractéristique, l'obtention d'une partie du signal transcodée compressée étant effectuée à partir d'un signal d'image numérique d'origine compressé comprenant des données numériques organisées en blocs de données qui forment chacun une partie du signal, l'obtention de ladite partie du signal transcodée compressée 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 appliquée à ce bloc,
<Desc/Clms Page number 6>
- décodage du bloc de données appartenant au signal d'origine compressé, - application de la transformation géométrique 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.
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.
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.
En outre, le fait de traiter des blocs de données permet d'effectuer différentes étapes de façon quasi simultanée sans avoir besoin d'attendre la fin du transcodage de tout le signal ou de la partie de ce signal qui est à visualiser.
Ainsi, dès que les premiers blocs de données ont été décodés, transformés géométriquement (par exemple transposés) et codés, ils peuvent, par exemple, être transmis à l'unité de décompression en vue de la visualisation.
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
<Desc/Clms Page number 7>
spatial, c'est-à-dire ligne par ligne, au fur et à mesure de leur insertion dans le signal.
Selon une autre caractéristique, la transformation géométrique appliquée est une transposition.
Ceci est particulièrement utile pour les signaux d'image conformes à la partie 1 de la norme JPEG2000 qui ne peuvent subir comme manipulations géométriques que des transpositions.
Selon une autre caractéristique qui dépend de la précédente, ladite au moins une partie du signal étant représentée géométriquement sous la forme d'une ligne, la modification de l'ordre géométrique dans lequel ladite au moins une partie va être visualisée comporte une étape d'inversion du sens de parcours de la ligne en vue de sa visualisation.
On notera qu'une partie de l'image peut, par exemple, inclure plusieurs lignes de l'image.
Pour visualiser le signal d'image dans sa représentation géométrique finale, on visualise une ou plusieurs lignes du signal d'image dans le sens inverse, réalisant ainsi une symétrie d'axe vertical qui, combinée à la transposition précédemment effectuée sur au moins une partie décodée du signal, aboutit à une rotation de 90 .
Selon une caractéristique, l'étape de visualisation est une étape d'impression.
L'invention concerne également un appareil de traitement de données comportant un dispositif de traitement d'un signal numérique d'image 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 traitement d'un signal numérique d'image 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
<Desc/Clms Page number 8>
comportant des instructions de code d'un programme d'ordinateur pour l'exécution des étapes du procédé de traitement d'un signal numérique d'image 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 oeuvre des étapes du procédé de traitement d'un signal numérique d'image compressé de l'invention tel que brièvement exposé ci-dessus, lorsque ledit programme d'ordinateur est chargé et exécuté par l'appareil programmable.
Les caractéristiques et avantages relatifs au dispositif de traitement d'un signal numérique d'image 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 traitement d'un signal numérique d'image 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 : - la figure 1a représente de manière schématique un dispositif de compression d'un signal numérique d'image ; - la figure 1b illustre la représentation des divers éléments d'une image conforme à la norme JPEG2000 partie 2 dans un repère de référence ; - la figure 1 c illustre différentes transformations géométriques applicables à un signal d'image ; - la figure 2 est un mode de réalisation d'un appareil programmable mettant en #uvre l'invention ; - la figure 3 illustre de façon schématique le principe de l'invention appliqué à une image selon un exemple de réalisation ; - la figure 4 est un algorithme illustrant de façon générale les principales étapes du procédé de traitement selon l'invention ;
<Desc/Clms Page number 9>
- 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.
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.
Sur la figure 1a est représenté de manière connue 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.
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 un signal d'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.
<Desc/Clms Page number 10>
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.
Le signal numérique d'image compressé issu du circuit 25 est, par exemple, plus particulièrement, conforme au standard JPEG2000 partie 1 ou 2
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 anglosaxonne 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.
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 anglosaxonne 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.
<Desc/Clms Page number 11>
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.
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
<Desc/Clms Page number 12>
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, - 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 sous- bandes de fréquence et correspondant chacune à un sur-ensemble
<Desc/Clms Page number 13>
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 partie 2 de 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 1 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 0.
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).
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 de signaux d'images compressés dans le but d'effectuer une ou plusieurs manipulations géométriques sur les signaux d'images compressés.
On supposera que ces signaux d'images auront préalablement été compressées, par exemple, par un dispositif analogue à celui de la figure 1a.
La figure 1c illustre les huit transformations géométriques différentes qu'il est possible d'appliquer à un signal d'image conforme à la partie 2 de la norme JPEG2000 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.
<Desc/Clms Page number 14>
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 vertical 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).
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.
<Desc/Clms Page number 15>
En référence à la figure 2, est décrit un exemple d'appareil de traitement de données programmable 100 mettant en #uvre l'invention. Cet appareil est adapté à traiter un signal numérique compressé.
A cet effet, l'appareil 100 comporte, par exemple, un dispositif de traitement d'un signal d'image compressé selon l'invention ou constitue luimême un tel dispositif.
Pour ce faire, l'appareil 100 comporte les moyens permettant la mise en oeuvre de l'invention dans son aspect général et dans ses aspects plus spécifiques liés au mode de réalisation (moyens de décodage, moyens d'application d'au moins une transformation géométrique, moyens de codage, moyens de modification de l'ordre géométrique de visualisation ...).
Selon le mode de réalisation choisi et représenté à la figure 2, un appareil mettant en #uvre l'invention est par exemple un micro-ordinateur 100 connecté à différents périphériques tels qu'une caméra numérique 101 (ou un scanner, ou tout moyen d'acquisition ou de stockage d'image) reliée à une carte graphique et fournissant des données à compresser, ainsi qu'une imprimante 102.
L'appareil 100 comporte un bus de communication 103 auquel sont reliés : - une unité centrale 104 (microprocesseur), - une mémoire morte 105, comportant un programme d'ordinateur "Prog", - une mémoire vive 106, comportant des registres adaptés à enregistrer des variables modifiées au cours de l'exécution du programme précité, - un écran 107 permettant de visualiser les données à traiter selon l'invention ou les données du signal traité selon l'invention, ou de servir d'interface avec l'utilisateur qui pourra paramétrer certains modes du traitement selon l'invention, à l'aide d'un clavier 108 ou de tout autre moyen tel que, par exemple, une souris, - un disque dur 109 pouvant également comporter le programme "Prog" précité,
<Desc/Clms Page number 16>
un lecteur de disquette 110 adapté à recevoir une disquette 111, une interface de communication 112 avec un réseau de communication 113, apte à recevoir des données compressées et qui sont à traiter par l'appareil ou apte à transmettre des données traitées par l'appareil.
Le bus de communication permet la communication entre les différents éléments inclus dans le micro-ordinateur 100 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 100 directement ou par l'intermédiaire d'un autre élément du microordinateur 100.
Le programme noté "Prog" permettant à l'appareil programmable de mettre en #uvre l'invention, peut être stocké par exemple en mémoire morte 105 (appelée ROM sur le dessin) comme représenté sur la figure 2.
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 111, tout comme le disque dur 109, peuvent contenir des données compressées et à traiter ainsi que le code de l'invention qui, une fois lu par l'appareil 100, sera stocké dans le disque dur 109
La disquette tout comme le disque dur peuvent également contenir des données traitées selon l'invention.
La disquette tout comme le disque dur peuvent également contenir des données traitées selon l'invention.
En seconde variante, le programme pourra être reçu par l'intermédiaire du réseau de communication 113, 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 100 avant d'être exécuté.
<Desc/Clms Page number 17>
L'unité centrale 104 va exécuter les instructions relatives à la mise en #uvre de l'invention, instructions stockées dans la mémoire morte 105 ou dans les autres éléments de stockage (disque dur). Lors de la mise sous tension, le ou les programmes de traitement d'image selon l'invention, qui sont stockés dans une mémoire non volatile, par exemple la mémoire ROM 105, sont transférés dans la mémoire vive RAM 106 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 traitement d'un signal numérique d'image 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 100 peut avantageusement être un appareil de traitement de données ne disposant pas d'une capacité mémoire élevée et/ou d'une capacité de traitement élevée.
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 d'application d'une transformation géométrique 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 traitement du signal avait lieu dans le domaine image, ce qui réduit la tâche de l'unité centrale 104.
Par ailleurs, l'espace mémoire nécessaire est lui aussi de taille réduite.
La figure 3 illustre de manière schématique le principe général de l'invention appliqué à un signal d'image numérique d'origine compressé conforme à la partie 1 de la norme JPEG2000, selon laquelle seule la transposition peut être appliquée en tant que transformation géométrique à des signaux d'image conformes à cette norme.
<Desc/Clms Page number 18>
Comme représenté à la figure 3, l'utilisateur d'un appareil de traitement de données tel que celui représenté sur la figure 2 dispose d'un signal d'image numérique d'origine compressé dont une représentation géométrique dite initiale est celle notée 300.
Cette représentation est qualifiée de mode "paysage".
L'utilisateur souhaite (dans la figure 3) imprimer le signal d'image dans une représentation géométrique finale différente qui est ici, par exemple, qualifiée de mode "portrait".
Pour ce faire, l'utilisateur doit effectuer une modification de l'orientation du signal d'image en vue de son impression.
Le traitement du signal d'image numérique d'origine compressé, ou d'une partie de celui-ci selon l'application envisagée, prévoit différentes étapes qui sont réalisées par un transcodeur, à savoir notamment un décodage du signal, l'application au signal décodé (partiellement décompressé) d'une transformation géométrique qui est ici une transposition et un codage du signal transformé.
On reviendra ultérieurement sur les opérations réalisées par le transcodeur lors de la description faite en référence aux figures 5 à 8.
Le signal d'image noté 301 sur la figure 3 résulte d'une transposition appliquée aux différents blocs de données qui le constituent et d'un codage de ces blocs.
Le signal d'image résultant de cette transformation géométrique est un signal d'image conforme à la partie 1 de la norme JPEG2000 et qui peut donc être parfaitement décompressé par un décodeur conforme à cette norme.
Le signal d'image transposé compressé 301 est alors complètement décompressé par un décodeur JPEG2000 afin de se retrouver dans le domaine image pour son impression.
Pour ce faire, on applique au signal d'image transposé un décodage et au moins une transformation spatio-fréquentielle inverse de celle qui lui a été appliquée lors de sa compression. Il convient de noter que d'autres étapes réalisées en vue de l'achèvement de la décompression du signal peuvent être
<Desc/Clms Page number 19>
appliquées en fonction des étapes qui ont été appliquées au signal pour sa compression (quantification ...).
Lors de la visualisation de ce signal d'image et, plus particulièrement dans cet exemple, lors de son impression sur un support de visualisation tel qu'une feuille de papier, le pilote d'impression de l'imprimante utilisée pour cette opération est informé du passage en mode portrait du signal d'image.
Par conséquent, le pilote d'impression devra inverser le sens de parcours de chacune des lignes constituant le signal d'image lors de l'opération d'impression.
L'inversion du sens de parcours des lignes constituant le signal d'image conduit à pratiquer sur le signal d'image transposé 301 et décompressé une symétrie d'axe vertical comme illustré par la référence 302.
De façon plus générale, le pilote d'impression peut s'adapter, et donc être programmé en conséquence, en fonction de la transformation géométrique appliquée au signal d'image 300 décodé, afin de modifier l'ordre géométrique dans lequel le signal d'image va être visualisé sur le support de visualisation, compte tenu de la représentation géométrique finale souhaitée par l'utilisateur.
Dans l'exemple représenté sur la figure 3, le signal d'image traité selon l'invention est visualisé dans sa représentation géométrique finale indiquée par la référence 303.
Le signal d'image dans sa représentation géométrique finale (mode portrait) est un signal d'image qui a subi une rotation de 90 à partir de la représentation géométrique initiale 300 du signal d'image d'origine, en appliquant successivement les étapes de transposition et d'inversion du sens de parcours des lignes lors de la visualisation.
La figure 4 illustre un algorithme comportant différentes instructions ou portions de code logiciel correspondant à des étapes du procédé de traitement d'un signal d'image numérique compressé selon l'invention.
Le programme informatique noté "Prog" qui est basé sur cet algorithme est, par exemple, stocké dans la mémoire morte 105 de la figure 2 et, à l'initialisation du système, est transféré dans la mémoire vive 106.
<Desc/Clms Page number 20>
Ce programme est ensuite exécuté par l'unité centrale 104, ce qui permet ainsi de mettre en #uvre le procédé selon l'invention dans l'appareil de traitement de données de la figure 2.
Dans cet exemple, on considère que la visualisation d'un signal d'image dans sa représentation géométrique finale se traduit par l'impression du signal sur un support d'impression.
On notera que la visualisation d'un signal d'image dans sa représentation géométrique finale peut également, de manière non limitative, se présenter sous la forme d'un affichage sur un écran ou sur tout autre support de visualisation.
L'algorithme de la figure 4 comporte une première étape E401 au cours de laquelle un utilisateur sélectionne, grâce à une interface graphique, le mode d'impression (représentation géométrique finale souhaitée) d'un signal d'image conforme à la norme JPEG2000 dans le gestionnaire d'impression de son appareil de traitement de données.
On notera qu'il peut s'agir seulement d'une partie du signal.
Cette représentation géométrique finale peut correspondre au mode de représentation qualifié de "portrait" ou à celui qualifié de "paysage".
Ainsi, si le signal d'image possède, de façon naturelle, une orientation qui correspond au mode d'impression sélectionné, alors il n'est pas nécessaire d'appliquer une transformation géométrique au signal d'image.
Par conséquent, le test pratiqué à l'étape E402 de l'algorithme de la figure 4 ("transformation nécessaire ?") nécessairement à l'étape E403 qui prévoit une décompression complète du signal d'image dans un décodeur conforme à la norme JPEG2000 (opérations de décodage entropique, de quantification inverse, de transformation spatio-fréquentielle inverse des opérations et respectives des circuits 23,22 et 21 de la figure 1 a).
Si, au contraire, il a été considéré que le signal d'image ne présentait pas une orientation correspondant au mode d'impression sélectionné par l'utilisateur, alors l'étape E402 est suivie d'une étape E404 de transcodage.
<Desc/Clms Page number 21>
Au cours de cette étape, le signal d'image compressé subira d'abord une étape de décodage inverse de celle effectuée par le circuit 23 de la figure 1a, afin d'obtenir un signal d'image dans le domaine transformé.
Au cours de l'étape E404, une transformation géométrique qui est, par exemple ici, une transposition est alors appliquée au signal d'image dans le domaine transformé via un transcodeur, comme il sera décrit par la suite, et un codage du signal transposé sera ensuite appliqué.
Une fois le transcodage du signal d'image réalisé à l'étape E404, l'étape E403 prévoit de décompresser le signal d'image transcodé en utilisant un décodeur JPEG2000 conventionnel qui effectue les opérations inverses de celles effectuées par les circuits 23,22 et 21 de la figure 1a.
Le signal d'image transcodé (lorsque l'étape E404 a été effectuée) et décompressé obtenu à l'étape E403 est ensuite mémorisé à l'étape E405 dans une mémoire tampon.
Dans l'hypothèse où l'étape E404 a été effectuée, alors est mise en #uvre une étape E406 de transmission d'information au pilote d'impression de l'imprimante utilisée pour la visualisation du signal d'image.
Au cours de l'étape E407, le pilote d'impression reçoit cette information selon laquelle il doit modifier ou non, lors de l'impression, l'ordre géométrique dans lequel les données constitutives du signal d'image vont être imprimées.
L'étape E407 ne procède à cette modification que si l'information est donnée par l'étape E406, c'est-à-dire seulement si le transcodage a eu lieu.
Dans cet exemple de réalisation, le pilote d'impression est configuré pour que l'imprimante imprime sur chaque ligne les données stockées dans la mémoire tampon dans l'ordre inverse de l'ordre naturel d'impression de ces données, s'il reçoit l'information d'inverser les lignes par l'intermédiaire de l'étape E406.
En effet, dans cet exemple de réalisation, la seule transformation géométrique envisagée est une transposition et, par conséquent, si le transcodage du signal d'image a eu lieu à l'étape E404, cela signifie que le pilote d'impression doit inverser l'ordre d'impression des données sur une ou
<Desc/Clms Page number 22>
plusieurs lignes afin de réaliser une symétrie d'axe vertical du signal d'image décompressé.
Ainsi, l'application d'une combinaison d'une transposition et d'une symétrie d'axe vertical au signal d'image conduit à effectuer une rotation de
90 de ce dernier, transformant par là même le signal d'image représenté en mode "portrait" en mode "paysage" ou inversement.
90 de ce dernier, transformant par là même le signal d'image représenté en mode "portrait" en mode "paysage" ou inversement.
Il convient de noter que pour d'autres signaux d'image, la modification de l'ordre géométrique suivant lequel les données constitutives du signal décompressé vont être visualisées sur un support de visualisation dépend de la ou des transformations géométriques précédemment appliquées au signal dans le domaine transformé et de la représentation géométrique finale souhaitée pour la visualisation de ce signal.
La modification de l'ordre géométrique peut consister, par exemple, à inverser des lignes de données entre elles lors de la visualisation, afin de réaliser, par exemple, une symétrie d'axe horizontal sur un signal d'image.
Ainsi, par exemple, la dernière ligne devient la première ligne et inversement.
On notera que le mécanisme illustré sur la figure 4 présente des avantages considérables en terme d'utilisation des ressources en espace mémoire.
En effet, les étapes de décompression et de mémorisation (E403 et E405) peuvent ne concerner que quelques lignes du signal d'image à imprimer ce qui, d'une part, allège l'espace mémoire nécessaire et, d'autre part, limite les capacités de traitement nécessaires pour ces opérations.
Pour que ce mécanisme fonctionne de manière satisfaisante, il est nécessaire de synchroniser le pilote d'imprimante avec le décodeur JPEG2000 mis en oeuvre à l'étape E403, afin que chacun d'eux soit informé de l'état de la mémoire tampon utilisée à l'étape E405, à savoir si l'on se trouve en mode écriture ou en mode lecture dans cette mémoire.
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.
<Desc/Clms Page number 23>
Le programme informatique qui est basé sur cet algorithme faisant partie du programme "Prog" mentionné ci-dessus est, par exemple, stocké dans la mémoire morte 105 de la figure 2 et, à l'initialisation du système, est transféré dans la mémoire vive 106.
Ce programme est ensuite exécuté par l'unité centrale 104, 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 2.
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 Ix 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 1b 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 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.
<Desc/Clms Page number 24>
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, SVoTRetSHoSVoTR.
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, Ix, 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é.
<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> IW <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> Ix <SEP> Kx.Omx <SEP> ly <SEP> Ky. <SEP> Omy <SEP> ly <SEP> Ky. <SEP> Omy
<tb> +1-IH <SEP> +1-IH <SEP> +1-IW <SEP> +1-IW
<tb> Iy' <SEP> ly <SEP> Ky. <SEP> Omy <SEP> Ky. <SEP> Omy <SEP> Ix <SEP> Ix <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. <SEP> Omy
<tb> +1 <SEP> -FTX <SEP> +1-FTX <SEP> +1-FTY <SEP> +1-FTY
<tb> Ty' <SEP> Ty <SEP> Ky. <SEP> Omy <SEP> Ky. <SEP> Omy <SEP> Tx <SEP> Tx <SEP> Kx.Omx <SEP> Kx.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 <SEP> 1
<tb>
<tb> IH' <SEP> IH <SEP> IH <SEP> IH <SEP> IW <SEP> IW <SEP> IW <SEP> IW
<tb> IW' <SEP> IW <SEP> IW <SEP> IW <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> Ix <SEP> Kx.Omx <SEP> ly <SEP> Ky. <SEP> Omy <SEP> ly <SEP> Ky. <SEP> Omy
<tb> +1-IH <SEP> +1-IH <SEP> +1-IW <SEP> +1-IW
<tb> Iy' <SEP> ly <SEP> Ky. <SEP> Omy <SEP> Ky. <SEP> Omy <SEP> Ix <SEP> Ix <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. <SEP> Omy
<tb> +1 <SEP> -FTX <SEP> +1-FTX <SEP> +1-FTY <SEP> +1-FTY
<tb> Ty' <SEP> Ty <SEP> Ky. <SEP> Omy <SEP> Ky. <SEP> Omy <SEP> Tx <SEP> Tx <SEP> Kx.Omx <SEP> Kx.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 <SEP> 1
<tb>
<Desc/Clms Page number 25>
Dans ce tableau, les valeurs des variables Omx et Omy sont les suivantes : - Omx = ppcm {CH(t, c) * 2L(t,c) * RH (c),pour t et c}, - Omy = ppcm {CW(t,c) * 2L(t,c) * RW (c),pour 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.
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.
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.
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
<Desc/Clms Page number 26>
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é).
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é).
<Desc/Clms Page number 27>
Cet en-tête de tuile a été adapté compte tenu de la transformation géométrique envisagée (par exemple une transposition) 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 "Prog" précédemment mentionné.
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.
<Desc/Clms Page number 28>
Le bloc de données sélectionné CB' (i) 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é "Prog" précédemment mentionné.
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 intervenir une transposition TR. Le type de la transformation géométrique est indiqué dans le tableau 2 fourni ci-après.
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> Tableau <SEP> 2
<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 <SEP> 2
<tb>
<Desc/Clms Page number 29>
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, # 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
<Desc/Clms Page number 30>
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).
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).
<Desc/Clms Page number 31>
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) dusignal 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 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 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.
<Desc/Clms Page number 32>
Ainsi, pour une transposition, les lignes de coefficients de chaque bloc sont transformées en colonnes et les colonnes sont transformées en lignes.
L'algorithme de la figure 6 comporte ensuite une étape E607 de codage entropique du bloc de données dual CB (i) ainsi transcodé.
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é en cours de formation.
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.
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é.
<Desc/Clms Page number 33>
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', Co', P') pour la résolution R', la couche de qualité Q', la composante Co' et la position P' ("precinct") considérée dans le signal d'image transcodé compressé en cours de formation.
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 "Prog" précédemment mentionné.
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
<Desc/Clms Page number 34>
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 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).
<Desc/Clms Page number 35>
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é.
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.
<Desc/Clms Page number 36>
Le signal d'image transcodé compressé est ainsi formé et peut donc être exploité comme, par exemple, expliqué en référence à la figure 4.
Claims (20)
1. Procédé de traitement d'un signal d'image numérique d'origine compressé en vue de sa visualisation dans une représentation géométrique finale souhaitée, le signal d'image numérique d'origine ayant une représentation géométrique initiale différente, la compression du signal d'origine 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 le procédé comporte les étapes suivantes : - obtention d'au moins une partie de signal transcodée compressée en appliquant un transcodage au signal d'origine compressé, - modification de l'ordre géométrique dans lequel ladite au moins une partie de signal transcodée va être visualisée sur un support après décompression, la modification de l'ordre de visualisation tenant compte, d'une part, de la représentation géométrique finale souhaitée et, d'autre part, d'au moins une transformation géométrique appliquée lors du transcodage.
2. Procédé selon la revendication 1, caractérisé en ce que l'obtention d'au moins une partie du signal transcodée compressée à partir d'un signal d'image numérique d'origine compressé comporte les étapes suivantes : - décodage d'au moins une partie du signal numérique d'origine compressée, - application d'au moins une transformation géométrique à ladite au moins une partie de signal décodée, - codage de ladite au moins une partie de signal transformée géométriquement afin d'obtenir une partie de signal transcodée compressée.
3. Procédé selon la revendication 1 ou 2, caractérisé en ce que, l'obtention d'une partie du signal transcodée compressée étant effectuée à partir d'un signal d'image numérique d'origine compressé comprenant des données numériques organisées en blocs de données qui forment chacun une partie du signal, l'obtention de ladite partie du signal transcodée compressée comporte les étapes suivantes : - sélection d'un bloc de données dans l'un des signaux compressés,
<Desc/Clms Page number 38>
- 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 appliquée à ce bloc, - décodage du bloc de données appartenant au signal d'origine compressé, - application de la transformation géométrique 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.
4. Procédé selon la revendication 3, caractérisé en ce que la sélection d'un bloc est effectuée dans le signal numérique d'image transcodé compressé.
5. Procédé selon l'une des revendications 1 à 4, caractérisé en ce que la transformation géométrique est une transposition.
6. Procédé selon la revendication 5, caractérisé en ce que ladite au moins une partie de signal étant représentée géométriquement sous la forme d'une ligne, la modification de l'ordre géométrique dans lequel ladite au moins une partie va être visualisée comporte une étape d'inversion du sens de parcours de la ligne en vue de sa visualisation.
7. Procédé selon l'une des revendications 1 à 6, caractérisé en ce que la représentation géométrique finale du signal d'image est obtenue par une rotation de 90 de la représentation géométrique initiale de ce signal.
8. Procédé selon l'une des revendications 1 à 7, caractérisé en ce que l'étape de visualisation est une étape d'impression du signal d'image.
9. Dispositif de traitement d'un signal d'image numérique d'origine compressé en vue de sa visualisation dans une représentation géométrique finale souhaitée, le signal d'image numérique d'origine ayant une représentation géométrique initiale différente, la compression du signal d'origine 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 :
<Desc/Clms Page number 39>
- des moyens d'obtention d'au moins une partie de signal transcodée compressée en appliquant un transcodage au signal d'origine compressé, - des moyens de modification de l'ordre géométrique dans lequel ladite au moins une partie de signal transcodée va être visualisée sur un support après décompression, la modification de l'ordre de visualisation tenant compte, d'une part, de la représentation géométrique finale souhaitée et, d'autre part, d'au moins une transformation géométrique appliquée lors du transcodage.
10. Dispositif selon la revendication 9, caractérisé en ce que les moyens d'obtention d'au moins une partie du signal transcodée compressée à partir d'un signal d'image numérique d'origine compressé comportent : - des moyens de décodage d'au moins une partie du signal numérique d'origine compressée, - des moyens d'application d'au moins une transformation géométrique à ladite au moins une partie de signal décodée, - des moyens de codage de ladite au moins une partie de signal transformée géométriquement afin d'obtenir une partie de signal transcodée compressée.
11. Dispositif selon la revendication 9 ou 10, caractérisé en ce que, l'obtention d'une partie du signal transcodée compressée étant effectuée à partir d'un signal d'image numérique d'origine compressé comprenant des données numériques organisées en blocs de données qui forment chacun une partie du signal, les moyens d'obtention de ladite partie du signal transcodée compressée comportent plus particulièrement : - 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 appliquée à ce bloc, - des moyens de décodage du bloc de données appartenant au signal d'origine compressé,
<Desc/Clms Page number 40>
- des moyens d'application de la transformation géométrique 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.
12. Dispositif selon l'une des revendications 9 à 11, caractérisé en ce que la transformation géométrique est une transposition.
13. Dispositif selon la revendication 12, caractérisé en ce que ladite au moins une partie de signal étant représentée géométriquement sous la forme d'une ligne, les moyens de modification de l'ordre géométrique dans lequel ladite au moins une partie va être visualisée comprennent plus particulièrement des moyens d'inversion du sens de parcours de la ligne en vue de sa visualisation.
14. Dispositif selon l'une des revendications 9 à 13, caractérisé en ce que la représentation géométrique finale du signal d'image est obtenue par une rotation de 90 de la représentation géométrique initiale de ce signal.
15. Dispositif selon l'une des revendications 9 à 14, caractérisé en ce que le dispositif comporte des moyens de visualisation qui sont des moyens d'impression du signal d'image.
16. Dispositif selon la revendication 11, caractérisé en ce que les moyens de sélection d'un bloc sont appliqués au signal numérique d'image transcodé compressé.
17. Appareil de traitement de données, caractérisé en ce qu'il comporte un dispositif de traitement d'un signal numérique d'image compressé selon l'une des revendications 9 à 16.
18. 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 traitement d'un signal numérique d'image compressé selon l'une des revendications 1 à 8.
19. 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
<Desc/Clms Page number 41>
procédé de traitement d'un signal numérique d'image compressé selon l'une des revendications 1 à 8.
20. 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 traitement d'un signal numérique d'image compressé selon l'une des revendications 1 à 8, lorsque ce programme d'ordinateur est chargé et exécuté par l'appareil programmable.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0304454A FR2853749B1 (fr) | 2003-04-10 | 2003-04-10 | Procede et dispositif de traitement d'un signal d'image numerique compresse en vue de sa visualisation |
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 |
---|---|---|---|
FR0304454A FR2853749B1 (fr) | 2003-04-10 | 2003-04-10 | Procede et dispositif de traitement d'un signal d'image numerique compresse en vue de sa visualisation |
Publications (2)
Publication Number | Publication Date |
---|---|
FR2853749A1 true FR2853749A1 (fr) | 2004-10-15 |
FR2853749B1 FR2853749B1 (fr) | 2005-07-01 |
Family
ID=33041761
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR0304454A Expired - Fee Related FR2853749B1 (fr) | 2003-02-03 | 2003-04-10 | Procede et dispositif de traitement d'un signal d'image numerique compresse en vue de sa visualisation |
Country Status (1)
Country | Link |
---|---|
FR (1) | FR2853749B1 (fr) |
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 |
US20010017946A1 (en) * | 1998-09-17 | 2001-08-30 | Xerox Corporation | Rotated read-out of jpeg compressed images |
-
2003
- 2003-04-10 FR FR0304454A patent/FR2853749B1/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 |
US20010017946A1 (en) * | 1998-09-17 | 2001-08-30 | Xerox Corporation | Rotated read-out of jpeg compressed images |
Non-Patent Citations (2)
Title |
---|
JIANG J ET AL: "Direct content access and extraction from JPEG compressed images", PATTERN RECOGNITION, PERGAMON PRESS INC. ELMSFORD, N.Y, US, vol. 35, no. 11, November 2002 (2002-11-01), pages 2511 - 2519, XP004373333, ISSN: 0031-3203 * |
MARTUCCI S A: "Image resizing in the discrete cosine transform domain", PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON IMAGE PROCESSING. (ICIP). WASHINGTON, OCT. 23 - 26, 1995, LOS ALAMITOS, IEEE COMP. SOC. PRESS, US, vol. 3, 23 October 1995 (1995-10-23), pages 244 - 247, XP010197070, ISBN: 0-7803-3122-2 * |
Also Published As
Publication number | Publication date |
---|---|
FR2853749B1 (fr) | 2005-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
FR2826823A1 (fr) | Procede et dispositif de traitement d'un signal numerique code | |
FR2835366A1 (fr) | Procede et dispositif de formation d'un signal numerique compresse reduit | |
FR2831728A1 (fr) | Procede et dispositif de formation d'un signal numerique derive a partir d'un signal numerique compresse | |
FR2842691A1 (fr) | Procede et dispositif de transformation d'un signal numerique | |
FR2785426A1 (fr) | Procede et dispositif d'insertion et de detection d'une marque dans des donnees numeriques | |
FR2815748A1 (fr) | Procede et dispositif de traitement et de decodage d'un signal numerique code | |
FR2842983A1 (fr) | Transcodage de donnees | |
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 | |
FR2849982A1 (fr) | Decodage d'une image numerique codee selon plusieurs niveaux de resolution | |
TWI359390B (fr) | ||
FR2763766A1 (fr) | Procede et dispositif de mise en oeuvre d'un systeme a ondelette noye reversible | |
FR2825224A1 (fr) | Procede et dispositif de compression et ou d'indexation d'images numeriques | |
FR3046321A1 (fr) | Procede de codage d'une image numerique, procede de decodage, dispositifs, terminal d'utilisateur et programmes d'ordinateurs associes | |
FR2816138A1 (fr) | Decodage de donnees numeriques | |
EP3685283A1 (fr) | Procedes de codage et de decodage d'une image | |
FR2853749A1 (fr) | Procede et dispositif de traitement d'un signal d'image numerique compresse en vue de sa visualisation | |
EP3520416B1 (fr) | Procédé de codage d'une image, procédé de decodage, dispositifs, equipement terminal et programmes d'ordinateurs associés | |
FR2795206A1 (fr) | Procede de modification d'orientation geometrique d'une image | |
FR2872972A1 (fr) | Procede et dispositif de transmission video entre un serveur et un client | |
WO2000073997A1 (fr) | Procede de codage/decodage d'images | |
FR2850825A1 (fr) | Procede et dispositif de formation d'un signal numerique d'image transcode compresse | |
JP3488672B2 (ja) | 画像処理装置、画像処理方法、およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体 | |
FR2817697A1 (fr) | Procede et dispositif de traitement d'un ensemble de donnees representatives de grandeurs physiques | |
FR2867633A1 (fr) | Procedes et dispositifs de codage et de transcodage de donnees |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ST | Notification of lapse |
Effective date: 20131231 |