Web Analytics
Privacy Policy Cookie Policy Terms and Conditions JPEG 2000 - Wikipédia

JPEG 2000

Un article de Wikipédia, l'encyclopédie libre.

Vous avez de nouveaux messages (diff ?).

JPEG 2000 ou ISO/CEI 15444-1 est une norme commune de l'ISO et de l'UIT-T. C'est un standard de compression d'images défini par le comité Joint Photographic Experts Group. JPEG 2000 est capable de travailler avec ou sans pertes, utilisant une transformation en ondelettes (méthode d'analyse mathématique du signal). En compression irréversible, JPEG 2000 est plus performante que la méthode de compression JPEG ISO/CEI 10918-1 (le JPEG classique). On obtient donc des fichiers d'un poids inférieur pour une qualité d'image égale. De plus, les contours nets et contrastés sont mieux rendus.

La norme est divisée en 12 sous-parties. Bien que l'appelation JPEG 2000 couvre l'ensemble de ces sous-parties, c'est en général à la première partie que l'on fait référence, le "cœur" du système. JPEG normalise uniquement l'algorithme et le format de décodage. Le processus de codage est laissé libre à la compétition des industriels et universitaires, du moment que l'image produite est décodable par un décodeur standard. La norme propose un jeu de fichiers de tests appelés fichiers de conformance qui permettent de vérifier qu'un décodeur respecte bien la norme. Un décodeur est alors dit conforme s'il est capable de décoder tous les fichiers de conformance. C'est l'objet de la partie 4 du standard.

  • Partie 1 : cœur du système de codage
  • Partie 2 : extensions
  • Partie 3 : Motion JPEG 2000
  • Partie 4 : conformance
  • Partie 5 : logiciel de référence
  • Partie 6 : compound image file format
  • Partie 7 : a été abandonnée
  • Partie 8 : JPSEC sécurité
  • Partie 9 : JPIP protocole interactif
  • Partie 10 : JP3D imagerie volumétrique
  • Partie 11 : JPWL wireless
  • Partie 12 : ISO Base Media File Format (commun avec MPEG-4)

Les performances en compression de JPEG 2000, bien que meilleures que JPEG à bas débit ne sont pas révolutionnaires. Ce sont plutôt la multitude de nouvelles caractéristiques telles la scalabilité, les régions d'intérêt, la résistance aux erreurs de transmission, le codage sans pertes, la versatilité de l'organisation du codestream, ainsi que les diverses extensions visant une application (interactivité, sécurité, sans fil, etc.) qui font l'intérêt de la norme.
De par ses fonctionnalités avancées, sa capacité à gérer les images de grande taille, ainsi que d'excellentes performances à haut débit, JPEG 2000 a un fort potentiel pour les professionnels de l'image. Sa carrière dans le grand public risque par contre d'être moins brillante que celle de son prédécesseur JPEG.

Sommaire

[modifier] Principe général

Le processus de codage suit un schéma classique de modification des propriétés statistiques des données source par un changement d'espace par une transformée, avant quantification des coefficients issus de cette transformée puis codage entropique. Les nouveautés par rapport à JPEG du point de vue compression sont l'utilisation d'une transformée en ondelettes, qui offre une scalabilité naturelle, mais surtout d'un algorithme de codage entropique très sophistiqué. Celui-ci est fortement basé sur l'algorithme EBCOT de David Taubman . Il consiste en un regroupement et une modélisation des coefficients ondelettes qui fournissent à un codeur arithmétique adaptatif un train binaire possédant les propriétés statistiques adéquates.
Il s'ensuit une étape d'allocation de débit qui permet de respecter le débit cible, et dont le travail est facilité par le partitionnement du train binaire formé par EBCOT. La dernière étape est la mise en forme syntaxique du codestream JPEG 2000, avec la formation des paquets, puis la syntaxe haut niveau, particulièrement abondante dans JPEG 2000.

[modifier] Pré-processing

[modifier] 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.

[modifier] 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.

[modifier] Transformée couleur

La transformée couleur est optionnelle. Elle consiste à passer de l'espace couleur de l'image d'origine (RGB 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 entiers, et une réversible (RCT pour Reversible Component Transform) à coefficients réels. 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.

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

[modifier] 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".

[modifier] Quantification

Le standard JPEG 2000 utilise un quantificateur scalaire uniforme à zone morte. La quantification vectorielle bien que théoriquement plus performante est considérée comme trop coûteuse. Le quantificateur scalaire uniforme est au contraire extrèmement simple d'implémentation et peu coûteux.

L'intérêt de la zone morte provient des très nombreux coefficients ondelettes non-nuls mais proches de zéro. Ces coefficients n'apportent que très peu d'information pertinente, et leur codage entropique impliquerait un important sûrcout au vu de la qualité gagnée. La zone morte permet donc de se débarasser de ces coefficients en les quantifiant à zéro.

[modifier] Codage entropique

[modifier] Allocation de débit

[modifier] Mise en forme et syntaxe

[modifier] Régions d'intérêt

Une région d'intérêt (ROI pour Region Of Interest) est une région de l'image qui est codée avec une plus grande précision, en général parce que cette région présente un intérêt particulier (ex : visage, plaque d'immatriculation...). Cette plus grande précision se fait au détriment des autres zones de l'image qui sont alors compressées à un taux inférieur et donc dégradées. La sélection du ROI est faite par l'utilisateur, donc en général manuellement, mais il existe des algorithmes qui permettent une extraction automatique des ROI. Ces algorithmes ne font pas partie de JPEG 2000.

[modifier] Résistance aux erreurs

Une originalité de JPEG 2000 est d'inclure des outils de résistance aux erreurs de transmission. Le problème vient essentiellement du codeur arithmétique car un seul bit erroné entraîne le décodage d'une mauvaise séquence. Par défaut, le codage arithmétique agit en effet sur un code-bloc. En cas d'erreur (un seul bit erroné suffit) c'est l'ensemble du code-bloc qui est perdu. Afin de limiter les effets de ces erreurs, la norme propose plusieurs outils, dont la philosophie est essentiellement de compartimenter les mots de codes ou de réduire leur longueur afin d'éviter la propagation des erreurs ou de limiter leurs effets.

Les outils proposés sont les suivants :

  • Marqueur de segment

Ces marqueurs sont insérés après chaque plan de bit et sont codés arithmétiquement. Leur bon décodage indique que le plan de bit courant a été correctement décodé. Inversement, si le marqueur n'est pas trouvé, le plan de bit sera considéré comme erroné et donc supprimé.

  • Terminaison à chaque passe

C'est un moyen de limiter la propagation des erreurs, en compartimentant les données de façon fine (à chaque passe). Le décodeur arithmétique peut ainsi continuer le décodage en cas d'erreur.

  • Marqueur de resynchronisation (SOP/EPH)

Ces deux marqueurs indiquent le début et la fin de chaque paquet et permettent au décodeur de se synchroniser grâce au numéro de paquet inclus dans ces marqueurs. Il s'agit ici de marqueurs de syntaxe (non codés arithmétiquement) et dont la gestion est propre à chaque décodeur.


À noter que ces outils ne suffisent pas pour une transmisson sans fil. Des méthodes spécifiques ont été développées dans la partie 11 du standard, JPEG 2000 Wireless (JPWL).

[modifier] Références

  • David Taubman, Michael Marcellin, JPEG2000 Image Compression Fundamentals, Standards and Practice,

Series : The International Series in Engineering and Computer Science, 2002, 800 p., ISBN 079237519X

[modifier] Voir aussi

[modifier] Liens externes

Voir aussi sur Wikilivres :
Le format JPEG 2000.


Série JPEG
Groupe JPEG JFIF JPEG-LS Compression JPEG JPEG 2000 Compression par ondelettes
Portail de l'informatique – Accédez aux articles de Wikipédia concernant l’informatique.
THIS WEB:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia 2006:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu