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-