Algorithmes de compression d`images et quadtree

publicité
Algorithmes de compression
d'images et quadtree
Plan
●
Nouveaux enjeux de la compression d'image
●
Transformée en ondelettes
●
L'algorithme EZW
●
L'algorithme EBCOT
●
Comparaison
Nouveaux enjeux de la
compression d'image
●
●
●
Meilleur taux de compression
Scalabilité : décoder le debut du fichier décode
toute l'image mais en faible qualité
Region d'intérêt : certaines zones devraient
être moins compréssés
●
Navigabilité
●
Resistance aux erreurs
Transformée en ondelettes
continues
●
●
●
La transformée de Fourier a des faiblesses :
trop concentrés sur le contenu fréquentiel d'un
signal
Nécéssité d'une nouvelle transformée :
transformée en ondelettes.
Les coefficients renseignent sur le contenu
fréquentiel ET sur le moment où la fréquence
apparaît
Transformée en ondelettes
discrètes
●
●
Base de Haar (non normalisé) :
La T.O. Discrète revient à un changement de
base
Algorithme iteratif
Algorithme iteratif
=>
Exemple
Algorithme EZW : quadtree
Algorithme EZW : quadtree
Principe de l'algorithme EZW
●
●
On choisit un seuil T
On code l'arbre en élaguant les noeuds
insignifiant( < T) et dont la descendance est
insignifiante
–
●
●
On codera avec les symboles POS, NEG, IZ, ZTR
On affine les coefficients déjà codés afin d'avoir
une précision de T/2
On recommence avec T = T/2, etc..
Différences entre les
implémentations(1/2) :
Codage des symboles
●
●
Implémentation des chercheurs :
–
POS → 0111 ; NEG → 011 ; IZ → 01 ; ZTR→1
–
Pas de codage des longueurs mais utilisation
d'un symbole séparateur 1111
Mon implémentation :
–
POS → 00 ; NEG → 01 ; IZ → 10 ; ZTR → 11
–
Codage des longueurs avant chaque passe
Différence entre les
implémentations(2/2) :
Normalisation
●
Mon implémentation :
●
Implémentation des
chercheurs :
–
Normalisation L¹
–
Normalisation L²
–
N'ajoute pas d'effet
de décroissance
aux coefficients ;
utilise la
decroissance
naturelle des
coeficients des
hautes
fréquences
–
Plus une sousbandes est une
sous-bande de
basse fréquence,
plus les
coefficients sont
élevés
Algorithme EBCOT
●
●
●
●
Algorithme utilisé dans le format JPEG2000
(successeur de JPEG)
Algorithme consistant en deux phases
La deuxième phase est extrêmement
configurable il n'y a pas d'algorithme imposé : il
faut juste donner les meta-informations utile au
décodage
Beaucoups de fonctionnalité(scalabilité, Région
d'intêrets) sont dûs à la configurabilité de la
seconde phase
Première phase
●
●
●
●
●
Transformée en ondelettes de l'image
Décomposition de l'image transformé en n
« code-blocks » de taille 32x32 ou 64x64
Compression et codage INDEPENDANT et
scalable de chaque « code-blocks »(codage
arithmétique binaire adapatif avec contexte)
Beaucoup de micro-optimisation grâce aux
contexte
Résultat n trains binaires, chacun
correspondant à un « code-block »
Première phase
●
N Trains binaires
décomposables en k
morceaux
●
1 → 010|0100|001...
●
2 → 1110|00110|...
●
…
●
N → 11|11000|01|1...
Deuxième phase
●
●
●
On séléctionne et on réassemble les morceaux
Idée de base : on sélectionne les morceaux de
manière optimale afin de maximiser le PSNR :
problème d'optimisation classique(résoluble
avec les multiplicateurs de Lagrange)
Mais rien n'est imposé :
–
Mesure autre que le PSNR
–
Decomposition en couche de qualité =>
scalabilité
–
Privilégier une zone de l'image => Région
d'intêret
Deuxième phase
●
N trains binaire :
●
1 → 010|0100|001|11...
●
2 → 1110|00110|10001..
●
...
Implémentation MATLAB
●
●
Implémentation partielle en MATLAB :
–
Organisation simple
–
Décodage arithmétique différent
–
Quelques approximation
Résultat :
–
Compression mais bien inférieure à ce que cela
devrait être
Comparaison EZW-EBCOT
●
●
EZW
–
exploitation des redondances inter-bandes
–
Scalabilité
EBCOT
–
Pas d'exploitation des redondances intrabandes, compensé par l'optimisation de la
phase 2.
–
Scalabilité, région d'interet ,Navigabilité,
Résistance aux erreurs(JPEG 2000)
–
Complexe
MERCI
Téléchargement