Codage Compression d images



Documents pareils
Formats d images. 1 Introduction

TD : Codage des images

Traitement bas-niveau

TP SIN Traitement d image

JPEG, PNG, PDF, CMJN, HTML, Préparez-vous à communiquer!

Résolution d équations non linéaires

Compression Compression par dictionnaires

Exercice : la frontière des portefeuilles optimaux sans actif certain

Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes.

Création de maquette web

Traitement numérique de l'image. Raphaël Isdant

INF6304 Interfaces Intelligentes

Structure du format BMP, sa lecture, sa construction et son écriture

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

IMAGES NUMÉRIQUES MATRICIELLES EN SCILAB

Initiation à linfographie

Chap17 - CORRECTİON DES EXERCİCES

Codage hiérarchique et multirésolution (JPEG 2000) Codage Vidéo. Représentation de la couleur. Codage canal et codes correcteurs d erreur

Fête de la science Initiation au traitement des images

Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications

Développements limités, équivalents et calculs de limites

TP : Gestion d une image au format PGM

Q6 : Comment calcule t-on l intensité sonore à partir du niveau d intensité?

1 Introduction au codage

Les images et les animations sur le web. Guérineau Chloé BTS2 Année 2001/2012

Hiver 2013 IMN 259. Introduction à l analyse d images. Par Pierre-Marc Jodoin

Exercices Corrigés Premières notions sur les espaces vectoriels

Quantification Scalaire et Prédictive

Projet de traitement d'image - SI 381 reconstitution 3D d'intérieur à partir de photographies

Théorie et Codage de l Information (IF01) exercices Paul Honeine Université de technologie de Troyes France

Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte

Projet Matlab : un logiciel de cryptage

Baccalauréat ES Pondichéry 7 avril 2014 Corrigé

Opérations de base sur ImageJ

Transmission d informations sur le réseau électrique

Les images numériques. 1. Le dessin vectoriel

Exo7. Calculs de déterminants. Fiche corrigée par Arnaud Bodin. Exercice 1 Calculer les déterminants des matrices suivantes : Exercice 2.

Analyse d images. Edmond.Boyer@imag.fr. Edmond Boyer UFRIMA 1

Chapitre 22 Optimisation pour diffusion à l'écran, pour le web

1 Complément sur la projection du nuage des individus

6. Hachage. Accès aux données d'une table avec un temps constant Utilisation d'une fonction pour le calcul d'adresses

Systèmes de transmission

Sur trois couches, on obtient donc 2563 = de couleurs, soit 24bpp (Bit Per Pixel).

FORMATS DE FICHIERS. Quels sont les différents types d informations numériques dans un document multimédia?

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

NOTATIONS PRÉLIMINAIRES

Résolution de systèmes linéaires par des méthodes directes

Correction de l examen de la première session

Chapitre 13 Numérisation de l information

Comment optimiser dans ImageReady?

Théorie et codage de l information

GESTION DU LOGO. 1. Comment gérer votre logo? Format de l image Dimensions de l image Taille de l image 9

Programmation linéaire

Master IMA - UMPC Paris 6 RDMM - Année Fiche de TP

L ANALYSE EN COMPOSANTES PRINCIPALES (A.C.P.) Pierre-Louis GONZALEZ

Géométrie discrète Chapitre V

Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34

Méthodes de quadrature. Polytech Paris-UPMC. - p. 1/48

Approche par marquage pour l évaluation de la qualité d image dans les applications multimédias

Analyse de la vidéo. Chapitre La modélisation pour le suivi d objet. 10 mars Chapitre La modélisation d objet 1 / 57

Différentiabilité ; Fonctions de plusieurs variables réelles

1 radian. De même, la longueur d un arc de cercle de rayon R et dont l angle au centre a pour mesure α radians est α R. R AB =R.

Projet Matlab/Octave : segmentation d'un ballon de couleur dans une image couleur et insertion d'un logo

Catégories de format d'optimisation

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

Chapitre 2. Matrices

Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes.

Cours 7 : Utilisation de modules sous python

INTRODUCTION A L ELECTRONIQUE NUMERIQUE ECHANTILLONNAGE ET QUANTIFICATION I. ARCHITECTURE DE L ELECRONIQUE NUMERIQUE

Bases de données documentaires et distribuées Cours NFE04

Représentation des Nombres

Exo7. Matrice d une application linéaire. Corrections d Arnaud Bodin.

Chp. 4. Minimisation d une fonction d une variable

Maintenir un service de traitement de son ou d image d ordinateur

Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé


Conversion d un entier. Méthode par soustraction

Cours de Mécanique du point matériel

CHAPITRE V SYSTEMES DIFFERENTIELS LINEAIRES A COEFFICIENTS CONSTANTS DU PREMIER ORDRE. EQUATIONS DIFFERENTIELLES.

Traitement des données avec Microsoft EXCEL 2010

I - PUISSANCE D UN POINT PAR RAPPORT A UN CERCLE CERCLES ORTHOGONAUX POLES ET POLAIRES

ISO/CEI NORME INTERNATIONALE

Angles orientés et trigonométrie

Les algorithmes de base du graphisme

CHAPITRE IV Oscillations libres des systèmes à plusieurs degrés de liberté

Chapitre 3. Mesures stationnaires. et théorèmes de convergence

Vision industrielle et télédétection - Détection d ellipses. Guillaume Martinez 17 décembre 2007

Optimisation, traitement d image et éclipse de Soleil

Livrable 2.1 Rapport d analyse et de restructuration de code monothread des modules P, T, Q et F de l encodage MPEG-4 AVC

Exercices - Polynômes : corrigé. Opérations sur les polynômes

FONCTIONS DE PLUSIEURS VARIABLES (Outils Mathématiques 4)

Créez et envoyez une invitation et le mini-site de votre événement

Première partie. Préliminaires : noyaux itérés. MPSI B 6 juin 2015

Utiliser le logiciel Photofiltre Sommaire

Comme chaque ligne de cache a 1024 bits. Le nombre de lignes de cache contenu dans chaque ensemble est:

Technique de compression des images médicales 4D

Codage d information. Codage d information : -Définition-

Chaine de transmission

L analyse d images regroupe plusieurs disciplines que l on classe en deux catégories :

Pop-Art façon Roy Liechtenstein

Transcription:

Codage Compression d images E. Jeandel Emmanuel.Jeandel at lif.univ-mrs.fr E. Jeandel, Lif CodageCompression d images 1/1

Une image Une image est un tableau de w h pixels, chaque pixel étant représenté par une couleur, codée entre 1 et 4 bits ; Deux types (principalement) de représentation des couleurs : On décrit chaque pixel par trois entiers (R, G, B) précisant chacun l intensité en rouge/vert/bleu du pixel. On décrit initialement une palette de couleurs (couleur 0 = blanc, couleur 1 = jaune...) et on décrit ensuite la couleur de chaque pixel par sa position dans la table E. Jeandel, Lif CodageCompression d images 2/1

PPM (vu en TD) On représente ligne après ligne du tableau : P3 16 16 256 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 97 0 97 0 62 0 97 0 1100 89 0 0 20 0 19 0 14 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 97 0 1100 89 0 97 0 1100 89 0 0 20 0 19 0 14 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 97 0 1100 89 0 1200 1310 92 0 1200 1310 92 0 0 73 0 79 0 49 0 97 0 1100 89 0 97 0 97 0 62 0 73 0 79 0 49 0 0 0 0 0 0 0 0 97 0 1100 89 0 97 0 1100 89 0 1200 1310 92 0 0 1510 1500 101 0 1510 1500 101 0 1320 1230 87 0 97 0 97 0 62 0 0 97 0 1100 89 0 97 0 1100 89 0 97 0 1100 89 0 97 0 1100 89 0 0 1870 1820 138 0 1580 1550 106 0 1510 1500 101 0 1080 1130 79 0 0 97 0 1100 89 0 97 0 1100 89 0 1510 1500 101 0 1870 1820 138 0 0 1870 1820 138 0 1580 1550 106 0 1510 1500 101 0 1510 1500 101 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1510 1500 101 0 1870 1820 138 0 0 1870 1820 138 0 1580 1550 106 0 1510 1500 101 0 1510 1500 101 0 E. Jeandel, Lif CodageCompression d images 3/1

