Techniques de compression avec pertes

Slides:



Advertisements
Présentations similaires
CHAftITREI ARCHITECTURE de BASE. Modèle de Von Neumann Langage d’assemblage1 John Von Neumann est à l'origine d'un modèle de machine universelle de traitement.
Advertisements

Introduction à la notion de fonction 1. Organisation et gestion de données, fonctions 1.1. Notion de fonction ● Déterminer l'image d'un nombre par une.
Tutoriel : faire le montage des enregistrement audio des p’tit déj’ Contact Ce tutoriel est conçu pour le logiciel libre Audacity, téléchargeable gratuitement.
Géométrie Différentielle – Cubiques d'Hermite Introduction aux courbes paramétriques et à la géométrie différentielle.
Règles de nommages Eric Bleuzet Philippe Terme.

1 Construire une séquence en technologie A)La construction de la séquence par l'enseignant ● Exemples : modélisation du réel en 5° B)La séquence vécue.
Enseigner l’arithmétique en série L Réflexions sur les contenus et les exigences.
L'image: Formats et compression BacPro SEN Lycée Condorcet ➢ 1ère partie: Généralités ➢ 2ème partie: Les espaces de couleurs ➢ 3ème partie: Codage des.
Traitement d’images 420-D78-SW A16 Semaine 02 Plan de leçon  Images : définition  Mat : définition  Filtres de lissage  Les fonctions et méthodes.
Volée 1316 S3 Cours No 2_3 : Le nombre en 1-2H. Les fonctions du nombre  Dénombrer, énumérer, décrire une collection. Aspect cardinal  Dater, classer,
Sommaire : I.Introduction II.Fibre optique (pr é sentation g é n é ral de la fibre) III.Les techniques de transmissions -Multiplexage temporelle (TDM)
A. Objectifs de la séquence: à l'issue de la séquence, il faut être capable de: Identifier l’ordre et la nature d’un filtre Tracer les diagrammes asymptotiques.
Plan 1. La chaîne de transmission numérique
La technologie des mémoires
Nouvelle norme sans fil …
Calcul et interprétation de taux de variation
Outils de Recherche Opérationnelle en Génie MTH 8414
épreuve E6 questionnement possible
Sylvain Hamel - Analyste
La Compression de Données
Première partie : La droite de budget
ONEE-BE en partenariat avec le RACEE/ASAEE Formation de Formateurs
CCNP Routage Chapitre 4 - Questionnaire N°1
1.3 COORDONNÉES DES POINTS
Préparer par : Intissare et kaoutare
Reprise du cours ( ) Aujourd’hui :
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Section 1.1 : Unités du système international (SI)
Veille technologique Nassima Mahcer 17 MAI 2017.
Plan du cours Introduction : création de circuits
Etalonnage d’une caméra (on parle aussi de calibrage)
Homographies Patrick Hébert & Denis Laurendeau (Dernière révision : septembre 2016)
ECHANTILLONNAGE.
La technique du pipeline
Mesure de température par radiométrie photothermique
Tableau de bord des risques
Méthode Taguchy Analyse de la variance Anavar
Stabilité des porteurs horizontaux (Poutres)
Notion De Gestion De Bases De Données
Divers procédés de modulation sont utilisés dans le domaine hertzien et dans le domaine câblé pour transporter les informations numériques Ces techniques.
Réseaux de neurones appliqués à la reconnaissance de caractères
POL1803: Analyse des techniques quantitatives
Les amplificateurs opérationnels
Chapitre 3 : Caractéristiques de tendance centrale
Adaptive Neuro Fuzzy Inference System (ANFIS)
L’imputation rationnelle des charges fixes
Analogique-numérique
Modélisation objet avec UML
Compresser avec un banc de filtres
NUMERATION et REPRESENTATION DES NOMBRES
Transformation linéaires
Lois de Probabilité Discrètes
Les opérations intellectuelles et le dossier documentaire
Le code de Huffman: est une méthode de compression statistique de données qui permet de réduire la longueur du codage d'un alphabet. Le code de Huffman.
Présentation 4 : Sondage stratifié
Présentation 9 : Calcul de précision des estimateurs complexes
Information, Calcul, Communication
Reconnaissance de formes: lettres/chiffres
PRO1026 Programmation et enseignement
Construire et utiliser un banc de filtres
Créer un filtre sur mesure (pour compresser)
Projection, cosinus et trigonométrie.
Présentation 6 : Sondage à plusieurs degrés
Opérateurs et fonctions arithmétiques Opérateurs de relation Opérateurs logiques Cours 02.
Tris Simples/Rapides.
Contextualisation : Détermination de l’intensité d’une force
Images Stage – Semaine 4.
Dérivation – Fonctions cosinus et sinus
Transcription de la présentation:

Techniques de compression avec pertes Chapitre 05 Techniques de compression avec pertes

1. La norme JPEG La norme JPEG (Joint Photographic Experts Group) est conçue par le groupe ISO (International Standards Organisation) et le groupe CEI (Commission Electronic International). Elle est destinée à la compression des images fixes en couleurs et à niveaux de gris en vue de leurs stockage sur les supports numériques. Elle a été réalisée dans la perspective de couvrir les applications les plus diversifiées en tenant compte des contraintes réalistes par rapport aux applications les plus visibles : publication, transmission, banques d’images. Les techniques définies par la norme JPEG se divisent en deux classes : les méthodes de compression avec pertes qui sont basées sur la TCD suivie d’une quantification et d’un codeur entropique. La seconde classe, concerne les processus de codage sans pertes, cette classe de codeurs n’est pas basée sur la TCD mais sur le codage MICD suivi d’un codage entropique.

1. La norme JPEG Principe Image originale blocs 8*8 Transf TCD Quant Zigzag RLE Huffman ou Arithmétique Image compr Table de Quant Tables entropique

1. La norme JPEG A- Découpage en blocs 8*8 L'image d'origine est découpée en blocs de 8x8 pixels. Chacun est traité indépendamment. La raison de ce découpage est la difficulté de mener les traitements suivants sur des blocs plus grands : le temps de calcul et le nombre de variables augmentent considérablement. La valeur 8x8 a été choisi car les Codage et compression d'images et de vidéo temps de calculs sont raisonnables et les algorithmes peuvent être implantés sur des circuits intégrés sans recourir à trop de transistors. Le découpage en macroblocs indépendants cause souvent des artefacts aux bords de ces blocs car la compression varie d'un bloc à son voisin. En effet, la compression consiste à supprimer certaines informations, mais pas les mêmes d'un macrobloc à l'autre. Donc, la décompression peut montrer des petites différences sur les frontières des macroblocs.

B- La transformation en cosinus discrète (DCT) 1. La norme JPEG B- La transformation en cosinus discrète (DCT) La transformation en cosinus discrète, aussi appelée DCT pour ‘discrete cosine transform’, est une transformation linéaire qui est proche de la transformation de Fourier discrète (DFT). Le noyau de projection utilisé pour la DFT est représenté par une exponentielle complexe (soit des bases de sinus et cosinus) alors que le noyau de projection de la DCT est simplement une base de cosinus. Les coefficients de la transformée ne sont donc pas complexes mais réels ce qui présente un avantage pour le codage et la quantification. La formule qui permet de transformer une image I(x; y) en sa transformée T(u; v) est la suivante :   La transformée inverse de la DCT a pour équation :

B- La transformation en cosinus discrète (DCT) 1. La norme JPEG B- La transformation en cosinus discrète (DCT) - Le principal avantage de la DCT est le fait de pouvoir concentrer au maximum l'information contenue dans un bloc au niveau des coefficients basse fréquence.   La figure suivante représente les transformées de 4 blocs images et l'on peut constater que les coefficients DCT importants sont les coefficients basse-fréquence.

B- La transformation en cosinus discrète (DCT) 1. La norme JPEG B- La transformation en cosinus discrète (DCT) Autre exemple de la transformation DCT

1. La norme JPEG C- Quantification - D'un point de vue psychovisuel, 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.   Ces deux remarques permettent de décider la stratégie que va adopter le compresseur JPEG. Pour répondre à la sensibilité de l'oeil, le pas de quantification utilisé est différent suivant la position du coefficient dans le bloc.

Quelques méthodes de quantification 1. La norme JPEG C- Quantification Quelques méthodes de quantification A- Sélection zonale : Cette m méthode consiste à ne retenir que les coefficients situés dans une zone fixe du bloc transformé (cf. figure). Cela est acceptable dans le cas ou l’énergie de l’image est essentiellement concentrée dans les basses fréquences. Cette méthode est efficace mais produit des dégradations remarquables sur l’image.

Quelques méthodes de quantification 1. La norme JPEG C- Quantification Quelques méthodes de quantification B- Sélection par seuil : La solution est de fixer un seuil  est d’abondonner tous les coefficients inférieurs, en valeur absolue, à cette valeur indépendamment de leur position dans la matrice transformée. Le fait d’ajuster le seuil pour chaque bloc permet de conserver une qualité à peu près constante sur chaque bloc, mais dans tous les cas, rien ne permet de prévoir quel sera le taux de compression obtenu, car on ignore combien de coefficients on été perdus et il faut transmettre la valeur du seuil pour chaque bloc.

Quelques méthodes de quantification 1. La norme JPEG C- Quantification Quelques méthodes de quantification C- Matrice de quantification La solution utilisée par le standard JPEG, est d’utiliser un quantificateur scalaire uniforme, associé à une matrice de quantification, formée de coefficients de seuil prédéfinis . Ainsi, possède son propre seuil. Le principal inconvénient est que cette matrice doit être connue du décodeur et donc transmise. le format JPEG, dans sa version de base permet de passer jusqu’à quatre matrices de quantification pour une image. l’idée générale est d’utiliser des faibles valeurs pour les basses fréquences et des fortes pour les hautes fréquences (figure suivante) . Ce mode de quantification entraîne une accumulation de coefficients nuls dans le coins inférieurs droit du bloc DCT.

Quelques méthodes de quantification 1. La norme JPEG C- Quantification Quelques méthodes de quantification C- Matrice de quantification Matrice originale Matrice Tr DCT Matrice De Quant Matrice Quantifiée

1. La norme JPEG D- balayage Zigzag La matrice quantifiée présente des nombres qui ont des valeurs absolues importantes dans le coin haut-gauche, en particulier, le nombre [0,0] est la plus grande valeur. Ensuite les valeurs des cases [i,j] décroissent à mesure que la somme i+j augmente. C'est pour cette raison qu'on effectue un parcours en zigzag. De cette manière, passés les premiers coefficients, on trouve de plus en plus de zéros, ce qui permet un codage RLE plus efficace.

DC0, (DC1-DC0), (DC2-DC1), ….. (DCp-2 - DCp-1). 1. La norme JPEG E- codage des blocs Les blocs 8*8 transformés et quantifiés sont codés comme suit : A) Tout d’abord, le premier coefficient C[0,0] de chaque bloc, renommé DC, fait l’objet d’un traitement spécial: On codera à part la suite des valeurs DCi (i=1:P, P: le nombre de blocs) par codage différentiel. On obtient ainsi une séquence de longueur P constituée de valeurs faibles : DC0, (DC1-DC0), (DC2-DC1), ….. (DCp-2 - DCp-1).

1. La norme JPEG E- codage des blocs Les blocs 8*8 transformés et quantifiés sont codés comme suit : Les 63 valeurs restants de chaque bloc, nommées Aci, seront codées bloc par bloc. Premièrement , ces coefficients AC sont parcourus en zig-zag et ensuite codées par plages afin d'exploiter l'important nombre de coefficients haute-fréquence égales à 0. Constituer des paires (plage nulle, valeur non nulle) représentées par deux symboles : =(RUNLENGTH, SIZE) avec : RUNLENGTH : le nombre de zéros SIZE: le nombre de bits nécessaire au codage de la valeur amplitude et le symbole =AMPLITUDE représente simplement l’amplitude du coefficient non nul suivant la plage nulle. Chaque bloc 8*8, la séquence zigzag des 63 coefficients AC produit une nouvelle séquence (, )

1. La norme JPEG E- codage des blocs Exemple (1,4,4) (3,2,-1) (9,2,1) (6,2,-1) (4,2,1) (7,2,-1) (0,2,-1) (2, 2,-1) (0,2,-1) (0,0) Le codage de la séquence différentielle des coefficients DC suit un principe analogue: On construit une séquence intermédiaire de paires (, ). Avec  ne représente cette fois que la valeur SIZE et  représente AMPLITUDE. Enfin, sur les deux séquences, (celle des DC, et l’ensemble de celles des AC ) ont applique un code HUFFMAN ou Arithmétique. Les tables des codes doivent être transmises dans l’entête du fichier compresser.

F- Modes de transmission de l'image JPEG 1. La norme JPEG F- Modes de transmission de l'image JPEG Il existe différents modes de transmission des images compressées : mode séquentiel C'est le mode normal : on transmet d'abord l'ensemble des coefficients DC, puis bloc par bloc tous les coefficients AC. mode progressif Ce mode est employé lorsque les images sont transmises à faible vitesse mais qu'il faut afficher très vite une esquisse. On transmet donc en priorité les coefficients de basse fréquence de chaque bloc, puis on envoie les coefficients de haute fréquence. mode hiérarchique Il s'agit d'empiler plusieurs qualités d'images afin de pouvoir afficher une qualité donnée le plus vite possible. Chaque niveau utilise les données des niveaux précédents. Par exemple, on transmet d'abord une image ne contenant qu'1 pixel sur 16, puis 1/8 puis 1/4...

J- Conclusion sur la norme JPEG La norme JPEG est actuellement celle qui permet de coder la grande majorité des images numériques accessibles sur internet. C’est également le format utilisé sur les appareils photo numériques. Elle est bien adaptée pour les images naturelles et pour des taux de compression ne dépassant pas 8-10 (0.8- 1 bpp) . Au delà des artefacts vont apparaitre et serons très gênants visuellement. La nouvelle norme JPEG 2000 basée sur la transformation en Ondelles permet de résoudre ce problème. a) b) Résultats de l’image Lena reconstruite à 0.2 bpp, a) par la norme JPEG  PSNR =23.4 dB ; b) par la norme JPEG2000  PSNR=28.7 dB

2. La norme JPEG2000 A- Introduction Ce nouveau standard a pour objectif d'offrir de nouvelles fonctionnalités permettant de répondre à une demande croissante, à savoir : Obtenir des performances de compression supérieures à son prédécesseur JPEG, notamment pour des débits très faibles. Permettre d'organiser le fichier compressé de plusieurs manières, notamment en fonction de la résolution désirée ou de la qualité de reconstruction. Avoir un mode de compression sans perte performant Fournir la possibilité de coder des parties d'une image avec une qualité supérieure µa d'autres parties.

B- chaine de codage et décodage JPEG2000 2. La norme JPEG2000 B- chaine de codage et décodage JPEG2000 Le codage et décodage d'une image au format JPEG2000 s'effectuent en quatre étapes principales : les trois étapes classiques en compression d'image (Transformation, Quantification, Codage) plus une étape de prétraitement de l'image qui à pour but de rendre l'opération de codage plus efficace (cf. figure).

B- 1 Prétraitement de l’image 2. La norme JPEG2000 B- 1 Prétraitement de l’image Dans le context de la norme JPEG2000, chaque image est découpée en un pavage de tuiles. Le but de cette opération est de réduire la complexité de l'algorithme pour des images de très grande tailles mais aussi de faciliter la navigation à l'intérieur de telles images. Ces tuiles sont de tailles carré (64*64) ou (128*128) par exemple. Comme pour l'algorithme JPEG qui code les coefficients DC de chaque bloc de manière différentielle, l'algorithme enlève la valeur moyenne de l'image avant d'effectuer la transformation de l'image. Cette étape comporte également une transformation de l'espace des couleurs RGB en l'espace YCrCb. Cette transformation permet également de coder les couleurs avec un nombre de bits inférieur.

B- 1 Prétraitement de l’image 2. La norme JPEG2000 B- 1 Prétraitement de l’image Dans le context de la norme JPEG2000, chaque image est découpée en un pavage de tuiles. Le but de cette opération est de réduire la complexité de l'algorithme pour des images de très grande tailles mais aussi de faciliter la navigation à l'intérieur de telles images. Ces tuiles sont de tailles carré (64*64) ou (128*128) par exemple. Comme pour l'algorithme JPEG qui code les coefficients DC de chaque bloc de manière différentielle, l'algorithme enlève la valeur moyenne de l'image avant d'effectuer la transformation de l'image. Cette étape comporte également une transformation de l'espace des couleurs RGB en l'espace YCrCb. Cette transformation permet également de coder les couleurs avec un nombre de bits inférieur.

