An Enhanced Satellite Image Compression Using Hybrid (DWT, DCT and SVD) Algorithm

Storing images consumes a lot of storage space due to the large number of bits used to represent them. These bits are comprised of pixels that make up the image. These heavy images are also very difficult to be transmitted over channels due to their great size. Compression involves the reduction of the amount of bits used in representing an image and consequently reducing the size of that image without losing any detail from the image. There are so many image compression techniques used to achieve this feat, but they have drawbacks such as lack of a model that can compress a satellite image, lack of adaptive reversible techniques for compression and inability to compress complex images such as satellite images. This work, proposed an hybrid Discrete Wavelet Transform, Discrete Cosine Transform and Singular Value Decomposition (DCT-DWT-SVD)based techniques for satellite image compression. The algorithms were combined to breakdown the images into blocks/matrices and assign certain values to them depending on the concentration of colour bits around the region. The areas with higher bits are reduced and compression is achieved. A hybrid methodology of Agile and Waterfall model was used in this approach. The model was implemented using MATLAB and satellite images gotten from a public repository. The Compression ratio was 0.9990 and 0.9941 for the two images compressed which shows high and efficient compression. The Mean Square Error (MSE) was 2.51 which is low. This study will be beneficial to remote sensor companies, Graphic designers and the research community.


Introduction
Images are widely used in several applications for problem solving. The images are sometimes used in these modern technologies to promote user friendliness in the applications, or as outputs from these applications (such as in medical systems for representing Xray and scan results). Outputs represented in a pictorial form are usually more easily interpreted and understood than complex mathematical equations and logic.
Most images are usually recorded in digital format and stored in several storage devices such as disks etc. The smaller the size of the image in terms of bits used to store it.
Digital images are made up of pixels which are later represented by bits during storage. The pixels represent the colours on the image. Most of the images contain a significant amount of redundancy which makes their sizes very large and result in clumsy processing and storage. To overcome this, compression techniques were introduced to remove the redundancies and consequently reduce the image size while still retaining the quality of the image [1].
Image compression is a form of image processing [2]. Compression techniques such as Discrete Wavelength Transforms (DWT), Discrete Cosine Transforms ((DCT), Singular Value Decomposition etc. were introduced to bring about image compression and preserving the image quality [3].
Several researchers has proposed several image compression techniques over the years, but their models have been prone to flaws. Hence this study.

Statement of the Problem
Image compression has recorded a lot of success over the years. However, there are still limitations to the process which makes it inefficient and prone to flaws. Some of the Using Hybrid (DWT, DCT and SVD) Algorithm problems include lack of a model that can compress a satellite image of any size uniformly without lowering the image quality. Lack of adaptive reversible techniques for compression and inability to compress complex images such as satellite images are some of the drawbacks image compression is faced it.

Aim and Objectives
The aim of this research is to develop an enhanced satellite image compression using hybrid (DCT, DWT and SVD) algorithm.
The specific objectives are: Develop a hybrid lossless model for compressing complex satellite images. Implement with MATLAB software. Compare our results with other existing system performances.

Image Compression
The general method of image representation is in matrix, made up of size m*n. where, m signifies the number of rows, which is the pixel height of the image and n is the number of columns which shows the pixel width of the image. Every element of the matrix gives the representation to each pixel that makes up the image [4].
Image processing is a method of carrying out operations on an image to either improve on the quality of the image or extracting certain information from the image using mathematical functions. Image compression is a type of image processing. Image compression is also a type of data compression technique. Therefore, image compression can involve performing data compression on a digital image to reduce their cost for storage or transmission. Image compression can be applied to satellite images, photo enhancement and image recognition [5].
Satellite images are used importantly in many applications for finding of the spectral signature of different objects such as the vegetation index, land cover classification, and crop pattern [6]. Satellite images are mostly important in areas with disasters or limitations which will pose a threat on direct close range capture of the images using a normal digital camera. These images are captured from a certain height above the ground. The process of capturing satellite images is known as Remote Sensing [2].
Image compression is made up of 2 schemes, the Lossless and the Lossy Image Compression. In the Lossless image compression, images are compressed or decompressed without losing any information from the image. This implies that even though the size of the image is reduced, the quality of the image is preserved. On the other hand, in Lossy Image compression, the images are reconstructed with a tolerated amount of information loss allowed on the image. The Lossy image compression has a higher compression ratio that the Lossless Image Compression technique [2].  [15]).
The resolution of the images determines the technique that will be used for its compression. The images with high resolution will be treated differently from the images with low resolution during compression. Therefore, the choice of a suitable compression technique should be carefully made in order to achieve high compression ratio and reduce the bandwidth for transmission of data from the satellite to the earth while maintain the important scientific information of the image when reconstructed on the earth as soon as possible.

