Time has become a crucial issue in today’s lifestyle and to keep up the pace with the world we need to come up with technologies that can process things faster. With high speed technology in image processing industry, the demand of good quality data is increasing rapidly. The usage of image and streaming of video on internet have increased exponentially. In addition, more storage capacity and more bandwidth as HD (High Density) image and video have become more and more popular.
In this project, mainly I demonstrated two different methods of image compression DCT based image compression and WAVELET based image compression on JPEG2000 image standard. I designed DCT based image compression and WAVELET based image compression codes in matlab and compared their results. After that, I implemented the wavelet algorithm using C and C# in visual studio to verify the design. Finally I implemented the same algorithm on TI’s digital signal processing board EVM320DM6437, based on C language.
In addition, for implementing discrete wavelet transform on EVM 320DM6437 board, I captured the image frame from a video signal. Then, I extracted the Y v components of the image. Then I used Code Composer Studio software to implement the code written in C language to successful display the compression result on Television.
BASIC CONCEPT OF IMAGE PROCESSING AND TWO DIFFERENT TYPES OF FORMAT JPEG AND JPEG2000
Introduction to Image Compression and Decompression:
Any image taken from a camera is stored in a computer in form of a matrix. Each pixel is represented by a value from 0 to 255. More pixels in an image means that more memory is needed to store that image. Therefore, digital image processing concept is concentrated on reduction of memory consumption. It has been found that general 1024X1024-color image occupies 3 MB of memory for storage.
Types of Image Compression Techniques:
Digital image compression can be divided mainly in two large categories: lossless and lossy compression. Lossless compression is used for artificial images. They use low bits rate. There is a possibility of loss some of the data during this process. While lossless compression is preferred in medical images and military images.
Two Different Formats JPEG and JPEG 2000:
In this section, two different image standards JPEG and JPEG 2000 are discussed.
Introduction to Image Standard JPEG
JPEG (Joint Photographic Experts Group) comes from the committee name that introduced this standard. This is a lossy type of image compression. It is effectively used on still images. On the other hand, MPEG is used for moving image standards. JPEG is called lossy because the reconstructed image on the receiver side is not the same as the transmitter side. The advantage is that one can achieve much higher compression with this standard but at the cost of some data. The small difference in color is invisible to human eye and JPEG standard works on that concept.
Introduction to Image Standard JPEG 2000
JPEG 2000 is a result of extended study performed on JPEG standard for improvements. Although studies are being done since 1996, the first paper on JPEG 2000 was published in December 2000. The Committee’s initial aim was to introduce these concepts of high bit rate and better quality. Later scalability and Region of interest concept were introduced. This makes it even more powerful. It can compress data with low bit rate but without losing and the data image can be recovered.
TWO ALGORITHMS DCT AND WAVELETS USED IN JPEG AND JPEG 2000 RESPECTIVELY
Wavelet Based Image Processing:
Wavelet is a lossless algorithm, implemented on JPEG 2000 standard, which analyzes images in a recursive style. Users can get a series of images and with improvement at every level. It is almost similar to DCT, except we get a better resolution at the end.
MATLAB MODEL OF DCT AND WAVELET IMAGE PROCESSING
Matlab Representation of DCT Based Signal Processing:
The main aim of this project was to show the difference between DCT based image processing and Wavelet based image processing. The first thing I did was implement DCT based image compression and decompression on an image. I took same image to do the wavelet transform too.
Wavelet Based Signal Processing:
Now, the next step was to implement wavelet-based image processing. From the results, it is seen that the difference between PSNR and image quality between two methods is noticeable. Initially, the region of interest is accessed from where we want to do the compression. After that, the method of wavelet should be selected. Here, in this case it is DWT. Then RLE should be performed, this can significantly reduce the number of bits.
WAVELET IMPLEMENTATION USING C LANGUAGE
Componets on Hardware and Interface:
This is the best platform to work with especially when someone is looking for a platform, which is best suited for both image, and video application. Also, some of the best features of this kit is TMS320C64x TMDSP core are operating frequency of 600 MHz, 128 KB L2 cache and 32 KB L1 cache. This is the block diagram of the platform shown in diagram.
Wavelet Based Image Processing Using C and C#:
The algorithm was implemented using same theory we did in matlab but the problem was to show the result to verify it. C does not have anything with which one can display the image and see the processed result. Therefore, for that we took help of one of my friend who is in computer science department he knows C#. He help us developed some forms to open an image. We implement that algorithm on image and saw the result using C# to verify that. The implementation was so perfect we achieved the very good ratio using that algorithm.
CONCLUSION AND FUTURE WORK
The major idea behind this project was to show a difference between the DCT based image compression and a wavelet based image compression. The concept was implemented in software language C/C++, so that the logic can be implemented on a Texas Instrument’s DSP board. I have successfully implemented, both DCT based and wavelet-based algorithm in MATLAB. By viewing the SNR for both the DCT and wavelet based image compression, a clear quality difference between them can be noticed.
It can be observed that wavelet can give better SNR as high as 20% in comparison to DCT. In addition, wavelet based image compression is best for edge detection and due to level based compression, it is also flexible. We can use any level to do the processing. Reliability has helped the Police department to use this algorithm for a finger print reader. In hospitals to check images this algorithm is been used. At both these places accuracy and quality is very essential.
PSNR achieved by DCT based compression. Code can be found below inappendix to verify the result. PSNR calculated by wavelet based processing method. Hence, from the results it can be inferred that quality in received image after wavelet based processing is higher than DCT.
A logic based on above concept was developed using C language and C#. This can be very useful for future reference. Dr. Pang is working on a TI’s DSP board TMS320DM6437 that only supports C and C++ language. In addition, with this algorithm one can achieve a higher level of compression.
Source: California State University
Author: Riken Shah