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