Image Compression Techniques
We shall discuss three major compression techniques in this section. They are the Discrete Wavelength Transforms (DWT), Discrete Cosine Transforms (DCT) and Singular Value Decomposition (SVD). These are the most efficient digital image compression techniques. DCT and DWT algorithm at the primary stage represents the most widely used Lossy image compression for formats such as JPEG (Joint Photographic Expert Group) [2].

Discrete Wavelength Transforms (DWT) Algorithm
It is computationally impossible to measure a signal using all wavelet coefficients, so one may wonder whether it is sufficient to select a discrete subset of the upper half plane so that the signal can be reconstructed from the corresponding wavelet coefficients. The DWT is composed of filters for decomposition and reconstruction. Some most popular wavelet filters are Daubechies, Coiflets, Symlets and Harr wavelets. Using the DWT in compression process improves CR level of the compound image [7].
These functions are generated by the translation and dilation of a unique function, known as the "wavelet mother" denoted by δ (t) and is given by equation (1).
The wavelet transform has the benefit of attaining both spatial and frequency localizations. The DWT is applied to the image and the image is converted to four bands. After one decomposition level, there will be four frequency bands, which are low-low (LL), low-high (LH), high-low (HL) and high-high (HH).
A wavelet is a mathematical function used to divide a given function or continuous-time signal into different wave signals. It can assign a frequency range for each wave signals. All wave signals that match its scale can be analyzed with a resolution. It is the delegation of a function by wavelets.

Discrete Cosine Transforms (DCT) Algorithm
Several applications of digital signal processing, data compression and information hiding uses DCT algorithm. There are four types of discrete cosine transforms. DCT expresses a finite sequence of data points of cosine functions oscillating at different frequencies. DCT is mostly applied to digital images and other digital data. JPEG and HEIF are the image formats that are supported by DCT. DCT is very effective because fewer cosine functions are needed to approximate a typical signal. DCT is a Fourier related transform (DFT), but it makes use of only real numbers.
DCT converts the spatial domain waveform to its constituent frequency components as described by a set of coefficients [8]. The DCT is used to differentiate the lower and higher frequency coefficients into two parts. DCT features are stored as an array where the necessary features of the image can be calculated by DCT frequency coefficients and the popular block-based DCT transforms segments and non-overlapping blocks of the image applies DCT to each block.. It gives result in three frequency sub-bands: low frequency sub-band, mid-frequency sub-band and high frequency sub-band. DCT-based enhancement is based on two facts. The first fact is that much of the signal energy lies at low-frequencies sub-band which contains the most important visual parts of the image. The second fact is that high frequency components of the image [9,10] The basic operation of the DCT is as follows: the input multiband satellite image is M by N, f (i, j) is the intensity of the pixel in rows i and column j, s (x, y) is the DCT coefficient in row k1 and column k2 of the DCT matrix. For most multiband satellite images, much of the signal energy lies at low frequencies; these appear in the upper left corner of the DCT.

Singular Value Decomposition (SVD)
Singular Value Decomposition (SVD) usually works by decomposing the original matrix. The aim of SVD is to approximate a dataset of many dimensions with fewer dimensions. SVD considers highly variable, high dimensional data points and exposes the substructure of the original data by reducing the higher dimensional data to lower dimensional data. The exposure of the substructure orders the data from the most variations to the least, which helps to find the region with most variations, and then later SVD can be used to reduce them. The SVD is essentially factorizing the given matrix into multiple matrices. SVD factorizes the given matrix with m number of rows and n number of columns it into three matrices; which can be written as M=UΣVT where U and VT are orthogonal matrices of the order m*m and n*n respectively and Σ is a diagonal matrix of the order m*n. Diagonal matrix Σ consists of nonnegative real numbers which are called as singular values of M. The m columns of U and n columns of VT are known as the left and right singular vectors of M respectively [4] The steps involved in the SVD process are shown in figure 2.

