Compression image sharing using DCT- Wavelet transform and coding by Blackely method

The increased use of computer and internet had been related to the wide use of multimedia information. The requirement for protecting this information has risen dramatically. To prevent the confidential information from being tampered with, one needs to apply some cryptographic techniques. Most of cryptographic strategies have one similar weak point that is the information is centralized. To overcome this drawback the secret sharing was introduced. It’s a technique to distribute a secret among a group of members, such that every member owns a share of the secret; but only a particular combination of shares could reveal the secret. Individual shares reveal nothing about the secret. The major challenge faces image secret sharing is the shadow size; that's the complete size of the lowest needed of shares for revealing is greater than the original secret file. So the core of this work is to use different transform coding strategies in order to get as much as possible the smallest share size. In this paper Compressive Sharing System for Images Using Transform Coding and Blackely Method based on transform coding illustration are introduced. The introduced compressive secret sharing scheme using an appropriate transform (Discrete cosine transform and Wavelet) are applied to de-correlate the image samples, then feeding the output (i.e., compressed image data) to the diffusion scheme which is applied to remove any statistical redundancy or bits of important attribute that will exist within the compressed stream and in the last the (k, n) threshold secret sharing scheme, where n is the number of generated shares and k is the minimum needed shares for revealing. For making a certain high security level, each produced share is passed through stream ciphering depends on an individual encryption key belongs to the shareholder.


