Application de la DCT et le Codage de Huffman pour la

Transcription

Application de la DCT et le Codage de Huffman pour la
SETIT 2009
5th International Conference: Sciences of Electronic,
Technologies of Information and Telecommunications
March 22-26, 2009 – TUNISIA
Application de la DCT et le Codage de Huffman pour
la Compression des Images Médicales
Djamel CHIKOUCHE*, Ridha BENZID * and Khaled ROUABAH**
*
Département d’Electronique, Université de M'sila, Algérie
[email protected]
[email protected]
**
Laboratoire LMSE Département d’Electronique, Centre Universitaire de Bordj Bou Arréridj,
Algérie
[email protected]
Abstract: Cet article présente une application de la technique de compression à base de la transformée en cosinus
discrète sur les images médicales du type IRM. La méthode de codage de Huffman est utilisée pour coder les
coefficients. Les tests de cette technique de compression et de décompression avec pertes sont effectués sur deux
images IRM représentant le cerveau, en vues sagittale et axiale, d'un patient souffrant d'une hémorragie cérébrale. Les
résultats obtenus sur ces images nous permettent de constater que la DCT permet d’améliorer considérablement le taux
de compression tout en gardant une bonne qualité de l'image lorsque le seuil varie dans la plage : 0 ≤ TH ≤ 20 et pour
les tailles de bloc: [16x16] et [32x32]. Toutefois, une dégradation sévère de la qualité de l'image médicale reconstruite
est observée lorsque le seuil est supérieur à 30.
Key words: Images médicales, type IRM, compression DCT, codage Huffman.
taille de l’image tout en conservant le mieux possible
la qualité de l’image reconstruite. Les tests de cette
technique de compression et de décompression avec
pertes seront effectués sur deux images IRM
représentant le cerveau, en vues sagittale et axiale,
d'un patient souffrant d'une hémorragie cérébrale.
INTRODUCTION
La compression dans les services de radiologie est
souvent effectuée avec des techniques sans perte parce
qu'elles sont considérées à ce jour comme le seul
moyen de compression toléré par les médecins. Cette
préférence des méthodes de compression sans perte est
due au fait qu'elles assurent l’intégrité des données en
évitant ainsi les erreurs de diagnostic. Toutefois, ces
méthodes de compression ne garantissent pas une
réduction significative du volume de ces données
images [YAN 06][WON 95]. Les techniques de
compression avec pertes maîtrisée peuvent surmonter
ces limitations du taux de compression à condition que
les pertes n’affectent pas la qualité des images pour
l’usage régulier des praticiens dans le domaine
medical [YAN 06][WON 95][MAS 92][YUN
97][ART 01][YUN 01][CHE 02][FAR 03][NIC 05]
[MUN 06].
1. Transformée en DCT
La DCT est effectuée sur une matrice carrée N x N
de valeurs de pixels et donne une matrice carrée N*N
de coefficients de fréquence [YUN 97]. Le temps de
calcul requis pour chaque élément dans la DCT
dépend de la taille de la matrice. Vu la difficulté
d’appliquer la DCT sur la matrice entière, celle-ci est
décomposée en blocs de taille plus petite n x n pixels.
Ensuite la Transformée en Cosinus Discrète (DCT) est
appliquée sur les pixels de chaque bloc. A ce niveau, il
n'y a pas encore de pertes de données. A la sortie de la
matrice de la DCT, la valeur de la position (0,0) est
appelée le coefficient continu. Cette valeur représente
une moyenne de la grandeur d’ensemble de la matrice
d’entrée. Ce coefficient est plus grand d’un ordre de
grandeur à toute valeur dans la matrice de la DCT. Par
convention, les 64 valeurs transformées (de chaque
bloc) sont positionnées d’une certaine manière. Ainsi
Le travail que nous allons présenter dans cet article
consiste à étudier la compression des images
médicales de type IRM basée sur la transformée en
cosinus discrète DCT associée à la méthode de codage
Huffman en vue de réduire au maximum possible la
-1-
SETIT2009
de zéros. On peut dire qu’on perd les coefficients de
faibles valeurs. La redondance des éléments nuls est
importante dans l’étape de codage. Le seuillage est
une étape non conservatrice.
la valeur moyenne de tous ces coefficients est placée
en haut à gauche de ce bloc. Plus on s’éloigne des
coefficients continus, plus leurs amplitudes tendent à
diminuer. Ce qui signifie que la DCT concentre la
représentation de l’image en haut à gauche de la
matrice de sortie, et que les coefficients en bas et à
droite de cette matrice contiennent moins
d’information utile.
- Quantification : La quantification de chaque bloc
regroupe les ensembles de valeurs proches. Ensuite,
chaque amplitude originale sera remplacée par la
valeur moyenne de l'intervalle, c'est-à-dire que l'étape
de quantification consiste à diminuer la précision du
stockage des entiers de la matrice DCT pour diminuer
le nombre de bits occupés par chaque entier. C'est la
partie non conservative de la méthode.
Les équations qui suivent, donnent respectivement
la transformée en cosinus discrète directe et inverse.
Transformée Directe :
N-1 N-1
(2x+1)uπ  (2y+1)vπ 
F(u,v)= α(u)α(v)∑∑ f(x,y)cos
cos
x=0 y=0
 2N   2N 
