Master IMA M1 - PowerPoint PPT Presentation

About This Presentation
Title:

Master IMA M1

Description:

Title: Pr sentation PowerPoint Author: Pierre Courtellemont Last modified by: Pierre Courtellemont Created Date: 1/8/2002 12:37:03 PM Document presentation format – PowerPoint PPT presentation

Number of Views:84
Avg rating:3.0/5.0
Slides: 110
Provided by: PierreC164
Category:

less

Transcript and Presenter's Notes

Title: Master IMA M1


1
  • Master IMA M1
  • UE Signal et Image
  • Partie 3 Traitement de lInformationApplication
    à la compression
  • P. Courtellemont
  • pcourtel_at_univ-lr.fr
  • http//perso.univ-lr.fr/pcourtel/

2
  • Plan du cours
  • I. Introduction
  • Approche fréquentielle
  • Signaux monodimensionnels périodiques
  • Signaux quelconques
  • Signaux numériques, discrétisation,
    échantillonnage
  • Observation spectrale, TFD et TFD 2D
  • Systèmes numériques
  • Filtres numériques
  • Produits de convolution. Cas 2D
  • Sur et sous échantillonnage. Bancs de filtres
  • Traitement des Images.
  • Approches multi résolution
  • II. Signaux aléatoires
  • variables aléatoires
  • Processus aléatoires. Stationnarité
  • Processus MA, AR et ARMA
  • Estimation des paramètres dun AR

III. Traitement de linformation Application à
la compression codage de source, entropie,
compression sans perte codages
entropiques par dictionnaire, par
prédiction Codages par transformée La DCT et
la compression JPEG Quantifications scalaire et
vectorielle IV. Communications
numériques Modulations numériques modulation
par impulsions codées transmission du signal
numérique Applications RDS, NICAM Détection
et correction derreurs
3
I. Introduction. Approche intuitive de
lInformation On ne peut pas prévoir lévolution
ultérieure dun signal aléatoire ! La
connaissance de sa valeur à linstant présent
apporte donc un renseignement, on dit que le
signal transporte 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.
Lidée principale de la théorie de linformation
est de dire que si il ny a pas dincertitude
vis à vis du message émis par la source, il ny a
pas dinformation à la réception du message.
4
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. On appellera information
mutuelle l'information apportée par un événement
F sur un événement E. Cest la diminution de
l'incertitude sur E lorsque F est réalisé. (égale
aussi à linformation apportée par E sur
F). Nous allons voir également que linformation
peut être perçue 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.
5
Définition de lunité dinformation Soit une
variable aléatoire de loi de probabilité uniforme
(cas des jeux de hasard  loterie, lancer de dés,
choix dune carte dans un paquet,). Soit n le
nombre de résultats possibles. La connaissance de
lun de ces résultats apporte une information
I(n) qui ne dépend que de n. I(n) doit être une
fonction monotone croissante de n. La
connaissance du numéro gagnant de la Loterie
nationale apporte une quantité dinformation
I(106) alors quapprendre quun dé sest arrêté
sur le 5 napporte que I(6) avec I(106) gt
I(6). Considérons maintenant une expérience dont
le résultat est double par exemple, le choix au
hasard dune carte dans un paquet de 32 cartes,
suivi du lancer dun dé. La quantité
dinformation acquise au total est donc I(32)
I(6) I(n1) I(n2). Si lon considère
maintenant lexpérience globale, elle peut
conduire à 326 n1n2 résultats différents, qui
sont tous équiprobables. Un résultat complet
transporte donc une quantité dinformation
I(n1n2). Doù la relation I(n1n2) I(n1)
I(n2).
6
  • La fonction I doit être monotone croissante.
    Parmi les solutions possibles de cette équation
    fonctionnelle, la plus simple est
  • I(n) log n
  • (la solution générale est I(n)b log(n)/log(a)
    avec bgt0 et agt1)
  • La base des logarithmes nest donc pas définie, à
    chaque choix correspond une unité de quantité
    dinformation 
  • - en base 2 I(n) log2n, lunité est le bit,
    parfois appelé shannon 1 bit correspond à
    linformation associée à une partie de pile ou
    face (n 2),
  • (bit binary unit ici et non binary digit, qui
    ne prend que des valeurs entières)
  • - en base 10 I(n) log n, lunité est le decit
    ou hartley cest linformation associée à
    chaque chiffre (de 0 à 9) lors du tirage dun
    numéro gagnant par exemple
  • - le nat, associé aux logarithmes naturels, na
    quun intérêt théorique.
  • Passons à une deuxième situation 
  • Abandonnons lhypothèse déquiprobabilité des
    résultats possibles.
  • Pour cela, nous allons revenir au choix aléatoire
    dune carte dans un jeu, mais en divisant les
    résultats en deux groupes
  • - groupe 1 (tous les trèfles) de n1 éléments (n1
    8)
  • - groupe 2 (les autres cartes) de n2 éléments (n2
    24).

