Vous êtes sur la page 1sur 11

Premire approche de JPEG 2000

Club Photoshop 4 septembre 2003

58, Bd Henri Dunant Btiment A 91100 Corbeil-Essonnes Tl. : 01 64 96 02 31 Mobile : 06 60 45 19 73 srenard@ruses.com www.ruses.com www.commentfaireunsite.com

Sylvain Renard

Formation et ralisations multimdias

Introduction
Je mintresse depuis longtemps la compression de donnes. Certains se souviennent peut-tre des confrences que javais faites il y a quelques annes ce sujet et dj lpoque je parlais du JPEG 2000 comme dune nouvelle norme de compression dimages qui devait tre publie trs rapidement. Nous avons beaucoup attendu mais mon avis, nous nallons pas tre dus. On ma demand de traiter du JPEG 2000 au cours de cette sance qui est galement consacr Acrobat 6. Quel est le rapport entre ces deux sujets ? Certes, Acrobat, comme tous les logiciels qui traitent limage va lire et crire le format JP2 mais part cette nouveaut, les deux sujets sont assez diffrents et tous les deux importants. Comment dans ces conditions traiter du JPEG 2000 ? Je crois quil y a deux approches qui viennent lesprit : dabord, celle qui ma sembl dans lesprit de la demande. Aborder JPEG 2000 de manire pratique, utilitaire, essayer de voir comment a marche et quoi a sert. Lautre, celle qui spontanment est la mienne, celle de la vulgarisation scientifique, celle qui tait la mienne dans mes confrences sur la compression de donnes est celle qui consiste comprendre en profondeur ce quest le JPEG 2000, pourquoi cette nouvelle norme apparat aujourdhui, bref replacer la norme actuelle dans son contexte scientifique, dans le contexte gnral de la compression de donnes et dans celui, encore plus vaste de lvolution contemporaine de la thorie du signal. Evidemment a nous aurait men assez loin, plus loin qu la Tour Montparnasse. A Auxerre peut-tre, en 1781, lcole militaire, l o vient darriver une jeune garon passionn par les mathmatiques qui a une curieuse habitude. Toute la journe, il ramasse tous les bouts de chandelle quil trouve et la nuit venue, quand tous ses condisciples sont couchs, il descend en salle dtudes pour rsoudre des problmes de mathmatiques. Mais laissons l ce jeune garon, il sappelait joseph Fourrier, nous le retrouverons peuttre une autre fois. Dans la grande demie-heure dont je dispose pour voquer JPEG 2000 afin que Thierry puisse nous parler srieusement dAcrobat 6 je vais videmment men tenir lessentiel et des considrations pratiques mme si jessaierai de montrer au passage quil y aurait beaucoup dautres choses dire et des choses passionnantes sur le sujet. Je vais essayer de dire dabord ce quest JPEG 2000, cest dire une norme en cours de rdaction , ensuite jvoquerai lalgorithme novateur qui est a base du JPEG 2000, jaborderai les principales fonctionnalits de JPEG 2000 pour terminer par cette approche pratique que tous le monde attend et je rendrai compte des essais que jai effectus.

Premire approche de JPEG 2000 - Sylvain Renard - Septembre 2003. Page 2

Une norme en cours de rdaction