Figure 2. SVD Compression Flowchart (Source: [4]).
SVD of a given matrix can be calculated as follows: From a given matrix M, calculate AAT and ATA. Use AAT to form U, which is calculated by calculating eigen values and eigen vectors of AAT.
In the same way, V can be formed by calculating the eigen values and eigen vectors of ATA.
Columns of U and V are formed by dividing each eigen vector by its magnitude. Singular values are computed by taking the square root of eigen values. They are arranged in descending order in the diagonal matrix.
During the SVD implementations, the algorithm tries to take advantage of the redundancy as much as possible, with an aim of achieving smaller image. This can work well because awareness about redundant areas in the image helps the algorithm to eliminate only such area. This way, integrity of the image is not compromised.
SVD has many practical uses in the field of image compression, face recognition, image de-blurring and many more [5]. SVD is a Lossy image compression algorithm.

Related Work
Sadek [11] proposed a study on SVD based image processing applications, its contributions and challenges. The study provided an experimental survey for the SVD as an efficient transform in image processing applications. The study also provided some new contributions that were originated from SVD properties analysis in different image processing. The main contributions in their study were novel perceptual image forensic technique, a new prospective vision in utilizing the SVD Properties, reviewing and experimental valuation of the developed SVD based application such as denoising, compression, a new block based roughness measure for application such as perceptual progressive compression as well as perceptual progressive data hiding. However, they were unable to use SVD algorithm to implement digital image compression.
Mozammel et al [12] proposed image compression using DWT. The model provided sufficient high compression ratios with no appreciable degradation of image quality. The effectiveness and robustness of this approach has been justified using a set of real images. The images are taken with a digital camera (OLYMPUS LI-40C). To demonstrate the performance of the proposed method, a comparison between the proposed technique and other common compression techniques has been revealed. The algorithm has been implemented using Visual C++ and tested on a Pentium Core 2 Duo 2.1 GHz PC with 1 GB RAM. However, they could not implement their compression using a machine learning algorithm such as Neural network (NN).
Peters et al. [13] implemented SVD to compress the microarray image. Huge amounts of DNA information for research purposes were stored as microarray images. These were of high resolution images which highlights minute details of the image. Because of the high resolution, these images tend to be larger in size, which means storage on the hard disk requires lot of space. However, they could not combine a hybrid algorithm for better compression ratio.
Pamar and Pancholi [14] propose image compression based on curvelet transform. They compressed the standard images with this algorithm and the simulation results showed that this compression algorithm was better performance compared to conventional transform techniques. However, they could not use proper threshold value and proper quantization method.
Kumar and Pamar [15] proposed a review on versatile approaches on medical image compression. They illustrated some of the compression techniques which are used to compress the medical images and these techniques are able to solve the storage and bandwidth limitation problems. After reviewing the literature, they concluded that performance of the compression technique totally relies over the compression ratio. Higher the compression ratio means better the technique is. However, there was no experimental implementation to prove the hypothesis presented which makes it flawed and uncertain.
Haddad et. al. [16] proposed a novel joint watermarking scheme for the medical images. The proposed technique was the combination of JPEG-LS and bit substitution watermarking modulation. It was observed that the proposed technique able to provide the same watermarked images with high security services in comparison to the other techniques. However, the proposed technique was unable to perform Lossless image compression on satellite images.
Jiang et al. [17] presented a hybrid algorithm for the medical image compression. The major goal of the proposed approach is to compress the diagnostic related information with high compression ratio. It is observed that the proposed approach is able to achieve good PSNR and effective running time in comparison to the other described algorithms. However, they could not achieve digital image compression on other image formats or types except the medical image.
Katharotiya et al [3] proposed a comparative analysis between DCT and DWT techniques of image compression. They simulated two important techniques. The first technique was based on Discrete Cosine Transform (DCT) and the second one is based on Discrete Wavelet Transform (DWT). The results of simulation were compared using different quality pparameters of its by applying on various images. However, the parameters used for the comparison did not contain bench marking to ascertain the performance at runtime.
Vasanth et al [18] proposed an efficient compound image compression using optimal discrete wavelet transform and run length encoding techniques. Their study was focused on the preprocessing and transformations used to compress a compound image to produce a high compression ratio (CR), less compression time and so on. In the compression process the images were considered for preprocessing and discrete wavelet transform with adaptive particle swarm optimization process. The purpose of this optimization technique was to optimize the wavelet coefficient in Harr wavelet for improving the CR value. In the image compression process, run length coding was used to compress the compound images. Based on this technique, it produced minimum CR and less computation time of compound images. However, this could not be applied in remote sensing images.
Saadi et al. [19] proposed a mixed software/hardware implementation of 2-D signals encoder/decoder utilizing dyadic DWT in light of quadrature mirror filters utilizing quick wavelet Mallat's algorithm. This work was composed and aggregated on the embedded development kit EDK6.3i and the synthesis software ISE6.3i, which was accessible with Xilinx Virtex-IIV2MB1000 FPGA. Huffman coding plan was utilized to encode the wavelet coefficients with the aim of transmitting them logically through an Ethernet transmission control protocol/Internet protocol based association. The conceivable reconfiguration could be misused to achieve higher execution. The configuration was incorporated into the neutron radiography framework that is utilized with the Es-Salem research reactor. However, they could implement using SVD algorithm.
Wang et al [20] proposed an approach to encrypt the compressed image by chaotic map and arithmetic coding. It upgraded the security of arithmetic coding as well as enhances the CR. With a specific end goal to have high sensitivities of key and plain image, the keys that are utilized to decide the parameter and initial value of chaotic maps were identified with the plain image. The trial results approved the impact of the proposed plot and show that the compressed and encrypted image was secure and helpful for transmission. However, they could not achieve lossless compression.
Asokan et al [21] presented an overview of image processing techniques for analysis of satellite images for historical maps classification. An exhaustive analysis on the merits and demerits of many satellite image processing methods was done in this study. Several comparative analyses were also performed in this work to show the suitability of several methods. Barbhuiya et al [22] carried out a comparative study has been carried out on image compression using DCT and DWT. A comparison is outlined to emphasize the results of this compression system between DCT and DWT using JPEG (Joint Photographic Experts Group) and PNG (Portable Network Graphics) color images. We have done conversion of color images into gray scale and also compression of gray scale image is shown after conversion using DWT method.
Sathik et al [23] proposed a hybrid image compression method which segments the image into background and foreground and compress them with different quality levels.. The foreground of the image was given more importance than the background. An edge based segmentation method was used to segment the image into foreground area and background area. The proposed method highly preserved quality of the foreground image. JPEG compression is a widely used compression technique. The proposed method adapted variable quantization and threshold values corresponding to background and foreground. This ensured that the vital area of the image is highly preserved than the other areas of the image. This hybrid approach increased the compression ratio and produced a desired high quality compressed image.
Ponomarenko et al [24] presented an advanced discrete cosine transform (DCT)-based image compression method that combines advantages of several approaches. First, an image was divided into blocks of different sizes by a ratedistortion-based modified horizontal-vertical partition scheme. Statistical redundancy of quantized DCT coefficients of each image block was reduced by a bit-plane dynamical arithmetical coding with a sophisticated context modeling.
Finally, a post-filtering removed blocking artifacts in decompressed images. The proposed method provided significantly better compression than JPEG and other DCTbased techniques.
Atish et al [6] proposed a novel contrast enhancement technique for contrast enhancement of a low-contrast satellite image based on the singular value decomposition (SVD) and discrete cosine transform (DCT). The singular value matrix represented the intensity information of the given image and any change on the singular values change the intensity of the input image. The proposed technique converted the image into the SVD-DCT domain and after normalizing the singular value matrix; the enhanced image is reconstructed by using inverse DCT. The visual and quantitative results suggested that the proposed SVD-DCT method clearly showed the increased efficiency and flexibility of the proposed method over the exiting methods such as the histogram equalization, gamma correction and SVD-DWT based techniques.
Li et al [25] proposed a hybrid transform for 3D-DCT based video coding. In the proposed model, 3D-DCT and discrete Haar transform were iteratively used to remove the redundancy for each cube and thus an adaptive scheme was derived to realize variable temporal length of DCT implementations. Compared to other methods in the literature, the proposed model could mathematically select the optimal DCT mode and remove the temporal correlations more effectively. Experimental results showed that the proposed approach has substantial improvement over the conventional fixed-length 3D-DCT coding and other variable length 3D-DCT coding.