7
On peut énoncer le résultat dun tirage en
donnant deux renseignements successifs - le
numéro du groupe dans lequel se trouve le
résultat - le numéro de lélément sorti dans le
groupe. Par exemple, si une dame de trèfle est
sortie, on annoncera que le résultat appartient
au groupe 1 et est le sixième élément de ce
groupe. Linformation étant additive, on doit
avoir Information totale information sur
groupe information du n dans le groupe Dans
cette égalité, le terme de gauche vaut
évidemment I (n n1 n2) car les n n1 n2
résultats possibles sont équiprobables. Le
dernier terme à droite vaut I(n1 ). On en déduit
Information sur le groupe I(n)-I(n1) log(n)
log (n1) log(n1n2)/n1) - log (n1/n1n2)
- log(P1) avec P1, la probabilité de tomber sur
un résultat du groupe 1. Dune manière
générale, la quantité dinformation apportée par
la connaissance de la réalisation dun événement
de probabilité P est ainsi I log P
8
Entropie Les événements émis par une source ne
sont généralement pas équiprobables, la quantité
dinformation reçue est fonction de lévénement
et ne peut donc caractériser la source. Pour
obtenir ce résultat, 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
9
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 P(2)0.5 et lentropie
L'entropie d'une variable aléatoire X à n valeurs
possibles est maximum et vaut log(n) lorsque la
loi de X est uniforme. (Lentropie dune source
sera maximale lorsque tous les messages quelle
émet seront équiprobables).
10
- Parenthèse - Entropie dans le cas dun signal
analogique Pour un signal analogique dont le
spectre est limité à une fréquence Fmax, le
théorème déchantillonnage nous enseigne que
toute linformation peut être retrouvée à partir
de Fe 2 Fmax échantillons prélevés chaque
seconde. La quantité dinformation contenue dans
le signal en une seconde est donc 2 Fmax fois
celle contenue dans un échantillon. Considérons
lun de ces échantillons. Cest une grandeur
analogique dont lamplitude est comprise entre
deux limites /- A. Si nous la mesurons avec un
pas de quantification q, il ne peut exister que
2A/q résultats possibles, dont chacun a une
probabilité p(k). Nous sommes dans une situation
discrète permettant la définition dune entropie
Soit PkP(x)Dx, avec P(x) la densité de
probabilité du signal analogique x défini dans
lintervalle /-A. Donc 
11
Il est naturel de définir lentropie dun signal
analogique en faisant tendre Dx vers zéro,
expression se scindant en 2 termes
La convergence du deuxième terme pose un problème
délicat mais pour un grand nombre de cas simples,
il tend vers zéro, ce qui conduit à la définition
suivante de lentropie
Lentropie dun signal est donc fonction de sa
densité de probabilité, on doit donc pouvoir
rechercher quel type de fonction p (x) donne un
maximum pour H. En pratique, il faut ajouter une
contrainte supplémentaire, par exemple imposer la
puissance. Le problème est alors à
donné, chercher p (x) qui rend maximale
lentropie H. La solution fait appel à une
méthode variationnelle. On aboutit à
12
Cest une distribution gaussienne de variance
P. Doù le résultat fondamental à puissance
égale, le signal gaussien est celui qui
transporte le maximum dinformation. Le signal
gaussien étant celui qui transporte, à puissance
égale, le plus dinformation, le bruit gaussien
est celui qui dégrade le plus linformation
transmise. En considérant que la somme de deux
processus gaussiens est gaussienne et sa
puissance est la somme des puissances, et en
considérant les entropies dévènements liés
(résultats issus de la formule de Bayes en
Probabilités), on peut montrer finalement 
et la capacité totale du canal est linformation
portée par les 2 Fmax échantillons par seconde 
Cest la formule de Shannon que nous avions déjà
rencontrée (cours Interfaces IUP1) - Fin de la
parenthèse -
13
  • Remarque
  • Avant daller au delà, distinguons 
  • - la source dinformation qui émet des messages,
  • - le canal de transmission qui assure
    lacheminement du message,
  • - le récepteur qui, en fin de canal, exploite les
    informations.
  • Le schéma dune communication peut être
    représenté ainsi