1-INTRODUCTION
Today, a secret image is transferred over the internet for numerous commercial purposes; therefore it is necessary to make sure information isn't being tampered [1].Several cryptographic protocols and schemes were designed to solve the issues of this kind.Secret sharing schemes are important tools in cryptography and they are used as building boxes in several secure protocols [2], [3].
Secret sharing scheme starts with a secret and then derives from it certain shares (or shadows) which are distributed to users.So, those only qualified subsets are able to recover the information.The individual shares should reveal nothing about the secret [4], [5].
The security of any secret sharing scheme is measured by how much data about the secret is given by each one of shares and how much is given to a group of shares.The efficiency and security of a system decrease as the quantity of the data that has to be kept secret increases [4].A secret sharing scheme is considered ideal approach once the threshold shares give absolutely no data regarding the hidden secret [6].
Blakley secret sharing scheme has an approach based on hyperplane geometry.To implement a (t, n) threshold scheme, each of the n users is given a hyperplane equation in a t dimensional space over a finite field such that every hyperplane passes through a particular point.The intersection point of the hyperplanes is the secret.When n users come together, they will solve the system equations to find the secret [7].
The (k, n) threshold algorithm relies on Blakley's secret sharing methodology.It uses the principle of hyperplane geometry to resolve the secret sharing problem.According to this scheme, the secret is a point in k dimensional space which is the point of intersection of all the hyperplanes.The affine of a hyperplane in a k dimensional space will be represented in n shares.Blakley's SSS will be represented using matrix notation [18]: Or equivalently, Where, {aij | j=1, 2… k} is the set of sharing coefficients for generating the i th share; {Vj | j=1, 2... k} is the set of secret, p is the prime number (e.g., 257, 131, 67, 37 or 17).The set of a's components values should be chosen such that all components satisfy the following condition: ( 1  2 −  2  1 )   ≠ 0  ∀ ≠  (3) The revealing part of (k, n) threshold scheme is the inverse of the sharing part.The revealing step simply finds the solution for a set of linear equations.The secret bytes {Vi| i=1, 2,…, k} will be obtained by finding the following equation that represents the general solution equation for the share equation (3.15): Where, {cij | j=1, 2, …, k & i=1, 2, …, k} is the (j, i) th cofactor for matrix {a}; {nj | j=1, 2, …,k} is the set of integer values used to compensate the mod operation used in equation (3).
Since share works on segmenting image file into several files, it is an appropriate that the image compression starts, the need for data compression as a topic acquired its importance because it is a solution key to pypass the insufficient storage space and limited bandwidth for data transmission [8] [9].The used programs to compress images are, in fact, employ designed techniques that exploit unimportant sensory information and statistical redundancies.Most of images programmers rely on the use of two techniques (i.e., sub-band coding and transform coding).Sub-band coding decomposes signal into a number of sub-bands, using band-pass filter like wavelet transform [10].Transform coding uses a mathematical transformation like DCT and FFT.The mathematical representation for Two-dimensional DCT is: 1.The forward 2D DCT equation is: For 0 ≤ i ≤ n−1 and 0 ≤ j ≤ m−1 and for Ci and Cj 1.The inverse 2D DCT equation is: For 0 ≤ x ≤ n − 1 and 0 ≤ y ≤ m − 1 Where, An emergence interest was grown in the recent years about utilizing the benefits of wavelet coding to process both images and audio applications.The concept of wavelet coding, like other transform coding techniques is based on the idea that the coefficients of transform decorrelates the samples values of the signal such that they can be coded in more compressive way comparing with the case of direct compression of the original samples values themselves.The following set of equations describes the four "lifting" steps and the two "scaling" steps that are applied to accomplish the bi-orthogonal (9/7) wavelet decomposition: Where, X() is the input array & Y() is the wavelet transform outcome array (i.e., the approximation & detail coefficients).
The values of the (a, b, c, d, K) parameters are: a=-1.58613434, b=-0.0529801185,c=-0.8829110762d=-0.4435068522,K=1.149604398 [11].Developing a safer image secret sharing scheme is still considered difficult task except that there is a need to take away the following drawbacks found within the earlier accessible secret sharing schemes [12]: a.They need high computational complexity throughout each sharing and revealing stages.b.Reducing the shares size (i.e., huge shadow size).c. High consumption of network bandwidth.d.A compromise of encryption key.e. Secret information hacking.f.Shares modification.g.For compression, developing a system can get the benefits of existing spectral redundancy in the input image.The system should use the proper mapping equations to generate uncorrelated color image bands convey low data content.h.Decomposing image signal into sub bands, each one conveys a certain part of the signal that has specific spectral characteristic.i. Pruning the existing local spatial correlation by using transform coding.Developing a proper set of entropy encoders to efficiently prune the existing statistical redundancy may found in the transformed data.2007) suggested a compression system based on the bi-orthogonal wavelet filters; because orthogonal filters have suitable property of energy preservation whereas bi-orthogonal filters lack of it.Since, Daubechies, Symlet and Coiflet filters have better property of energy conservation, more vanishing moments, regularity and asymmetry than other orthogonal filters; they were adopted in their suggested system.Also, they used biorthogonal wavelet filter out of Daubechies, Symlet and Coiflet for lossy fingerprint image compression.They have applied Daubechies, Symlet and Coiflet Wavelet Transforms (WT) through different orders at 1 to 5 decomposition levels on the fingerprint images [13].Singh et al. (2011) referred that the properties of wavelet transform greatly help in identifying and selecting of significant and non-significant coefficients amongst the wavelet coefficients, DWT represents image as a sum of wavelet functions (wavelets) in different resolution levels.So, the basis of wavelet transform can be composed of functions satisfy the requirements of multi-resolution analysis.So, the choice of wavelet function for image compression depends on the image application and the content of the image.They presented a review of the fundamentals of image compression based on wavelet.Also, they discussed important features of wavelet transform in compression of images.Finally, they evaluated and compared the compression performance of three different wavelet families (i.e., Daubechies, Coiflets, Biorthogonal) through measuring the image fidelity objectively (using peak signal-to-noise ratio) and subjectively (using visual image quality), beside to compression ratio [14].

