SlideServe
Menu
Préférences
© SlideServe · v2026

A New Image Compression Scheme Based on Locally Adaptive Coding

Rita avatar
23 diapositives · 382 Views · Jan 23, 2012

Novel image compression scheme designed by Chair Professor Chin-Chen Chang of Feng Chia University. The method employs a locally adaptive coding technique, effectively categorizing the temporary codebook into frequently and infrequently used parts for streamlined data compression. Key components include a vector quantization approach utilizing index tables, along with a refined temporary codebook generation process. The proposed system significantly enhances the efficiency of image compression while maintaining high quality.

A New Image Compression Scheme Based on Locally Adaptive Coding - slide 1
01 / 23A New Image Compression Scheme Based on Locally Adaptive Coding
1 / 17

Télécharger la présentation

A New Image Compression Scheme Based on Locally Adaptive Coding
Une image / un lien ci-dessous est fourni (tel quel) pour télécharger la présentation

Politique de téléchargement : le contenu du site vous est fourni TEL QUEL pour votre information et votre usage personnel ; il ne peut être vendu, concédé sous licence ni partagé sur d’autres sites sans l’accord de son auteur.Le contenu vous est fourni TEL QUEL, pour votre information et votre usage personnel uniquement. Téléchargez la présentation en cliquant sur ce lien. Lors du téléchargement, si vous ne parvenez pas à télécharger une présentation, l’éditeur a peut-être supprimé le fichier de son serveur.Pendant le téléchargement, si vous ne parvenez pas à obtenir une présentation, le fichier a peut-être été supprimé par l’éditeur.

F I N

Plus de contenu associé