Le codage de source consiste à éliminer les
redondances de la source afin d'en réduire le
débit binaire. Le codage de canal a un rôle de
protection contre les erreurs (dues à la
transmission sur le canal) qui est assuré en
ajoutant de la redondance (codes correcteurs
d'erreurs). Les points de vue codage de source et
codage de canal sont donc fondamentalement opposés
.
14
II. Formalisation  quantité dinformation de
source et entropie  codage de source  Généralem
ent, on peut écrire signal information
redondance. Une partie de la redondance vient de
la dépendance entre les événements
consécutifs. Exemple une suite de caractère lue
à partir dun fichier ou dun canal de
transmission quelconque est Monsieu Le
prochain caractère, r, est connu à lavance de
façon certaine et possède une probabilité
conditionnée aux sept précédents, égale à
1.Ainsi ce huitième caractère (on parlera en
général de symbole), lorsquil apparaît (on parle
dévénement), ne nous apprend rien dans la mesure
où lon sy attendait sûrement ! Il napporte
aucune information, on parle de
redondance.Lorsque la production de symboles est
conditionnée par les symboles précédents, on
parle de source markovienne (ou de chaîne de
Markov). Lorsque la corrélation sétend sur n
symboles successifs, on dit que la source est
markovienne dordre n.
15
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. 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 40 environ, la notion
dentropie (désordre) signifie quon est 40
aussi libre de choisir une lettre pour écrire en
anglais quen tirant au hasard des lettres. Les
60 (1-h) dus à la structure du langage
représente la redondance. A titre de curiosité
XFOML RHKHJFFJUJ ZLPWCFWCKCYJFFJEYVKCQSGHYDQPAAM
KBZAACIBZLHJQD 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.
16
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 choisi comme urne suivante celle contenant les
couples commençant par la seconde lettre du 1er
tirage et ainsi de suite. 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
Lorsque la source est sans mémoire, chaque
symbole est indépendant des précédents. On note
alors la quantité dinformation propre apportée
par la sortie dun nouveau symbole par  I(si)
log2(1/p(si)) - log2(p(si)) avec si, le ième
symbole parmi les N symboles utilisés (les N
symboles forment le code),p(si) la probabilité
dapparition du ième symbole de lalphabet
complet. Remarque  la grandeur précédente
représente la quantité dinformation  exacte 
portée par les symboles dun code donné, pour son
codage (ou recodage), en base 2 ici. Exemple 
le codage dun symbole issu des chiffres 0 à 9
donne  I - log2(p(si)) log2(10)3.32 bits.
En pratique, on utilise 4 bits pour coder un
chiffre décimal. Dans une suite de m
événements, lorsque un symbole apparaît n fois
dans le message, on appelle occurrence du symbole
si, le nombre de fois quapparaît si, et la
probabilité du symbole si est alors n/m.Ces
probabilités peuvent être alors différentes dun
symbole à lautre. La moyenne des quantités
dinformation est lentropie de la
source. Exprimée en Shannons, H représente le
nombre moyen de bits nécessaires à la
codification binaire des différentes réalisations
de la source. Pour le jeu de 32 cartes, H5,
cest aussi le nombre de bits nécessaire pour
coder les numéros des cartes, de 0 à 31.
18
En physique, lentropie est une grandeur mesurant
le désordre . En information, lentropie est
nulle lorsquil ny a aucune incertitude, et
maximale quand le signal est aléatoire  tous les
symboles sont alors équiprobables. Cest le cas
du codage des chiffres décimaux précédents (3.32
bits), ou du jeu de cartes. Pour un message
donné, dont on connaît les occurrences des
symboles, ce chiffre va baisser (et permettra un
codage plus performant). Le rapport HrH/log(N)
est appelé entropie relative et r 1-Hr est
appelée redondance de la source. Cas dune image
codée sur N256 niveaux de gris. Ces 256 niveaux
constituent les 256 symboles si utilisés. Chaque
pixel (cas équiprobable) porte une information I
log2 (256) 8. (cest la  profondeur  de
limage). Pour une image donnée de m pixels, on
peut calculer les occurrences o(si) des niveaux
de gris (histogramme) et alors  I(si) -
log2(p(si)) - log2(o(si)/m) log2(m)
log2(o(si)) Lentropie est alors 
19
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.
20
Exemple calculons lentropie dune source
binaire avec une extension dordre
2. Solution  Soit S la source sur lalphabet A
a00, a11. a0 et a1 sont de probabilités
respectives p0 et p1. On forme lalphabet B
bj, j0,3 00, 01, 10, 11
21
III. 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.
On recode cette source en binaire (dune façon
générale, ce pourrait être dans un 3ème alphabet
à n symboles). Exemple  une image en niveaux de
gris (N256 symboles de lalphabet A), traitée
par blocs de m4 pixels voisins, à coder en
binaire (n2). Le codage consiste donc à associer
à chaque symbole bj un mot code M(Bj) (écrit en
binaire, ou constitué de symboles de lalphabet
cible en général). 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.
22
Théorème du codage de source sans bruit  1er
théorème de Shannon  Comme 
pour obtenir un nombre L(Bj) entier de bits. Pour
les Nm symboles Bj
Comme HmmH,
Ainsi,
Le théorème peut sénoncer ainsi
23
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 que lentropie
constitue une borne inférieure absolue à la
longueur moyenne dun code, quelque soit ce
code. Conséquence  Supposons que lon ait un
signal (par exemple un fichier de texte, composé
de caractères codés sur 8 bits, ou dune image en
niveaux de gris, codés également sur 8 bits). Si
le nombre de caractères (pixels) du signal est
Nc, alors le signal occupera 8Nc bits. En
connaissant la distribution de probabilités des
symboles utilisés, le théorème de codage de
source sans bruit nous assure de lexistence dun
code de longueur moyenne L/m inférieure à 8 mais
supérieure à H. Le signal occupera alors (L/m)Nc
bits, dautant plus petit que m sera grand (on
aura intérêt à travailler sur des blocs de
limage par exemple). Même sans extension de
source, il est possible de faire mieux que 8 bits
à condition dadopter une longueur de code
variable, fonction de loccurrence du symbole. On
a tout intérêt à choisir un code court pour les
symboles les plus fréquents, et réserver les
longueurs plus importantes aux symboles
apparaissant rarement.
24
  • - Applications
  • IV. Codes à longueur variables (codes
     entropiques ) ou VLC (Variable Length Coding)
  • Lidée précédente semble simple, mais elle
    soppose à une difficulté  lorsque tous les mots
    ont une longueur fixe (8 bits par exemple), le
    décodage ne pose pas de problème, chaque octet
    code un symbole. Lorsque les codes sont à
    longueur variable, il faut distinguer un symbole
    du suivant.
  • Cette opération, appelée synchronisation, 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.
  • Le tableau suivant donne 2 exemples de codes
    préfixés, comparés à un code à longueur fixe pour
    un code présentant une équiprobabilité des 6
    symboles utilisés.

25
symbole Code lg. fixe VLC1 VLC2
a b c d e f 000 001 010 011 100 101 0 10 110 1110 11110 111110 00 01 100 101 110 111
Lmoyenne 3 3,5 2,66
Dans ce cas équiprobable, le code VLC2 serait
meilleur. Ce nest peut être pas le plus
performant si les symboles ne sont plus
équiprobables (et peut être que pour une
distribution donnée, le code VLC1 serait le plus
performant). Remarque les codes préfixés (ou
préfixes) sont des codes  uniquement
déchiffrables  codes pour lesquels toute suite
de mots ne peut être déchiffrée que dune seule
manière. Exemple 0, 11, 010 est uniquement
déchiffrable mais nest pas un code préfixé. Les
théorèmes de Kraft et de Mac Millan permettent
dassocier à tout code uniquement déchiffrable,
un code préfixé équivalent.
26
Décodage (utilisation dun code préfixé)
Différents algorithmes permettent de déterminer
des codes à longueurs variables pour une source
donnée en garantissant ce préfixage . Le
codage de Huffman et celui de Shannon-Fano sont
les deux exemples les plus connus. Donner un 3ème
code à longueur variable (mais non préfixé) ?
Réponse le morse, vrai code VLC
27
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. Les symboles sont dabord triés et
classés en fonction de leur fréquence
(occurrence). Un graphe est alors construit de la
manière suivante A partir des deux symboles
présentant la fréquence la plus faible, un nœud
est créé. Il lui est affecté un poids égal à la
somme des fréquences des deux symboles.Le nœud
créé remplace désormais les deux symboles dans la
suite du processus. A ces derniers sont affectés
respectivement les chiffres binaires 0 pour le
plus fréquent et 1 pour le plus rare, (ou
linverse, il sagit dune convention totalement
arbitraire).La même démarche est reprise en
considérant les deux symboles ou nœuds de poids
le plus faible. Elle est renouvelée tant quil
reste plus dun nœud libre.
28
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 nœud de poids 549
29
Puis les symboles ou nœuds 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 nœud de poids 9 et celui de
poids 13.
Il reste enfin à fusionner le nœud de poids 22 et
le symbole restant, de poids 14
30
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

31
Le codage obtenu est donc D (occurrence 14)
0A (occurrence 7) 111B (occurrence 6)
110C (occurrence 5) 101E (occurrence 4)
100 Le symbole le plus fréquent a obtenu le code
le plus court, les autres ont, dans cet exemple,
des longueurs équivalentes. 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) H
log2(36) - (1/36) 14log2(14) 7log2(7)
6log2(6) 5log2(5) 4log2(4) H
ln(36)/ln(2) - 1/(36ln(2)) 14ln(14)
7ln(7) 6ln(6) 5ln(5) 4ln(4) H 5.170
- 3.002 2.168 Nous voyons que la longueur
moyenne de code donné par lalgorithme dHuffman
est très proche du plancher théorique de
lentropie.
32
Algorithme de Shannon-Fano (ou de Fano)
Lalgorithme de Shannon-Fano est le suivant
1) on classe les symboles par ordre de
probabilités décroissantes,2) on partage
lensemble des symboles en deux sous-ensembles,
les 2 sous-ensembles devant être de probabilités
aussi proches que possible,3) on attribue à
chaque sous-ensemble létat 0 ou 1,4) on
re-partage chaque sous-ensemble en deux
sous-ensembles de probabilités aussi proches que
possible, on attribue à chaque nouveau
sous-ensemble létat 0 ou 1, etc. Lalgorithme
est arrêté lorsque lon atteint des
sous-ensembles ne comportant quun
symbole. Prenons le même exemple Symboles A
B C D E Fréquences 7 6 5 14 4Une fois
ordonnée par fréquences décroissantes, la liste
de symboles est partagée en 2 ensembles de
probabilités les plus proches (sommes des
probabilités des symboles les composant)
33
Les autres découpages possibles présentent des
disparités supérieures. Chaque sous-ensemble est
décomposé selon le même principe. On aboutit à
34
Chaque sous-ensemble ne contient quun symbole.
Le processus est alors arrêté et le codage est
effectué en partant du sommet de la hiérarchie
obtenue, en choisissant 0 pour la probabilité la
plus forte par exemple
Le codage obtenu est donc D (occurrence 14)
00A (occurrence 7) 01B (occurrence 6)
11C (occurrence 5) 100E (occurrence 4) 101
35
Les symboles les plus fréquents ont là encore
obtenu les codes les plus courts.Quelle est la
longueur moyenne de code ? 2 bits pour D, A et B
qui apparaissent au total 27 fois dans le
message, 3 bits pour les 2 autres qui
apparaissent 9 fois en tout. lm (227
39)/3681/362.25Le résultat est très proche de
celui obtenu par Huffman. Les 2 sont proches de
lentropie H 2.168 Les 2 codes sont bien
préfixés aucun code nest le début dun autre
code. Le décodage pourra se faire sans ambiguïté.
Il faut toutefois fournir la table de
correspondance entre les codes obtenus et les
symboles de départ on parle de
dictionnaire. Peut-on parler de compression ? Le
taux de compression peut se définir comme le
rapport entre la taille du message dans son code
dorigine, et la taille du message après
re-codage. Pour effectuer la comparaison, on peut
considérer que les symboles sont des caractères,
codés généralement sur 1 octet (8 bits). Mais sur
cet exemple ne faisant appel quà 5 caractères
différents, il est plus juste de considérer quun
codage à taille fixe nécessiterait Ent log2(5)
1 Ent2.32 1 3 bits pour chaque symbole,
soit 336 108 bits pour le message complet.Le
taux de compression obtenu est donc de 108/80
1.35
36
Si on considère quil faudrait ajouter le
dictionnaire pour retrouver le format dorigine,
la compression risque ici de ne pas être valable
! Elle devient intéressante pour des messages
longs (la taille du dictionnaire devient
négligeable) et des grandes disparités dans les
occurrences. On appelle efficacité h dun codage
le rapport h H/Lm et redondance du
codage, la quantité R 1 h Dans lexemple
précédent le codage par Huffman donne h
2.168/2.22 0.976 et R 0.023. Intuitivement,
on se rend compte que si les symboles étaient
tous équiprobables, les techniques précédentes
conduiraient à obtenir des codes dont les
longueurs moyennes correspondent à celles dun
code à longueur fixe. Dans le cas où le nombre de
symboles à coder est une puissance de 2, le code
à longueur fixe est alors optimal et il ny a
aucune redondance à exploiter.
37
Dans le cas général, le principe de la synthèse
dun code compact consiste donc à ramener le
codage dune série de symboles dune source S au
codage de deux symboles ou de deux groupes de
symboles ayant des probabilités démission les
plus égales possible. C'est sur ce principe que
reposent les algorithmes de Huffman ou de
Fano.En règle générale, ces 2 codages sont
concurrents et le plus efficace des 2 dépend de
la source.Sous la forme donnée précédemment, ces
algorithmes nécessitent de connaître les
occurrences de tous les symboles, donc dacquérir
la totalité du message (signal ou image) avant
codage. Il existe une forme récursive de
lalgorithme de Huffman permettant la mise à jour
du graphe à chaque nouvel événement qui modifie
les fréquences. Remarque Les algorithmes
précédents sont-ils adaptés à la compression des
images ?On peut remarquer que lhypothèse dune
source sans mémoire nest pas respectée, une
première redondance existe et il faut la
diminuer. Il est possible de sapprocher de
lhypothèse dune source sans mémoire, si sur
chaque ligne dune image, on calcule simplement
lerreur entre le niveau de gris du pixel courant
s(x,y) et celui du précédent sur la ligne
s(x-1,y) e(x,y) s(x,y) s(x-1,y). On peut
sen convaincre par les histogrammes de limage
suivante et de limage différence.
38
On se rapproche des hypothèses précédentes. On
peut montrer que toute source dinformation qui
présente une loi de probabilité décroissante peut
être codée à laide dun codage compact (codage
entropique). Dans la pratique, les algorithmes de
codage entropique ne sont pas utilisés
directement sur les valeurs des pixels de
limage, mais sur des grandeurs obtenues après
transformation des valeurs des pixels (comme la
DCT par exemple). Une autre technique consiste à
utiliser les corrélations de l'image en cherchant
à appliquer le principe dextension de source
évoquée précédemment.Comme il est difficile de
prévoir la longueur de blocs de pixels voisins
uniformes (qui donnerait lordre de lextension),
cest sous une forme légèrement différente que le
principe dextension de source est adopté il
sagit du codage par longueur de plages.
39
V. Autres codages sans perte Codages par
longueur de plages La solution adoptée dans la
méthode appelée RLE (Run Length Encoding) ou RLC
(Run Length Coding) consiste à créer une
extension en changeant le support dinformation.
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 il
est alors avantageux de coder la longueur (le
nombre de symboles identiques) et la valeur de
chaque plage. Cst 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. Exemple 1 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
40
Exemple 2 soit la suite des coefficients d'une
DCT suivante 15 0 2 1 1 0 0 0 1 0 0 0 0
(64 coefficients au total) Un codage légèrement
modifié par rapport au précédent, qui serait
nombre de zéros qui précédent une valeur donnée,
valeur donne 0 15 1 2 0 1 0 1 3 1 EOB (End
of Block la suite ne comprend plus que des
zéros) Dans tous les cas, retenir que
linformation codée nest plus la source
originale, mais on utilise les propriétés
spécifiques aux images pour décorréler la source,
ce qui permet dextraire et concentrer
linformation.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). 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).
41
Méthodes à base de dictionnaires Dans les codages
entropiques précédents, les sources étudiées
étaient considérées comme aléatoires, ou tout au
mieux, qualifiées de markoviennes dordre L
(plages de longueur L). Dans la pratique, les
sources ne sont pas purement aléatoires, et 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).
42
La seule manière pour un algorithme à
dictionnaire dêtre efficace est dutiliser un
dictionnaire dynamique ou adaptatif, c'est-à-dire
construit selon la source à coder. Cest le
principe de lalgorithme LZ et de ses variantes
Dans lalgorithme LZ78, chaque élément transmis
par le codeur comprend un index (c'est-à-dire une
adresse dans la table qui constitue le
dictionnaire), ainsi que le code du caractère
suivant. Si le dictionnaire comporte par exemple
4096 entrées, lindex est codé sur 12 bits, et le
caractère suivant sur 8 bits par exemple. La
concaténation de la chaîne trouvée et du nouveau
caractère est entrée en fin de dictionnaire et
est donc disponible comme nouveau
motif.Lalgorithme LZW permet de coder un motif
par un simple index sans avoir à transmettre le
caractère suivant, mais il faut remplir le
dictionnaire par tous les caractères isolés
dabord. Le principe de lalgorithme peut
sénoncer ainsi Avant de commencer tout
codage, une initialisation remplit les premiers
emplacements mémoires de la table de traduction
avec toutes les chaînes élémentaires possibles
(les symboles de lalphabet). Lobjectif du
codeur est de construire la plus longue chaîne en
concaténant les caractères successifs entrant
dans le codeur et en vérifiant que tout nouveau
caractère associé constitue une chaîne déjà
présente dans la table.
43
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 transmet (codage)
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. 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.
44
Décodage Le décodeur fonctionne de manière
symétrique il doit conserver en mémoire le
contenu de 2 motifs (LZ78) le motif courant et
le précédent. Ainsi, en recevant le code suivant,
il lui est toujours possible den extraire le 1er
caractère et de le concaténer à droite du motif
précédent pour former un nouveau motif qui sera
intégré au dictionnaire qui se reconstruit
dynamiquement. 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 nest plus gratuit depuis janvier
1995, et cela après une longue période de liberté
qui avait favorisé son utilisation. Cet
algorithme est couvert par un brevet américain
détenu par Unisys. Une licence de Unisys est
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. On notera que le format PNG (et
lalgorithme LZ77) est dans le domaine public.
45
Codages arithmétiques Les algorithmes de
Shannon-Fano ou de Huffman ont des limitations
même dans leur domaine de prédilection. Ils
fournissent un nombre entier de bits quand la
valeur optimale de longueur de code prévue par la
théorie peut être réelle.Dans les formats de
compression classiques, les codages arithmétiques
remplacent de plus en plus le codage de Huffman.
Lidée générale consiste à représenter lensemble
de la source sous la forme dun seul nombre réel.
Comme dans lalgorithme de Huffman, on commence
par considérer les probabilités des symboles.A
chaque symbole, est alors associé un
sous-intervalle de 0,1 de longueur égale à la
probabilité pi du symbole i.Les intervalles sont
construits de la manière suivante I0
0,p0,I1 p0,p0p1,Le codage consiste à
générer la suite dintervalles emboîtés
convergeant vers un réel R de 0,1 qui codera la
source complète.
46
Exemple Soit la séquence S ABACBACAOn
calcule les occurrences A(4), B(2), C(2) et
donc les probabilités p(A)0.5, p(B)0.25,
p(C)0.25.Les sous-intervalles sont donc
IA0, 0.5, IB0.5,0.75, IC0.75,1Séquence
A on considère lintervalle 0,0.5B dans
lintervalle précédent, on considère le
sous-intervalle IB0.5,0.75 construit dans
lintervalle précédent, donnant le nouvel
intervalle 0.25,0.375A dans lintervalle
précédent ( 0.25,0.375 ), on considère le
sous-intervalle IA0, 0.5 donnant ainsi
0.25,0.3125,Ainsi de suite jusquau dernier
symbole A le réel codant la séquence sera le
début du dernier sous-intervalle
0.305419921875. En pratique, comme on ne peut pas
coder sans arrondi une valeur réelle sur un
nombre fini de bits, les décimales sont extraites
au fur et à mesure pour un codage de leur valeur
en arithmétique entière.
47
Décodage il est symétrique au codage. Il faut
connaître les intervalles initiaux associés à
chaque symbole. Exemple précédent. IA0, 0.5,
IB0.5, 0.75, IC0.75, 1 Le réel est
CODE0.305419921875. CODE0.305419921875 est
compris dans lintervalle IA A est le premier
symbole. Alors CODE ( CODE Inf(IA) ) /
longueur(IA) Ici CODE devient 0,61083984375 qui
appartient à lintervalle IB. Donc B est le 2 ème
symbole et CODE ( CODE Inf(IB) ) /
longueur(IB) On trouve CODE
0,11083984375/0.25 0,443359375 qui appartient à
IA et ainsi de suite
48
  • VI. Compression avec perte application au
    codage des images
  • 1. Mesures de la distorsion
  • Il existe un grand nombre dapplications pour
    lesquelles il nest pas nécessaire de garantir un
    décodage parfait. Ce sont, pour lessentiel, les
    applications qui traitent les signaux destinés à
    nos sens le son et limage en particulier, si
    une part de linformation initiale ne nous est
    pas perceptible.
  •   
  • Nos sens sont mal commodes pour mesurer
    objectivement la distorsion. Et pourtant, le seul
    instrument vraiment capable dapprécier la
    qualité dune image son est bien loeil
    oreille lui elle-même. Il existe des mesures
    dites objectives , parfois appelés critères de
    qualité. Leur inconvénient majeur est dêtre
    discutables dans la mesure où aucun de ces
    critères ne correspond exactement à ce que
    ressent loeil oreille ou plutôt lensemble du
    système visuel auditif.
  •  