2-RELATED WORK
Ruchika et al. (2012) they proposed the use of DWT to compress wide variety of medical images.They indicated that the application of thresholds on DWT coefficients in addition to Huffman encoding leads to major reduction in image statistical redundancy [6] [14].Test results indicated that the system performance is promising when it is applied on medical images [15].Shaymaa et al. ( 2015) have proposed a lossy compression scheme used different signal representation method.Firstly, they used cubic Bezier surface (CBI) representation to prune image component that shows large scale variation.The produced cubic Bezier surface is subtracted from the image signal to get the residue component.Then, bi-orthogonal wavelet transform was applied to decompose the residue component [5] [13].Finally they used some lossless coding method to boost the compression gain [16].
Mustafa Ulutas et al. (2011) proposed a medical image is distributed among a number of clinicians in telediagnosis and each one of them has all the information about the patient's medical condition.However, disclosing all the information about an important patient's medical condition to each of the clinicians is a security issue.They proposed a (k, n) secret sharing scheme which shares medical images among a health team of n clinicians such that at least k of them must gather to reveal the medical image to diagnose.Shamir's secret sharing scheme is used to address all of these security issues in one method.The proposed method can store longer EPR strings along with better authenticity and confidentiality properties while satisfying all the requirements as shown in the results [17].
Laith et al. (2012) refereed that a Pixel expansion and bad image quality are the most cons of Visual Secret Sharing approach.They have proposed two visual secret sharing techniques for grayscale images to overcome these drawbacks, one is based on Fast Fourier Transform (FFT) and the other is based on incorporating Discrete Wavelet Transform (DWT) with FFT.In the first technique, FFT is used for image sharing while in the second technique; DWT and FFT are employed for image sharing effectively.In each visual secret sharing technique, every share is encrypted using Multilayer Security Method (MSM).Also, some image compression concepts were used to eliminate the pixel expansion problem which is produced before the secret sharing process [18].

3-PROPOSED IMAGE COMPRESSION SYSTEM
Like any typical image compression schemes, the introduced system consists of two individual units: (i) image compressor is used to compress real color still images with little rate of subjective distortion, and (ii) image decompressor (reconstructor) is used to retrieve the raster image.In the following sections details for the implied stages of each unit are given.

Lossy Image Compressor
As shown in figure (1) this unit consists of the following stages:

Image Loading:
Initially, the input image is loaded as bitmap (raster) formatted.Then, the loaded image data is analyzed to the basic color components (RGB).

Chromatic Bands Downsampling:
Since the chrominance components (U and V) holds only 10% of the whole image information and HSV doesn't have high spatial resolution against these band; so these bands are down sampled by 2 to produce the down sampled components (i.e., Udown & Vdown).This down sampling will cause insignificant subjective distortions in the color image.

Biorthogonal Wavelet Transform:
In this paper, the bi-orthogonal wavelet transform (tap 9/7) is used as a spatial signal decomposer for each subband, individually.Biorthogonal wavelet decomposition was chosen due to its compressive efficiency, and modern wide use in standards lossless & lossy compression scheme (for example in ISO JPEG2000 standard).In wavelet transform coding the image is divided into four subbands each one can easily be encoded separately.The bio-orthogonal tap 9/7 wavelet filters are applied to the (Y, Udown and Vdown) color bands separately.The transform will decompose the data of each colors band into to four subbands (i.e., LL, LH, HL and HH).

Quantization:
Quantization is simply the process of reducing the number of bits that are needed to store the values of coefficients by reducing their accuracy, the main objective of quantization is to reduce the high-frequency coefficients (least importance) to zero.In the proposed system, the uniform scalar quantization operation was adopted to quantize the coefficients of each sub band individually; this step will reduce the number of needed bits to represent the coefficients approximately, and preparing it to the shift coding step.The coefficients of each subband are quantized with an appropriate quantization step value (Qstp).The transform coefficients are categorized according to its subband membership to (Ln, Hn… H2, H1).The rounded subband (Ln) coefficients are quantized using low quantization step, which is always smaller than the quantization step used to quantize the detail subbands' coefficients.Also, the quantization step of the high level detail subband coefficients is smaller than that for low level subband.In the proposed system, a hierarchal relationship was adopted to determine the value of scalar quantization step that is used to separately quantize the wavelet (i.e., detail) coefficients belong to each sub band.The way of selecting the variation nature of quantization step across the subbands was based on the criteria "diminishing the range of wavelet coefficients values without making significant degradation in image quality".The adopted hierarchal scalar quantization step was governed by the following equation: Qα n-1 for LH and HL subbands Qβα n-1 for HH subbands (13) Where, Qstep(n) is the quantization step of n th subband; α is the rate of increasing in quantization step and its value should be less than 1; β is the additional ratio for quantization step for HH sub band and its value is always (≥1).

Quadtree Coding:
In this step, the process of quadtree coding is applied to encode the quantized detail bands (i.e., LH, HL & HH) subbands of (Y, Udown, and Vdown).The quadtree method divides the subband into four equal size square blocks.Then, each block is tested to check if it has at least non-zero coefficient value (i.e., not empty) or not (i.e., empty).In case the tested block is not empty it will be divided into four sub-blocks, and made the search process on the sub-blocks (4x4) is retested alone.This process begins with whole subband quantized coefficients and stops when reaching to the smallest sub-blocks of size (2x2); if that block is not empty then its 4 coefficients values are stored in a temporary buffer (Buf()) along with the quadtree partitioning binary code.

Entropy Encoding Using Shift Coding:
The last step of the proposed image compressor unit is applying lossless compression of the non-empty blocks coefficients which are already registered in temporary buffer Buf(). Figure (3) illustrates the layout of the developed entropy coder; which is designed to remove the statistical redundancy efficiently.The histogram of data sequence registered in Buf() is concentrated around the high peak located at the value (0).Therefore, the use of shift coding will be appropriate for the entropy encoding the data to attain high compression gain.The implanted enhanced shift coder implies the following steps: (a) Mapping to Positive: This step maps the sequence elements values to be positive numbers.This step makes the coding process of the next step easier.This mapping step is done by representing each negative element value as a positive odd number, and each positive value is represented as an even number.This conversion can be applied using the following simple mapping equation: Where, min(i) is the mapped i th sequence element; mout(i) is the corresponding mapped value.According to shift key encoding mechanism, the small values symbols which have high occurrence probabilities are assigned short codewords, while the large values symbols are assigned long codewords [10].So, for determining the optimal key value that separating the short codewords from the long ones, an optimizer algorithm was introduced.This optimizer searches for the best short codeword length (nS) and the corresponding long codeword (nL) leads to the lowest value from the total bits (TBits) required to encode the whole input symbols; that is: Where, His(i) is the i th histogram value; M is the highest value of the input elements to the shift encoder.(e) Shift Encoding: As last step, the traditional shift encoding step is applied such that the small coded element is encoded by using the leading bit value "0" concatenated with nS bits used to represent the element value; while the large value element is encoded by using the leading bit value "1" concatenated with nL bits used to represent the element value.

Double Stream Ciphering
This stage is applied to prune by encrypting the correlation may appear and/or the bits significance problem that may exist in the created sharing coefficients.This module consists of two sub-modules, the first one is to do the preliminary stage that aims to prepare the random sequences {Seqi(0..Li) | i=1 to 4}and the initial values for their associated counters {Lci | i=1 to 4}.The second sub-module is a function generates a random number at each call epoch.
The outcomes of the random generator are firstly used to encipher the generated compression data.For this stage the random sequence is initiated using a group ciphering key that is known for all shareholders.Secondly, each produced share is encrypted individually; such that the random generator is reinitiated using the privates shareholder encryption.The XOR convolution process is applied to encipher the plaintext.

Initialization of Random Sequence
In this sub-module four steps are applied to initialize four rotating random sequences.The length of each one of these sequences (i.e., L1, L2, L3, L4) is a prime number, in such case the overall periodicity of the produced random numbers will be the sum of product of the sequences length (i.e., L1xL2xL3xL4).The four steps on this sub-module are: Step1: Checking the length of pre-assigned ciphering key, its length should be not less than 6.Also, for ensuring the assigned key doesn't convey high level of symmetry.it is concatenated with a string has a good randomness attributes.
Step2: Calculating the initial values of the 16-bits numbers (K1, K2, K3, and K4) using the contents of the pre-assigned ciphering key; the calculation depends on the following formula: Where, Sec() is the value of ciphering key; n is the length of it; Pi is a prime number that can be selected arbitrarily; i is an index, its values are i=1,2,3,4.  =     (21) The values of (B1, B2, B3, B4), and (D1, D2, D3, D4) are taken arbitrarily as prime numbers.The initial value of M is taken 0. The above steps indicate the confusion condition is satisfied because any bit change applied on the cipher key will lead to a complete change in the random sequences.