Methodology
A hybrid research method was adopted in this study: the Agile model and the waterfall model.
The Agile model provides development teams with an experience of lightweight process that supports a focus on the rapid delivery of business process. In the Agile model, working models are delivered in little iterations, and then an update is carried out on the project based on customer's feedback. This will help in meeting user requirement to the fullest. In our design, this methodology will help in producing images that are of the perfect size for transmission and storage after several iterative compressions.
The waterfall model helps in breaking down a large chunk of activities into linear sequential phases, where each phase depends on the outputs of the previous phase and corresponds to a specialization of tasks. This will help us in combining the three compression algorithms to compress an image into a desirable size without losing any information.

Existing System Analysis
The existing system was proposed by Vasanth et al [18]. They proposed an Efficient Compound Image Compression Using Optimal Discrete Wavelet Transform and Run Length Encoding Techniques.
To apply the adaptive median filter to preprocessing steps to eliminate the noise, this image compression work considers the compound images as inputs. The method applies DWT to convert the spatial domain into a frequency domain process after eliminating unwanted noises. Most of the visually relevant image knowledge is focused on a few coefficients of the DWT method. Then the run length coding (RLC) process is applied to encode the image to find the CR in original and encoded image. Improving CR optimizes the wavelet coefficient value using a different optimization technique such as genetic algorithm (GA), particle swarm optimization (PSO) and adaptive particle swarm optimization (APSO). This method contributes groupings of identical symbols (pixels), as it keeps running by smaller symbols. RLC is utilized as a part of the images. RLC is a basic type of information compression in which running of information is put away as a single data value and count, instead of first run. After getting the minimum CR, the decoding process will be applied to reconstruct the image with the help of inverse DWT. The proposed plan accomplishes the maximum accuracy and the minimum computational compression time, and this procedure will be executed utilizing the MATLAB software.

