Modèle d’image utilisé par JPEG2000

Modèle d’image utilisé par JPEG2000 

Avant de présenter en détail le mécanisme de codage utilisé dans JPEG2000, il est nécessaire de bien comprendre le modèle d’image qui est utilisé. Une image est composée de plusieurs composantes (limitées à 2¹⁴). Chaque composante est constituée d’une matrice rectangulaire d’échantillons. Les valeurs des échantillons de chaque composante sont des valeurs entières (avec ou sans signe) de précision pouvant aller de 1 à 38 bits/échantillons.

Le signe et la précision des échantillons sont spécifiés individuellement par composante. Ces composantes peuvent être utilisées pour représenter les informations spectrales de l’image originale. Par exemple, une image en couleur RGB est composée de 3 composantes : une pour représenter la couleur rouge, une autre pour la couleur verte, et une autre pour la couleur bleue. Dans le cas simple d’une image à nuance de gris, on ne retrouve qu’une seule composante correspondant à l’information de luminance de l’image. Les composantes entre elles peuvent avoir des tailles différentes. Par exemple lorsque l’on représente une image constituée des informations de luminance et de chrominance, les échantillons de luminance sont souvent plus finement échantillonnés que les échantillons de chrominance. De plus JPEG2000 gère le fait que les instants d’échantillonnage puissent être non coïncidents les uns avec les autres, comme c’est le cas pour des images vidéo de type 4 :2 :0 par exemple.

L’image est repérée selon un système de coordonnées basé sur une grille rectangulaire appelée grille de référence, de taille Xsiz * Ysiz. La largeur et la hauteur de cette grille de référence ont été limitées à 2³²-1 points, pour limiter la taille maximale de l’image à coder. Cette limite impose la taille maximale d’une image qu’un codeur peut traiter. L’image est repérée dans cette grille par son point supérieur gauche de coordonnées (X0siz, Y0siz) .

L’aire située entre les points (XOsiz, YOsiz) et (Xsiz-1, Ysiz-1) (zone ombrée de la figure Ch II – 4) correspond à la zone image. Toutes les composantes de l’image sont projetées sur la zone image de cette grille de référence. Puisque ces composantes ne sont pas toutes échantillonnées suivant la même résolution de la grille de référence, des informations supplémentaires sont nécessaires dans le but d’établir cette projection.

Décalage de la composante continue 

Le recalage des données convertit les valeurs des composantes non signées de l’image en valeurs signées. Cette opération a pour but d’assurer que la dynamique des données est distribuée symétriquement autour de la valeur zéro. Soit Ssiz le nombre de bits représentant les valeurs des pixels d’une des composantes de l’image. La plage dynamique peut être soit [- 2 Ssiz-1 , 2Ssiz-1-1] ou [0 , 2Ssiz-1] suivant que les valeurs sont signées ou non signées. Dans le cas de valeurs non signées, l’intervalle dynamique nominal n’est pas centré autour de zéro. La valeur à retrancher à chaque pixel est de 2Ssiz-1.

Cette opération permet aussi, quelle que soit la représentation signée ou non signée des données en entrée, d’avoir la même représentation interne. Bien évidemment on conservera l’information permettant de savoir si les données à reconstituer en sortie de décodage étaient signées ou non signées. Le décodeur réalise l’opération inverse. Si les valeurs de l’image décodée doivent être non signées, on ajoutera alors 2Ssiz-1 aux données.

Transformée en couleur

JPEG2000 permet la compression d’images à plusieurs composantes telles que des images couleurs. La représentation chromatique de JPEG2000, utilisée pour les images couleur comprenant trois composantes, est du type (Y, Cb, Cr), bien que d’autres représentations puissent être utilisées par le standard. Selon l’espace couleur de l’image considérée, une transformation des composantes est nécessaire pour changer de représentation chromatique et ainsi passer d’une représentation type (R, G, B) à la représentation type de JPEG2000.

Transformée en ondelettes 

La transformée en ondelettes est utilisée pour l’analyse des composantes imagettes pour différents niveaux de décomposition [5], [13], [30], [31]. Ces niveaux de décomposition contiennent un nombre de sous-bandes, composées chacune de coefficients qui décrivent les caractéristiques horizontales et verticales de l’imagette originale.

Dans la première partie du standard JPEG2000 sont permises seulement des décompositions de puissance 2 sous la forme d’une décomposition dyadique. On passe d’un niveau N-1 à N par un filtrage passe-bas et passe-haut sous échantillonnés d’un facteur 2 sur les lignes puis sur les colonnes. Chaque sous bande représente l’activité du signal dans les différentes bandes de fréquence à différentes résolutions spatiales. Sur un niveau, on obtient une décomposition de l’image en sa composante principale (bande LL) et trois composantes de détails qui représentent les détails horizontaux, verticaux et diagonaux de l’image.

