Académique Documents
Professionnel Documents
Culture Documents
Compte rendu
TP :
COMPRESSION JPEG
Objectif de TP :
Le TP vise à explorer et à mettre en œuvre les divers blocs du codeur JPEG. Il vous est
demandé de coder ces blocs spécifiques pour comprimer l'image, puis d'analyser leurs impacts
sur le taux de compression et la qualité de l'image.
1. Ecrire une fonction, que l’on appellera "coder.m" qui regroupe les étapes suivantes :
Calculer la DCT d’une image Img (pour cela on utilisera la fonction Matlab
"dct2.m"). Le calcul se fait par fenêtre de 8x8.
Calculer les indices de quantification sur les blocs transformés de taille LxL.
Pour cela on divise les coefficients par une matrice Q, et on conserve uniquement
la partie entière.
Retourner l’ensemble des blocs transformés indicés (dans une matrice de mêmes
dimensions que l’image originale).
4. Compléter le programme principal pour faire des tests des fonctions coder et decoder.
Programme :
Exécution :
1 er cas :
Programme et interprétation :
Exécution :
Figure 19: Histogramme des indices de quantification de 1er cas
2 -ème cas :
Programme et interprétation :
Exécution :
perte : le codage RLC « Run Length Coding » (ou RLE « Run-Length Encoding ») et le
codage de Huffman.
4. Finalisation :
c. Écrire une fonction pour réaliser le codage RLC (de type {longueur plage nulle,
valeur})
d. appliquer le RLC sur les coefficients calculés par la fonction coder () de la partie I
2. Codage sans pertes – Codage de Huffman
Le programme suivant permet de faire un codage de Huffman des coefficients d’un vecteur
Im_dctq
a. Expliquer les étapes de cette fonction.
La taille de l'image transformée est obtenue avec [row, col] = size (Im_dctq).
Les valeurs de l'image sont transformées en un vecteur avec symbol =
reshape(Im_dctq, [1, row * col]).
Les valeurs uniques de ce vecteur sont extraites avec symbol1 = unique(symbol).
Une boucle est utilisée pour calculer la fréquence d'occurrence de chaque valeur
unique (count), la probabilité de chaque valeur (prob_pix), et la probabilité cumulative
(prob_cum).