Advantages of Existing System
The advantages of the existing system include: The existing system produces a considerable compression ratio.
The existing system uses less computational time while compression of compound images.
The existing algorithm reduces encoding, decoding in Lossy compression.

Disadvantages of the Existing
The existing system has the following drawbacks: The existing system does not support satellite image compression gotten from remote sensing.
Images with high resolution cannot be compressed with the existing algorithm.
The existing algorithm does not have adaptive reversible techniques for compression.

Algorithm of the Existing System
Compression Algorithm Step 1: Input Image Step 2: Denoise Image (using adaptive media filter) Step 3: Apply DWT algorithm to separate image into Pixels Step 4: Start on the first element of input A Step 5: Initialize the values with count=l, k=0 Step 6: Read the first element of input data A Step 1: Start on the first element of the data input Step 2: Read the data A and initialize count with 1 Step 3: Print the data which is in register 1 Step 4: Take the second data from input B Step 5: If Count=B then go to step 2 else print A and increment Count and repeat

Proposed System Analysis
The proposed system is an enhancement of the existing system proposed by Vasanth et al [18]. The proposed system enhances the existing by introducing two Lossless compression algorithms to form a hybridized image compression algorithm for low contrast images such as the satellite images. The satellite images are usually very large due to the amount of pixels used for its representation, and as a result require much space for its storage and transmission. Due to the distance between the object and the remote sensing apparatus, the images produced are usually dark or with low contrast and this makes it very delicate for any form of image process especially the compression, as this could lead to loss of information if not properly carried out with optimal techniques. The SVD, DCT and DWT compression techniques were combined in this study to perform image compression.
The SVD algorithm converts the image into matrixes which is presented by m*n. The matrices are used to extract information such as colour from the image. The matrices are made up of pixels. Values "r" are assigned to the pixels in order of their resolution to differentiate them from each other. For images that are black and white (such as most satellite images) the dark pixels are assigned "0" and "1" is assigned to the white areas. This will help us to find the region with the highest color representation so it can be easily reduced, thereby reducing the size of the image. This helps to represent the dataset of colour dimensions with fewer dimensions. The values used for the assigned to the pixel should be chosen in such a way that the compressed image will be very similar to the original image. The DCT technique divides the images into blocks. Here 2D DCT technique is used because it is an image we are compressing. Just like the SVD the blocks which the images are divided into are based on their visual quality. These blocks are also called sub-bands. After sub-banding coefficients in form of Cosine values are assigned to the blocks. Then the coefficients are quantized and assigned a threshold value which is initialized with 0. The coefficients greater than the threshold are maintained while the rest are ignored. Then the coefficients above the threshold are calculated to obtain the inverse curvelet transform. The image is decoded and the compression ratio is finally calculated.
The final technique applied in this model is the DWT. DWT decomposes an image into coefficients called subbands and then a threshold is compared with the resulting coefficients, setting the below-threshold coefficients to zero. Finally, with a loss-less compression method, the coefficients above the threshold value are encoded. The compression features of a given wavelet basis are primarily related to the relative shortage of the signal representation of the wavelet domain.