49
  • Parmi les critères objectifs, on peut retenir
    lErreur Quadratique Moyenne (EQM)

avec sci, valeur décodée de léchantillon si. On
utilise préférentiellement un dérivé de lEQM,
plus physiologique le rapport signal crête
sur bruit (PSNR, Peak Signal Noise Ratio), en dB,
défini par
Avec par exemple Si la valeur des niveaux de gris
des pixels dune image, et max(Si)255 si ce
niveau de gris est présent (le max des présents
sinon). On estime quun PSNR inférieur à 30 dB
conduit à une image décodée dont les différences
avec loriginale sont visibles à lœil nu. Encore
faut-il disposer de limage originale et dun
système de visualisation de qualité suffisante
pour apprécier ce résultat.
50
  • Dautres mesures de distorsion peuvent être
    introduites. La définition de lEQM précédente
    est liée à la distance

Tandis que lon peut définir
On peut définir
En imposant une valeur maximale à la distorsion,
on sassure que l'erreur commise n'est grande en
aucun point, ce qui est adéquat quand le risque
consiste en une erreur élevée commise localement
(exemple cartes de températures prises par les
satellites météo)
51
  • 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
  • Les méthodes fractales reposent sur le principe
    dhomothétie interne des objets, cest à dire que
    les objets peuvent être constitués dobjets
    identiques à eux mêmes après des transformations
    simples (affines). Les objets ne sont pas tous
    fractals, une approximation est donc faite. Les
    avantages des approches fractales résident dans
    la multi-résolution (adaptation à laffichage), à
    de meilleurs résultats à très fort taux de
    compression et à un décodage rapide. Mais les
    inconvénients (temps de calcul au codage
    importants, absence de norme, qualité pas plus
    élevée aux taux de compression usuels) mettent
    en retrait cette approche par rapport aux
    méthodes utilisant des transformations (DCT
    algorithme JPEG et ondelettes algorithme JPEG
    2000 ).
  • Les méthodes de prédiction reposent sur la grande
    corrélation des pixels voisins dune image, ou
    sur les échantillons successifs dun signal. Pour
    prédire de nouveaux échantillons, on utilise des
    coefficients optimisés par une technique de
    moindres carrés.
  • Les méthodes de prédiction sutilisent également
    dans le cas des séquences dimages (vidéo) la
    prédiction est alors temporelle.

