Université SAAD DAHLEB DE BLIDA Département d’électronique Filière Système et t

Université SAAD DAHLEB DE BLIDA Département d’électronique Filière Système et télécom Module : Codage et compression COMPTE RENDU DE TP Quantification du signal par la DCT Noms : Prénoms : - ADJOUT - hadda ikram - KHELIFI - dounia zad Sommaire : -Introduction -But du TP -Partie théorique -Partie expérimental -Question Ouvertes -Conclusion -Bibliographie Introduction : La transformée en cosinus discrète ou TCD (de l'anglais : DCT ou Discrete Cosine Transform) est une transformation proche de la transformée de Fourier discrète (DFT). Le noyau de projection est un cosinus et crée donc des coefficients réels, contrairement à la DFT, dont le noyau est une exponentielle complexe et qui crée donc des coefficients complexes. On peut cependant exprimer la DCT en fonction de la DFT, qui est alors appliquée sur le signal symétrisé. La variante la plus courante de la transformée en cosinus discret est la DCT type-II, souvent simplement appelée « la DCT ». Son inverse, qui correspond au type-III est souvent simplement appelée « IDCT ». But du TP : L’objectif de cette manipulation, est d’appréhender la DCT sur une image, dans le cadre de la quantification du signal. Partie théorique : ALGORITME JPEG : Cet algorithme est très populaire, en particulier sur Internet où la compression d'un fichier permet de réduire le coût en bande passante. Il est de plus possible d'enregistrer une image dans le format JPEG avec la majeure partie des appareils photo numériques et téléphones portables. Cependant, les pertes se produisant lors de la compression « classique » font qu'il est moins utilisé dans certains domaines comme l'imagerie médicale, où la restitution fidèle de l'image initiale est plus importante. Le format JPEG/JFIF supporte une taille d'image maximale de 65 535 × 65 535 pixels soit plus de quatre milliards de pixels. Pourquoi la DCT ? On a vu que la DCT était dans la même classe d'outils mathématiques que la Transformée de Fourier. Alors pourquoi les membres du groupe JPEG ont-ils fait le choix de la DCT ? Ces deux méthodes permettent une décomposition de l'information dans une autre base : Une base de cosinus, ou la base de Fourier. Cependant, La décomposition dans la base de Fourier soulève plusieurs problèmes : si l'image présente des discontinuités, alors la décroissance des coefficients de la transformée de Fourier n'est qu'en , K étant l'indice du coefficient. La ‘DCT’ est utilisé dans la compression d'image JPEG, MJPEG, MPEG, DV, et la compression vidéo. Les DCT-II bidimensionnels des blocs {\ display style N \ times N} N \ times N sont calculés et les résultats sont quantifiés et codés par entropie. Dans ce cas, {\ display style N} N est généralement 8 et la formule DCT-II est appliquée à chaque ligne et colonne du bloc. Le résultat est un réseau de coefficient de transformation 8 × 8 dans lequel l'élément {\ display style (0,0)} (0,0) (en haut à gauche) est le composant DC (fréquence zéro) et les entrées avec un indice vertical et horizontal croissant Les valeurs représentent des fréquences spatiales verticales et horizontales plus élevées. Principe de la compression JPEG : -On découpe l'image en blocs de 8x8 pixels. - Chaque bloc est écrit à l'aide de blocs de base correspondants à des fonctions cosinus (transformée discrète en cosinus). - Selon un seuil choisi, on met à zéro les valeurs les moins significatives et on arrondit les autres valeurs (opération de seuillage). - On réorganise les valeurs souillées et on les écrit à la suite dans un fichier. - On applique un algorithme de compression (sans perte) qui produit le fichier compères Les étapes de la compression JPEG : 1) DECOUPAGE EN BLOCS : Le format JPEG commence par découper l’image en blocs ou carreaux généralement carrés de 64 (8x8) ou 256 (16x16) pixels (Dans notre code 8x8). 2) TRANSFORMATION DES COULEURS : JPEG est capable de coder les couleurs sous n’importe quel format, toutefois les meilleurs taux de compression sont obtenus avec des codages de couleur de type luminance/chrominance car l’œil est assez sensible à la luminance mais peu à la chrominance. 3) Sous échantillonnage : La façon la plus simple d’exploiter la faible sensibilité de l’œil humaine à la chrominance, est le sous échantillonnage des signaux de chrominance, la lumière n’a pas besoin d’être échantillonnée. 4) La transformée discrète en cosinus : Une transformée cosinus discrète (DCT) exprime une séquence finie de points de données en termes de somme de fonctions cosinus oscillant à différentes fréquences. Les DCT sont importants pour de nombreuses applications en sciences et en génie, à partir d'une compression à perte d'audio (par exemple, MP3) et d'images (par exemple, JPEG) (où les petites composantes hautes fréquences peuvent être jetés), aux méthodes spectrales pour la solution numérique des équations différentielles partielles. 5) Utilisation de la ‘DCT’ : La ‘DCT’ est utilisé dans la compression d'image JPEG, MJPEG, MPEG, DV, et la compression vidéo. Les DCT-II bidimensionnels des blocs {\ display style N \ times N} N \ times N sont calculés et les résultats sont quantifiés et codés par entropie. Dans ce cas, {\ display style N} N est généralement 8 et la formule DCT-II est appliquée à chaque ligne et colonne du bloc. Le résultat est un réseau de coefficient de transformation 8 × 8 dans lequel l'élément {\ display style (0,0)} (0,0) (en haut à gauche) est le composant DC (fréquence zéro) et les entrées avec un indice vertical et horizontal croissant Les valeurs représentent des fréquences spatiales verticales et horizontales plus élevées 6) La quantification : On ne garde que les premiers termes de la décomposition DCT en luminance, on perd de l’information mais l’image reste visible, c’est une opération de quantification. La quantification est la seule étape du codage JPEG où il y a de la perte d’information. 7) Codage RLE est Huffman : Ce codage s’effectue en zigzag pour rassembler les faibles coefficients de la DCT. Principe de la transformé discrète en cosinus : -Regrouper l’énergie en passant de la notion de pixels et couleurs à la notion de fréquences et amplitudes. -La DCT prend un ensemble de points d’un domaine spatial et les transforme en une représentation équivalente dans le domaine fréquentiel. -La DCT s’applique à chaque composante pour chaque bloc. -La DCT décompose une image en plusieurs sous- images de bases. -La DCT doit être appliqué à des matrices carrées et plus précisément des matrices 8*8. Partie expérimental : 1. DCT appliquée sur un signal bidimensionnel Algorithme de la DCT : On tape le code ci-dessus en matlab : Le programme : clear all I=imread('cameraman.tif'); % Lecture d'image du fichier graphique n=length(I) % Taille de l'image figure(1); imshow(I) y=dct(I) % transformée discrète en cosinus y=dct(I,n) figure(2); % Création d'un objet graphique imshow(y) % affichage de l’image A l’exécution on obtient : Figure 1: l’image d’entrée figure 2: l’image de sortie Remarque : Notre image est échantillonnée ou bien décomposé. 2.Application de la DCT et le découpage : Le programme : clc clear all I=imread('cameraman.tif'); % Lecture d'image du fichier graphique I=im2double(I); % Conversion l'image en double précision n=length(I) % Taille de l'image figure(1); imshow(I) y=dct2(I) % transformée discrète en cosinus % imshow(y) fun = @dct2; J = blkproc(I,[8 8],fun); % le traitement en bloc des images en mémoire. figure(2) ; % Création d'un objet graphique imshow(J) % affichage de l'image A l’exécution on obtient : Figure 3 :l’image d’entrée figure 4 :l’image de sortie Remarque : Le découpage nous permet de voire à peu prés le squelette dans la 4 ème figure . 3.Sous échantillonage et quantification pour m=(2,4,6,10) : Le programme : clc clear all I=imread('cameraman.tif'); % Lecture d'image du fichier graphique I=im2double(I); % Conversion l'image en double précision figure(1); imshow(I) % DCT & decoupage fun = @dct2; J = blkproc(I,[8 8],fun); figure(2); imshow(J) % sous échantillonnage % quantification F2 = blkproc(J,[8 8],'round(x./P1)',2); figure(3); % Création d'un objet graphique imshow(F2) % affichage de l'image F4 = blkproc(J,[8 8],'round(x./P1)',4); figure(4); imshow(F4) F6 = blkproc(J,[8 8],'round(x./P1)',6); figure(5); imshow(F6) F10 = blkproc(J,[8 8],'round(x./P1)',10); figure(6); imshow(F10) A l’exécution on obtient : Remarque : L’augmentation du pas induit une baisse de précision par rapport à l’image originale, on remarque ça surtout à (m = 10) notre image a faillé disparaitre (dégradation considérable de l’information). 4.Reconstitution de l’image : Le programme : clc clear all I=imread('cameraman.tif'); % Lecture d'image du fichier graphique I=im2double(I); % Convertion l'image en double précision figure(1); imshow(I) % DCT & decoupage fun = @dct2; J = blkproc(I,[8 8],fun); figure(2); imshow(J) % sous echantillonage % quantification F2 = blkproc(J,[8 8],'round(x./P1)',2); figure(3); % Création d'un objet graphique imshow(F2) % affichade de l'image % DCT inverce L= idct2(F2) figure(4); imshow(L) A l’exécution on obtient : Remarque : La transformé discrète en cosinus inverse n’est pas une méthode suffisante qui va nous permettre de restituer notre image originale. Question Ouvertes : Les avantages et les inconvénients de la transformée DCT La transformée en DCT présente des ressemblances avec la transformée de Fourier mais sa mise en œuvre est plus simple et les données transformées peuvent être facilement compressées ; l’inconvénient uploads/s3/ my-tp-codage-3.pdf

  • 26
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager