DCT based simple classification scheme for fractal image compression Author: D.J. Duh, J.H. Jeng and S.Y. Chen Source: Image and Vision Computing , vol. 23, no. 13, Nov 29, 2005, pp. 1115-1121 Reporter: Yi-Hui Chen Date: 2005. 12. 22
Fractal Image compression (1/2) Self-similarity Reduce the image redundancies Self-affine transformations input Ex1: Ex2: Ex3: http://www.ee.yuntech.edu.tw/%7Ehtchang/fractal_webpage/fractal.fractal_applet.html
Fractal Image compression (2/2) Y. Fisher, Fractal Image Compression, Theory and Application, Springer, New York, 1994.
Motivation (1/3) Non-overlapping Range block Overlapping Domain block The range pool is the set of the 1024 non-overlapping blocks of size 8x8 1024 = [(256)/8]2 Overlapping Domain block The domain pool is the set of the 58081 overlapping blocks of size 16x16 (58081 = (256-16+1)2 ) The size is 256x256
Motivation (2/3) … 1024*58081*5 58081 5 58081*5 Range pool Domain pool Get the minimize Similarity measure 5 The past fractal image compression required large amount of computation. 58081 58081*5 1024*58081*5 Range pool All transformation1 … transformation2 Domain pool transformation3 transformation4 transformation5
Motivation (3/3) Classification Reduce the search space for the range and the domain pools to speedup the encoding. DCT-based classification Smooth type (S) Diagonal/sub-diagonal type (D) Horizontal/vertical type (H) S D H Range pools Domain pools
The proposed model (1/5) Σ Lower coefficients possess most of the energy of the block. Two DCT coefficients F(1,0) and F(0,1) If two blocks are similar, they have roughly the same lower DCT coefficients B1 8 F1(1,0) =(√2)/8 * Σ Σ(50, 30, 20, 20, 30, 40, 10, 15) * cos(π/16) Σ(60, 70, 30, 20, 40, 50, 10, 25) * cos(3π/16) Σ(80, 40, 20, 10, 20, 30, 10, 35) * cos(5π/16) Σ(50, 40, 20, 10, 30, 50, 10, 10) * cos(7π/16) Σ(10, 20, 30, 40, 50, 60, 40, 35) * cos(9π/16) Σ(10, 20, 30, 40, 45, 40, 30, 45) * cos(11π/16) Σ(20, 30, 10, 10, 10, 10, 10, 15) * cos(13π/16) Σ(30, 30, 30, 20, 30, 20, 10, 15) * cos(15π/16)
The proposed model (2/5) Σ F1(0,1) =(√2)/8 * Σ * cos(π/16) cos(5π/16) cos(9π/16) cos(13π/16) * cos(3π/16) cos(7π/16) cos(11π/16) cos(15π/16) F1(0,1) =(√2)/8 * Σ (50, 30, 20, 20, 30, 40, 10, 15) (60, 70, 30, 20, 40, 50, 10, 25) (80, 40, 20, 10, 20, 30, 10, 35) (50, 40, 20, 10, 30, 50, 10, 10) (10, 20, 30, 40, 50, 60, 40, 35) (10, 20, 30, 40, 45, 40, 30, 45) (20, 30, 10, 10, 10, 10, 10, 15) (30, 30, 30, 20, 30, 20, 10, 15)
The proposed model (3/5) Three classifications If F(0,1)<Ts and F(1,0)<Ts, the type is S Smooth type Else if F(1,0)-F(0,1)<TD, the type is D Diagonal/sub-diagonal type Else the type is H Horizontal/vertical type S D H Range pools Domain pools S D H
The proposed model (4/5) Find the threshold Ts F*1 = max{|F1(0,1)|, |F1(1,0)|} =max{10,15}=15 F*2 = max{|F2(0,1)|, |F2(1,0)|}=max{17,25}=25 F*3 = max{|F3(0,1)|, |F3(1,0)|}=max{20,5}=20 F*4 = max{|F4(0,1)|, |F4(1,0)|}=max{12,10}=12 F*5 = max{|F5(0,1)|, |F5(1,0)|}=max{15,6}=6 F*6 = max{|F6(0,1)|, |F6(1,0)|}=max{32,35}=35 B1 B2 B3 B4 B5 B6 2. sorting F*5, F*4, F*1, F*3, F*2, F*6 Sorting results: 3. Find Ts located at the first one-third of range blocks Ts = F*4=12 4. For the rest F* to compute TD
The proposed model (5/5) Find the threshold TD F’6, F’1, F’2, F’3 F’1 = abs|F1(0,1) - F1(1,0)| abs|10-15|=5 F’2 = abs|F2(0,1)- F2(1,0)|=abs|17-25|=8 F’3 = abs|F3(0,1)- F3(1,0)|=abs|20-5|=15 F’6 = abs|F6(0,1)- F6(1,0)|=abs|32-35|=3 5. sorting F’6, F’1, F’2, F’3 Sorting results: 6. Find TD located at the middle of range blocks TD = F’1+ F’2 = (5+8)/2 = 6.5
Experimental results
Conclusions A simple classification scheme based on the two lowest DCT coefficients is equipped into the fractal image compression to speedup the encoder. The image quality can be well preserved due to the classification is performed according to the edge properties.
Merry Christmas