JPEG 2000 est donc un nouveau systme de codage dimages qui utilise les connaissances actuelles dans le domaine de la technologie des ondelettes. Prcisons, au coeur de JPEG il y a la transforme de Fourrier discrte. Au coeur de JPEG 2000, il y a une dcomposition en ondelettes. Le principe mme du codage est diffrent. JPEG 2000 nest pas une amlioration de JPEG, il constitue une autre manire danalyser, de dcomposer limage pour la compresser avec ou sans pertes en apportant des fonctionnalits compltement nouvelles, en particulier pour les transmissions faible bande passante. Cette nouvelle norme est compose de 11 parties dont certaines sont publies et dautres non. Passons les en revue rapidement : La premire partie est publie par lISO, elle dfinit lalgorithme de dcodage, le format de ce quon appelle le codestream et le format JP2 qui permet dencapsuler le codestream. La deuxime partie dfinit les extensions de la partie 1. Cest ici par exemple quon dfinit toutes les possibilits dans le domaine des mtadonnes. Cette partie devrait paratre trs rapidement. La troisime partie sappelle Motion JPEG 2000. Elle dfinit un format de codage de squences audiovisuelles en tant que succession dimages compresses par un systme respectant la partie 1 de la norme. Cette partie a t publie, cest une norme ISO. La quatrime partie dfinit les rgles de compatibilit avec la norme JPEG 2000. Elle est maintenant publie avec une srie de fichiers de test. La cinquime partie est constitu de logiciels de rfrence. Sa publication est imminente; Il existe en particulier deux implmentations de JPEG 2000, lune en C (projet Jasper), lautre en Java (projet JJ2000). La sixime partie dfinit un format de fichier pour les images dites compound cest dire compose la fois de textes, dimages, de graphiques Cette partie est au stade de la pr-publication. La septime partie aurait d dfinir un support minimal de compatibilit pour les appareils a puissance limit. Elle a apparemment t abandonne en cours de route et ne sera pas publie. La huitime partie (JPSEC), consacre aux problmes de scurit, a t lance en dcembre 2001 Sidney. Aucune version prparatoire nest encore publie. La neuvime partie (JPIP) consacr aux outils dinteractivit, aux API et protocoles a t lance en mars 2003 Soul. Elle en discussion. La dixime partie, JP3D, a t lance en dcembre 2001 Sidney. Aucune version prparatoire nest encore publie. La onzime partie, JPWL, a t lance en dcembre 2001 Sidney. Aucune version prparatoire nest encore publie. La douzime partie (ISO Base Media File Format) qui est en fait une modification de la partie trois est en cours dlaboration.
Premire approche de JPEG 2000 - Sylvain Renard - Septembre 2003. Page 3

Nous sommes donc devant une norme dune grande ampleur dont certaines parties seulement sont publies, il faudra plusieurs annes pour terminer ce travail. Dautre part la norme nest pas constitue de logiciels directement utilisables. Un gros effort doit tre fait par les industriels pour dvelopper les logiciels et les dispositifs matriels qui utiliseront le JPEG 2000. Mon sentiment est que cette technologie arrivera maturit vers 2008 et quelle sera couramment utilise dans la dcennie qui suivra.

Un algorithme novateur
Lalgorithme utilis par JPEG 2000, en fait une succession dalgorithmes, peut se dcomposer, en premire analyse, comme le montre le schma suivant :

Transforme couleur
Cette phase est optionnelle mais si limage est en RVB on la convertit gnralement dans un espace luminance/chrominance car cette reprsentation est plus favorable la compression.

Transforme en ondelette discrte


Cest ici que lalgorithme de JPEG 2000 est radicalement diffrent de celui de JPEG. Alors que le JPEG utilisait une transforme de Fourrier discrte, JPEG 2000 utilise les ondelettes. On peroit ici, dans notre domaine, lvolution de la thorie du signal qui sest considrablement dveloppe ces dernires annes. Limage subit une srie de dcomposition grce des filtres. Pour donner une ide grossire du travail effectu on peut dire que limage est divise dabord en tuiles de taille fixe. Chaque tuile est rchantillonne de manire ce que longueur et largeur soient divises par 2. Les informations perdues dans lopration sont enregistres sous forme de coefficients dondelettes. On recommence ensuite lopration avec la nouvelle image et ainsi de suite tant quil reste des pixels. La mthode est lgrement diffrente selon que lon comprime avec ou sans perte (ce nest pas la mme ondelette qui est utilise). On obtient ainsi une srie ordonne de coefficients qui dcrivent limage.

Quantification
Quand on code avec pertes, la prcision sur les coefficients dondelettes obtenus ltape prcdente est rduite par ce quon appelle une quantification scalaire uniforme. Disons quon ne conserve quun ordre de grandeur plus ou moins prcis des coefficients.
Premire approche de JPEG 2000 - Sylvain Renard - Septembre 2003. Page 4

(Prcisons que la norme permet daffecter un pas de quantification diffrent chaque sous-bande). Si lon code sans perte, aucune quantification nest applique (le pas de quantification est gal 1).

Codage entropique
Il sagit maintenant dappliquer un codage sans perte aux donnes obtenues. Disons pour faire bref, que JPEG utilise ce qui se fait de mieux dans le genre, a sappelle un codage arithmtique adaptatif avec contexte.

Allocation de dbit
Il sagit de fabriquer les paquets de donnes conformes la norme qui seront ensuite enregistrs dans un fichier pour souvent tre placs sur un serveur. Chaque paquet va correspondre un layer (un niveau de qualit) dun niveau de rsolution dune composante de limage. Il comporte un en-tte qui identifie prcisment son contenu et permet laccs facile aux donnes dans le codestream. Enfin on va placer ces paquets de donnes les uns la suite des autres derrire un en-tte qui prcisera les paramtres de codage et lordre des paquets dpendra du type de progression dsire (par rsolution ou par layers et en tenant compte des rgions dintrt). Il est important de noter, mme si ces possibilits ne sont pas encore exploites, quil est toujours possible de modifier sur le serveur lordre dans lequel les paquets dun mme codestream sont envoys vers le dcodeur du client. Notons au passage que le JPEG 2000 demande de 2 6 fois plus de calculs que le JPEG. Ceci peut paratre un grave inconvnient mais, loi de Moore oblige, la puissance de nos ordinateurs a t multiplie environ par 100 depuis la cration du JPEG, il ny a donc pas trop de raisons de sinquiter.

Des fonctionnalits complexes


Voici les diffrentes caractristiques du JPEG 2000 qui en font sa spcificit et son intrt : 1. Dcodage progressif. Par nature les codestream JPEG 2000 sont rsolutions multiples. Limage sy trouve compresse rsolution par rsolution sans redondance. On peut donc utiliser la rsolution la plus approprie au systme daffichage. Il est aussi possible dordonner linformation dans le codestream de manire croissante en qualit grce au concept des layers ou encore de grouper linformation par rapport la position quelle occupe dans une rsolution de limage. 2. Les rgions dintrt. (ROI Region Of Interest). La norme permet une affectation htrogne du budget de qualit dune image. On pourra dcider quune zone de limage, de forme rectangulaire ou elliptique, doit tre privilgie par rapport au reste de limage en tant reproduite avec moins de perte voire mme sans pertes. 3. Codage avec ou sans pertes. Il faut insister sur le fait que le mme algorithme permet de compresser avec ou sans perte. Nous verrons dailleurs tout lheure que la compression sans pertes de JPEG 2000 est trs intressante et mon avis promise un
Premire approche de JPEG 2000 - Sylvain Renard - Septembre 2003. Page 5

grand avenir. 4. Dtection derreurs en milieu bruit. Les codestream JPEG 2000 sont trs rsistants et la norme a prvu un systme de dtection derreur trs efficace. 5. Accs alatoire aux diffrentes zones de limage. Il est possible de ne dcoder quune certaine zone dune image quand elle est trs grande. 6. Traitement dune grande varit de types dimages. La norme JPEG 2000 sapplique aux images photographiques en couleurs mais aussi aux images en niveaux gris et aux images composes de zones diffrentes. 7. Compatibilit avec les profils ICC. JPEG 2000 emporte des informations prcises sur les couleurs et est en particulier compatible avec les profils ICC qui sont devenus incontournables dans le pr-presse. 8. Mtadonnes. JPEG 2000 permet denregistrer des mtadonnes trs varies grce a un systme optionnel perfectionn. 9. Images 32 bits. JPEG 2000 contrairement JPEG permet de traiter des images 32 bits. 10. Transparence. Contrairement JPEG, JPEG 2000 permet denregistrer une image comportant de la transparence.

Premire approche pratique


Nous nous sommes livrs quelques essais en utilisant 2 logiciels disponibles actuellement sous forme de plug-ins Photoshop (utilis ici dans sa version 7 sur Macintosh). Le plug-in j2kf de fnord (www.fnordware.com) est simple demploi et noffre que peu doptions. Il est fourni en trois versions pour les utilisateurs de Mac. Lune (Hybrid) convient pour toutes les versions de Photoshop (Classic ou Carbon), cest celle que nous avons test. La deuxime (Carbon) convient After Effects 5.5. La troisime (Classic) convient After Effects 5.0. Ce plug-in permet de sauvegarder avec ou sans perte. Si on sauvegarde avec pertes, on peut paramtrer la compression de deux manires, en choisissant la taille du fichier souhait ou en choisissant un coefficient de qualit de 1 100. A noter que le format jp2 requiert un profil ICC, il ne faut donc pas oublier de cocher dans Photoshop la case de la fentre denregistrement qui permet de joindre le profil. En faisant option-click sur le bandeau suprieur on accde 2 options supplmentaires. La premire permet denregistrer limage compresse sans len-tte du jp2 et sans profil ICC. Cette option parat inutile. La deuxime permet de dterminer le nombre des niveaux de qualit (il sagit dune notion analogue celle des niveaux dans le JPEG progressif). Ce paramtrage na pas dimpact sensible sur le poids des fichiers. On gardera la valeur propose par dfaut (12) en ltat actuel de nos connaissances. Ce plug-in utilise la bibliothque kakadu de David Taubmann, lun des rdacteurs de
Premire approche de JPEG 2000 - Sylvain Renard - Septembre 2003. Page 6