52
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 psychoacoustiques ou 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. Souvent, une
quantification non uniforme permet de réduire la
longueur des mots binaires et le nombre de bits
du signal. Elle permet une compression
supérieure, en réduisant le nombre de niveaux de
quantification et pourtant sans modification de
lEQM. En quantification vectorielle, on
travaille sur des petits blocs de limage qui
sont remplacés par des valeurs issues dun
dictionnaire, et non sur des pixels
isolés. Quantification non linéaire loi mu
(loi m) et loi A
Rapports signal/bruit dune loi linéaire et dune
loi non linéaire
53
2. 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
psychophysique. 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.
54
Il existe des transformées qui garantissent -
une grande disparité entre les valeurs de ses
composantes, (diminution de lentropie !)- 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 (coefficients réels, parité
évitant des discontinuités) par rapport à
dautres transformées possibles (KLT,
Fourier). 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.
55
3. Transformées unitaires Partons dun exemple.
Cherchons à remplacer une portion s(x) dune
ligne dimage, définie sur un intervalle -A/2,
A/2 par une combinaison linéaire de fonctions
orthogonales. Rappelons que la base de fonctions
fm(x) est orthogonale si
La combinaison linéaire approximant s(x) est
alors
Les coefficients am sont les échantillons
décorrélés représentatifs du signal s(x). Ils
sont obtenus par
Un cas particulier que nous connaissons bien
correspond à lanalyse de Fourier
56
Pour une image numérique, s(x) représente les
niveaux de gris dune série de N pixels
adjacents, séparés de Dx. Les N coefficients
distincts am sont donnés par
Considérons une transformation orthogonale à 2
dimensions. Soit s(m,n) la matrice de dimension
NN dont les éléments sont les niveaux de gris
dun bloc de NN pixels. La combinaison linéaire
peut être écrite
F est appelé noyau de la transformation. Les
transformations linéaires les plus intéressantes
sont celles utilisant des noyaux dits séparables
pouvant se mettre sous la forme
F(u,v,m,n)a1(u,m)a2(v,n)
Le calcul peut alors se faire en 2 étapes
57
La première étape calcule la matrice P(u,n) par
La seconde étape donne
Soit P A1 S G P A2 G A1 S A2 Un cas
très courant correspond à A1 A2T A AT
(matrice symétrique). Rappelons quune matrice
unitaire est définie par A-1 AT (AT matrice
adjointe ou trans-conjuguée. Si A est réelle,
mat. adjointe matrice transposée) Pour une
transformation unitaire orthogonale, cest-à-dire
une matrice unitaire à coefficients réels, on a
A-1 AT.
58
Quelles transformations ? A partir des valeurs s
des pixels, on calcule donc des  coefficients de
la transformée  ou  composantes transformées 
G. On recherche les transformées qui fournissent
des coefficients très petits. Ce seront ces
coefficients qui seront abandonnés dans la phase
de compression. Cet abandon correspond à leur
remplacement par 0, pour utiliser la
transformation matricielle inverse. Le problème
est donc de formuler les transformations qui
permettent de garantir lobtention de très petits
coefficients transformés, et de contrôler la
distorsion causée par labandon des plus
petits. La mesure de lEQM (ou MSE) dans le
domaine spatial ou dans le domaine transformé par
une transformation orthogonale est la même. En
effet, lEQM est, à un coefficient près, égale à
la distance définie dans lespace vectoriel des
blocs, et lalgèbre linéaire établit que les
distances sont conservées dans le cas des
transformations unitaires. LEQM est à un facteur
1/MN près, la somme des erreurs quadratiques
effectuées sur chacune des composantes. Ainsi,
labandon dun coefficient supplémentaire
entraîne une augmentation de lEQM égale au carré
du module de ce coefficient divisé par MN. Il
nest donc pas nécessaire de décoder limage pour
connaître lEQM produit.
59
En conséquence, plus le nombre de coefficients
annulés est grand, et plus lEQM est grande, et
pour un nombre fixé de coefficients annulés, il
faut prendre les plus petits. Existe-t-il des
transformations permettant de disproportionner
les coefficients transformés de sorte que
certains dentre eux soient les plus petits
possibles, quelque soient les blocs considérés
? Nous devons nous intéresser à lEQM moyenne sur
un ensemble de blocs E(EQM). On montre facilement
que
Avec se2 et e les variance et moyenne des
différences entre valeurs avant et après
compression, et, indicés par T, les mêmes
grandeurs dans le domaine transformé, sur les
seules composantes abandonnées.
60
Supposons que les valeurs initiales soient
centrées (en JPEG, on soustrait la moitié de la
dynamique 128, en MPEG, après recherche des
vecteurs mouvement, ce sont les différences qui
sont codées spatialement ou encore, après une
séparation YC1C2, les chrominances sont
centrées). Une combinaison linéaire de variables
aléatoires centrées est une variable aléatoire
centrée si les blocs sont centrés, ils le
restent par une transformation linéaire. Si après
transformation, on annule une partie des
composantes, les niveaux de gris des blocs
obtenus après transformation et compression,
restent centrés. Ainsi, si on souhaite minimiser
E(EQM), il faut trouver une transformation qui
réduise au maximum la variance des coefficients
supprimés. Il faut donc trouver la transformation
qui compacte la puissance moyenne sur le plus
petit nombre de composantes possibles (car la
variance totale ne peut être que constante
conservation de lénergie). La transformation qui
répond exactement à la problématique est la
transformée de Karhunen-Loève.
61
La transformée de Karhunen-Loève est optimale en
terme de compactage de lénergie. Alors que les
pixels de limage dentrée sont corrélés, les
coefficients transformés tendent à être
décorrélés. Les éléments en dehors de la
diagonale de la matrice de covariance
RE(G-mG)(G-mG)T tendent à devenir faibles par
rapport aux éléments de la diagonale. Rappelons
le principe de la KLT Soient 2 vecteurs
aléatoires Xx(0),,x(N) et Yy(0),,y(N)
dont les composantes sont des variables
aléatoires. Les composantes de X sont corrélées
entre elles. Posons YUTX (ou XUY) tel que les
composantes y soient orthogonales. (Rappel y(l)
et y(k) sont orthogonales si Ey(l)y(k)0 pour
tout k différent de l. Elles sont décorrélées si
Ey(l)y(k)Ey(l)Ey(k) pour tout l différent
de k. Si elles sont décorrélées et à valeur
moyenne nulle, elles sont orthogonales.) Soit Rx
EXXT la matrice dautocorrélation engendrée
par X. La matrice de KL réduisant Rx à sa forme
diagonale sexprime par U(u1 uk). Les vecteurs
ui sont les vecteurs propres normalisés de la
matrice symétrique Rx rangés dans un ordre
décroissant
62
Les li sont les valeurs propres associées. La
forme diagonale de Rx est donnée par
Les li sont égales aux variances des composantes
transformées. Les composantes du vecteur
transformé Y sont orthogonales car la matrice
EYYT se réduit à une matrice diagonale
déléments li Ey(k)y(l) lk d(k-l) Mais la
KLT nest quun instrument de laboratoire elle
dépend des données et ne se prête pas à un calcul
rapide. (elle nest pas séparable, il ny a pas
de double transformation monodimensionnelle
équivalente). Le calcul de la matrice
dautocorrélation suppose les statistiques des
blocs connus, ce qui nest pas possible en image.
63
La Transformée de Fourier Discrète TFD ou DFT La
TFD permet de compacter linformation sur un
petit nombre de composantes. La matrice na pas à
être calculée, elle est issue de la définition et
indépendante du bloc considérée. La
transformation est séparable, elle permet
décrire la transformation par le produit de 2
matrices. Enfin, les coefficients transformés ont
une signification simple. Inconvénients - les
coefficients sont complexes (mais il ny a pas 2
M.N coefficients différents pour autant car la TF
est hermitienne la partie réelle est paire et
la partie imaginaire est impaire). -
Linconvénient principal est la périodisation
implicite des blocs dimage due à la TFD.
Lorsquon recopie des blocs, on fait apparaître
généralement des discontinuités aux frontières
elles correspondent à des hautes fréquences.
Ainsi, les coefficients les plus petits ne sont
pas ceux qui correspondent aux fréquences les
plus élevées car ces derniers sont relevés pour
cette raison. Il ny a donc pas coïncidence
entre coefficients les plus petits et phénomènes
les moins importants perceptuellement. Leur
suppression correspond à un minimum dEQM mais
pas un minimum de perception visuelle.
64
De la TFD à la Transformée en Cosinus Discrète
DCT La DCT est une transformation qui permet
dobtenir certains coefficients plus petits que
les plus petits coefficients obtenus avec une
TFD. Les coefficients les plus petits sont
localisés dans une  zone  dacuité visuelle
minimale. Les coefficients sont réels. Les autres
avantages sont issus de la TF dont elle découle
séparabilité et  explication  fréquentielle des
coefficients. Cest labsence de discontinuités
aux frontières qui expliquent des coefficients
plus petits. La matrice dautocovariance des
coefficients transformés possède des valeurs hors
diagonale plus petits quavec la TFD, la
puissance moyenne est plus compactée. De toutes
les transformations unitaires, la DCT donne les
résultats les plus proches de la KLT
optimale. Lexpression de la DCT provient dune
TFD modifiée dans la manière dont les blocs sont
périodisés. La DCT est issue de la TF dune image
fictive périodique et paire en recopiant dans
toutes les directions un bloc de base, - de
dimension double du bloc considéré, - composé de
4 blocs construits de la manière suivante
65
Du bloc B, - B1 est identique à B, - B2 est
symétrique de B par rapport à son axe vertical
central, - B3 est symétrique de B par rapport à
son axe horizontal central, - B4 est symétrique
de B par rapport à son centre.
B1 B2
B3 B4
Bd