Generation of Random Number
This process is achieved by convoluting the numbers picked from the four rotating sequences; such that at each call of random number generation calls a number is picked from each sequence and XORed with the numbers belong to other sequences.So, a new random number is determined by convoluting the four numbers extracted from the sequences {Seqi()}: Where, {Lc1, Lc2, Lc3, Lc4} are the counters values, their values should be bounded such that (Lci=Li | 0<i<5); the values {L1, L2, L3, L4} are the lengths of random sequences, that are at each call, the counters are updated using: Lci = (Lci+1) mod Li for i=1, 2, 3, 4 (23)

Shares Generation Stage
The stage of shares generation was designed to confirm the generated shares are as secure as possible and have low size.This module consists of two sub-modules: (i) the proposed (k, n) threshold scheme, and (ii) identical proposed encryption algorithm which is employed for creating XOR convolution, but used an individual key for encrypting every share severally.

The Proposed (k, n) Threshold Scheme
The proposed (k, n) threshold algorithm relies on Blakley's secret sharing methodology.It uses the principle of hyperplane geometry to resolve the secret sharing problem.According to this scheme, the secret is a point in a k dimensional space; that is the point of intersection of all the hyperplanes equations (1, 2 and 3).
Due to using a prime number larger than the range of secret codewords (i.e., byte or parts of it); the output of equation (3.15) covers the range [0, p-1] that exceeds the secret codeword range.For illustration, just in case the codewords are bytes, their range is [0,255], the closest prime number (p) that's higher than byte range is 257; in such case, one of the possible outputs of equation (3.14) is 256 which needs additional bits (9 bits) rather than 8 bits (which are required to represent the input values).In order to handle this overshot value the following two Alternative ways will be chosen: (i) Either by increasing the number of bits used to represent the input codewords by 1 so as to represent the output codewords (i.e., assigning 9 bits for all outcomes of equation ( 3); (ii) Or using key-shift method to bypass this small extension within the dynamic range of the input and output codewords.The following equations present the percentage of increase within the size output/ input code words because of using the two codewords' bits illustration methods: Where, L is the number of bits used to represent the input secret code words; p is the used primary number.Table (3.2) shows the percentage value for various input codewords size; it is obvious that the key-shift technique causes smaller increase in comparison with the bits expansion methodology.
For this reason the key-shift methodology is adopted to handle the overshot values of the share output.

Load the Binary Sequence
As first step, the output of the compression process is loaded as a binary sequence.This loaded data will be considered the input file to the sharing process.First, the length data is allocated; then the file content is loaded as one bulk of data and stored in one-dimensional array.

Encryption the Secret Sequence Using Group Key
At first the user enters a password (Group Secret Key which is the first level of data security).Here, there is a possibility that the password (Group Key) be acceptable but weak.In order to avoid this situation a random key is added, this extra key is added using a hash function.But in the case that a password (Group Key) is very weak (i.e., its length is less than 6 characters) system will reject the key and ask for using a proper Group Key.
After shares generation stage same encryption algorithm is used to encrypt each share separately.The difference is only in the used secret key.

5-IMAGE REVEAL UNIT
The reveal unit consists of the inverse operations to those applied within the sharing process; and these operations are applied in reverse order.The reveal unit consists of the four basic modules: (i) shares assembler, (ii) diffusion recovery, (iii) decompression, and (iii) post processing (filtering)).All these modules consist of many sub modules; each one performs certain specific tasks.

