Presentation is loading. Please wait.

Presentation is loading. Please wait.

Image Compression using Vector Quantization

Similar presentations


Presentation on theme: "Image Compression using Vector Quantization"— Presentation transcript:

1 Image Compression using Vector Quantization
23/08/61 Image Compression using Vector Quantization Nopparat Pantsaena Manas Sangworasil Chinnapat Nantajiwakornchai Tanasak Phanprasit Good morning Ladies and gentlemen , I am Nopparat Pantsaena ,Master student from KMITL ,Thailand. Today I am going to present Image compression using vector quantization. The aim of this presentation is to give you an overview of splitting codebook design in vector quantization technique. Research Center for Communication and Information Technology (ReCCIT) King Mongkut’s Institute of Technology Ladkrabang (KMITL) Bangkok, Thailand

2 23/08/61 Objective This research presents the Splitting solution to implement the Codebook, which improves the image quality by average Training Vectors and then splits the average result to Codebook that has minimum distortion. This research presents the Splitting solution to implement the Codebook, which improves the image quality by average Training Vectors and then splits the average result to Codebook that has minimum distortion. From objective let ‘s we know two steps of the splitting codebook design. First we compute average value of training vector and next step we split it to find the best codebook.

3 Outline Introduction Codebook Design Steps of LBG
23/08/61 Outline Introduction Codebook Design Steps of LBG Splitting Codebook design Experimental and Result Conclusion I will divide my talk into 6 parts. First of all, I’ll introduce you to vector quantization technique ,and next I’ll tell you about codebook design, Step of LBG algorithm ,Splitting codebook design ,Experimental and result. The last is conclusion of this research.

4 Introduction 1 2 3 .. Source Image Training Vector
23/08/61 Introduction Source Image Training Vector 1 2 3 .. Image Compression using Vector Quantization, an input image is divided into small blocks. We called Training Vectors (xj(k)).

5 Introduction Training Vector Codebook Design
23/08/61 Introduction Training Vector Codebook Design From Training vector,We find the new codebook by codebook design algorithm such as Splitting or Random algorithm. Codebook Table

6 Introduction i1 i5 i39 i10 i45 i200 i12 i54 i256 i96 i78 i9
23/08/61 Introduction New Image (Index Table) Codebook Table i1 i5 i39 i10 i45 i200 i12 i54 i256 i96 i78 i9 New image is the index table that contains the index (i) of the codebook.When we reconstruct the image, we pick the vector in codebook into image block.

7 Introduction Block diagram of Vector Quantization ….(1)
23/08/61 Introduction ….(1) And we can see all process in this slide. Block diagram of Vector Quantization Intro

8 Codebook Design There are two kinds of Codebook Random Codebook
23/08/61 Codebook Design There are two kinds of Codebook Random Codebook Splitting Codebook About Codebook, There are two kinds of Codebook ,Random Codebook and Splitting Codebook

9 Comparison between Random and Splitting Codebook Design
23/08/61 Comparison between Random and Splitting Codebook Design Splitting has certain loops to find new codebook. Splitting faster than Random algorithm. Codebook’s size define by 2R. Random technique will not work if R is not an integer. But we can use the Spitting algorithm. This research select Splitting algorithm to implement codebook because the Splitting better than Random algorithm in 3 reason. 1.Splitting has certain loops to find codebook. 2.Splitting faster than Random algorithm. 3.Codebook’s size define by 2R. Random technique will not work if R is not an integer. But we can use the Spitting algorithm.

10 Codebook Design Linde-Buzo-Gray’s Algorithm (LBG)
23/08/61 Codebook Design Linde-Buzo-Gray’s Algorithm (LBG) xj(k)=[ xj(1) xj(2) xj(3)…xj(k) ] j = 1,2,3,…,n; n = number of the image parts k = vector dimension; (k=1,2,3,…,16) Linde-Buzo-Gray’s or LBG is the famous algorithm to find codebook in VQ technique then I will talk about LBG algorithm in next topic.

11 Steps of LBG Initial the value for Codebook
23/08/61 Steps of LBG Initial the value for Codebook Xi(k)=[(1)(2)(3)…(k)]; i=1,2,3,…,Nc Nc is number of vector in Codebook First step, The value of codebook will be initialed. We can assign the initial value independent on the algorithm and we will discuss it in next topic. Back

12 Steps of LBG Grouping the Training Vectors
23/08/61 Steps of LBG Grouping the Training Vectors Next Step, we will grouping training vector by comparing with vector’s value in codebook.

