next up previous
Next: System Security Up: SECURE HIGH DATA EMBEDDING Previous: Introduction

Embedding System

In this section we describe our data embedding system in detail. It is well known that most natural images are low frequency signals [8], i.e., most of the signal energy and significant components are contained in the low frequency coefficients. Current image transforms such the DCT or DFT compact the image energy into a relatively small number of coefficients. Therefore, if one tries to embed the information directly into an image using these transforms, there may not be enough coefficients to embed all the information we are interested in hiding. One way to increase the number of coefficients that can be utilized to embed information is to introduce some significant mid and high frequency components into the image. That way, the host image spectrum will have significant frequency components that are distributed over the entire spectrum.

One way to do this is to decorrelate the image samples using some key . The key will scramble the image pixels in such a way the resulting image would look like white noise to the viewer. Let be some natural image in which some information is to be embedded and let be some scrambling operator, operating on in a lossless and one-to-one fashion. The output of this operator is

(1)
The key generates a vector of random integers of the same size as the cover image, i.e., , where is the size of the image. The cover image is also converted into a one dimensional vector . The key scrambles , which is then converted into a two dimensional signal . Figure 1-a shows an example of an input image to the scrambler and Figure 1-b shows the output image .

 

Figure:  

Note that the first order statistics and pixel values of are the same as for . The next step is the embedding process. To do that we take the DCT of , although other image transforms can be used as well. The two-dimensional DCT of is given by [8]

Assume the image pixels are i.i.d uniformly distributed between {0-255} i.e.,
(2)

where , represents the spatial coefficient at position . Each DCT coefficient is expressed as a weighted sum of i.i.d random variables. By the central limit theorem [9], it is easy to show that , follows a Gaussian distribution with zero mean, i.e.,
(3)
The result is confirmed by computing the first and second order statistics and by computing the kurtosis of the distribution. The kurtosis is a measure of the degree of departure of a probability distribution from the Gaussian distribution, and it is given by the following formula
(4)
where is the number of samples. If the value of the kurtosis is 3 then the pdf is Gaussian distributed. The average value of the kurtosis for , which indicates that the probability density function is indeed Gaussian distributed.

Since the channel in which the embedding will take place is Gaussian, we can model our embedding system as transmitting digital information through a Gaussian channel. Our goal is to maximize the number of bits that can be embedded in a secure way, i.e., without being detectable. To do that we adjust the amplitude of the DCT coefficients in small steps such that the resulting image in the spatial domain will look perceptually identical to the original cover image. Our embedding scheme does not assume access to the original image. Therefore, we embed the coefficients in such a way the we can determine unambiguously whether a binary "0" or "1" is embedded. To do that we use basic quantization techniques to determine the value of the embedded bit. For example, when a coefficient is divided by some threshold , and the resulting number is even then that will indicate a binary "1" , and if the result is odd that indicates a binary "0". When the embedding process is completed we take the inverse DCT transform and then descramble the image using the same key , to get the stego image .

When data is embedded in the transform domain, the space of pixel values changes from integers to real numbers i.e., . Since the pixel values of 8-bit gray level digital images fall in the range , we need to quantize the resulting image to restore its dynamic range. For small changes in transform coefficients the real pixel values of will fall in the range [0-255]. The simplest type of quantization is one that rounds the pixel values to the nearest integer, i.e.,

(5)
where represents the noise due to rounding operation. The noise distribution can be approximated by a uniform distribution between [-0.5,0.5] in the spatial domain and it follows a Gaussian distribution in the transform domain. Figure 2 shows the noise distribution in the spatial domain and DCT domain.

 

Figure:  Noise distribution.

Note that the ripples are due to the fact that we are dealing with discrete samples. The noise distribution in the transform domain follows approximately zero mean Gaussian distribution.
(6)
This noise is inherent in the embedding process and the hidden information must have enough power to survive this noise. Suppose the input message consists of binary data which is mapped to a polar format [10] with amplitude and occur equally likely. The power in the hidden information is
(7)
where is the power in each bit and is the length of the hidden message. The message is embedded inside the signal , in an additive way, i.e.,
(8)
Where is a quantized value of set in such a way that one can determine the value of the embedded bit. The amplitude of is small compared to the amplitude of . Therefore the distribution of will also be Gaussian distributed with zero mean. Assuming and are independent then the variance of is
(9)
The decoding process consists of dividing the space of the coefficients into two non-overlapping regions, one indicating binary "1"; and the other for a binary "0" . The DCT coefficients are adjusted in such a way that after adding the data, the result of dividing by some threshold , is either an even or an odd number as shown below
(10)
where represents the received coefficient.

This technique suppresses the noise due to the host image completely. Therefore, the cover image acts as a carrier to the information. Hence, the only noise that needs to be considered is that introduced by the rounding operation. This noise is zero mean Gaussian with a variance . The input data take on equally likely values. Therefore, the distribution of the hidden message consist of two impulses as shown in Figure 3-a. The distribution of the carrier signal is Gaussian. Therefore, when we add two independent signals the resulting signal will have a probability density function (pdf) which is the convolution of the two [9] pdf's . Since the amplitude of is very small compared with the amplitude of the DCT coefficients of the host signal , the resulting distribution will be approximately Gaussian as shown in Figure 3-b.

 
Figure:  

Therefore, we model our data hiding system as transmitting information carried by a signal with a Gaussian pdf through an additive white Gaussian noise channel. It is known that for Gaussian channels maximum capacity is achieved if the input is also Gaussian [11]. Therefore, we believe that this system can maintain high data embedding rate capacity, with input power in the hidden signal which depends on the perceptual quality of the host signal.
next up previous
Next: System Security Up: SECURE HIGH DATA EMBEDDING Previous: Introduction
Muhammad Zubair Ikram
7/14/2000