Fichier PDF couleurs : pari51_cours3_jpeg

Transcription

Fichier PDF couleurs : pari51_cours3_jpeg
PARI 51
Images Numériques
Cours #3 : Images Numériques
Compression avec pertes (JPEG – MP3)
Par : Bernard Besserer
Compression avec pertes
ƒ Atteindre de taux de compression records (50:1)
ƒ Au prix d’une dégradation du signal
– Cette dégradation doit si possible être peu perceptible.
ƒ Compression psychovisuelle ou psychoacoustique
– Les basses fréquences sont beaucoup plus importantes
pour la compréhension d'une image naturelle que les
hautes fréquences qui représentent le bruit et les
détails d'une image.
– L’œil humain perçoit mieux les gradations d’intensité
que les gradation de couleur
– L’oreille ne perçoit pas
certains sons
• Masquage fréquentiel
2
1
JPEG : Historique
ƒ Groupe JPEG (Joint Photographic Experts Group)
créé dans les années 80 à l’initiative du CCITT
(Consultative Committe for International
Telegraph and Telephone ) et de l’ISO
(Organisation Internationale de Standardisation)
ƒ Définir un standard international pour la
compression d’images fixes.
ƒ 3 techniques ont été pré-retenues en 1987. La
technique à base de DCT a été retenue en
1988... La norme parut en 1993 !
3
JPEG : Généralités
ƒ La compression est réalisée en réduisant toutes
les formes possibles de redondance qu’une
image peut présenter :
– Redondance spatiale,
– Redondance subjective,
– Redondance statistique.
ƒ Ainsi,
– La DCT permet de condenser l’information initiale, et
ainsi, d’en diminuer l’entropie,
– les composantes transformées sont quantifiées selon un
pas de quantification « psychovisuelle »
– on élimine l’information statistiquement redondante :
plusieurs solutions sont alors retenues successivement.
4
2
JPEG : Chaîne de compression
ƒ La compression JPEG est en fait une cascade de
ƒ
ƒ
technique de compression.
La perte d’information (si l’on ne considère pas
les erreurs d’arrondis) s’effectue en un seul
endroit de la chaîne
Cette perte doit être paramétrable :
– qualité demandée faible = compression élevée
5
JPEG : Normalisation
ƒ
La norme JPEG défini la structure de fichier et la façon de
décoder l’information.
ƒ
La norme JPEG ne défini pas la méthode de compression.
(Elle suggère une méthode par la diffusion d’un code
informatique de référence)
Cette stratégie permet :
ƒ
ƒ
– Aux chercheurs d’améliorer la qualité de la compression
– Aux développeurs logiciels de produire des codes de
compression plus efficaces
– Aux industriels d’effectuer un portage « dans le silicium » de
l’algorithme (compression « temps réel »)
Conclusion : 2 fichiers encodés avec les mêmes
paramètres sur des plateformes différentes ne sont pas
identiques
6
3
1 : Séparation Luminance Chrominance
ƒ Compresser d’avantage les informations de
ƒ
chrominance que celles de luminance.
On utilise une transformation conduisant à un
codage YC1C2 :
– Y=0.3R+0.587V+0.114B
– C1=R-Y et C2=B-Y avec une définition 2 fois plus faible.
ƒ La compression opère indépendamment sur ces
3 plans avec en général un taux de compression
variant de 3 à 10.
7
2 : transformation linéaire par DCT
ƒ Le calcul de la DCT n’est pas réalisée sur l’image
entière, mais sur des blocs de 8 x 8 pixels.


1
pour u = 0
2
1 pour u = 1,..., N − 1
α (u ) = 
avec :
N −1
C (u , v) = α (u )α (v)∑
x =0
N −1
 (2 x + 1)uπ 
 ( 2 y + 1)vπ 
 cos 

2N
2N
∑ f ( x, y) cos 
y =0
Transformation inverse :
N −1
f ( x, y ) = ∑
u =0
N −1
 (2 x + 1)uπ 
 ( 2 y + 1)vπ 
 cos 

2N
2N
∑ α (u )α (v)C (u, v) cos 
v =0
8
4
2 : transformation linéaire par DCT
Principe :
ƒ
Matrice A
On considère la matrice
P formée par les
éléments Pij :
 Y (0,0) ... Y (0,7) 


... 
 ...
 Y (7,0) ... Y (7,7) 


pij = α j
2
 (2i + 1) jπ 
cos

N

 2N
donnant une matrice de transformation P :