Shares Assembler
For reveal purposes, the users ought to consider that they have to get a particular threshold number (i.e., k) of shares.These shares ought to be decrypted, and so fed to share assembler module.The module consists of 2 sub modules: (i) shares decryption and (ii) a (k, n) threshold reveal scheme.

Shares Decryption
Shares decryption is the first step in shares assembler module, the secret information of every used share needs to be decrypted.This needs generating the same random sequence that utilized in the second encryption (i.e., individual encryption) stage; this random sequence will be used to accomplish each XOR convolution followed by random permutation.

The (k, n) Threshold Revealing Scheme
The revealing part of (k, n) threshold scheme is the inverse of the sharing part that used equation ( 3).Due to the missing values of {n()}, the retrieval of each set {V()| i=1, 2,..,k} requires testing a large number of n's trials, which in turn makes the reveal process by applying equation ( 3) is too costly, especially when k is large (i.e., k>2).As another reveal solution, another method is proposed, the method takes the advantages of advents occurred in the size of the used volatile memories in personal computers.The proposed mechanism uses large memory allocation to determine k number of arrays, known as Tbl(); each one has a size p k , which covers all possible combinations of share values.The elements of the first array, Tbl1(), holds the corresponding first secret value, the second array holds the corresponding second secret value… etc. Table (3.3)presents the required memory size to do revealing using the second method (i.e., memory based method) just in case of taking p=257 (i.e., the smallest prime number exceeds the byte range).The table shows that for cases k > 3 the required memory allocation reaches multi-Tera byte size which isn't possible.To handle this memory allocation problem the range of representing the secret information is reduced to be smaller than 8 bits (i.e., byte representation), this can facilitate in reducing the value of p that is appropriate for preserving the required memory; table (3.4) shows the required memory size for the cases of k > 2 and for different secret codewords representations.Algorithm (3.15) presents the steps of applying the quick (second) method.

6-IMAGE DIFFUSION RECOVERING STAGE
The diffusion recovery stage has similar steps as those mentioned in Diffusion stage (see section 4) the difference is only within the order that's applying XOR permutation step before the random permutation step.

8-Results and Discussion
Different sets of tests have been performed to evaluate the performance of the proposed color image compression system in terms of Compression ratio (CR) and Peak Signal to Noise ratio (PSNR).The effectiveness of the following system parameters was investigated: (1) The number of wavelet passes (Npass).
Table (4) lists the specifications of the standard images used as a test material in this paper work.Table (5) presents the default values for the investigated parameters.Table ( 6), ( 7) and ( 8) list the attained performance parameters of the proposed system when applied on color Lena, Barbara and gray Barbara, respectively using different number of passes; the listed results indicate an acceptable compression results can be reached in terms of (CR), fidelity measures and (PSNR) as in each test group in the tables.
In all conducted tests, the values of three parameters were fixed and the value of the fourth parameter was changed to define its effect on the compression system performance.The results listed in above tables indicate the following remarks: 1.In general, an increase in CR is occurred when the values of the parameters (number of Passes, Qstep, α, β) are increased, all an associated decrease occurred in PSNR and an increase in MSE. 2. The parameter Qstep is the most effective parameter on the compression performance; its increase causes significant increase on CR and decrease in PSNR.3. The parameter No. of Passes has significant impact on compression performance; its increase shows an increase in CR and decrease in PSNR.But in general it is less effective in comparison with Qstep.4. The parameter β is less effective on CR, PSNR and MSE. 5. Generally, the value of MSE is increased when the value of any one of the four parameters is increased.But, this increase varies according to the parameter type; α is the largest dependency and β is the least dependency.9: lists the compression results when the DCT method is applied on Lena image; we can notice the effectiveness of applying DCT on the proposed system which gets high CR and better quality (PSNR).The results show clearly an increase in CR is occurred when DCT is applied; also insignificant change in PSNR and MSE is also occurred.Original Reconstructed Original Reconstructed

