JPEG 2000 - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

Transformée en ondelette

La transformée s’effectue sur chaque tuile de chaque composante. Elle s’effectue sur une grille dyadique, i.e. chaque itération des filtres d’analyse est suivie d’une décimation par 2. Elle décompose l’image en 3NL + 1 sous-bandes où NL est le nombre de niveaux de décomposition (le nombre d’itérations des filtres d'analyse). La norme prévoit un nombre de niveaux de décomposition maximal de 32.

Il est possible d’utiliser deux types de transformées en ondelettes dans JPEG 2000.

  • L’ondelette 5/3 ou de Le Gall est une ondelette dont les coefficients des filtres d’analyse sont entiers. Il y a 5 coefficients pour le filtre passe-bas et 3 pour le passe-haut. Ces filtres permettent une reconstruction parfaite et peuvent être utilisés pour une compression sans pertes.
  • L’ondelette 9/7 ou de Daubechies est à coefficients réels, avec 9 coefficients pour le passe-bas et 7 pour le passe-haut. Elle permet de meilleures performances que la 5/3 en termes de compression mais est aussi plus complexe.

JPEG 2000 permet l’implémentation de ces filtres soit par une classique convolution ou par la méthode du « lifting ».

Découpage en tuiles

Dans certains cas, il peut être intéressant de découper l’image en tuiles (de l’anglais tile : tuile, carreau). Il s’agit simplement d’un découpage rectangulaire de l’image, découpage à spécifier, qui est généralement utilisé pour compresser des images de grande taille. Les tuiles sont alors un moyen de réduire la complexité mémoire pour le codeur comme pour le décodeur, en travaillant sur des sous-images indépendantes. Les tuiles peuvent avoir un impact visuel : on perçoit parfois les bornes des tuiles (lignes horizontales et verticales sur l’image).

Par défaut, l’image entière est considérée comme une seule tuile.

Prétraitement

DC level shift

La première étape, très simple, consiste à transformer les valeurs des pixels en valeurs signées. Typiquement, on passe d’une représentation de [0 255] à [-128 127], afin d’avoir un signal centré autour de zéro.

Transformée couleur

artefacts liés à la compression JPEG 2000. Le ratio de compression est indiqué en face de chaque image

La transformée couleur est optionnelle. Elle consiste à passer de l’espace couleur de l’image d’origine (RVB en général) à l’espace couleur YUV (1 luminance, 2 chrominances) plus adapté pour la compression car les 3 composantes sont beaucoup moins corrélées.

Deux transformées sont spécifiées : une irréversible (ICT pour Irreversible Component Transform), à coefficients réels, et une réversible (RCT pour Reversible Component Transform) à coefficients entiers. L’intérêt de la RCT est d’être utilisée en combinaison avec la transformée en ondelette réversible 5/3 pour la compression sans pertes.

Bien que la RCT puisse être utilisée pour du codage avec pertes, c’est généralement l’ICT qui est utilisée car elle donne de meilleurs résultats.

Codage entropique

Le codage entropique s'effectue indépendamment sur un code-bloc, un ensemble de coefficients d'ondelettes quantifiés d'une sous-bande. Le codage est constitué de deux étapes.

La première étape est l'algorithme EBCOT (Embedded Block Coding with Optimal Truncation), inventé en 1998 par David Taubman. Cet algorithme est un codeur par plan de bits. Chaque plan est encodé en trois passes : une passe de propagation de la signifiance (Significance Propagation), une passe d’affinage de l’amplitude (Magnitude Refinement), et une passe de nettoyage (Cleanup).

La deuxième étape consiste en un codage arithmétique de la sortie EBCOT, par un codeur arithmétique dit codeur-MQ.

Cette partie de la norme est la plus consommatrice en CPU.

Page générée en 0.238 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales
Version anglaise | Version allemande | Version espagnole | Version portugaise