B- 2 La transformée en ondelettes discrète 2. La norme JPEG2000 B- 2 La transformée en ondelettes discrète La transformation en ondelettes discrète provient de l'analyse multi-résolution. Le but de cette théorie est de décomposer un signal suivant différentes résolutions. On procède ainsi à une décorrélation de l'information qu'il contient. L'analyse multi-résolutions a le même effet qu'un microscope aux pouvoirs de grossissement variables. Les basses résolutions représentent la forme grossière du signal tandis que les hautes résolutions encodent les détails du signal. Dans une approche traitement du signal, les hautes résolutions représentent les hautes fréquences et les basses résolutions représentent les basses fréquences. Contrairement à la transformée de Fourier qui projette le signal dans l'espace des fréquences, l'analyse multi-résolutions représente le signal conjointement dans son espace réel et dans son domaine fréquentiel.   Pour des signaux 2D comme les images, des propriétés topologiques (orientations, agencement du contenu) sont ainsi conservées après la transformation multirésolution. Le codeur qui est basé sur une telle transformation peut ainsi prendre en compte la redondance spatiale et fréquentielle de l'image est ainsi être plus efficace.

B- 2 La transformée en ondelettes discrète 2. La norme JPEG2000 B- 2 La transformée en ondelettes discrète En compression d'images, l'étape qui permet la décomposition d'une image en sous-bandes est appelée analyse, elle s'effectue en utilisant deux filtre à réponse impulsionnelle finie, l'un passe-haut HA(n), l'autre passe-bas LA(n). La reconstruction de l'image, aussi appelée synthèse, nécessite également l'utilisation de deux filtres (HA(n) LA(n)) et qui peut être construit à partir des filtres HA(n) et LA(n). Les étapes de décomposition (analyse) et de reconstruction (synthèse) d'une résolution à la résolution supérieure ou bien inférieure sont illustrées sur les figures suivante.

Exemples de décompositions en ondelettes 2D à 3 résolutions 2. La norme JPEG2000 B- 2 La transformée en ondelettes discrète Exemples de décompositions en ondelettes 2D à 3 résolutions

B- 3 Quantification des sous-bandes 2. La norme JPEG2000 B- 3 Quantification des sous-bandes Les sous-bandes de résolutions supérieures (les plus grandes) possèdent un contenu qui est relativement faible alors que les sous-bandes basse-fréquences (les plus petites) sont beaucoup plus riches. L'algorithme de compression JPEG2000 adopte une quantification linéaire pour chaque sous-bande. Le pas de quantification utilisé est cependant beaucoup plus faible pour les sous-bandes basses fréquences, qui contiennent beaucoup d'information, que pour les sous-bandes hautes fréquences.  

2. La norme JPEG2000 B- 4 Codage des sous-bandes Le codage de chaque sous-bandes s'effectue par plan de bits, cette opération permet d'obtenir une scalabité du fichier généré, car l'information importante (i.e. les bits de poids forts) seront codés dans un premier temps alors que les détails (i.e. les bits de poids faibles) sont codés après. Pour résumer, cette technique de codage est effectuée en trois étapes : une étape qui code les bits non nuls isolés, une étape qui code les bits dont le bit parent est non nul, une étape qui code le reste des bits non nuls.

2. La norme JPEG2000 B- 4 Codage des sous-bandes Le codage par plan de bits et par sous-bandes permet d'obtenir des modes de codage variés, le fichier compressé pourra en effet être représenté par résolution croissante ou bien par qualité croissante (cf. figures)  Codage de l'image en fonction de la résolution désirée. Codage de l'image en fonction de la qualité désirée.

2. La norme JPEG2000 B- 5 Codage par régions L'algorithme JPEG2000 permet également de coder différentes régions de l'image avec des qualités différentes. Cette fonctionnalité est mise en œuvre en augmentant le nombre de bits de poids forts des coefficients appartenant à une zone d'intérêt. De part l'orientation du codage, ces coefficients seront alors codés en priorité. Il existe deux manières différentes de coder une région d'intérêt : il est possible d'insérer dans le fichier compressé, un fichier codant la forme de la région d'intérêt. il est également possible de doubler le nombre de bits appartenant aux zones d'intérêts : on passe de N bits classiquement utilisés à 2N bits. Ces coefficients seront codés en premier lieu et il sera facile de montrer qu'ils appartiennent µa une zone d'intérêt.

2. La norme JPEG2000 B- 5 Codage par régions La figure suivante illustre l'utilité d'une telle technique.