Le rapport de stage ou le pfe est un document d’analyse, de synthèse et d’évaluation de votre apprentissage, c’est pour cela chatpfe.com propose le téléchargement des modèles complet de projet de fin d’étude, rapport de stage, mémoire, pfe, thèse, pour connaître la méthodologie à avoir et savoir comment construire les parties d’un projet de fin d’étude.

Table des matières

Chapitre I Introduction
Chapitre II Le standard JPEG2000
1. Introduction à JPEG2000
1.1 Modèle d’image utilisé par JPEG2000
1.2 Décalage de la composante continue
2. Transformée en couleur
3. Transformée en ondelettes
4. Quantification scalaire
5. Région d’intérêt
6. Codage entropique basé plan de bits (bit-plane) et blocs
6.1 Découpe en blocs
6.2 Modélisation binaire des coefficients
6.3 Codage arithmétique
6.3.1 Principe du codage arithmétique
6.3.2 Codeur arithmétique JPEG2000 (MQ)
6.4 Allocation binaire optimisée débit/distorsion
7. Syntaxe et ordonnancement des données codées
7.1 Ordonnancement des données
7.2 Entêtes et segments
8. Etat de l’art des implémentations JPEG2000
8.1 Implémentations logicielles et analyse des performances
8.2 Implémentations matérielles
8.2.1 Panorama
8.2.2 Critères
8.3 Applications de JPEG2000
9. Conclusion
10. Références
Chapitre III Méthodologies de Conception
1. Introduction
2. Plateformes reconfigurables
2.1 Les circuits FPGA
2.1.1 Les blocs logiques
2.1.2 Les technologies de programmation
2.1.3 L’architecture du routage
2.2 Exemple de circuit FPGA
2.2.1 Spartan-II
2.2.2 Virtex
2.2.3 Virtex-II
3. Les méthodologies de conception SOC
3.1 Le codesign HW/SW
3.2 Les algorithmes pour le partitionnement HW/SW
3.2.1 L’algorithme GCLP
3.2.2 L’algorithme MAGELLAN
3.2.3 L’algorithme MIBS
3.2.4 L’algorithme COSYN
3.2.5 L’algorithme MOGAC
3.2.6 Autres algorithmes
3.2.7 Quelques résultats
3.3 Classification des méthodologies de conception
3.3.1 Timing-Driven Design
3.3.2 Block-Based Design
3.3.3 Platform-Based Design
4. Flot de conception SOPC (System On Programmable Chip)
4.1 Les aspects généraux
4.2 La reconfiguration dynamique : un nouveau défi
5. Conclusion
6. Références
Chapitre IV Evaluation de Performances
1. Introduction et Motivations
2. Evaluation de JPEG2000 sur les plateformes Intel
2.1 Microarchitecture des Processeurs Intel Pentium II, III et 4
2.1.1 Intel Pentium II
2.1.2 Intel Pentium III
2.1.3 Intel Pentium 4
2.2 Compilateur Microsoft Visual C++ v.6.0.et Optimisations
2.3 Analyse de Performances avec Vtune
2.4 Méthodologies et Plateformes Utilisées
2.4.1 Méthodologie d’analyse et Base de données d’images
2.4.2 Caractéristiques des Plateformes Utilisées
2.5 Résultats
2.5.1 Temps d’exécution Application/Systèmes et Instructions par Cycle
2.5.2 Impact des Caches L1 et L2 (Cache Miss Ratios)
2.5.3 TLB (Translation Lookaside Buffer)
2.5.4 Impact de la Prédiction de Branchements
2.5.5 Distribution Dynamique des Instructions et Taux d’utilisation des unités fonctionnelles
2.5.6 Pentium 4 et Trace Cache
2.5.7 Variation du nombre de cycles par pixel.
2.6 Discussion
3. Utilisation des librairies SIMD specialisées IPP 3.0
3.1 Analyse des performances
3.2 Images de test
3.3 Résultats
3.3.1 Nombre de cycles
3.3.2 µOpérations effectuées
3.3.3 Nombre moyen de threads en cours d’exécution
3.3.4 Nombre moyen de threads en attente d’exécution au sein du processeur
3.3.5 Occupation du processeur
3.3.6 Répartition de la charge des codeurs entropiques
4. Evaluation sur plateformes multimédia et DSP
4.1 Evaluation sur les processeurs TriMedia de Philips
4.1.1 La famille TriMedia
4.1.2 L’environnement SDE (Software Development Environment)
4.1.3 Les mesures de performances
4.2 Evaluation sur le DSP de Texas Instruments
4.2.1 Le DSP TMS320C6711
4.2.2 Code Composer Studio™ v2
4.2.3 Quelques exemples d’utilisations du DSP
5. Discussion
6. Conclusion
7. Références
Chapitre V Conclusion

Rapport PFE, mémoire et thèse PDFTélécharger le rapport complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *