Limage manipule - PowerPoint PPT Presentation

1 / 68
About This Presentation
Title:

Limage manipule

Description:

Chapitre 2 : compressions d'images num riques. Pierre Courtellemont ... UE libre UFR Sciences L'image manipul e. Laboratoire d'Informatique. et d'Imagerie ... – PowerPoint PPT presentation

Number of Views:105
Avg rating:3.0/5.0
Slides: 69
Provided by: pierrecour
Category:

less

Transcript and Presenter's Notes

Title: Limage manipule


1
  • Limage manipulée
  • Chapitre 2 compressions dimages numériques
  • Pierre Courtellemont / Laurent Mascarilla
  • L3i Département Informatique
  • pcourtel_at_univ-lr.fr

2
  • Compression avec et sans perte
  • Une image, un son, peuvent être enregistrés ou
    transférés sous une forme plus compacte, en
    saccordant de perdre un peu de linformation
    quils transportent la partie la moins
    importante pour lil ou loreille.
  • Ces procédés de compression font appel à des
    modèles psychoacoustiques ou psychovisuels. Pour
    appliquer ces modèles, on est la plupart du
    temps, contraint à changer lespace de
    représentation. Ainsi, on utilise des
    transformées (FFT, DCT, DWT) qui permettent
    deffectuer les suppressions dans le domaine
    fréquentiel.
  • Mais on utilise aussi tous les artifices qui
    permettent de compacter linformation en recodant
    intelligemment les données en fonction de
    linformation quelles véhiculent.

3
Exemple. Reprenons limage déjà utilisée
Réduite à 800600 pixels, limage couleur
nécessite 1 440 000 octets soit environ 1,37
Mo. Enregistrons la en JPEG qualité 20 (sur une
échelle de 0 à 100). Limage présente il est vrai
quelques artéfacts.
4
Limage fait maintenant 21 ko. (21 113 octets
exactement) Cherchons à calculer quelle place
peut prendre 1 pixel de cette image. 21 113 8
(bits) / 800 / 600 0.35 bit / pixel Comment
est-il possible de coder autant de couleurs
possibles sur 0.35 bit (soit moins de 1 bit qui
ne permet que de coder que du noir OU du blanc
? Bien sûr, il sagit dun calcul de moyenne
une partie dimage uniforme (1 seule couleur)
peut se coder par 2 valeurs la première codant
la couleur, la seconde le nombre de pixels ayant
cette même couleur. Mais on saperçoit vite que
cela ne suffit pas pour arriver à 0.35 bit on
naurait que quelques couleurs dans limage
5
Pour arriver à un tel résultat, on a été obligé
de perdre une certaine quantité dinformation, la
moins importante pour lil. Peut-on prévoir
jusquoù il est possible de descendre SANS perte
? Cest lobjet de la théorie de linformation
6
  • Approche intuitive de lInformation
  • On ne peut pas prévoir lévolution ultérieure
    dune grandeur aléatoire !
  • La connaissance de sa valeur à linstant présent
    apporte donc un renseignement, on dit que le
    signal transporte de linformation.
  • Les images, les sons peuvent être perçues comme
    une suite de données apportant plus ou moins
    dinformation en fonction de la probabilité
    quont les  événements  de se produire.
  • Plutôt que sur une suite de valeurs de pixel
    dune image, on va raisonner sur les caractères
    dun texte quelconque.
  • Dans un texte français, toutes les lettres nont
    pas la même probabilité dapparaître. Pourtant,
    dans un texte non compressé, toutes les lettres
    prennent la même place (1 octet).

7
  • Lidée est de coder différemment les données si
    une lettre intervient très souvent, on la code
    par un code le plus court possible (sur 1 bit,
    ou 2 bits par exemple). Ce qui veut dire quil
    faudra prévoir des codes plus longs pour dautres
    lettres, mais ce qui nest pas grave si ces
    lettres sont peu nombreuses.
  • On va essayer de formaliser tout cela en
    cherchant une définition de linformation.
  • Cette grandeur, que lon perçoit de façon
    intuitive, nest pas facile à définir
    quantitativement, il est cependant naturel de lui
    attribuer certaines propriétés
  • - cest une grandeur toujours positive,
  • - elle est additive, toute contribution du signal
    apporte une quantité dinformation qui sajoute à
    celle que lon possède déjà,
  • - elle est liée à la probabilité associée à
    lévènement la quantité dinformation doit être
    dautant plus grande que la probabilité est
    faible.

8
Remarque information ou incertitude ? Il
sagit bien de la même notion abordée dun point
de vue différent - a priori, par l'incertitude
qui règne sur la réalisation dun événement E, -
a posteriori, par l'information apportée par la
réalisation de cet événement. On pourra parler
dincertitude ou dinformation, ou encore de
self-information. Nous allons voir également que
linformation peut être définie comme le nombre
déléments nécessaires à la codification de
lévénement considéré, dans un code donné. (Par
exemple, le nombre de bits nécessaires au codage
de cet événement en binaire).
9
  • Prenons un exemple.
  • - Lincertitude sur le résultat de la loterie
    nationale est plus grande que celle qui précède
    un lancer de dé linformation est une fonction
    croissante.
  • Tirons une carte dans un jeu de 32 cartes puis
    lançons un dé. Linformation sajoute, alors que
    le nombre de cas possibles se multiplie
  • Inf(326) Inf(32) Inf(6)
  • Les fonctions mathématiques qui répondent à ces
    conditions sont les fonctions logarithmiques
  • Inf I(n) log(n)
  • Toutes les bases de logarithmes sont utilisables.

10
Prenons maintenant un exemple où les événements
ne sont pas équiprobables. Exemple, il y a 8
trèfles dans un jeu de 32 cartes mais 4 as
seulement. Lincertitude dobtenir un as est plus
grande que celle dobtenir un trèfle, qui a une
probabilité plus grande de sortir Linformation
diminue avec la probabilité de lévénement. Finale
ment, I log(1/p) - log(p) En codage, cest
la base 2 qui est utilisée. Linformation va
donner le nombre de bits nécessaire pour coder un
 message .
11
Exemple codage en binaire Considérons les
chiffres décimaux. Dans un nombre, tous les
chiffres ont la même chance chacun a une chance
sur 10 dapparaître dans un nombre. I - log2
(1/10) log(10) / log(2) 3,32
bits. Effectivement, si on prend 3 bits, on peut
coder 23 8 données différentes. Avec 4 bits, on
peut réaliser 16 combinaisons différentes. Il
nous en faut que 10 dans un codage à longueur
fixe, on choisira 4 mais il y a une part de
 redondance .
12
Entropie Quand les événements émis par une source
ne sont pas équiprobables, pour calculer la
quantité dinformation reçue, il faut faire une
moyenne sur tous les événements possibles si Pi
est la probabilité dun événement i, la quantité
moyenne dinformation est
Cette quantité ne dépend que de la source cest
son entropie. Une source qui transmet les
résultats obtenus par lancer de dés (Résultats
équiprobables P(i) 1/6 quelque soit i) a pour
entropie
13
Supposons le dé pipé. Les résultats ne sont plus
équiprobables, on peut montrer alors que
lentropie est plus faible  Supposons que le
chiffre 2 a 1 chance sur 2 de sortir. Les
probabilités sont alors P(1)P(3)P(4)P(5)P(6)
0.5/50.1 et P(2)0.5 et lentropie
Lentropie dune source sera maximale lorsque
tous les messages quelle émet seront
équiprobables).
14
Un exemple historique Si on considère les 26
lettres de lalphabet lespace (27 symboles),
lentropie vaut 4,75 dans le cas dune source
émettant les caractères de manière
équiprobable. Shannon a estimé les fréquences
relatives des lettres dans un texte anglais.
Après lespace 0.182, la lettre  e  est la plus
probable 0.107, puis  t  avec 0.086 jusquà
 z  avec 0.001. Avec ces chiffres, lentropie
tombe à 4,03. (un peu moins en français) Si on
tient compte des dépendances entre une lettre et
la suivante ( source markovienne dordre 2 ),
par le calcul dentropie conditionnelle, on
obtient 3,32 La prise en compte de 8 lettres
consécutives dans la langue anglaise donne une
entropie conditionnelle de 1,86. Comme 1,86/4,75
0,4 environ, la notion dentropie ( désordre)
signifie quil ne reste que 40 de  liberté  de
choisir une lettre pour écrire en anglais. Les
60 dus à la structure du langage représente la
redondance, inutile à coder.
15
A titre de curiosité XFOML RHKHJFFJUJ
ZLPWCFWCKCYJFFJEYVKCQSGHYDQPAAMKBZAACIBZLHJQD est
une séquence aléatoire, OCRO HLI RGWR NMIEL VIS
EU LL NBNESEBYA TH EEI ALHENHTTPA OOBTTVA NAH
BRL est une séquence respectant les fréquences
dapparition des lettres de la langue
anglaise. Pour réaliser une séquence
correspondant à un source markovienne dordre 2,
il faut procéder ainsi on met dans 27 urnes,
des couples de lettres. Dans une urne donnée,
tous les couples commencent par la même lettre,
la seconde dans les proportions respectant
lanalyse de la langue anglaise. Quand on tire un
couple dans une urne, on choisit comme urne
suivante celle contenant les couples commençant
par la seconde lettre du 1er tirage et ainsi de
suite.
16
ON IE ANTSOUTINYS ARE T INCORE ST BE S DEAMY
ACHIN DILONASIVE TUCOOWE AT TEASONARE FUSO TIZIN
ANDY TOBE SEACE CTISBE est une séquence obtenue
ainsi et IS NO IST LAT WHEY CRATICT FROURE BIRS
GROCID PONDENOME OF DEMONSTRURES OF THE REPTAGIN
IS REGOACTIONA OF CRE est une séquence
respectant les probabilités de triplets de
lettres (source markovienne dordre 3). On
commence à pouvoir prononcer.
17
Extension dune source Considérons une source S
à N symboles constituant un alphabet A. Les
événements de S peuvent être regroupés par blocs
de m événements. Un bloc peut alors être
considéré comme un nouveau symbole dun nouvel
alphabet B (à Nm symboles). La nouvelle source
constituée sur B est appelée extension dordre m
de S, et est notée Sm. La probabilité dun
symbole bj est donnée par 
Lentropie dun événement de Sm est lentropie
dun bloc de m événements de S  HmmH.
18
Petite parenthèse Une énigme très connue
illustrant les probabilités conditionnelles
Le jeu des 3 portes Un cadeau est derrière
lune des 3 portes. On désigne une porte. Le
présentateur (Lagaffe ?) ouvre lune des 2 autres
(il sait où se trouve le cadeau) et propose
 léchange . Faut-il changer de choix ou le
maintenir ? Et celle-ci, beaucoup plus difficile
un singe tape sur un clavier indéfiniment au
rythme de 1 touche par seconde. Verra t-on
apparaître  abracadabra  au bout dun temps
moyen plus grand, identique ou plus petit que
 abracadabrx  ?
19
Théorème du codage de source sans bruit Soit une
source sur un alphabet A et une extension Sm de
cette source sur un alphabet B. Si L(Bj) est la
longueur en bits du mot M(Bj), alors la longueur
moyenne du code est finalement 
pour le codage des blocs de m événements. La
longueur moyenne par événement est donc L/m, ce
qui mesure lefficacité du code choisi. Le
théorème peut sénoncer ainsi
20
Interprétation  Quelque soit le degré
dextension m de la source, quel que soit le code
M(Bj) utilisé, on peut toujours trouver un code
permettant à la longueur moyenne de code de
sapprocher encore plus de lentropie (sans
jamais latteindre). Sapprocher de lentropie se
fait au prix dune augmentation de lordre de
lextension (et donc dune complexité plus
grande). On retiendra simplement lentropie
constitue une borne inférieure absolue à la
longueur moyenne dun code, quelque soit ce code.
21
  • Application Codes à longueur variables (codes
     entropiques ) ou VLC (Variable Length Coding)
  • Question citer un très vieux code à longueur
    variable, qualifiable dentropique
  • Lorsque les codes sont à longueur variable,
    comment distinguer un symbole du suivant ?
  • Cette opération peut être faite par insertion
    dun caractère réservé, ce qui augmente la taille
    résultante.
  • Lautre solution consiste à utiliser des codes
    préfixés.
  • Chaque nouveau code ne peut être le début (
    préfixe) dun code déjà existant. Chaque nouveau
    mot codé devient lui-même préfixe, et ne peut
    être utilisé.
  • Aucun mot nest le début dun autre mot.

22
Algorithme de Huffman Lalgorithme de Huffman
est certainement le plus utilisé en raison de sa
gratuité, sa simplicité et son efficacité.Un
grand nombre de normes de compression dimages le
préconisent. Cest le cas de JPEG et MPEG en
particulier.Lalgorithme de Huffmann a été
décrit pour la première fois en 1952.
Lalgorithme crée des codes de longueurs
variables en fonction des probabilités fournies
par un modèle, ou la connaissance de la séquence
complète.
23
Exemple Soit un message de 36 caractères,
composé des caractères A, B, C, D et E qui
apparaissent selon les fréquences suivantes
Symboles A B C D E Fréquences 7 6 5 14
4Le graphe ci-dessous fait apparaître les
symboles depuis le plus fréquent (D) jusquau
moins fréquent (E).Les symboles C et E
fusionnent vers un même nud de poids 549
24
Puis les symboles ou nuds de poids les plus
faibles sont à nouveau considérés il sagit ici
de 2 symboles à nouveau A et B Le processus
est renouvelé avec le nud de poids 9 et celui de
poids 13.
Il reste enfin à fusionner le nud de poids 22 et
le symbole restant, de poids 14
25
La deuxième phase de lalgorithme consiste à
redescendre ce graphe binaire, en affectant à
la branche conduisant au poids le plus faible, la
valeur 0 par exemple, et 1 à lautre. On obtient

26
Le codage obtenu est donc D (occurrence 14)
0A (occurrence 7) 111B (occurrence 6)
110C (occurrence 5) 101E (occurrence 4)
100 Quelle est la longueur moyenne de code ? 1
bit pour D qui apparaît 14 fois dans le message,
3 bits pour les autres qui apparaissent 22 fois
en tout. lm (114 373635
34)/3680/362.22 Pouvait-on faire mieux ? La
réponse est donnée par la valeur de lentropie du
message H(14/36)log2(36/14)(7/36)log2(36/7)
(6/36)log2(36/6)(5/36)log2(36/5)(4/36)log2(36
/4) 2.168 Nous voyons que la longueur moyenne
de code donné par lalgorithme dHuffman est très
proche du plancher théorique de lentropie.
27
Autres codages sans perte Codages par longueur
de plages Solution adoptée dans la méthode
appelée RLE (Run Length Encoding) ou RLC (Run
Length Coding). On forme, en lisant limage
ligne par ligne, des couples longueur de plage,
intensité, où la longueur de plage est le nombre
de pixels consécutifs ayant la valeur
intensité.Cest une méthode très simple si
limage comporte de nombreuses plages de
valeurs identiques cest particulièrement vrai
dans le cas dimages avec aplats (Ex. logos,
images graphiques), ou le codage des coefficients
DCT quantifiés dans lalgorithme de type JPEG.
28
  • Exemple soit la suite suivante, correspondant
    à des niveaux de gris prélevés dans une ligne
    dimage
  • 11, 11, 15, 16, 16, 16, 16, 25, 25, 25, 31, 31,
    31, 31, 31, 8
  • Le codage par plage dun tel signal donne la
    suite des paires de nombres suivantes (2, 11),
    (1, 15), (4, 16), (3, 25), (5, 31), (1, 8)
    fournissant un nouveau codage de la ligne
  • 2 11 1 15 4 16 3 25 5 31 1 8
  • Les méthodes de type RLE correspondent aux
    schémas les plus courants de compression des
    images (dans les formats BMP, TGA, TIFF, SGI,
    PICT, ). Efficace dans les images simples, il
    devient mauvais sur les images complexes (scènes
    naturelles).

29
Parfois les méthodes de type RLE sont associées à
des lectures par plans de bits. Chaque octet est
considéré selon leurs n de bits on considère
tous les bits de rang 7, tous les bits de rang 6
etc. Les techniques RLE sont alors plus efficaces
et sont généralement combinées à des techniques
destructrices, par la suppression des bits de
poids faibles, ce qui dans le cas des images, ne
provoque pas de modification visuelle. Pour
profiter pleinement de longueurs de plages, il
faut éviter les transitions (comme entre 7 0111
et 8 1000 en binaire, par lutilisation de
codes adjacents comme le Gray réfléchi).
30
Méthodes à base de dictionnaires Dans la
pratique, on peut observer des corrélations qui
sétendent au delà de plages consécutives un
motif peut réapparaître plus loin par
exemple.Dans les méthodes précédentes, un tel
motif serait à nouveau codé, ce qui conduit à
coder de linformation inutile. Les codages par
dictionnaire sont fondés sur la constitution
dune suite de motifs, apparaissant dans le flux
du message.Ces motifs remplissent un
dictionnaire, où ils sont indexés, et lorsque les
motifs réapparaissent, ils sont simplement codés
par leur index dans ce dictionnaire. Ils se
rapprochent des algorithmes à extension de source
(dans laquelle la notion dextension est élargie)
et seront efficaces pour les sources longues,
codés sur des alphabets restreints, ce qui permet
denvisager la présence de motifs récurrents. Les
codages de ce type les plus connus appliquent les
algorithmes de type LZ ou lune de ses nombreuses
variantes (LZ77, LZ78, LZW, LZSS). Ces noms
viennent de celui de leurs auteurs Lempel, Ziv,
Welch, ou de ceux leur ayant apporté des
améliorations (Storer et Szymanski).
31
Lalgorithme LZW permet de coder un motif par un
simple index mais il faut remplir le dictionnaire
par tous les caractères isolés dabord. Avant de
commencer le codage, une initialisation remplit
les premiers emplacements de la table avec tous
les symboles de lalphabet utilisé. Un motif
courant B (buffer) est initialisé à vide.Le
caractère suivant C est concaténé à droite pour
former un motif BC, recherché dans le
dictionnaire. Sil sy trouve déjà, BC devient le
nouveau motif courant BBC et on concatène avec
un nouveau caractère. Lorsque le motif nest pas
trouvé, la dernière chaîne reconnue est codée par
son adresse dans la table on code lindex de B
et le nouveau motif BC est ajouté au dictionnaire
le dernier caractère qui fait que la chaîne
nest pas présente en table (caractère innovant)
est concaténé à la dernière chaîne reconnue (qui
a donné lieu à lémission de son code dadresse)
et lensemble constitue une nouvelle chaîne
stockée au premier emplacement libre de la table
de traduction.La construction reprend à partir
du caractère innovant on commence alors avec un
nouveau motif courant BC.
32
Exemple Soit la chaîne dentrée utilisant 3
caractères a b a c b a c b a b a b a a a a a a
a La table des chaînes préfixes correspondantes
est la suivante a 1 b 2 c 3 (symboles
élémentaires), puis ab 4 ba 5 ac 6 cb 7
bac 8 cba 9 aba 10 abaa 11 aa 12 aaa
13 aaaa 14 La chaîne codée devient donc 1 2 1
3 5 7 4 10 1 12 13, liste qui sera codée en
binaire. Décodage A essayer ! Aucune autre
information nest nécessaire le dictionnaire
est reconstruit au fur et à mesure !
33
LZ77 est utilisé dans les outils de compression
de type ZIP gzip sous linux, pkzip sous DOS,
winzip sous windows, stuffit sous MacIntoshLZW
est souvent plus efficace et fait lobjet dune
norme pour les images (formats GIF et TIFF). LZW
nétait plus gratuit depuis janvier 1995, et cela
après une longue période de liberté qui avait
favorisé son utilisation. Cet algorithme a été
ensuite couvert par un brevet américain détenu
par Unisys. Une licence de Unisys était
obligatoire pour toute utilisation.Les images au
format PNG (Portable Network Graphics) utilise
une variante de lalgorithme LZ77 ce format a
été spécifié par le consortium W3C qui lui
octroie un certain nombre davantages par rapport
à GIF et JPEG. Le format PNG (et lalgorithme
LZ77) est dans le domaine public.
34
  • Le format BMP
  • Format de fichier qui utilise le format bitmap
    interne de Windows (format DIB entête). Une
    copie décran est au format BMP.
  • Cest un format permettant le codage dimages de
    dimensions jusquà 65536x65536 pixels.
  • Un fichier BMP peut contenir une image en mode
    RVB, en couleurs indexées, en niveaux de gris ou
    en noir et blanc (binaire, mais convertie en
    niveaux de gris).Une compression peut être
    utilisée, elle est de type RLE (non destructive).
  • Le domaine de prédilection du format BMP est la
    bureautique sous Windows.
  • Avantages qualité, et rapidité sous Windows.
  • Inconvénients compression peu efficace.

35
  • Le format GIF
  • Format de fichier créé en 1987 par la société
    Compuserve.GIF est lacronyme de Graphic
    Interface Format.
  • Cest un format ne supportant quun seul mode
    colorimétrique, les images en couleurs indexées,
    utilisant une palette de 2 à 256 couleurs.GIF
    utilise une compression systématique (non
    destructrice) LZW.Cest un format qui permet un
    mode de transparence, laffichage progressif et
    la possibilité de créer des animations.Le
    domaine dutilisation concerne Internet, les
    logos et graphiques simples
  •   
  • Avantages transparence, animations,
    universalité,   
  • Inconvénients mauvaise qualité dimage pour les
    images de plus de 256 couleurs, compression peu
    efficace (par rapport aux compressions avec perte)

36
  • Très utilisé dans les pages WEB, son attrait
    principal réside dans le fait qu'il accepte une
    couleur de transparence. Mais attention, cela
    veut bien dire qu'une seule couleur sera
    considérée comme transparente, ce qui signifie
    que l'image finale GIF posée sur un fond bariolé
    risque de présenter un effet de crénelage sur
    l'ensemble de son pourtour.
  • Contrairement à la version actuelle, la version
    antérieure (87a) ne permettait pas d'utiliser de
    couleur de transparence.
  • En ce qui concerne le format animé du GIF, il
    faut savoir que son poids est proportionnel au
    nombre d'images qu'il comporte et qu'il permet
    également de se voir attribuer de la
    transparence.
  • La version GIF 89a permet également dinclure du
    texte aux images.

37
  • La limitation du format GIF tient dans le passage
    obligé par lutilisation dune palette (256
    couleurs indexées au maximum). Cette limitation
    du nombre de couleurs peut être considérée comme
    une méthode de compression (destructive) pour les
    images comportant initialement plus de couleurs.
    Le résultat est visuellement mauvais pour les
    images complexes (photographies), même si la
    palette peut être adaptative à limage et des
    couleurs intermédiaires peuvent être simulées par
    la technique du tramage.
  • La compression de type LZW est plus efficace
    quune compression RLE mais est sensible au bruit
    dans les images (les performances sont largement
    accrues par une simple mise à 0 du dernier bit)
    et est entreprise ligne par ligne la taille
    résultante peut varier en fonction de
    lorientation dune image rectangulaire !

38
Exemple. Soit une image naturelle quelconque
Prenons 1 ligne de cette image, modifions sa
hauteur pour obtenir un dégradé  aléatoire 
39
Enregistrement en GIF 256 couleurs 259 k octets
Une petite rotation de 90
Enregistrement en GIF 256 couleurs 26 k octets
40
  • Le format PNG
  • PNG Portable Network GraphicIl sagit du
    3ème format Internet, c'est-à-dire le 3ème
    format reconnu par les navigateurs (après GIF et
    JPEG).
  • Un fichier PNG peut contenir des images RVB, en
    niveaux de gris, en 256 couleurs indexées, ou
    bitmap.
  • Un niveau de transparence peut être enregistré
    sous la forme dune couche alpha.
  • PNG utilise une compression sans perte, et permet
    un affichage progressif.
  • Domaine dutilisation Internet.
  •   
  • Avantages couche alpha pour transparence,
    affichage progressif
  • Inconvénients compression peu efficace et
    compatibilité des navigateurs seulement à partir
    de leur version 4.
  • Ce format est donc un des rares formats, avec le
    GIF et le JPEG, à être reconnu par les
    navigateurs Internet. Il est pourtant moins
    utilisé car il ne présente pas d'avantages
    décisifs par rapport aux deux formats précédents,
    en taille de fichiers.

41
  • En revanche, comparé au format GIF, il permet la
    sauvegarde de données de transparence sur les 8
    bits dune couche alpha. Il en résulte l'absence
    d'effet d'escalier sur une forme détourée qu'elle
    soit présentée sur un fond bariolé ou bien
    quelconque. Il y a 256 valeurs possibles
    dopacité pour chaque pixel de limage !Malgré
    cela il reste un format boudé par les concepteurs
    de pages web. Les concepteurs de logiciels ont
    pourtant poussé à son utilisation une licence
    devait être contractée pour lire ou écrire du GIF
    (à cause de lalgorithme LZW payant), tandis que
    lalgorithme de compression du PNG, proche du
    LZ77 est du domaine public.
  • Il existe 2 formats de fichier PNG
  • Le PNG 8 est très comparable au GIF. Les tailles
    de fichiers obtenues sont comparables au GIF
    (souvent inférieures avec les logiciels comme
    Fireworks, dont cest le format natif) sinon
    souvent très légèrement supérieures au GIF,
    surtout en mode entrelacé. Ce mode permet un
    affichage à 7 passes qualité 1/64, 1/32,
    Lorsque 20 à 30 de limage sont atteints,
    limage est comparable au niveau 50 pour le GIF.

42
  • Le PNG 24 permet denregistrer des images 24 bits
    avec transparence. Il peut intégrer le codage de
    la correction Gamma et intégrer des
    méta-données.Attention, tous les navigateurs qui
    supportent le PNG ne reconnaissent pas cette
    option de transparence (Netscape le reconnaît
    mais pas Internet Explorer !).
  • Le PNG est donc peu utilisé les navigateurs ne
    linterprètent pas toujours bien, et ne tirent
    pas encore profit de toutes ses possibilités
    (couche alpha, gamma, etc.). De plus les
    différents logiciels doptimisation dimages pour
    le web (comme Image Ready ou Fireworks) ne
    lutilisent pas de la même façon seul
    Fireworks, dont il est le format natif, semble en
    tirer pleinement profit et le compresse mieux
    quun GIF.Utilisation préférentielle petites
    images graphiques (logos, dessins) en mode PNG8,
    même utilisation que JPEG pour le mode PNG24,
    mais en moins performant, utile pour la
    transparence que ne permet pas JPEG (pour tirer
    profit de la couche alpha de transparence avec
    IE, il existe des javascripts).

43
Quelques exemples surprenants
1. Image originale 256 256 pixels, contenant
exactement 256 couleurs différentes
Limage  pèse  donc 2562563 196608 octets
44
La même image enregistrée (avec Fireworks) en
PNG-8 256 couleurs 596 octets !
336 octets sous Paint Shop Pro en PNG-8, 2
couleurs
et 1645 octets avec Photoshop 7, et 7 couleurs
! (501 octets avec Photoshop CS2)
45
Le tramage permet de donner lillusion de
couleurs supplémentaires. Regardons ce que donne
loption tramage 100 de type diffusion
8 couleurs ici seulement !
2 couleurs 3,62 k octets 4 couleurs 6,52 k
octets 8 couleurs 8,5 k octets 16 couleurs
12,03 k octets 32 couleurs 13,5 k octets 64
couleurs 21,18 k octets 128 couleurs 14,54 k
octets 256 couleurs 1,65 k octets
Pourquoi une diminution sur la fin ? Expliquez !
46
  • Compression avec perte application au codage
    des images
  • Dans les méthodes de compression avec distorsion
    appliquées à des images, on peut trouver
  • - des techniques de quantification (scalaire ou
    vectorielle),- des techniques de prédiction,-
    des méthodes de transformation,- des méthodes
    fractales
  • Plusieurs des méthodes précédentes semploient
    souvent successivement dans un même schéma de
    compression. Les méthodes de prédiction et de
    transformation cherchent à supprimer une première
    redondance et passer dans un espace où la
    compression pourra sopérer en respectant des
    critères psychovisuels. Quelle sapplique aux
    données directement ou indirectement, cest très
    souvent une phase de quantification qui
    correspond à la partie destructrice de la
    compression.

47
Les méthodes de transformation Elles sont
utilisées sur les signaux acoustiques comme sur
les images. Ces transformations sopèrent sur des
blocs. Transformations linéaires, elles
sécrivent à laide dune matrice de passage,
calculant à partir déchantillons ni, des
composantes transformées, ou coefficients
transformés nu.Après transformation, les blocs
perdent leur nature initiale et leur sens
physique. La transformation est donc provisoire,
et doit être réversible. On montre quil est
possible de trouver des transformations linéaires
qui, quelles que soient les valeurs ni, celles
des nu deviennent très différentes les unes des
autres. Si les valeurs de nu sont très grandes
pour certaines, lannulation des plus petites
nentraîne quune distorsion réduite la
compression est labandon dun certain nombre de
composantes. La compression peut également
utiliser une quantification non uniforme des nu.
48
Il existe des transformées qui garantissent -
une grande disparité entre les valeurs de ses
composantes,- une importance psychophysique
réduite pour les plus petites des composantes
transformées. La DCT (Discret Cosin Transform)
présente ces avantages, plus quelques autres par
rapport à dautres transformées possibles (FFT)
coefficients réels, parité évitant des
discontinuités Elle est la plus proche de la
transformée optimale (la KLT) pour laquelle il
ny a pas dalgorithme rapide. La distorsion
introduite par cette méthode est issue - de
lannulation des composantes les plus petites,-
de la quantification des autres les composantes
obtenues nu sont réelles (même si les ni sont des
entiers). Les composantes sont quantifiées par
division puis arrondies et les coefficients
diviseurs sont différents pour chaque composante
ils tiennent compte à la fois du taux de
compression voulu, et de limpact psychophysique
de chaque composante.
49
La transformation DCT bidimensionnelle sécrit
avec
La DCT est unitaire AT.AI et ses
coefficients sont réels. Ainsi, A-1 AT,
permettant décrire la DCT inverse par
lexpression
La DCT a été retenue comme transformation par le
consortium JPEG.
50
Petite histoire du format JPEG Lhistoire
commence à la fin des années 80, lorsque le CCITT
(Consultative Committe for International
Telegraph and Telephone) et lISO (International
Standardisation Organisation ) appuyés par divers
groupes industriels et universitaires, décident
de créer une norme internationale pour la
compression des images. La mise en place dun
standard international était devenue nécessaire
pour archiver ou pour faciliter léchange des
images dans des domaines aussi variés que les
photos satellites, limagerie médicale, la
télécopie couleur, ou la cartographie Cest
ainsi que fut créé le groupe JPEG (Joint
Photographic Experts Group) pour établir des
spécifications pour les codages de limage, sans
et avec distorsion.Le groupe JPEG avait retenu
les contraintes suivantes - possibilité
daffichage séquentiel ou progressif,-
possibilité de modes de compression sans
dégradation,- possibilité dimplémentation hard
ou soft,- utilisation compatible avec les
performances des réseaux de type Numéris.
51
Les objectifs étaient ambitieux on imposait
dobtenir avec - 2.25 bits/pixel une image
visuellement identique à loriginale,- 0.75
bit/pixel une image de qualité excellente,-
0.25 bit/pixel une image de qualité visuelle
moyenne,- 0.08 bit/pixel une image encore
reconnaissable ! Des algorithmes candidats ont
été comparés sur 5 images couleur 16 bits. 3
techniques ont été pré-retenues en 1987. La
technique à base de DCT a été retenue en 1988...
La norme parut en 1993 ! La qualité de limage
doit être paramétrable. Les données sont dautant
plus compressées que la qualité exigée est
faible.
52
On peut noter que lil est beaucoup plus
sensible à de faibles variations dintensité
lumineuse (luminance) quà celles de la couleur
(chrominance) les informations sur la couleur
peuvent donc être davantage compressées que
celles sur la luminance. Ainsi si limage
initiale est codée sous une forme RVB, une
séparation luminance-chrominance peut être
dabord effectuée. On utilise une transformation
conduisant à un codage YC1C2 Y0.299R0.587V0.1
14BCrR-Y et CbB-Y avec une compression plus
importante sur ces plans.
53
La transformation DCT La transformation est
réalisée sur des blocs de 8 x 8 pixels. En effet,
les matrices doivent être carrées et une taille
plus grande serait trop coûteuse en temps de
calcul.Considérons la matrice S des valeurs des
pixels du bloc considéré de MxM pixels
On considère la matrice A, formée par les
éléments aij
54
Cette matrice A sécrit
La transformation sobtient par
C At x S x A Les factorisations et
développements spécifiques au cas 8x8 permettent
deffectuer la transformation en 40
multiplications et 56 additions (le calcul direct
donne 512 multiplications et autant dadditions).
55
La DCT est donc effectuée sur chaque matrice 8x8
de valeurs de pixels, et elle donne une matrice
8x8 de coefficients significatifs de fréquences
spatiales lélément (0,0) est représentatif de
la valeur moyenne du bloc et est appelé
coefficient DC, les autres (coefficients AC)
fournissent la puissance spectrale selon chaque
fréquence 2D spatiale. La DCT est conservatrice
(si on ne prend pas en compte les erreurs
darrondis quelle introduit). La matrice C
transformée par DCT présente la propriété de
regrouper les valeurs les plus élevées dans le
coin supérieur gauche de la matrice (les valeurs
devenant dautant plus faibles que lon
sapproche du coin inférieur droite, donc que
lon se situe dans les " hautes fréquences ").
Ainsi le maximum dinformation sur limage se
trouve concentré sur la partie supérieure gauche
de la matrice.
56
(No Transcript)
57
Exemple On considère la Matrice S des valeurs
s(i,j) des pixels dun bloc S 140 144 147
140 140 155 179 175 144 152 140 147 140 148 167
179 152 155 136 167 163 162 152 172 168 145 156
160 152 155 136 160 162 148 156 148 140 136 147
162 147 167 140 155 155 140 136 162 136 156 123
167 162 144 140 147 148 155 136 155 152 147 147
136
58
On obtient après transformation la matrice des
composantes transformées, (après un arrondi
destiné à obtenir des entiers) C 1209 -17
14 -8 23 -9 -13 -18 20    -34  26 -9
-10 10 13 6 -10   -23  -1  6  -18 3
-20 0 -8     -5   14  -14 -8 -2 -3 
8 -3     9     7     1  -11 17 18 15 3
    -2 -18    8    8 -3   0 -6 8   
 0   -2     3   -1  -7 -1 -1 0    -7  
-2     1     1   4  -6  0
59
La quantificationLa quantification représente la
phase non conservatrice du processus de
compression JPEG. Elle réduit le nombre de bits
nécessaires chaque valeur de la matrice DCT est
divisée par un nombre (quantum), fixé par une
table (mémorisée sous la forme dune matrice 8 x
8) de quantification, puis arrondie à lentier le
plus proche.La valeur du quantum est dautant
plus élevée que lélément correspondant de la
matrice DCT contribue peu à la qualité de
limage, donc quil se trouve éloigné du coin
supérieur gauche.Cest pourquoi les matrices de
quantification comportent généralement des
valeurs constantes selon des diagonales
ascendantes mais croissantes dune diagonale à la
suivante.Les matrices de quantification doivent
être connues du décodeur et transmises avec
limage. Dans la norme JPEG, seules 4 matrices de
quantification différentes peuvent être
transmises dans 1 image. Les matrices dépendent
du logiciel utilisé. Un exemple de matrice de
quantification Q est donné ci-dessous
60
16Q 16 11 10 16 24 40 51 6112 12 14
19 26 58 60 5514 13 16 24 40 57 69
5614 17 22 29 51 87 80 6218 22 37 56
68 109 103 7724 35 55 64 81 104 113 9249
64 78 87 103 121 120 10172 92 95 98 112 100
103 99 La matrice quantifiée devient donc
(arrondie ici en nombres entiers) C.Q 1209
-24 22 -8 15 -3 -4 -426  -45  29  -7 -6 
2  3  1-11 -28 -1   4  -7  0 -4  0-9
 -4  10   -7 -2  0  0   2-2   6   