XPM (vu en TD) E. Jeandel, Lif }; CodageCompression d images 4/1 On représente d abord la palette, puis l image : static char *test[] = { "16 16 17 1", " c #000000", ". c #050503", "X c #080905", "o c #14130E", "O c #292A1C", "+ c #494F31", "@ c #61613E", "# c #6C714F", ".................. " "- c #9D9A6A", "; c #BAB589", ": c #D4CEA6", "> c None", ">>>>>>>>>>>>>>>>", ">>@$$o>%o>>>>>>>", ">>$$$$*Oo>>>>>>>", ">$&&&$$o+$@+>>>>", ">$$&$=$@==*@++>>", "$$$$;;;;;-=#@+@>", "$$=;:::;;-==#++>", ">>=;::;;;-==@++>", ">@=;;;;;--=*@++>", ">@=;;;;;--=*@++>", ">>&=-----**@+%+>", ">>&&=-===*@@+O.X", ">>>##&*##@@+O...", ">>>>O+++%++O.. ", ">>>> Xo...X. ", ">>>>... >"

Problèmes majeurs avec les compressions ordinaires Les caractères consécutifs ne représentent pas la même couleur. Exemple d un dégradé de rouge 0 0 0 1 0 0 2 0 0 3 0 0 4 0 0 5 0 0 6 0 0 7 0 0... Solution : traiter les 3 couleurs séparément Une image est en 2 dimensions : Suivant si on la représente en ligne ou en colonne, le gain en compression n est pas le même. E. Jeandel, Lif CodageCompression d images 5/1

Compression d images On peut utiliser les techniques précédentes pour compresser une image Les images se compressent souvent mal Pourquoi? Une image de 3000 x 2000 pixels avec 3 bits par pixels se compresse en 10 Mo, ce qui est (encore) trop. Méthodes toutefois utilisées pour des petites images (PNG, GIF) ou lorsqu on ne veut pas dégrader l image. E. Jeandel, Lif CodageCompression d images 6/1

2D 1D Les pixels voisins ont souvent la même couleur Idée : transformer l image 2D en image 1D de façon à conserver la localité Space-Filling Curves E. Jeandel, Lif CodageCompression d images 7/1

2D 1D Les pixels voisins ont souvent la même couleur Idée : transformer l image 2D en image 1D de façon à conserver la localité Space-Filling Curves E. Jeandel, Lif CodageCompression d images 7/1

2D 1D Les pixels voisins ont souvent la même couleur Idée : transformer l image 2D en image 1D de façon à conserver la localité Space-Filling Curves E. Jeandel, Lif CodageCompression d images 7/1

2D 1D Les pixels voisins ont souvent la même couleur Idée : transformer l image 2D en image 1D de façon à conserver la localité Space-Filling Curves E. Jeandel, Lif CodageCompression d images 7/1

2D 1D Les pixels voisins ont souvent la même couleur Idée : transformer l image 2D en image 1D de façon à conserver la localité Space-Filling Curves E. Jeandel, Lif CodageCompression d images 7/1

2D 1D Les pixels voisins ont souvent la même couleur Idée : transformer l image 2D en image 1D de façon à conserver la localité Space-Filling Curves E. Jeandel, Lif CodageCompression d images 7/1

Application d un filtre (Preprocessing) Avant d appliquer un algorithme de compression, on peut préparer l image. Dans PNG : On remplace chaque pixel par sa différence avec son prédécesseur horizontal : Q(x, y) = P(x, y) P(x 1, y) Ou encore Q(x, y) = P(x, y) P(x, y 1) Q(x, y) = P(x, y) P(x, y 1) + P(x 1, y) 2 Q(x, y) = P(x, y) R où R est, parmi les pixels a = P(x 1, y), b = P(x, y 1) et c = P(x 1, y 1) le plus proche de a + b c. E. Jeandel, Lif CodageCompression d images 8/1

Exemple 80 53 10 49 48 32 49 48 10 50 53 53 10 90 91 92 94 96 99 103 105 107 108 91 92 94 96 99 104 109 113 115 115 92 94 96 99 104 110 117 121 123 122 93 95 98 102 108 116 122 126 127 126 95 96 100 105 112 119 123 126 129 129 96 E. Jeandel, Lif CodageCompression d images 9/1

Méthode 1 80 27 43 39 1 16 17 1 10 40 3 0 43 80 1 1 94 2 3 4 2 2 1 17 92 2 2 3 5 5 4 2 115 23 2 2 3 5 6 7 121 2 1 29 2 3 4 6 116 6 4 1 1 31 1 4 105 7 7 4 3 3 0 33 E. Jeandel, Lif CodageCompression d images 10/1

Méthode 2 80 53 10 49 48 32 49 48 70 3 43 4 38 58 42 44 84 46 46 50 95 17 17 1 2 2 3 4 1 2 5 24 23 2 2 3 5 5 3 2 6 31 28 3 4 6 8 9 5 1 4 34 31 3 6 8 11 10 7 4 0 34 33 4 E. Jeandel, Lif CodageCompression d images 11/1

Méthode 3 80 27 43 39 1 16 17 1 70 19 23 2 40 69 22 23 84 24 25 27 49 10 9 9 2 0 0 0 2 4 5 13 23 12 0 0 1 0 2 5 6 17 14 16 1 1 2 1 5 3 4 18 15 17 2 2 11 1 0 0 2 19 17 18 E. Jeandel, Lif CodageCompression d images 12/1

Quadtree On suppose pour simplifier que l image est de taille une puissance de 2 On coupe à chaque fois l image en 4. Si un des quarts de plan est uni, on le représente par un seul noeud, dont la couleur est la couleur du noeud. Sinon, on le redécoupe en 4. E. Jeandel, Lif CodageCompression d images 13/1

Compression avec pertes Souvent, on peut se contenter d obtenir une image qui ressemble à l image d origine, sans lui être forcément identique Diminuer le nombre de couleurs Diminuer la taille E. Jeandel, Lif CodageCompression d images 14/1

Test Originale E. Jeandel, Lif CodageCompression d images 15/1

Test 4 fois moins de pixels E. Jeandel, Lif CodageCompression d images 15/1

Test 16 fois moins de pixels E. Jeandel, Lif CodageCompression d images 15/1

Test 32 niveaux de gris E. Jeandel, Lif CodageCompression d images 15/1

Test 16 niveaux de gris E. Jeandel, Lif CodageCompression d images 15/1

PCM Idée : Au lieu de mettre le pixel, mettre la différence avec son prédécesseur Ne pas utiliser 8 bits mais beaucoup moins (par exemple 4 bits) Faire attention... Original 71 9 87 76 51 28 89 77 71 Différence Codage E. Jeandel, Lif CodageCompression d images 16/1

PCM Idée : Au lieu de mettre le pixel, mettre la différence avec son prédécesseur Ne pas utiliser 8 bits mais beaucoup moins (par exemple 4 bits) Faire attention... Original 71 9 87 76 51 28 89 77 71 Différence Codage 64 E. Jeandel, Lif CodageCompression d images 16/1

PCM Idée : Au lieu de mettre le pixel, mettre la différence avec son prédécesseur Ne pas utiliser 8 bits mais beaucoup moins (par exemple 4 bits) Faire attention... Original 71 9 87 76 51 28 89 77 71 Différence -62 Codage 64-64 E. Jeandel, Lif CodageCompression d images 16/1

PCM Idée : Au lieu de mettre le pixel, mettre la différence avec son prédécesseur Ne pas utiliser 8 bits mais beaucoup moins (par exemple 4 bits) Faire attention... Original 71 9 87 76 51 28 89 77 71 Différence -62 78 Codage 64-64 64 E. Jeandel, Lif CodageCompression d images 16/1

PCM Idée : Au lieu de mettre le pixel, mettre la différence avec son prédécesseur Ne pas utiliser 8 bits mais beaucoup moins (par exemple 4 bits) Faire attention... Original 71 9 87 76 51 28 89 77 71 Différence -62 78-11 -25-23 61-12 -6 Codage 64-64 64 E. Jeandel, Lif CodageCompression d images 16/1

PCM Idée : Au lieu de mettre le pixel, mettre la différence avec son prédécesseur Ne pas utiliser 8 bits mais beaucoup moins (par exemple 4 bits) Faire attention... Original 71 9 87 76 51 28 89 77 71 Différence -62 78-11 -25-23 61-12 -6 Codage 64-64 64-16 -32-32 48-16 -16 E. Jeandel, Lif CodageCompression d images 16/1

PCM Idée : Au lieu de mettre le pixel, mettre la différence avec son prédécesseur Ne pas utiliser 8 bits mais beaucoup moins (par exemple 4 bits) Faire attention... Codage 64-64 64-16 -32-32 48-16 -16 Décodage E. Jeandel, Lif CodageCompression d images 16/1

PCM Idée : Au lieu de mettre le pixel, mettre la différence avec son prédécesseur Ne pas utiliser 8 bits mais beaucoup moins (par exemple 4 bits) Faire attention... Codage 64-64 64-16 -32-32 48-16 -16 Décodage 64 E. Jeandel, Lif CodageCompression d images 16/1

PCM Idée : Au lieu de mettre le pixel, mettre la différence avec son prédécesseur Ne pas utiliser 8 bits mais beaucoup moins (par exemple 4 bits) Faire attention... Codage 64-64 64-16 -32-32 48-16 -16 Décodage 64 0 E. Jeandel, Lif CodageCompression d images 16/1

PCM Idée : Au lieu de mettre le pixel, mettre la différence avec son prédécesseur Ne pas utiliser 8 bits mais beaucoup moins (par exemple 4 bits) Faire attention... Codage 64-64 64-16 -32-32 48-16 -16 Décodage 64 0 64 E. Jeandel, Lif CodageCompression d images 16/1

PCM Idée : Au lieu de mettre le pixel, mettre la différence avec son prédécesseur Ne pas utiliser 8 bits mais beaucoup moins (par exemple 4 bits) Faire attention... Codage 64-64 64-16 -32-32 48-16 -16 Décodage 64 0 64 48 16-16 32 16 0 E. Jeandel, Lif CodageCompression d images 16/1

PCM Idée : Au lieu de mettre le pixel, mettre la différence avec son prédécesseur Ne pas utiliser 8 bits mais beaucoup moins (par exemple 4 bits) Faire attention... Codage 64-64 64-16 -32-32 48-16 -16 Décodage 64 0 64 48 16-16 32 16 0 Original 71 9 87 76 51 28 89 77 71 E. Jeandel, Lif CodageCompression d images 16/1

PCM Idée : Au lieu de mettre le pixel, mettre la différence avec son prédécesseur Ne pas utiliser 8 bits mais beaucoup moins (par exemple 4 bits) Faire attention... à la dérive! Codage 64-64 64-16 -32-32 48-16 -16 Décodage 64 0 64 48 16-16 32 16 0 Original 71 9 87 76 51 28 89 77 71 E. Jeandel, Lif CodageCompression d images 16/1

PCM Idée : Au lieu de mettre le pixel, mettre la différence avec le recalcul du prédécesseur. Ne pas utiliser 8 bits mais beaucoup moins (par exemple 4 bits) Faire attention... à la dérive! Codage 64-64 64-16 -32-32 48-16 -16 Décodage 64 0 64 48 16-16 32 16 0 Original 71 9 87 76 51 28 89 77 71 E. Jeandel, Lif CodageCompression d images 16/1

PCM Idée : Au lieu de mettre le pixel, mettre la différence avec le recalcul du prédécesseur. Ne pas utiliser 8 bits mais beaucoup moins (par exemple 4 bits) Faire attention... à la dérive! Original 71 9 87 76 51 28 89 77 71 Différence Codage Recalcul E. Jeandel, Lif CodageCompression d images 16/1

PCM Idée : Au lieu de mettre le pixel, mettre la différence avec le recalcul du prédécesseur. Ne pas utiliser 8 bits mais beaucoup moins (par exemple 4 bits) Faire attention... à la dérive! Original 71 9 87 76 51 28 89 77 71 Différence Codage 64 Recalcul 64 E. Jeandel, Lif CodageCompression d images 16/1

PCM Idée : Au lieu de mettre le pixel, mettre la différence avec le recalcul du prédécesseur. Ne pas utiliser 8 bits mais beaucoup moins (par exemple 4 bits) Faire attention... à la dérive! Original 71 9 87 76 51 28 89 77 71 Différence -62 Codage 64-64 Recalcul 64 0 E. Jeandel, Lif CodageCompression d images 16/1

PCM Idée : Au lieu de mettre le pixel, mettre la différence avec le recalcul du prédécesseur. Ne pas utiliser 8 bits mais beaucoup moins (par exemple 4 bits) Faire attention... à la dérive! Original 71 9 87 76 51 28 89 77 71 Différence -62 87 Codage 64-64 Recalcul 64 0 E. Jeandel, Lif CodageCompression d images 16/1

PCM Idée : Au lieu de mettre le pixel, mettre la différence avec le recalcul du prédécesseur. Ne pas utiliser 8 bits mais beaucoup moins (par exemple 4 bits) Faire attention... à la dérive! Original 71 9 87 76 51 28 89 77 71 Différence -62 87 Codage 64-64 80 Recalcul 64 0 80 E. Jeandel, Lif CodageCompression d images 16/1

PCM Idée : Au lieu de mettre le pixel, mettre la différence avec le recalcul du prédécesseur. Ne pas utiliser 8 bits mais beaucoup moins (par exemple 4 bits) Faire attention... à la dérive! Original 71 9 87 76 51 28 89 77 71 Différence -62 87-4 -13-20 73-3 5 Codage 64-64 80 Recalcul 64 0 80 E. Jeandel, Lif CodageCompression d images 16/1

PCM Idée : Au lieu de mettre le pixel, mettre la différence avec le recalcul du prédécesseur. Ne pas utiliser 8 bits mais beaucoup moins (par exemple 4 bits) Faire attention... à la dérive! Original 71 9 87 76 51 28 89 77 71 Différence -62 87-4 -13-20 73-3 5 Codage 64-64 80-16 -16-32 64-16 0 Recalcul 64 0 80 64 48 16 80 64 64 E. Jeandel, Lif CodageCompression d images 16/1

PCM Généralisations : Représenter le pixel par la différence entre une valeur précalculée R(x, y) et sa vraie valeur : Le pixel précédent R(x, y) = P(x 1, y) Interpolation linéaire avec les deux pixels précédents R(x, y) = 2 P(x 1, y) P(x 2, y) Interpolation quadratique avec les trois pixels précédents R(x, y) = P(x 3, y) 3 P(x 2, y) + 3P(x 1, y) E. Jeandel, Lif CodageCompression d images 17/1

Compression d images - idée générale Pour améliorer la compression, on peut essayer de transporter l image dans un nouvel espace Trouver un espace où l information (l intensité lumineuse) est concentrée en un petit nombre de points Compresser dans le nouvel espace E. Jeandel, Lif CodageCompression d images 18/1

Transformée Groupons les pixels 2 par 2, et remplaçons (x, y) par (x + y, x y) Effectuons cette opération sur les lignes, puis sur les colonnes, afin d éliminer la corrélation a c b d a + b c + d a b c d a + b + c + d a b + c d a + b (c + d) (a c) + (d b) Fonction inverse : ( ) x y z w ( ) x + y + z + w x y + z w x + y (z + w) (x z) + (w y) E. Jeandel, Lif CodageCompression d images 19/1

Exemple 193 73 165 47 180 20 280 86 13 67 39 39 64 96 0 2 376 4 397 7 425 1 427 29 4 0 7 1 7 3 15 19 451 37 405 25 396 10 437 17 21 25 27 31 8 2 13 1 455 21 495 11 476 34 421 29 13 1 5 3 28 34 29 37 E. Jeandel, Lif CodageCompression d images 20/1

Transformée Dans la représentation a c b d a + b + c + d a b + c d a + b (c + d) (a c) + (d b) Le coefficient le plus important est le premier Ne garder que le premier et diminuer la précision des autres Compression? E. Jeandel, Lif CodageCompression d images 21/1

Exemple Originale E. Jeandel, Lif CodageCompression d images 22/1

Exemple En ne gardant que 6 bits des coefficients moins pertinents E. Jeandel, Lif CodageCompression d images 22/1

Exemple En ne gardant que 2 bits des coefficients moins pertinents E. Jeandel, Lif CodageCompression d images 22/1

Transformée On se place en dimension 1 pour simplifier On groupe les pixels k par k. On applique une matrice (application linéaire) pour transformer les k valeurs en k nouvelles valeurs Quelle matrice choisir? Méthode optimale (en un certain sens) compliquée à mettre en oeuvre. E. Jeandel, Lif CodageCompression d images 23/1

Transformées Il faut choisir une matrice M qui est inversible Avoir une matrice orthogonale (M T = M 1 ) a ses avantages E. Jeandel, Lif CodageCompression d images 24/1

Transformée de Hadamard C est une matrice dont les lignes sont numérotées par des mots sur {0, 1} (c est à dire pour 4 lignes, par 00, 01, 10, 11 plutôt que par 1, 2, 3, 4 Le coefficient en v, w est ( 1) i v i w i Le coefficient en v, w est ( 1) si i v iw i est impair, 1 sinon. 00 01 10 11 00 1 1 1 1 01 1 1 1 1 10 1 1 1 1 11 1 1 1 1 E. Jeandel, Lif CodageCompression d images 25/1

Transformée de Hadamard - Exemple - Ligne 369 5 57 81 15 29 91 51 449 121 129 119 117 41 37 39 803 9 1 17 19 21 25 21 822 12 24 2 60 2 6 4 827 9 7 27 33 33 41 23 862 18 12 28 56 36 46 34 908 20 10 30 74 34 40 40 939 19 5 39 21 41 55 33 E. Jeandel, Lif CodageCompression d images 26/1

Transformée de Hadamard - Exemple - Ligne puis Colonne 5979 53 75 67 105 13 101 97 165 139 197 309 179 89 33 13 965 125 59 11 53 175 329 61 65 95 137 201 93 57 65 125 1093 185 115 47 257 1 117 133 33 155 225 61 167 97 13 45 649 101 39 27 7 113 35 69 57 115 185 229 275 37 105 135 E. Jeandel, Lif CodageCompression d images 27/1

Transformée de Haar La transformée de Haar de niveau k travaille sur 2 k pixels Dans chaque bloc de 2 k, on remplace chaque couple de deux pixels par Leur moyenne La différence entre le premier pixel et la moyenne On obtient ainsi un premier bloc contenant toutes les moyennes, et un deuxième bloc contenant la différene On exécute ensuite la transformée de Haar de niveau k 1 sur le bloc contenant les moyennes Exécution sur ( 15 25 80 90 18 18 68 14 ) E. Jeandel, Lif CodageCompression d images 28/1

Haar - Exemple 48 41 45 70 18 11 5 21 94 99 106 106 1 1 0 7 112 101 99 109 9 6 2 4 113 123 119 105 5 2 8 7 3 9 16 0 16 9 24 0 1 1 1 3 0 0 0 4 5 6 2 3 6 7 0 0 3 1 7 7 0 0 8 9 E. Jeandel, Lif CodageCompression d images 29/1

Haar - Exemple 70 81 26 24 18 11 5 21 112 108 5 4 1 1 0 7 0 6 3 6 9 6 2 4 0 1 5 6 5 2 8 7 3 9 16 0 16 9 24 0 1 1 1 3 0 0 0 4 5 6 2 3 6 7 0 0 3 1 7 7 0 0 8 9 E. Jeandel, Lif CodageCompression d images 30/1

Haar - Exemple 92 17 26 24 18 11 5 21 1 3 5 4 1 1 0 7 0 6 3 6 9 6 2 4 0 1 5 6 5 2 8 7 3 9 16 0 16 9 24 0 1 1 1 3 0 0 0 4 5 6 2 3 6 7 0 0 3 1 7 7 0 0 8 9 E. Jeandel, Lif CodageCompression d images 31/1

Transformée de Haar La transformée de Haar de niveau k s écrit sous forme matricielle (Exercice) Intérêt : connaître les 2 n premiers pixels du résultat permet d obtenir une approximation raisonnable de l image (décode progressif) Exercice : dans la formule, on met a+b 2 et a a+b 2. Pourquoi ne met-on pas a b 2 à la place? E. Jeandel, Lif CodageCompression d images 32/1

Transformée en cosinus La transformée en cosinus (DCT) consiste à prendre la matrice de taille n (cos( 2πn (i + 12 )j) ) i,j E. Jeandel, Lif CodageCompression d images 33/1

Compression Après avoir appliqué la transformée, un seul coefficient est gros On traite ce coefficient à part Il reste à traiter les autres On les code sur moins de bits On utilise un seuil ɛ : Tout nombre en dessous de ɛ est considéré comme nul E. Jeandel, Lif CodageCompression d images 34/1

Compression (suite) On compresse ensuite tous les gros coefficients ensemble Les petits coefficients sont compressés (Huffman) Méthode utilisée dans JPEG. E. Jeandel, Lif CodageCompression d images 35/1

JPEG On exprime chaque pixel dans un espace cdy (avec la luminance) comme paramètre plutôt que RGB On compresse séparément chacune des composantes On compresse moins la composante Y que les deux autres. On diminue la résolution par deux pour les deux composantes c et d. On compresse ensuite chaque bloc 8 8 de l image On applique sur chaque bloc la transformation DCT ; On diminue la précision des coefficients (facteur qualité de JPEG) On compresse les gros coefficients ensemble (Comme du PCM pour simplifier) On compresse chaque bloc séparément (Huffman) E. Jeandel, Lif CodageCompression d images 36/1

Test Originale E. Jeandel, Lif CodageCompression d images 37/1

Test JPEG, qualité 0 E. Jeandel, Lif CodageCompression d images 37/1

Test Image en résolution 1/8 E. Jeandel, Lif CodageCompression d images 37/1

Test JPEG, qualité 50 E. Jeandel, Lif CodageCompression d images 37/1

Test JPEG, qualité 75 E. Jeandel, Lif CodageCompression d images 37/1

Test JPEG, qualité 100 E. Jeandel, Lif CodageCompression d images 37/1

Test Attention, JPEG même en qualité 100 ne restitue pas exactement la même image. On peut tester en partant d une image PPM un peu particulière.. E. Jeandel, Lif CodageCompression d images 38/1

Test Attention, JPEG même en qualité 100 ne restitue pas exactement la même image. On peut tester en partant d une image PPM un peu particulière.. \section{compression} On essaie ici de compresser des images, c est à dire des tableaux de pixel chaque pixel pouvant prendre une couleur entre $0$ et $255$. On ne s intéresse ici qu à compresser des images en niveaux de gris. En effet, l plupart des techniques de compression, pour compresser une image au format RVB, compressent séparemment les trois composantes bleue, rouge et verte. \subsection{techniques précédentes} La plupart des techniques précédentes sont encore applicables. Il fa.. E. Jeandel, Lif CodageCompression d images 38/1

Test Attention, JPEG même en qualité 100 ne restitue pas exactement la même image. On peut tester en partant d une image PPM un peu particulière.. \uecuhpn{cokssdttino} On duqcje ibk dd!dmoprdtsds!bfs!gmafhq,!c(eru!p"dhpf"cet!scakfaww!ee!ohxfj di qvd qgyfk!oovwamt psfkgrcykf"bpumdvr fntse $/%eu$347$. Oo oe s&iotêqeuse kbh#qv&à!bpnptdsrds cgrmjcies gl!mltf ww de esis. En!dfgds- l_ rltparu bgr teegpfruft ed!bnposetqlol-potsdnmqqfsqfsunfhnbfe!awjmtn^t TVA*!enmtqfqtgmvrìo rdmmdmt!ifq!vqmjrdqnnrs nucv jfvc-qpydf"dt sfrvb1 _pvdqfcrhpo{tfbgpjnyfp#qoécédcoucs~ Jbsluq xs ccs tgagqgssgr!pqêeçedntes"ppmvep_ppg!arokjdackfp,!kj g^ E. Jeandel, Lif CodageCompression d images 38/1

Son Des méthodes similaires existent pour compresser le son 1D au lieu de 2D. Même principe d application de transformation (MPEG) Même principe d application de filtre (PCM/ADPCM) E. Jeandel, Lif CodageCompression d images 39/1