Les valeurs de la matrice DCT seuilliée seront
transformées pour être contenues dans l'intervalle [0
2Q[. La matrice de quantification sera calculée comme
suit : On choisit la valeur de la quantification Q, (Q
représente le nombre de bits nécessaires pour coder
chaque élément de la matrice DCT). On détermine les
deux valeurs MAX et MIN de la matrice DCT
(DCTmax, DCTmin). Ensuite, on calcule la matrice
DCTQ par la formule suivante :
(1)
Pour u, v = 0, 1, 2…, N-1.
Transformée Inverse :
N-1 N-1
f(x, y) =
 (2y + 1) v π 
 (2x + 1) u π 

 cos
2N
2N


∑∑ α (u) α (v) F(u, v) cos
u =0 v =0
(2)
Pour x, y = 0, 1, 2…, N-1. Avec :
 1 12
 
 N 

α(u) = 
1

 2  2
 N 

pour u = 0 ;
DCTQ(i, j) =
(3)
(-1 + 2 Q ) ( DCT(i, j) - DCTmin)
DCTmax - DCTmin
avec DCT(i, j)≠ 0.
pour u = 0, 1, 2......., N - 1
- Codage Huffman : Le codage de la matrice DCT
quantifiée se fait comme suit : extraire les éléments
non nuls de la matrice DCT quantifiée et leurs
positions vers deux nouveaux vecteurs et matrices
appelés respectivement NZ (non zéro) et (TAB). TAB
indique par ‘1’ la position spatiale d’un élément DCT
non nul et par ‘0’ également la position spatiale d’un
élément DCT nul. TAB est transformée en un nouveau
vecteur (8 bits par élément). Les deux vecteurs NZ et
TAB sont groupés en un seul vecteur SEQ pour être
codés statiquement à l'aide du codage Huffman.
f(x, y) représente une valeur de l’image initiale
pour x et y donnés, F(u, v) les coefficients de la DCT,
et N la taille d’un bloc.
2. Compression et décompression par la
DCT
Nous résumons les étapes de transformation,
compression et décompression dans les sections
suivantes.
- Création d’un fichier d’extension « DCT »: On
mémorise les données obtenues dans un nouveau
fichier dont l’extension choisie est DCT; ce qui nous
permet d’identifier rapidement notre fichier
compressé. Les tailles des fichiers original et
compressé servent à calculer le taux de compression.
2.1. Phase de Compression
La phase de compression est divisée en plusieurs
étapes :
- Acquisition de l’image originale : Nous
commençons en premier lieu par acquérir l’image
originale (d’extension bmp) dans une matrice, pour
lire et mémoriser l’image. Le chemin d’accès à
l'image est bien spécifié en vue de la préparer pour les
traitements.
2.2. Phase de decompression
La phase de décompression est l’inverse de la
phase de compression. Elle est divisée comme suit :
- Extraction des paramètres de compression : Elle
s’effectue par l’ouverture du fichier compressé afin
d’extraire les paramètres (reconstruction de code
binaire, les valeurs (DCTmax, DCTmin, Q, bloc, taille
du fichier original, et le vecteur de répétition des
éléments du vecteur SEQ)).
- Transformée en DCT sur des blocs N*N: L'image
est découpée en bloc de N*N pixel. Ensuite la
Transformée en Cosinus Discète (DCT) est appliqué
sur les pixels de chaque bloc. A ce niveau, il n'y a pas
encore de pertes de données.
- Seuillage: L’utilisation du seuillage est une
caractéristique de débruitage. Celle-ci peut augmenter
l’efficacité de la compression. Si les valeurs absolues
des coefficients non nuls de la matrice DCT obtenus
sont inférieurs à un certain seuil donné, ces derniers
seront éliminés (mises à zéro). On définit le PCDZ
comme le pourcentage de coefficients DCT nuls. Le
seuillage permet d’augmenter le nombre de répétitions
- Décodage Huffman : Le décodage statique est
réalisé par le décodage Huffman sur le code binaire
avec le vecteur de répétition des éléments SEQ
reconstruits. Après cette opération, on obtient le
vecteur SEQ qui contient les vecteurs NZ et TAB.
- Déquantification: La déquantification nous
permet d’extraire les coefficients DCT avec les
-2-
SETIT2009
moindres pertes possibles.
PSNR ou PPSNR = 10. log10
- Transformée en DCT inverse: On applique la
IDCT pour retrouver les éléments de la matrice
représentant l’image à reconstruire. Ces coefficients
servent à calculer l’erreur quadratique moyenne MSE
et le rapport signal sur bruit crête PSNR.
(2R −1)
. dB
MSE
(7)
Ces mesures de distorsion sont objectives et
simples à calculer. Certaines méthodes de compression
recherchent le meilleur compromis entre la
performance et la distorsion, et optimisent des courbes
taux-distorsion ou R(D).
- Reconstruction de l’image: Cette étape consiste à
reconstruire l’image, en l’enregistrant dans un fichier
de même extension que le fichier original (bmp).
4. les images médicales de type IRM
3. Critères de performances
4.1. Test sur l'Image IRM1 de taille 512x512
Des tests sur deux images médicales de type IRM
ont été effectués en vue de vérifier les performances
de la technique de compression étudiée. Ces
performances sont basées sur les deux critères
essentiels: Le taux de compression CR obtenu, et la
qualité de l’image reconstruite.
C'est l'image du cerveau, en vue sagittale, d'un
patient souffrant d'une hémorragie cérébrale (figures 1
et 2). Le tableau 1 résume les valeurs de l’erreur
quadratique moyenne (MSE), le taux de compression
(CR), le rapport signal sur bruit (PSNR), le
pourcentage de coefficients DCT nuls (PCDZ), et le
gain en compression (Gc).
- Le taux de compression CR étant le rapport entre
la taille de l’image après compression (Y) et celle de
l’image originale (X):
CR =
X
Y
Image Originale
(4)
On définit le gain en compression par l'expression:
1 

Gc(%) =  1  * 100
CR


(5)
Une compression efficace se traduit par une valeur
de CR grand, et une compression peu efficace se
traduit par un taux CR petit (ceci tout en gardant une
bonne qualité visuelle). Par exemple, si la taille de
l’image compressée représente 10% de la taille
originale, nous avons un gain de 90% et la
compression est efficace (CR = 10).
- Mesures de distorsion: La distorsion (D) est
l’erreur introduite par l’opération de compression, due
au fait qu’éventuellement l’image reconstruite n’est
pas exactement identique à l’image originale. La
mesure de distorsion utilisée généralement en
compression d’image est l’erreur quadratique
moyenne MSE. Cette grandeur est définie par la
2
entre le pixel (m, n)
moyenne des écarts au carré e mn
Image Reconstruite
de l’image originale I(m, n), et le pixel (m, n) de
∧
l’image reconstruite I (m, n);
MSE =
1
M*N
M -1 N -1
∧
∑ ∑ [ I(m, n) − I(m, n) ]
2
(6)
m = 0 n =0
On référence cette erreur par rapport à la
dynamique de l’image en décibels. On obtient un
rapport signal sur bruit crête pour une image dont le
maximum est 2R -1 dénoté PSNR (Peak Signal to
Noise Ratio). Si le minimum de l’image est nul (image
bien cadrée) on obtient le rapport signal sur bruit crête
à crête noté PPSNR (Peak to Peak Signal to Noise
Ratio). Lorsque la reconstruction est parfaite, la MSE
est nulle et le PPSNR tend vers l’infini.
Figure 1. Image originale IRM1 et image reconstruite,
pour le bloc [32 32] et le codage Huffman. TH=10,
CR=17.4704, PSNR= 41.8782, G(%)=94.276.
Avec le codage Huffman et la DCT, nous avons
utilisé deux tailles de bloc: [16x16] et [32x32] et
-3-
SETIT2009
différentes valeurs du seuil TH : 2, 5, 10, 20, 30, 40,
50 et 100. L’image de test est IRM1 de taille 512x512
et d'extension bmp.
de la technique de compression et de décompression
des images avec pertes en utilisant la DCT comme
outil de transformation et la méthode de codage
Huffman des coefficients. Les tests et résultats obtenus
sur les images médicales de type IRM nous ont permis
de constater que l‘utilisation de la DCT permet
d’améliorer considérablement le taux de compression
tout en gardant une bonne qualité de l'image lorsque
le seuil varie dans la plage : 0 ≤ TH ≤ 20 et pour les
tailles de bloc: [16x16] et [32x32].
Les paramètres de compression qui donnent des
images reconstruites avec une très bonne qualité sont
obtenus pour les valeurs du seuil : 0 ≤ TH ≤ 20
d'après le tableau 1.
4.2. Test sur l'Image IRM2 de taille 512x512
C'est l'image du cerveau en vue axial, d'un patient
souffrant d'une hémorragie cérébrale (figure 3). Le
tableau 2 résume les résultats de test de compression
de l'image IRM2 de taille 512x512 et d'extension bmp
avec le codage Huffman et la DCT.
Image Originale
Nous obtenons une image IRM2 de très bonne
qualité lorsque le seuil varie dans la plage : 0 ≤ TH ≤
20.
Image Reconstruite
Image Erreur
Image Erreur
Image Reconstruite
Figure 2. Image reconstruite et image erreur, pour le
bloc [32x32] et le codage Huffman. TH=30,
CR=32.9203, PSNR= 36.9169, G(%)=96.9624.
5. Conclusion
Dans cet article, nous avons testé les performances
Figure 3. Images originale, reconstruite, et image
-4-
SETIT2009
erreur pour le bloc [32x32] et le codage Huffman.
TH=30,CR=32.0705,PSNR=37.0024, G(%)=96.8819.
Bloc
[16x16]
[32x32]
TH
CR
0
4.8713
2
Toutefois, une dégradation sévère de la qualité de
l'image médicale reconstruite est observée lorsque le
seuil est supérieur à 30. Cette étude de performance de
la technique de compression DCT peut être étendue à
d'autres types d'images médicales.
PSNR(dB)
MSE
PCDZ
GC (%)
40.4272
5.8933
00
79.4716
7.3352
44.7385
2.1839
82.1339
86.367
10
15.2374
42.8474
3.3755
94.2905
93.4372
20
22.6435
39.3515
7.5496
96.7289
95.5837
25
26.238
38.0308
10.2331
97.3118
96.1887
30
29.2931
37.0123
12.9374
97.7016
96.5862
50
41.63
33.9985
25.8956
98.5931
97.5979
100
66.6016
30.4279
58.9236
99.2851
98.4985
0
5.2428
41.0076
5.1561
00
80.9261
2
7.2451
41.6324
4.4652
79.0867
86.1977
10
17.4704
41.8782
4.2195
94.4092
94.276
20
25.4089
39.0279
8.1337
96.7876
96.0644
25
29.4709
37.8453
10.6795
97.3614
96.6068
30
32.9203
36.9169
13.2249
97.7467
96.9624
50
46.6365
33.9461
26.2103
98.6507
97.8558
100
78.4627
30.3035
60.6365
99.3664
98.7255
Tableau 1: Valeurs de CR, PSNR, MSE, PCDZ et le G(%) en fonction des différents
paramètres avec le codage huffman pour l'image IRM1.
Bloc
[16x16]
[32x32]
TH
CR
0
5.2604
2
PSNR(dB)
MSE
PCDZ
GC (%)
41.8540
4.2431
00
80.9902
7.4683
43.2808
3.0550
82.2914
86.61
10
15.5843
42.7852
3.4242
94.2074
93.5833
20
22.9528
39.3020
7.6363
96.6705
95.6432
25
26.1908
38.0843
10.1077
97.2179
96.1819
30
28.8451
37.1018
12.6735
97.5849
96.5332
50
39.1318
34.1808
24.8316
98.4249
97.4445
100
61.0916
30.1810
62.3712
99.194
98.3631
0
5.4106
40.6860
5.5524
00
81.5178
2
7.3808
41.2460
4.8807
78.9581
86.4513
10
16.9848
41.5419
4.5592
94.3443
94.1124
20
25.0544
39.0320
8.1260
96.7228
96.0087
25
28.5249
37.9201
10.4970
97.2469
96.4943
30
32.0705
37.0024
12.9671
97.6227
96.8819
50
43.7198
34.1404
25.0632
98.4734
97.7127
100
71.624
30.0961
63.6022
99.2653
98.6038
Tableau 2: Valeurs de CR, PSNR, MSE, PCDZ et le G(%) en fonction des différents
-5-
SETIT2009
paramètres avec le codage huffman pour l'image IRM2.
REFERENCES
[ART 01] Artyom M. Grigoryan, Sos S. Agaian,"Shifted
Fourier Transform-Based Tensor Algorithms for the 2-D
DCT", IEEE Trans. On Signal Processing, Vol. 49, No. 9,
Sep. 2001, pp.2113-2126.
[CHE 02] Chengjie Tu, Trac D. Tran,"Context-Based Entropy
Coding of Block Transform Coefficients for Image
Compression", IEEE Trans. On Image Processing, Vol. 11,
No. 11, Nov. 2002, pp. 1271-1283.
[FAR 03] Farhadi G., "A hybrid image compression scheme
using block-based fractal coding and DCT", EC-VIP-MC
2003,4th EURASIP Conference focused on Video I Image
Processinq and Multimedia Communications, Zagreb,
Croatia, 2-5 July 2003, pp. 89-94.
[MAS 92] Masaki Nakagawa, Minoru Sasaki, Yoshiyuki
Ishizawa, Yuichi Miyano, Mituo Yamazaki, Kazuo Konishi,
Toshihiko Kaneshige, Shuichi Hisatomi, "DCT based still
image compression ICs with bit rate control", IEEE
Transactions on Consumer Electronics, Vol. 38, No. 3, Aug.
1992, pp. 711-717.
[MUN 06] Munenori Oizumi, "Preprocessing Method for
DCT-Based Image-Compression", IEEE Transactions on
Consumer Electronics, Vol. 52, No. 3, Aug. 2006, pp. 10211026.
[NIC 05] Nicholas P. Sgouros, Spyros S. Athineos, Panorea
E. Mardaki, Anna P. Sarantidou, Manolis S. Sangriotis,
Panagiotis G. Papageorgas, Nikiforos G. Theofanous, "Use of
an Adaptive 3D-DCT Scheme for Coding Multiview Stereo
Images", IEEE International Symposium on Signal
Processing and Information Technology, 2005, pp. 180-185.
[WON 95] Wong S., L. Zaremba, D. Gooden, H. K. Huang,
"Radiologic Image Compression-A Review", Proceedings of
the IEEE, Vol. 83, No 2, Feb. 1995, pp. 194-219.
[YAN 06] Yann-Gaudeau, "Contributions en compression
d’images médicales 3D et d’images naturelles 2D", Thèse
Doctorat de l’Université Henri Poincaré, Nancy 1, Dec.
2006.
[YUN 97] Yung-Gi Wu and Shen-Ghuan Tai, "Low bit rate
subband DCT image compression", IEEE Transactions on
Consumer Electronics, Vol. 43, No. 2, May 1997, pp. 134140.
[YUN 01] Yung-Gi Wu, Shen-Chuan Tai,"Medical Image
Compression by Discrete Cosine Transform Spectral
Similarity Strategy ", IEEE Trans. On Information
Technology in Biomedicine, Vol. 5, No. 3, Sep. 2001, pp.
236-243.
-6-