Limage obtenue est ainsi réelle et paire, et
elle ne présente plus les discontinuités aux
frontières. Nous allons décrire les grandes
étapes aboutissant à lexpression de la
DCT. Notons que lorigine de la DCT sur un bloc
de taille M.M permet denvisager son calcul par
lutilisation dune TFD sur 2M points. (ce qui
est fait dans certains logiciels de calcul). Dans
la pratique, on utilise la DCT sur des blocs de
88 pixels où son calcul est optimisé.
66
Limage précédente est périodique de période
2M2N. La TFD sécrit
avec
Limage nest pas exactement paire car le pixel
n(-1,-1) est égal à n(0,0). Le centre de symétrie
nest pas défini, il faut faire un décalage de
-1/2 dans les 2 directions en déphasant les
coefficients transformés
(on a simplifié ici en prenant NM correspondant
aux cas pratiques)
67
La suite sobtient en considérant la double somme
précédente comme la somme de 4 doubles sommes
pour i0 à M-1, j0 à M-1 (terme A) i0 à M-1,
jM à 2M-1 (terme B) iM à 2M-1, j0 à M-1 (terme
C) iM à 2M-1, jM à 2M-1 (terme D) Par
changements de variables, les termes B, C et D
peuvent sexprimer sous la forme de sommes
sétendant pour i0 à M-1, j0 à M-1. En posant
q12p(i1/2)u/
Write a Comment
User Comments (0)
About PowerShow.com