Advantages of the Proposed System
The advantages of the existing system include: Lossless compression of low resolution images with high compression ratio. The proposed hybrid model can also be used for compression of other image types including real time video compression.
The proposed model records a low Mean Square Error (MSE) which emphasizes the efficiency of the model.

Algorithm of the Proposed System
Compression Algorithm Step 1: Input Image Step 2: Denoise Image (using adaptive media filter) Step 3: Apply DWT algorithm to separate image into Pixels Step 4: Apply SVD to assign single values to blocks. Black=0, White=1 Step 5: Print Curvelet Transforms Step 6: Start on the first element of input A Step 7: Initialize the values with count=l, k=0 Step 8: Read the first element of input data A Step 12: Display Compressed Image Decompression Algorithm Step 1: Start on the first element of the data input Step 2: Read the data A and initialize count with 1 Step 3: Print the data which is in register 1 Step 4: Take the second data from input B Step 5: If Count=B then go to step 2 else print A and increment

Implementation
The model was implemented using Matrix laboratory (MATLAB). The MATLAB software was used to compress satellite images gotten from a public repository. The model was tested using two different images captured with a remote sensing apparatus.
The outputs from the compression process carried out in MATLAB are shown below, from Figure 5 to Figure 7.
First of all, two. JPEG satellite images were downloaded from a public repository and saved in the MATLAb working directory. The first image was name sat. Jpg and the second was named satt. jpg. We specifically used these names so that it can be easily identified. In the MATLAb environment, a n "imread" function was used to import the images into the platform but saving it in a variable called star. The image automatically appeared once this short code was ran as shown in Figure 5.
The original dimension of the image on import was 621x556px with a memory size of 144KB. After importation, the image greyscale was shown by hovering a mouse over the image and the RGB representation as shown in Figure 6 was displayed, showing the colour combinations in the image. Then we went forward to create the compression function which combines SVD, DCT and DWT functions. The combination of thes functions produced the compression output shown in Figure 7. The latter size of the image was 268x144px and required only 25KB of storage space. As observed in the outputs, only the size of the images changed, the resolution, and other important information were retained. This is therefore a Lossless image compression process.
A comparative analysis was carried out to determine the performance of our hybrid model against the exiting model. Parameters such as compression ratio, Mean square error, time complexity and Benchmark were used for the assessment. The results are shown in Table 1 and represented in a chart as shown in Figure 8. From the result, it can be interpreted that our proposed model has a higher compression ratio than the existing model. This makes our compression better than that of the existing model.     It can also be interpreted by the table that our compression recorded a lower MSE, carried out compression in lesser time and had a higher benchmark value. These values show that our model is better for complex image compression than other existing models.

Conclusion
This study has introduced a hybrid model for performing image compression of low contrast satellite images using a combination of both Lossy and Lossless algorithms. The DWT-SVD-DCT based model reduces the dimensions or pixels used in the representation of the image information (colours) thereby reducing the number of bits required to represent it in the storage. To demonstrate the practicality and efficiency of the model, the MATLAB software was used to carry out image compression and also perform the performance analysis of the model in relation to other models. The model has proven to be better than the previous models used for digital or non digital image compression. This model can also be used to compress high contrast images and other types of images apart from the satellite images.

Contribution to Knowledge
An enhanced satellite image compression using a combination of Discrete wavelet transform, Discrete Cosine Transform, and Singular value decomposition has been developed and implemented which is different from the existing work with DWT algorithm only.

Suggestion for Future Work
The future scope of this research will include other forms of image processing such as image enhancement and image segmentation using our model.