la norme JPEG 2000 (http://www.kakadusoftware.com/) Le plug-in JPEG 2000 fourni avec Camera Raw dAdobe prsente plus doptions. Il permet bien entendu de choisir entre enregistrement avec ou sans pertes. On peut choisir ou non dinclure les mtadonnes, les informations de couleurs, la transparence et de rendre ou non le fichier compatible jp2 car ce plug-in utilise un format qui lui est propre le jpf. Un bouton permet daccder des fonctions avances : type de coefficients utilis pour la transformation en ondelettes, inclusion des mtadonnes de type JPEG 2000 XML, XMP et EXIF, type des informations de couleurs embarques et taille des tiles utilis pour dcomposer limage. Ces diffrentes options sont intressantes mais dutilit relative actuellement, disons quelles prparent lavenir. On peut galement dfinir dans quel ordre les informations sur limages seront transmises pour dcodage (par niveaux de qualit, par progression de la taille de limage ou par transmission progressive des informations de couleur. Dans le cas o on compresse avec perte il est possible de demander lutilisation dune rgion dintrt en slectionnant une couche quon aura pris soin de crer au pralable dans Photoshop (Attention le plug-in ne se charge pas de cette tche) et en donnant un pourcentage damlioration pour la rgion ainsi dfinie. Une zone de prvisualisation permet de choisir un dbit de transmission et de lancer une prvisualisation. Cette possibilit nous a sembl intressante.

Test 1. Enregistrement en JPEG 2000 sans perte.


Nous utilisons une premire image photographique de 10 Mo en RVB. Elle a t traite normalement (niveaux + nettet). Les tailles de fichier obtenus figurent dans le tableau suivant (on indique la taille en octets des fichiers, leur taille en Mo et le pourcentage de cette taille par rapport la taille du fichier Photoshop : PSD 10 609 617 10,1 Mo 100 % TIFF LZW 7 076 277 6,7 Mo 66,7 % TIFF ZIP 6 343 873 6 Mo 59,8 % PNG 5 659 929 5,4 Mo 53,3 % jp2 4 893 189 4,6 Mo 46,1 %

Nous utilisons une deuxime image photographique en niveaux de gris de 12 Mo. Les tailles de fichier obtenus figurent dans le tableau suivant (on indique la taille en octets des fichiers, leur taille en Mo et le pourcentage de cette taille par rapport la taille du fichier Photoshop : PSD 12 599 232 12 Mo 100 % TIFF LZW 7 805 917 7,4 Mo 62 % TIFF ZIP 7 154 621 6,8 Mo 56,8 % PNG 6 764 053 6,4 Mo 53,6 % jp2 5 038 368 4,8 Mo 40 %

Dans les deux cas tudis (et dans tous nos autres essais) le JPEG 2000 apparat comme une excellente mthode pour enregistrer les images sans perte. Il permet dobtenir des rsultats meilleurs que le traditionnel TIFF dans ses deux variantes et mme que le PNG
Premire approche de JPEG 2000 - Sylvain Renard - Septembre 2003. Page 7

plus rcent bien que peu employ. Cette utilisation, bien quun peu inattendue des professionnels, me parat devoir retenir notre attention.

Test 2. Enregistrement en JPEG 2000 avec pertes.


Nous utilisons la premire image utilise ci-dessus et la compressons en JPEG avec ImageReady avec un facteur de qualit de 80 (enregistrement pour le print). Nous obtenons un fichier de 1 137 633 octets (1 Mo) soit 10,7 % du poids du fichier Photoshop. Nous utilisons le plug-in JPEG 2000 de CameraRow pour obtenir un fichier de taille voisine en JPEG 2000 (taille du fichier 1 094 192 octets). La comparaison des deux images obtenues dans Photoshop est difficile, elles sont toutes les deux de bonne qualit comme on pouvait sy attendre. Elles paraissent identiques quand on les observe 100 %. A un fort grossissement (400 %) limage JPEG 2000 semble lgrement plus floue. Une approche quantitative est tente. Les images compresses sont superposes limage originale sur un calque mis en mode diffrence, limage obtenue est aplatie et son histogramme est tudi. Il permet dtudier pour la luminosit et couche par couche la distribution des valeurs absolues des diffrences entre les pixels des images. Nous connaissons les critiques que lon peut faire de cette mthode mais cest la seule qui peut-tre tente dans le cadre de cette premire approche. Dan le cas de limage JPEG, pour la luminosit la moyenne est de 1,44 et lcart type est de 0,90. Les rsultats pour les 3 couches sont les suivants : Couche rouge : moyenne 1,88, cart type 1,76 Couche verte : moyenne 1,10 cart type 0,97 Couche bleue : moyenne 2,07 cart type 1,78 Ces rsultats excellents corroborent limpression visuelle. Lexamen de la rpartition spatiale des carts limage originale nest pas homogne sur la surface de limage comme la thorie permettait de le prvoir mais son htrognit est relative (toute limage est concerne). Dans le cas de limage JPEG 2000, pour la luminosit la moyenne est de 1,69 et lcart type de 1,23. Les rsultats pour les 3 couches sont les suivants : Couche rouge : 2,05 cart type 2,03 Couche verte : 1,47 cart type 1,31 Couche bleue : moyenne 1,91 cart type 1,73 Ces rsultats sont en accord avec limpression visuelle obtenue mais ils sont assez drangeants puisquils donnent un lger avantage au JPEG sur le JPEG 2000. Ils doivent tre nuancs par plusieurs considrations : - la mthode utilise est loin dtre parfaite - Il est peu probable que le logiciel utilis mette en oeuvre un codeur optimal. - Nous ne nous intressons ici quau rsultat lcran. Un protocole de comparaison srieux intgrerait le processus de tramage. Le mme travail a t effectu avec la mme image mais rchantillonne 200 pixels de largeur. On est ici dans le cas dune image utilise sur Internet.
Premire approche de JPEG 2000 - Sylvain Renard - Septembre 2003. Page 8

Limage originale fait 244 ko, en JPEG qualit 30, on obtient avec ImageReady un fichier de 6 573 octets tout fait compatible en poids et en qualit avec Internet. Nous avons rencontr des difficults inattendues pour obtenir un fichier jp2 de mme taille alors que la thorie nous enseignait que cela devait tre trs facile et quil tait normalement possible dobtenir des rsultats beaucoup plus spectaculaires. En effet en enregistrant comme pour le test 1 notre image de 244 ko avec nos plug-ins nous avons obtenu 56 600 octets. Aprs avoir modifi les options du plug-ins sans succs et pris un caf, nous avons trouv les responsables qui sont Photoshop 7 et Mac OS X. Par dfaut Photoshop joint en effet aux donnes de limage proprement dite licne, une vignette Macintosh et une vignette Windows. Les rsultats samliorent en dcochant les 3 cases correspondantes dans le panneau Gestion des fichiers des prfrences mais le rsultat reste tonnant 17 186 octets en utilisant la compression maximum. Nous notons que le mme fichier plac sur un serveur LINUX subit une cure damaigrissement qui lamne au poids record de 2 Ko. Le plug-in nest pas en cause. Nous avons test lutilisation dImageReady (en faisant exporter), le rsultat est meilleur et on obtient un fichier dune taille apparente de 3 325 octets en utilisant la compression maximum du JPEG 2000. Pour obtenir un rsultat sr et rapidement vrifiable nous sommes passs sous Windows XP o nous avons fabriqu avec le logiciel Morgan un fichier de 6 423 octets de taille trs proche de notre fichier JPEG. En tous cas ils occupent tous les deux 6 ko sur un serveur LINUX. La comparaison visuelle des deux images 100 % donne cette fois-ci un lger avantage au JPEG 2000. Les matrices 8 x 8 utilises par la transforme de Fourrier discrte crent un lger bruit qui nexiste pas sur limage JPEG 2000. A 200 % (mais est-bien raisonnable ?) limage JPEG apparat dtriore par les matrices qui deviennent lgrement visibles. Limage JPEG 2000 est meilleure mais lgrement plus floue que loriginal En rsum, les images JPEG 2000 prsentent une meilleure qualit loeil et leur utilisation sur Internet parat souhaitable ds que les navigateurs les accepteront. Elles devraient permettre une diminution modre mais relle du poids des fichiers images. En utilisant la compression JPEG 2000 au maximum on obtient un fichier de 2 Ko (moins de 1,5 %). Limage nest pas utilisable mais elle est reconnaissable et ce niveau , JPEG a dclar forfait depuis longtemps.

Test 3. Enregistrement des images en 32 bits.


Photoshop est un des rares logiciels qui permet de traiter des images en 32 bits. Peu de formats supportent cette caractristique. On ne peut enregistrer les images en 32 bits quen PSD en Brut, ou en TIFF. Le format jp2 est maintenant disponible. Nous avons vrifi que les plug-ins permettaient de compresser des images 32 bits. Rappelons que JPEG noffre pas cette possibilit.

Test 4. Enregistrement dune image avec transparence.


Nous avons pu enregistrer sans problme une image Photoshop comportant de la transparence. Cest une possibilit trs intressante dont ne disposait pas JPEG.

Premire approche de JPEG 2000 - Sylvain Renard - Septembre 2003. Page 9

Pour aller plus loin


Livres
Taubman, D. and Marcellin, M. JPEG2000 : Image compression fundamentals, standards and practice Boston. November 2001 Kluwer Academic Publishers, 795 pages. Le seul livre notre connaissance disponible sur le JPEG 2000. Pour les passionns, par lun de ceux qui ont construit la norme. MALLAT Stphane Une exploration des signaux en ondelettes Les ditions de lcole Polytechniques Paris. 2000 ISBN : 2-7302-0733-X Un livre remarquable mais un livre de mathmatiques rserv aux ingnieurs ou aux tudiants partir de Bac + 4. Un expos aux frontires de la recherche de ltat actuel de la thorie des ondelettes. BURKE HUBBARD Barbara. Ondes et ondelettes. La saga dun outil mathmatique. Pour la science. Paris 1995 ISBN : 2-9029-1890-9 Un vritable outil de vulgarisation scientifique avec plusieurs niveaux de lecture. Ouvrage remarquable qui ne nglige pas les aspects humains et rend passionnant la saga en cause.

Sites
Nous publierons prochainement sur notre site une liste de liens. Le meilleur point dentre est bien entendu le site officiel du groupe JPEG : http://www.jpeg.org/

Premire approche de JPEG 2000 - Sylvain Renard - Septembre 2003. Page 10

Conclusion
Le JPEG 2000 constitue une tape importante dans les procds de codage de limage numrique en gnral. Cette norme va probablement simposer et remplacer notre vieux JPEG qui nous aura rendu service pendant plus de 10 ans. Cette volution sera plus lente quon pouvait le penser pour plusieurs raisons. Elle ncessite la modification de nombreux logiciels et de nombreux dispositifs matriels. La mise en oeuvre de JPEG 2000 nest pas aise car il utilise des algorithmes nouveaux et des connaissances rcentes que les ingnieurs nont pas appris pendant leur formation. Le format jp2 qui est pour notre profession la manifestation pratique de la norme est un format trs prometteur pour le stockage dimages sans perte. Pour lenregistrement avec pertes, les tests effectus ne permettent pas de confirmer les espoirs, sans doute excessifs, quavaient suscits les annonces et les publicits. On constate nanmoins une amlioration par rapport au JPEG. Cette amlioration devrait tre plus nette avec lapparition de codeur optimaux. Elle semble dautant plus intressante que la compression est forte. Tout en apportant des gains rels en matire de compression, il nous semble que le JPEG 2000 sera surtout intressant par les nouvelles fonctionnalits quil permettra de mettre en oeuvre. Tout dpend dans ce domaine du travail dimplmentation qui va tre ralis par les diteurs de logiciels.

Premire approche de JPEG 2000 - Sylvain Renard - Septembre 2003. Page 11