9-COMPARISONS WITH PREVIOUS STUDIES
Many methods for image compression have been developed in the past few years.In this section the results of our proposed schemes have been compared with some previously published methods.
Table (11) lists the CR and PSNR attained by our proposed schemes with those given in previous studies, with taking into consideration that in these studies the same images have been used.The listed results demonstrated that our proposed scheme outperforms other methods.The results show that the proposed system is competitor with the standard compression schemes and methods introduced in the literature, So that when we use the same compression ratio (CR), we could get an image quality (PSNR) higher than obtained in the previous studies.The results show that the proposed system was able to compete the previous studies strongly.

10-CONCLUSION
In this paper, an image compression scheme based on using DCT, wavelet, Quadtree and high order shift coding had been introduced.The following remarks are stimulated: a.The use of DCT had improved the compression performance (i.e., increase the CR while preserving the image quality).
b.The increase in quantization step causes an increase in compression ratio and a decrease in PSNR value.c.Qstep is the most effective parameter on compression performance; while the parameter β is the less effective one.
d.As a future work, using image fractal coding as compression tool (instead of DCT and/or Wavelet transform coding) in the compressed image.

Figure 2 :
Figure 2: The layout of proposed lossy image compressor

3. 1 . 5
DCT: The approximation subband (LL) is passed through the DCT transform coding.The process of Passing the LLSubband throw the DCT is illustrated in figure (2) shown below.

Figure 1 :
Figure 1: The process of passing the LLSubband values

Figure 3 :
Figure 3: The Layout of the Enhanced Shift-key Encoder (b) Histogram Packing: The histogram of the positive sequence elements will show long tail with many long gaps places (i.e., many values don't occur in the sequence); this leads to significant reduction in the compression gain when using shift encoder.So, it is proper to make a compacting in the histogram values.Then, the positive buffer's elements values are remapped according to the packed histogram elements.(c) Elements Pairing Stage: This step is applied to detect the most redundant pair of subsequent elements, and replace the pair by a single value (i.e., Max+1), where Max is the highest registered value of all elements.After each pairing step, Max value is incremented by 1.The pairing operation can be repeated for a number of times (M); where M is a predefined parameter value.After the Pairing step, the new histogram of produced sequence is calculated and stored as overhead information in compression stream, because it is necessary in decoding operation.Then, it is sorted in descending order and the elements values are remapped according to the indexes of their values in the histogram.(d) Determination of Optimal Shift Key Value:

Figure ( 3 .
10) shows the fundamental steps of the applied shares generation stage.The details of these sub modules are illustrated in the next sections.

Figure ( 5 )
Figure (5) presents the layout of the Image Decompressor.The order of the corresponding inverse operations (to those used in image compressor) is arranged in the reverse order.

Figure 5 :
Figure 5: Decoding Process Also, figure (6) presents the layout of the corresponding shift key decoder.

Figure ( 7 )
Figure(7) shows samples of reconstructed image produced by the proposed DCT method with the original image for color Lena and part of it.

Figure 7 :
Figure 7: Samples of Compression Result

Figure 8 :
Figure 8: Samples of the content of two share files for Lena color image

Figure 9 :
Figure 9: Samples of the content of two share files for Lena color image

Table 1 :
the percentage of increase in bits/code word used to represent one share value (output) relative to secret value (input)

Table 3 :
the list of required memory allocation for different k and p values

Table 4 :
the Characteristics of the Tested Standard Images

Table 5 :
the Default Values of the Control Parameters for all images

Table 6 :
Test Results for Color Lena image

Table 7 :
Test Results for Color Barbara Image

Table 8 :
Test Results for gray Barbara Image

Table 9 :
Test Results for Color Lena image with and without DCT implementation

Table 9 :
The best compression results when DCT was applied

Table 10 :
The Compression File Size and the Size of Share File in term of CR and PSNR for the images list in table

KB Gray Barbara 3 34.3 4 33.11 3 KB 1.5 KB
(10)e(10)lists Sharing results where appear the size of one share for all images, this will lead to increased compression ratio by half, which reduces file size and speed up the transfer process

Table 11 :
Comparison between the performance results of several image compression methods, (Not Mentioned (NM))