3     0  -2  2  2    32    0   -5     2   1
  0   0  -12    0    0     0    0  0   0  
 00   -1    0     0    0  0   0   0
61
Ce sont les éléments de cette matrice qui vont
être codés par lalgorithme. On remarque la
grande valeur du premier coefficient (1,1) de
cette matrice. Ce coefficient exprime la valeur
moyenne des valeurs de niveau gris du bloc de
limage (après transformation). Sur un bloc
uniforme, cest la seule valeur non nulle des
coefficients. Cette valeur est souvent très
proche dun bloc au suivant dans limage ce
coefficient sera codé dune manière différente de
tous les autres, par un codage différentiel le
coefficient DC dun bloc est corrélé avec le
coefficient DC du bloc précédent.
E(k)DC(k)-DC(k-1). Il sagit dun codage de type
Differential Pulse Code Modulation (DPCM). Il
sagit donc dun codage de type prédictif.La
suite des coefficients DC subit alors un codage
de type Huffman. Les autres coefficients
(coefficients AC) vont être codés en parcourant
les éléments dans lordre imposé par une séquence
particulière en zigzag
62
Cette lecture en zigzag a pour but de rapprocher
des valeurs identiques et de reporter le maximum
de valeurs nulles vers la fin de la séquence.
Dans lexemple précédent, on obtient -24 26
-11 -45 22 -8 29 -28 -9 -2 -4 -1 -7 15 -3 -6 4 10
6 2 2 0 3 -7 -7 2 -4 -4 3 0 -2 2 0 -1 0 0 1 2 0 2
2 3 -1 0 0 0 0 Cette séquence est alors codée en
utilisant un codage de type RLC (de type
longueur plage nulle, valeur ) auquel est
appliqué ensuite un codage de Huffman
63
Dans lexemple précédent, plusieurs sources de
distorsion sont prévisibles - lorsquon a
arrondi les coefficients de la matrice C pour
obtenir des entiers. A partir de C arrondie, on
peut calculer la transformation DCT inverse. On
obtient sur cet exemple 140 143 146 139 140
154 178 174144 152 139 147 140 148 166 178152
154 136 166 162 160 151 171166 144 155 160 152
154 136 159161 148 156 148 140 137 146 161147
165 140 154 154 140 136 161136 155 123 166 161
143 140 145148 154 137 153 152 147 146 136 et
la différence à la matrice originale est donc
64
0 1 1 1 0 1 1 10 0 1 0 0 0 1
10 1 0 1 1 2 1 12 1 1 0 0 1 0 11
0 0 0 0 -1 1 10 2 0 1 1 0 0 10 1
0 1 1 1 0 20 1 -1 2 0 0 1 0 Mais la
distorsion vient essentiellement de la
quantification volontaire appliquée aux
coefficients (matrice C.Q) de lexemple.
Appliquons la transformée inverse. Nous obtenons
139 140 139 137 142 156 177 187144 145 141
144 146 156 171 183154 151 146 155 155 157 161
173162 154 152 155 152 149 149 161160 154 152
149 144 139 144 156151 152 146 151 148 140 142
153144 147 140 154 153 144 141 145146 146 141
151 152 146 141 138
65
La différence à loriginale est donc 1 4
8 3 -2 -1 2 -120 7 -1 3 -6 -8 -4
-4-2 4 -10 12 8 5 -9 -16 -9 4 5 0
6 -13 -12 -6 4 -1 -4 -3 3 6-4 15 -6 4
7 0 -6 9-8 9 -17 13 9 0 -1 22 9
-5 4 0 1 6 -2 Lorsquon souhaite des
taux de compression élevés (généralement, les
logiciels proposent une qualité de limage sur
une échelle de 0 à 10 ou 0 à 100), la matrice de
quantification supprime plus encore de
coefficients en partant du coin inférieur droit.
Au taux de compression le plus élevé (qualité la
plus faible), seul le coefficient DC est conservé
le bloc de 8x8 pixels est remplacé par la
valeur moyenne des valeurs du bloc.
66
Pour dautres exemples Applet
67
Remarques - Cest aux frontières des blocs que
la compression devient de plus en plus visible
lorsque le taux de compression devient plus
élevé. - lalgorithme de compression nécessite
une puissance de traitement égale pour la
compression et la décompression (due en grande
partie à la transformation DCT ou DCT inverse), -
la norme JPEG nimpose pas de format de fichier.
68
Le principe de compression JPEG se prête bien à
un affichage progressif, important dans le cas de
débit faible, pour transmettre dabord
linformation importante de limage puis les
détails. Lorsque cette fonctionnalité nest pas
utilisée, on parle de JPEG baseline. Les
solutions peuvent reposer sur plusieurs principes
Transmettre dabord les coefficients
correspondant aux basses fréquences puis les
coefficients correspondant aux hautes fréquences
cela est possible grâce à la méthode adoptée
(DCT) La DCT inverse est appliquée aux
coefficients DC puis à des sous matrices (par ex
4x4). Transmettre dabord les bits de poids
forts puis les bits de poids faible. Il sagit du
mode appelé approximation successive toutes
les composantes de la DCT sont concernées, mais
seulement les bits de poids fort de chaque
valeur.- Utiliser les 2 méthodes précédentes de
façon mixée. La norme JPEG prévoit tous ces
modes progressifs.
Write a Comment
User Comments (0)
About PowerShow.com