Vous êtes sur la page 1sur 14

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 majeur de la DCT provient de la décomposition de
l’image en blocs de 8*8 pixels, la structure de ceux-ci devenant visible
à très fort taux de compression.
L’impact de cette transformée sur la qualité du signal
En particulier la DCT-II est très utilisée en traitement du signal et de
l'image, et spécialement en compression. La DCT possède en effet
une excellente propriété de « regroupement » de l'énergie :
l'information est essentiellement portée par les coefficients basses
fréquences. Pour les images naturelles, la DCT est la transformation
qui se rapproche le plus de la transformée de Karhunen-Loève qui
fournit une décorrélation optimale des coefficients pour un
signal markovien.

Conclusion :
Pour résumer, le JPEG peu coder les couleurs sous n'importe quel format,
cependant les meilleurs taux de compression sont obtenus avec les
codage de couleur de type luminance chrominance à cause de la
sensibilité de l'œil à la luminance.
Pour aller plus loin, le standard JPEG-2000 a remplacé le standard DCT-
JPEG, pour ce dernier la transformation en cosinus et la quantification
sont remplacées par une transformé en ondelette dans laquelle ne sont
conservés que certains niveaux qui influe directement sur le taux de
compression.

Bibliographie :
http://etud.insa-toulouse.fr/~flone_sa/BEmultimedia/index.php?Dct
https://en.wikipedia.org/wiki/Discrete_cosine_transform
http://www.supinfo.com/articles/single/1154-transformation-cosinus-discrete-
jpeg

Vous aimerez peut-être aussi