Transcription de la présentation
  1. A New Image Compression Scheme Based on Locally Adaptive Coding Chair Professor Chin-Chen Chang Feng Chia University

  2. Introduction Image compression technique w h Image Index table Vector Quantization Encoder

  3. Introduction (Cont.) Image compression technique w h Image Index table Vector Quantization Decoder

  4. Introduction (Cont.) VQ Histogram Index table Image

  5. Locally adaptive scheme Introduction (Cont.) • Ex: a a b b c a c a b d c c e f b a List List b a a 0 0 1 … List List List List c c c a b a b a b c b a 002 012 102 002 012 102 002 012 102 002 012 102 0a100b100c110101101… 1: index existed in list 0: the symbol does not exist in list • Concept: Moving the Recently Used to the Front

  6. The Proposed Method Divide the temporary codebook into two Parts (frequently-used and infrequently-used) Refine the frequently-used part of temporary codebook Divide image into non-overlapping blocks Generate temporary codebook Image I Refine the infrequently-used part of temporary codebook generated codebook Output Compress I by referencing the generated codebook Compression code

  7. The Proposed Method (Cont.) • The proposed method includes two phases for codebook generation • Temporary codebook generation • Codebook refining

  8. Temporary Codebook Generation • The codebook generation is based on the concept of locally adaptive coding Temporary Codebook w Bi = {84, 170, 166, 167, 83, …, 168} G1 = { g1,1={199, 96, 84, 167, 83, …, 130}, g1,2={201, 97, 90, 167, 85, …, 132}, g1,3={200, 95, 82, 167, 81, …, 131}} h G2 = { g2,1={84, 170, 166, 167, 84, …, 170}, g2,2={86, 168, 165, 170, 90, …, 165}} G3 = { g3,1={184, 83, 194, 170, 166, …, 110}, g3,2={180, 80, 194, 166, 168, …, 114}, g3,3={185, 85, 190, 172, 160, …, 120}, g3,4={191, 88, 197, 170, 162, …, 107}} ∵d(Bi , g2,1) = 2.24 TH = 25 ∴ add Bi into G2 and move G2 to be the first one Image Gn = { gn,1={244, 83, 174, 210, 166, …, 127}, gn,2={243, 80, 175, 213, 168, …, 128}, gn,3={240, 85, 176, 209, 160, …, 126}, gn,4={244, 88, 178, 213, 162, …, 127}} *d(•): Euclidean distance function

  9. Temporary Codebook Generation (Cont.) Temporary Codebook Temporary Codebook G1 = { g1,1={199, 96, 84, 167, 83, …, 130}, g1,2={201, 97, 90, 167, 85, …, 132}, g1,3={200, 95, 82, 167, 81, …, 131}} G2 = { g2,1={84, 170, 166, 167, 84, …, 170}, g2,2={86, 168, 165, 170, 90, …, 165}, g2,3={84, 170, 166, 167, 83, …, 168}} G2 = { g2,1={84, 170, 166, 167, 84, …, 170}, g2,2={86, 168, 165, 170, 90, …, 165}, g2,3={84, 170, 166, 167, 83, …, 168}} G1 = { g1,1={199, 96, 84, 167, 83, …, 130}, g1,2={201, 97, 90, 167, 85, …, 132}, g1,3={200, 95, 82, 167, 81, …, 131}} G3 = { g3,1={184, 83, 194, 170, 166, …, 110}, g3,2={180, 80, 194, 166, 168, …, 114}, g3,3={185, 85, 190, 172, 160, …, 120}, g3,4={191, 88, 197, 170, 162, …, 107}} G3 = { g3,1={184, 83, 194, 170, 166, …, 110}, g3,2={180, 80, 194, 166, 168, …, 114}, g3,3={185, 85, 190, 172, 160, …, 120}, g3,4={191, 88, 197, 170, 162, …, 107}} Gn = { gn,1={244, 83, 174, 210, 166, …, 127}, gn,2={243, 80, 175, 213, 168, …, 128}, gn,3={240, 85, 176, 209, 160, …, 126}, gn,4={244, 88, 178, 213, 162, …, 127}} Gn = { gn,1={244, 83, 174, 210, 166, …, 127}, gn,2={243, 80, 175, 213, 168, …, 128}, gn,3={240, 85, 176, 209, 160, …, 126}, gn,4={244, 88, 178, 213, 162, …, 127}}

  10. Temporary Codebook Generation (Cont.) Temporary Codebook w G2 = { g2,1={84, 170, 166, 167, 84, …, 170}, g2,2={86, 168, 165, 170, 90, …, 165}, g2,3={84, 170, 166, 167, 83, …, 168}} Bj = {220, 212, 182, 179, 240, …, 246} h G1 = { g1,1={199, 96, 84, 167, 83, …, 130}, g1,2={201, 97, 90, 167, 85, …, 132}, g1,3={200, 95, 82, 167, 81, …, 131}} G3 = { g3,1={184, 83, 194, 170, 166, …, 110}, g3,2={180, 80, 194, 166, 168, …, 114}, g3,3={185, 85, 190, 172, 160, …, 120}, g3,4={191, 88, 197, 170, 162, …, 107}} Image Gn = { gn,1={244, 83, 174, 210, 166, …, 127}, gn,2={243, 80, 175, 213, 168, …, 128}, gn,3={240, 85, 176, 209, 160, …, 126}, gn,4={244, 88, 178, 213, 162, …, 127}} ∵ No any block satisfies d(Bj, gk) TH = 25 ∴ Create a new group Gn+1, add Bj into Gn+1, and move Gn+1 to be the first one

  11. Temporary Codebook Generation (Cont.) Temporary Codebook Temporary Codebook G2 = { g2,1={84, 170, 166, 167, 84, …, 170}, g2,2={86, 168, 165, 170, 90, …, 165}, g2,3={84, 170, 166, 167, 83, …, 168}} Gn+1 = { gn+1,1={220, 212, 182, 179, 240, …, 246}} G2 = { g2,1={84, 170, 166, 167, 84, …, 170}, g2,2={86, 168, 165, 170, 90, …, 165}, g2,3={84, 170, 166, 167, 83, …, 168}} G1 = { g1,1={199, 96, 84, 167, 83, …, 130}, g1,2={201, 97, 90, 167, 85, …, 132}, g1,3={200, 95, 82, 167, 81, …, 131}} G1 = { g1,1={199, 96, 84, 167, 83, …, 130}, g1,2={201, 97, 90, 167, 85, …, 132}, g1,3={200, 95, 82, 167, 81, …, 131}} G3 = { g3,1={184, 83, 194, 170, 166, …, 110}, g3,2={180, 80, 194, 166, 168, …, 114}, g3,3={185, 85, 190, 172, 160, …, 120}, g3,4={191, 88, 197, 170, 162, …, 107}} G3 = { g3,1={184, 83, 194, 170, 166, …, 110}, g3,2={180, 80, 194, 166, 168, …, 114}, g3,3={185, 85, 190, 172, 160, …, 120}, g3,4={191, 88, 197, 170, 162, …, 107}} Gn = { gn,1={244, 83, 174, 210, 166, …, 127}, gn,2={243, 80, 175, 213, 168, …, 128}, gn,3={240, 85, 176, 209, 160, …, 126}, gn,4={244, 88, 178, 213, 162, …, 127}} Gn = { gn,1={244, 83, 174, 210, 166, …, 127}, gn,2={243, 80, 175, 213, 168, …, 128}, gn,3={240, 85, 176, 209, 160, …, 126}, gn,4={244, 88, 178, 213, 162, …, 127}} Gn+1 = { gn+1,1={220, 212, 182, 179, 240, …, 246}}

  12. Codebook Refining IF ||Gi|| > THF = 3 Then Add Gi into Frequently-used part Else add Gi into Infrequently-used part Temporary Codebook ||Gn+1|| =1 Gn+1 = { gn+1,1={220, 212, 182, 179, 240, …, 246}} G2 = { g2,1={84, 170, 166, 167, 84, …, 170}, g2,2={86, 168, 165, 170, 90, …, 165}, g2,3={84, 170, 166, 167, 83, …, 168}} Frequently-used ||G2|| =3 Gn G1 = { g1,1={199, 96, 84, 167, 83, …, 130}, g1,2={201, 97, 90, 167, 85, …, 132}, g1,3={200, 95, 82, 167, 81, …, 131}} ||G1|| =3 G3 G3 = { g3,1={184, 83, 194, 170, 166, …, 110}, g3,2={180, 80, 194, 166, 168, …, 114}, g3,3={185, 85, 190, 172, 160, …, 120}, g3,4={191, 88, 197, 170, 162, …, 107}} ||G3|| =4 Infrequently-used Gn+1 G2 Gn = { gn,1={244, 83, 174, 210, 166, …, 127}, gn,2={243, 80, 175, 213, 168, …, 128}, gn,3={240, 85, 176, 209, 160, …, 126}, gn,4={244, 88, 178, 213, 162, …, 127}} ||Gn|| =4 G1

  13. Codebook Refining (Cont.) For frequently-used part c3={185, 84, 194, 170, 164, …, 113} Compute Gi’s centroid cn={243, 85, 176, 211, 164, …, 127} G3 = { g3,1={84, 83, 94, 170, 166, …, 210}, g3,2={80, 80, 94, 166, 168, …, 214}, g3,3={85, 85, 90, 172, 160, …, 220}, g3,4={91, 88, 97, 170, 162, …, 207}} : ∵d(c3, cn) = 32 THH = 35 ∴ Combine c3 and cn by c3’ = (c3 + cn)/2 Use the centroids to represent the codewords c3={185, 84, 194, 170, 164, …, 113} Gn = { gn,1={244, 83, 174, 210, 166, …, 127}, gn,2={243, 80, 175, 213, 168, …, 128}, gn,3={240, 85, 176, 209, 160, …, 126}, gn,4={244, 88, 178, 213, 162, …, 127}} cn={243, 85, 176, 211, 164, …, 127} c3’={214, 85, 185, 191, 164, …, 120} : Centroid of Gn

  14. Codebook Refining (Cont.) For infrequently-used part c1={200, 96, 85, 167, 83, …, 131} c2={85, 170, 166, 169, 86, …, 168} Compute Gi’s centroid cn+1={220, 212, 182, 179, 240, …, 246} Gn+1 = {gn+1,1={220, 212, 182, 179, 240, …, 246}} cn+1={220, 212, 182, 179, 240, …, 246} Use the centroids to represent the codewords G2 = {g2,1={84, 170, 166, 167, 84, …, 170}, g2,2={86, 168, 165, 170, 90, …, 165}, g2,3={84, 170, 166, 167, 83, …, 168}} c2={85, 170, 166, 169, 86, …, 168} G1 = { g1,1={199, 96, 84, 167, 83, …, 130}, g1,2={201, 97, 90, 167, 85, …, 132}, g1,3={200, 95, 82, 167, 81, …, 131}} c1={200, 966, 85, 167, 83, …, 131}

  15. Codebook Refining (Cont.) Frequently-used part C3’={214, 85, 185, 191, 164, …, 120} : ∵d(c3’, c1) = 132.57 THL = 135 ∴ Delete c1 from Infrequently-used part Infrequently-used part c1={200, 96, 85, 167, 83, …, 131} c1={200, 96, 85, 167, 83, …, 131} c2={85, 170, 166, 169, 86, …, 168} c2={85, 170, 166, 169, 86, …, 168} cn+1={220, 212, 182, 179, 240, …, 246} cn+1={220, 212, 182, 179, 240, …, 246}

  16. Codebook Refining (Cont.) Frequently-used part C3’={214, 85, 185, 191, 164, …, 120} C3’={214, 85, 185, 191, 164, …, 120} c2={85, 170, 166, 169, 86, …, 168} : : Infrequently-used part c2={85, 170, 166, 169, 86, …, 168} ∵ No any codeword cj from frequently-used part satisfies d(c2, cj) THL = 135 ∴ Add c2 into frequently-used part and delete c2 from infrequently-used part cn+1={220, 212, 182, 179, 240, …, 246}

  17. Codebook Refining (Cont.) Frequently-used part C3’={214, 85, 185, 191, 164, …, 120} C3’={214, 85, 185, 191, 164, …, 120} c2={85, 170, 166, 169, 86, …, 168} c2={85, 170, 166, 169, 86, …, 168} cn+1={220, 212, 182, 179, 240, …, 246} : : Generated codebook Infrequently-used part cn+1={220, 212, 182, 179, 240, …, 246} ∵ No any codeword cj from frequently-used part satisfies d(cn+1, cj) THL = 135 ∴ Add cn+1 into frequently-used part and delete cn+1 from infrequently-used part Empty

  18. Image Compression Generated codebook w 1 h C0={214, 85, 185, 191, 164, …, 120} c1={85, 170, 166, 169, 86, …, 168} : cn={220, 212, 182, 179, 240, …, 246} Index table Image

  19. Experimental Results (b) Goldhill (a) Alan (c) Lena (d) Tiffany

  20. Experimental Results (Cont.) (a) Codebook size comparison

  21. Experimental Results (Cont.) (b) PSNR comparison with different THs

  22. Experimental Results (Cont.)

  23. Conclusions • The proposed method significantly reduces the size of codebook and maintains a good image quality of the compressed images.