1 1 cos( π ) 1 cos(2π ) ... 1 cos(7π ) 
16 2
16
2
16 
8 2
1 1 cos(3π ) 1 cos(3*2π ) ... 1 cos(3*7π ) 
16 2
16
2
16 
82

...

π
15
*
7
1 1 cos(15π )
1
...
cos(
)
16
2
16 
82
La transformation se fait par : F = t P x A x P
9
DCT : Étude en 1D
ƒ
Décomposition d’un signal
quelconque en une somme de
fonctions de base
– Série / transformée de Fourrier
– Transformée en ondelettes
ƒ
Choix des fonctions de bases :
– Fourier : fonction sin et cos,
partie réelle et imaginaire…
– Fonction cosinus seules,
adaptation pour n’avoir que
des valeurs réelles
– Limitation du nombre de
fonctions
10
5
DCT : Étude en 1D, discret
ƒ Compression légèrement asymétrique : plus de
ƒ
calculs pour la compression que pour la
décompression.
Ensemble de multiplications – additions
(implémentation efficace)
11
DCT : Étude 1D, Discret
ƒ
Exemple pour la
reconstruction du signal :
12
6
DCT : extension en 2 dimensions
ƒ Fonctions de base pour la DCT 2D (8 X 8)
13
DCT : Extension 2D
ƒ Les mêmes fonctions de bases, vues comme des
imagettes à niveau de gris
14
7
DCT
ƒ
ƒ
ƒ
La matrice F, la transformée par DCT, présente la propriété
de regrouper les valeurs les plus élevées (les composantes
les plus énergétiques du signal) dans le coin supérieur
gauche de la matrice (les valeurs devenant d’autant plus
faibles que l‘on s’approche du coin inférieur droite, donc
que l‘on se situe dans les " hautes fréquences ").
La DCT est donc effectuée sur chaque matrice 8x8 de
valeurs de pixels, et elle donne une matrice 8x8 de
coefficients de fréquence : l’élément (0,0) représente la
valeur moyenne du bloc (DC), les autres (AC) indiquent la
puissance spectrale pour chaque fréquence spatiale.
La DCT est conservatrice si on ne prend pas en compte les
erreurs d’arrondis qu’elle introduit.
15
Exemples de matrice de coefficients
Matrice A
(pixels)
Matrice DCT
140
144
152
168
162
147
136
148
147
140
136
156
156
140
123
136
140
147
167
160
148
155
167
155
140
140
163
152
140
155
162
152
155
148
162
155
136
140
144
147
179
167
152
136
147
136
140
147
175
179
172
160
162
162
147
136
156
–18
15
–9
23
–9
-14
-19
21
-34
26
-9
–11
11
14
7
-10
-24
-2
6
-18
3
-20
-1
-8
-5
14 -15
-8
-3
-3
8
-3
10
-11
18
18
15
4
16
144
152
155
145
148
167
156
155
8
1
-2 -18
8
8
-4
1
-7
9
1
-3
4
-1
-7
-1
-2
0
-8
-2
2
1
4
-6
0
8
DCT : Reconstruction du signal
17
3 : Quantification
ƒ La quantification représente la phase non
ƒ
ƒ
conservatrice du processus de compression JPEG.
chaque valeur de la matrice DCT est divisée par
un nombre (quantum), fixé par une table (matrice
8 x 8) de quantification, puis arrondie à l’entier le
plus proche
Î Obtenir le maximum de 0 après quantification
Valeurs généralement croissantes d‘une diagonale à la
suivante : cet accroissement constitue le pas du quantum,
ou le " facteur de qualité " 3 5 7 9 1 1 1 3 1 5 1 7
5
7
7
9
9
9
11 13 15 17 19
11 13 15 17 19 21
11 13 15 17 19 21 23
11 13 15 17 19 21 23 25
13 15 17 19 21 23 25 27
15 17 19 21 23 25 27 29
17 19 21 23 25 27 29 31
18
9
JPEG : Quantification
Ex. avant quantification :
92
3
-39 -58
-84
62
Après :
-9
-7
3
-1
0
2
31
1
1
1
0
0
0
0
12
17
-2
2
4
2
-8
-8
1
2
0
0
0
0
1
-18
3
4
-5
5
-12
7
0
1
0
0
0
0
-10
14
-10
4
-2
0
-6
-3
-1
1
-1
0
0
0
-86 -40
49
-7
17
-6
-2
5
-8
-3
3
0
1
0
0
0
-62
65
-12
-2
3
-3
-2
0
-5
4
-1
0
0
0
0
0
-17
14
-36
17
-11
3
3
-1
-1
1
-2
1
0
0
0
0
-3
2
0
0
1
0
0
0
-52 -36
-54
32
-9
-9
22
0
1
3
19
4 : Balayage ZigZag
Codage des coefficients AC :
La première étape de codage de la matrice quantifiée se fait en
parcourant les éléments dans l’ordre imposé par une séquence
particulière en zigzag :
Le résultat est une suite mono-dimensionnelle des
coefficients quantifiés numérotés de 1 à 64.
les suites de valeurs nulles sont simplement
codées en donnant le nombre de 0 successifs.
C’est le codage RLC (Run Length Coding).
Codage des valeurs DC : on utilise un codage différentiel : le
coefficient DC d’un bloc est corrélé avec le coefficient DC du bloc
précédent. E(k)=DC(k)-DC(k-1). Il s’agit d’un codage appelé
« Differential Pulse Code Modulation » = DPCM
20
10
5 : Compression non destructive
D’autre part, les valeurs non nulles seront codées en utilisant une
méthode entropique, appelé ici codage VLC (Variable Length Coding) :
il s’agit d’un codage de Huffman.
Les codages VLC se combinent bien avec un codage RLC auquel ils
succèdent généralement, pour augmenter encore le taux de
compression. Dans la compression JPEG, on applique une compression
RLC et un codage VLC, pour diminuer sans perte la masse
d'informations présentes :
- codage de Huffman des composantes différentielles DC,
- codage de Huffman des composantes AC après le codage RLC.
21
JPEG : Affichage progressif
ƒ
Objectif : transmettre d’abord l’information importante de
l’image puis les détails
– Transmettre d’abord les coefficients BF puis les HF : possible
grâce à la méthode adoptée (DCT). Il s’agit d’une « sélection
spectrale » : la composant DC est utilisée, puis le premier AC,
puis d’autres…
ƒ
La décomposition en segments (macrolignes de 8 pixels de
hauteur) permet également un autre mode d’affichage
progressif.
ƒ
Mode sans perte : un codage prédictif est appliqué puis un
codage entropique (Huffman) est ensuite appliqué sur les
échantillons différentiels.
– JPEG ?
– JPEG 2000 OK
22
11
JPEG : Avantages
ƒ Les taux de compression impressionnants (mais
dépendant de la nature de l’image)
– Image visuellement identique à l’original :
entre 1,5 et 2 bits par pixel
– Image de qualité moyenne mais suffisante :
entre 0,25 et 0,5 bit par pixel
ƒ Standard largement répandu
ƒ Implémentation hardware disponible
ƒ Personnalisation de la matrice de quantification
ƒ Extension adapté au séquences d’images
(MJPEG)
23
JPEG : Inconvénients
ƒ
Mauvaise apparence des images pour
des fortes compression (l’image a
tendance à apparaître comme une
composition de blocs de 8x8 pixels)
ƒ
Adapté pour des images naturelles,
mais pas des images infographiques
– Amélioré dans le JPEG 2000
– Mode sans pertes du JPEG 2000
ƒ
La normalisation du format de fichier
est un peu « lâche »
– JBIG : pour FAX (remplace CCITT
Groupes 3 et 4)
24
12
JPEG : format de fichier
ƒ Structure d’un fichier JPEG :
« frame » = l’image, « scan » = une composante couleur de l’image,
« segment » = suite de blocs, « block » = un bloc 8x8 pixels.
ƒ Frame header (entête d’image) :
dimensions de l’image, nombre de composantes, facteur
d’échantillonnage pour chaque composante, table de quantification pour
chaque composante
ƒ Scan header :
tables de quantification, tables de huffman, commentaires
25
ƒ Numérisation et compression du son
26
13
Acquisition
ƒ Microphone
– Capteur électrodynamique, électrostatique,
piézoélectrique
ƒ Vibrations Î électrons (charge électrique)
ƒ Discrétisation + Quantification
ƒ Enregistreur numérique (DAT, MD,…)
ƒ Numérisation son analogique
son analogique Î son numérique
27
Son Numérique Sans Compression
ƒ Numérisation du son analogique :
– Utilisation d’une carte son
• Sound Blaster, Guillemot, Terratec, etc…
– Entrées / sorties numériques (SP/DIF)
•
•
•
•
cuivre (coaxial) / fibre optique
Internes / externes
avoir des équipements disposant de cette interface
Version low-cost de l’interface AES-EBU (professionnel)
– Utilisation d’un enregistreur numérique avec entrée
analogique (Lecteur / Enregistreur MD)
28
14
Son Numérique Sans Compression
ƒ Conversion Analogique / Numérique : 3 étapes
– Echantillonnage
– Quantification
– Encodage
29
Son Numérique Sans Compression
ƒ Echantillonnage
– La valeur du signal analogique
est lue à des intervalles de
temps réguliers
–
–
–
–
–
–
–
–
–
Téléphone : 8 kHz
AM : 11 kHz
Cassette audio : 22 kHz
FM : 32 kHz
CDDA : 44.1 kHz
DAT : 48 kHz
DV : 32, 44.1, 48 kHz
DVD Audio : 96 kHz (5 canaux), 192 kHz (2 canaux)
SACD (DSD) : 2822.4 kHz
30
15
Son Numérique Sans Compression
ƒ Quantification
– Les échantillons sont exprimés
en bits
– 16 bits : 65,536 valeurs
– 12 bits : 4,096 valeurs
–
–
–
–
–
–
Téléphone : 8 bits
CDDA : 16 bits
DAT : 16 bits
DV : 12, 16 bits
DVD Audio : 24 bits
SACD (DSD) : 1 bit
31
Son Numérique Sans Compression
ƒ Encodage
– Les données sont codées dans
un format lisible par la machine
ƒ Format sans compression : PCM
– Pulse Code Modulation
– Utilisé dans les fichiers WAV et AIFF (Audio Interchange
File Format)
– Utilisé par les CDDA.
32
16
Caractéristiques du Son Numérique
ƒ Nombre d’échantillons / Seconde
– Exprimé en Hz, kHz ou MHz
ƒ Nombre de bits / Echantillon
– 8, 12, 16, 24 bits,…
ƒ Nombre de voies (ou canaux)
– 2, 5, 5+1,…
ƒ Formats de « streaming » : débit (bitrate)
ƒ Les voies sont souvent entrelacées
– Afin d’assurer une lecture séquentielle avec une
mémorisation minimale
33
Caractéristiques du Son Numérique
ƒ Exemple :
– Données stéréo échantillonnées 44.1 kHz en 16 bits :
44100 x 16 x 2 = 1411200 bps = 176400 octets/s =
172.2 Ko/s
– 1 minute qualité CD : 10.08 Mo
– 1 minute qualité téléphone : 468.75 Ko
34
17
Son Numérique Avec Compression
ƒ
CODEC
ƒ
ƒ
ƒ
Software / Hardware
Avec ou sans perte
Format d’encapsulation :
WAV
Le format WAV (comme les
AVI) est un fichier RIFF
(Ressource Interchange File
Format)
Portabilité du fichier
Logiciels disponibles pour
l’encodage
Qualité du son
Application
ƒ
ƒ
ƒ
ƒ
ƒ
35
COdeur/DECodeur ou
COmpresseur/DECompresseur
Compression Sans Perte
ƒ
ƒ
ƒ
ƒ
ƒ
ƒ
ADPCM : Adaptative Differential Pulse Code Modulation
La valeur de l’échantillon suivant est prédite à partir
des échantillons précédents
L’erreur entre les échantillons prédits et les
échantillons réels a une variance plus faible que les
échantillons réels
La quantification de l’erreur nécessite moins de bits
Standard CCITT
Taux compression 4:1
– 4 bits au lieu de 16
36
18
Compression Avec Perte : MP3
ƒ
ƒ
ƒ
ƒ
MPEG Layer 3 : MP3 (Fraunhaufer IIS-A)
Compression psycho-acoustique ou encodage audio
perceptuel (Perceptual Audio Coding)
Réduire au maximum, par une cascade d'opérations
successives, la quantité d'informations nécessaires à
la perception intégrale du son par l'oreille humaine
Etapes de l’encodage MP3
– Séparation du signal en bandes
de fréquences (filtres) :
SBC (Sub Band Coding)
– Le modèle psycho-acoustique détermine
l’effet de masque (en fonction de l’intensité
et de la fréquence)
37
Compression Avec Perte : MP3
ƒ Masquage fréquentiel
Elimination des sons
inaudibles
La zone masquée
dépend de la fréquence
38
19
Compression Avec Perte : MP3
ƒ
L’encodeur calcule de façon dynamique la décomposition
du signal a travers un ensemble filtre. Il détermine ensuite
quelle sont les informations qui sont audible ou non,
d’après son modèle psycho-acoustique.
39
Compression Avec Perte : MP3
ƒ Masquage fréquentiel
ns
rt da e
o
f
n
so
thm
a un
l gor i
S’il y ande, l’a n peut
es
b
o
une mpressi res band
t
o
de c r les au
e
r
o
n
ig
40
20
Compression Avec Perte : MP3
ƒ Masquage temporel
– L’oreille humaine n ’est pas capable de percevoir des
sons faibles qui suivent des sons forts
ƒ Joint stéréo
ƒ Encodage Huffmann (encodage variable)
41
Compression Avec Perte : MP3
ƒ
ƒ
ƒ
ƒ
Son de qualité CD :
Layer 1 : débit 384 kbps, taux 4:1
Layer 2 : débit 256..192 kbps, taux 6:1..8:1
Layer 3 : débit 128..112 kbps, taux 10:1..12:1
ƒ
ƒ
CODEC hardware : Lecteur DVD, Baladeurs MP3,…
Applications : EMD (Electronic Music Distribution),
vidéo,…
ƒ
Dépassé par WMA, Real audio 8, ATRAC3, Ogg Vorbis
42
21
Compression Avec Perte : MP3 PRO
ƒ Séparation en basses et hautes fréquences
ƒ Les basses fréquences sont analysées et
encodées en flux MP3
– Compatibilité avec les lecteurs MP3 (basses fréquences)
ƒ Les hautes fréquences ignorées par MP3 sont
analysées et ajoutées au flux MP3
– Meilleure qualité
ƒ Son de qualité CD : débit 64kpbs, taux 24:1
ƒ Hardware : lecteurs MP3 PRO, lecteurs DVD
43
Ogg Vorbis
ƒ Developpé par Xiph.org qui milite pour les
ƒ
standards multimédia libres.
Les projets Ogg en cours sont :
–
–
–
–
Ogg Vorbis : Compression audio "avec perte" (lossy)
Ogg Theora : Compression vidéo basée sur VP3
FLAC : Compression audio "sans perte" (lossless)
Speex : Compression de la parole
ƒ Ogg Theora est en développement ; Ogg Vorbis,
ƒ
FLAC et Speex sont opérationnels.
Le MP3 n'est ni libre, ni gratuit. Il appartient à
l'Institut Fraunhofer et à Thomson Multimédia,
qui en 1998 ont décidé de facturer l'utilisation de
leur format pour chaque encodeur, et en 2002 de
faire payer pour chaque décodeur
44
22
Ogg Vorbis
ƒ
ƒ
Comparaison MP3/Ogg
Vorbis
– MP3 : limité à deux
canaux (stéréo).
– Ogg Vorbis jusqu'à 255
canaux.
– Le modèle psychoacoustique de MP3 est
fixe, il fait partie
intégrale du format.
– Ogg Vorbis n'utilise pas
de modèle fixe, mais
des modèles variables
définies à l'encodage
Conclusion : pour la
même taille, un fichier
codé en Ogg Vorbis
est de meilleure
qualité, et pour la
même qualité, un
fichier MP3 est plus
grand.
45
Compression Avec Perte
ƒ
ƒ
Application : EMD
WMA : Windows Media Audio 8 (Microsoft)
– Son qualité CD : débit 64kbps
– DRM (Digital Rights Management)
– Hardware : lecteurs DVD
ƒ
Real Audio 8 (Real Networks)
– Son qualité CD : débit 64kbps
ƒ
ATRAC3 : Adaptative Transform
Acoustic Coding 3 (SONY)
– Son qualité CD : débit 64kbps
– Protection SDMI
(Secure Digital Music Initiative)
– Hardware : NetWalkman
(Memory Stick Magic Gate)
46
23
Compression Avec Perte
ƒ
AC3 : Dolby Digital 5.1
–
–
–
–
–
ƒ
ƒ
ƒ
ƒ
ƒ
47
Nombre d’échantillons / Seconde : 48 kHz
5+1 canaux : FL, C, FR, RL, RR, LFE
6 canaux x 48 kHz x 18 bits = 5.184 Mbps
Débit : 384 / 448 kbps, ratio : 13:1
Applications : Home cinéma
Utilisation d’un modèle de la voix
True Speech
–
–
–
–
Un canal (mono)
Nombre d’échantillons / seconde : 8 kHz
Débit : 8 kbps
Applications : Communications par Internet, téléphonie
Lernout & Hauspie CELP (Code Exited Linear Prediction ):
4.8 kpbs
GSM 8 kHz (LPC : Linear Predictive Coding ) : 13.2 kbps
GPRS ( General Packet Radio Service ): 115 kpbs
Conclusion
ƒ Problèmes
–
–
–
–
Pérennité des supports
Portabilité des formats / CODEC
Copyright
Accès au contenu
ƒ Les choix du format, support, qualité etc.
dépendent de l’application.
48
24
49
25