13 Steps of LBG P((k) ) = (Si; i=1,2,3,…,Nc);
23/08/61 Steps of LBG P((k) ) = (Si; i=1,2,3,…,Nc); Si is the set of minimum distortion vectors xj  Si if Minimum Distortion Values If Si is the set of minimum distortion vectors. Xj is the member of the Si when minimum distortion less than or equal minimum distortion of all. We can find Minimum Distortion Values from eq. no. 2. ….(2)

14 Steps of LBG Average distortion
23/08/61 Steps of LBG Average distortion The average distortion can be calculated from each group, is given by ….(3) After that, we will calculate average distortion. The average distortion can be calculated from each group, is given by the eq. no. 3.

15 Steps of LBG Stop update the codebook if
23/08/61 Steps of LBG Stop update the codebook if And we can obtain the New Codebook We will stop update the codebook when (...equation..) and epsilon is decision value that we set to minimal value.

16 23/08/61 Steps of LBG Otherwise, the process will continue update in the Codebook by average the group in 2nd step vectors as: Otherwise, the process will continue update in the Codebook by average the group in 2nd step vectors x(P(Ym)). Vector X(Si) calculate by eq. no. 4. ….(4)

17 Splitting Codebook design
23/08/61 Splitting Codebook design Split the Codebook to 2 vectors: and START Divide the image into small blocks Update Ym M=2M Arranging vector Ym={x1,x2,..xn} LGB Algorithm Set M=1 then Ym={x1 ,x2 ,..x16} Find centroid of vector by Now let’s move on to the Splitting Codebook design. In the first step divide the image into small block and arranging it. Next step set M=1 and find centroid of vector by eq. no. 5. after that we describe in LBG algorithm and compare between M and Nc ,when Nc is the number of vector in codebook. If M equal Nc then we keep Ym and complete the algorithm but if M not equal Nc we will update the new codebook by split the codebook to 2 vector x + epsilon (j) and x – epsilon (j) ,when epsilon (j) is the average value that calculate by eq. no. 6. After that we update new Ym ,Ym=Y2m , M=2M and describe in LGB algorithm again. We will calculate in the loop until M=Nc. M=Nc No Yes END Keep Ym

18 Splitting Codebook design
From Training Vector, find the average of Training Vectors for setting the Codebook as follows k=1,2,3,…,16 n =1,2,3,…,16384 ….(5) Back

19 Splitting Codebook design
Split the Codebook to 2 vectors: ….(7) ….(6) j =1,2,3,…,Nc ni =1,2,3,…,16 Back

20 Splitting Codebook design
23/08/61 Splitting Codebook design Split the Codebook to 2 vectors: Back

21 Experimental and Result
23/08/61 Experimental and Result The value of PSNR is calculated from RMSE when f(i,j) is the gray level of pixel i in the original image f(i,j)’ is the gray level of pixel i in the decompressed image. N is the total number of pixels in the image. ….(8) ….(9) In the experiment, The value of PSNR is calculated from eq. no 8 and RMSE value is calculated from eq. no 9.

22 Experimental and Result
23/08/61 Experimental and Result This experimentation shows the image encoding by using 4 images “Lena, Gird, Milk drop and Mandrill” . Look at graph, The graph shows PSNR value at difference bit rate from to This graph compare the image quality from Random and Splitting Codebook. Figure1. Lena

23 Experimental and Result
23/08/61 Experimental and Result Milk drop has a lot of low frequency components, the image quality is a little better at low bits rate. Figure 2. Milk drop

24 Experimental and Result
23/08/61 Experimental and Result Mandrill has a large amount of high frequency components, the image quality is a little better at low bits rate. Except at high bits rate that our method is not sufficient. Figure 3. Mandrill

25 Experimental and Result
23/08/61 Experimental and Result Girl, the result is similar with “Lena”. From the result, the image quality from splitting is better than Random Codebook design for all of the test images. Figure 4. Girl

26 23/08/61 Conclusion This paper proposed the implementation of Codebook to Vector Quantization image compression. From the experiment, the Split Codebook can achieve higher image quality than Random Codebook at the same bits rate. In another words, the proposed algorithm achieves lower bits rate at the same image quality In Conclusion, This paper proposed the implementation of Codebook to Vector Quantization image compression. From the experiment, the Split Codebook can achieve higher image quality than Random Codebook at the same bits rate.

27 Thank you for your attention.
23/08/61 Thank you for your attention. Are there any question? If don’t have any question, that complete my presentation. Thank you everybody .Thank you for your attention.


Download ppt "Image Compression using Vector Quantization"

Similar presentations


Ads by Google