data hiding using image interpolation

Post on 08-Sep-2014

264 Views

Category:

Engineering

4 Downloads

Preview:

Click to see full reader

DESCRIPTION

Data Hiding using some some technique.Which I have explain in presentation.

TRANSCRIPT

DATA HIDING USING IMAGE INTERPOLATION

INTRODUCTIONInterpolation is the process of determining

the values of a function at positions lying between its samples.

It achieves this process by fitting a continuous function through the discrete input samples.

This permits input values to be evaluated at arbitrary positions in the input, not just those defined at the sample points.

Image interpolation occurs in all digital photos at

some stage whether this be in bayer demosaicing or in photo enlargement.

It happens anytime you resize or remap (distort)

your image from one pixel grid to another.

Image resizing is necessary when you need to increase or decrease the total number of pixels, whereas remapping can occur under a wider variety of scenarios: correcting for lens distortion, changing perspective, and rotating an image.

CONCEPT

Interpolation works by using known data to estimate values at unknown points.

For example: if you wanted to know the temperature at noon, but only measured it at 11AM and 1PM, you could estimate its value by performing a linear interpolation:

If you had an additional measurement at 11:30AM, you could see that the bulk of the temperature rise occurred before noon, and could use this additional data point to perform a quadratic interpolation:

IMAGE RESIZE EXAMPLE

Original

183%

2d interpolation

before after No interpolation

Unlike air temperature fluctuations and the ideal gradient above, pixel values can change far more abruptly from one location to the next.

As with the temperature example, the more you know about the surrounding pixels, the better the interpolation will become.

IMAGE ROTATION EXAMPLEInterpolation also occurs each time you rotate or

distort an image. The previous example was misleading because it

is one which interpolators are particularly good at. This next example shows how image detail can be lost quite rapidly:

ORIGINAL

45° rotation 90°

Rotation(Lossless)

2 X 45°Rotations

6 X 15°Rotations

The 90° rotation is lossless because no pixel ever has to be repositioned onto the border between two pixels (and therefore divided).

Note how most of the detail is lost in just the first rotation, although the image continues to deteriorate with successive rotations.

The above results use what is called a "bicubic" algorithm, and show significant deterioration. .

TYPES OF INTERPOLATION ALGORITHMS

Common interpolation algorithms can be grouped into two categories:

adaptive and non-adaptive.

Adaptive methods change depending on what they are interpolating (sharp edges vs. smooth texture).

whereas non-adaptive methods treat all pixels equally.

Non-adaptive algorithms include: nearest neighbor, bilinear, bicubic, spline, sinc, lanczos and others.

Depending on their complexity, these use anywhere from 0 to 256 (or more) adjacent pixels when interpolating.

The more adjacent pixels they include, the more accurate they can become, but this comes at the expense of much longer processing time.

Adaptive algorithms include many proprietary algorithms in licensed software such as:

Qimage, PhotoZoom Pro, Genuine Fractals and others. Many of these apply a different version of their algorithm (on a pixel-by-pixel basis).

NEAREST NEIGHBOR INTERPOLATION

Nearest neighbor is the most basic and requires the least processing time of all the interpolation algorithms because it only considers one pixel — the closest one to the interpolated point.

This has the effect of simply making each pixel bigger. It suffers from aliasing effects on enlarging or reducing images.

BILINEAR INTERPOLATION

Bilinear interpolation considers the closest 2x2 neighborhood of known pixel values surrounding the unknown pixel.

It then takes a weighted average of these 4 pixels to arrive at its final interpolated value. This results in much smoother looking images than nearest neighbor.

But blurr & it requires 3-4 times higher computation.

The above diagram is for a case when all known pixel distances are equal, so the interpolated value is simply their sum divided by four.

BICUBIC INTERPOLATION

Bicubic goes one step beyond bilinear by considering the closest 4x4 neighborhood of known pixels — for a total of 16 pixels.

Since these are at various distances from the unknown pixel, closer pixels are given a higher weighting in the calculation.

Bicubic produces noticeably sharper images than the previous two methods, and is perhaps the ideal combination of processing time and output quality. For this reason it is a standard in many image editing programs (including Adobe Photoshop), printer drivers and in-camera interpolation.

Example bicubic :

NEIGHBOR MEAN INTERPOLATION

Proposed by jung and yoo in 2009.

It uses neighboring pixel values to calculate the mean and then the calculated mean value is inserted in to a pixel that has not been allocated yet.

Complexity is high when number of referenced pixel is higher.

On the pixel p(i,j) the output pixel p’(i,j) is defined as:

where p(i,j) denotes the pixel in original image and m,n=0,1..127 and K is Scaling factor usually assigned 2.

otherwise )/3,)1,('),1('1)-j1,-(p(in 2j 1,m2i if j))/2,,1(ip'j)1,-(i(p'1n2j m,2i if ))/2,1j(i,p'1)-j(i,(p'

n2j m,2i if j),p(i,

j)(i,p'

jipjip

The proposed neighbor mean interpolation

46 112

210 90

46 79 112

128 84 101

210 150 90

84)/312879(46(1,1)p'128210)/2(46(1,0)p'79112)/246((0,1)p'

46p(0,0)(0,0)p'

interpolation

otherwise )/3,)1,('),1('1)-j1,-(p(in 2j 1,m2i if j))/2,,1(ip'j)1,-(i(p'1n2j m,2i if ))/2,1j(i,p'1)-j(i,(p'

n2j m,2i if j),p(i,

j)(i,p'

jipjip

Neighbor Mean Interpolation

the neighbor mean interpolation is similar to bilinear interpolation, but this method has less blurring and greater image resolution.

DATA HIDING

Data hiding conceals the existence of secret data while cryptography protects the contents of message.

Message may be scattered randomly throughout cover image or straight inserted. Methods : LSB insertion, Masking, Filtering, Transformations , Reversible data hiding

PROPOSED DATA HIDING METHOD

This method utilizes the resulting images(cover) of the neighbor mean interpolation method.

The sequence of data hiding can be zig-zag ,left to right and upper to down direction.

Before Secret data is embedded the host image is partitioned in to four-pixel, non overlapping, consecutive blocks by zig–zag scanning as shown below :

For every four non-overlapping consecutive pixel values i.e., p(i,j) p(i+1,j) p(i,j+1) and p(i+1,j+1), the corresponding stego image pixel values are p’(i,j) p’(i+1,j) p’(i,j+1) and p’(i+1,j+1) respectively.

Here we have embed data in to three pixel except for p(i,j) pixel.

STEPS INVOLVED IN DATA HIDING :

1. First we get a scaling up image by using neighbor mean interpolation method.

Then for every four non overlapping consecutive pixel values a difference value d is calculated as:

d = p’(K . x +β, K .y +δ ) − p’(K .x , K .y)

Where 0≤x, y≤127 β, δ value is 0 or 1, respectively.

The number of bits, say n, which can be embedded in this pixel, is calculated by

N = ln|d|.

A sub stream with n bits in the embedding data is selected and converted to integer value b. Then, a stego image pixel p′’(i,j) is computed as follows.

p’’(i,j) = p’(i,j) + b.

DATA EXTRACTION PROCESS :1. In the extraction process the stego image is also

partitioned in to 2 x 2 non overlapping consecutive blocks

2. Then b is calculated as follows :

Where x,y=0,1,..127 and k is defined as two .

. After the secret data is extracted we can convert value of b to be a binary form and concatenate to the secret bit stream.

Proposed data hiding method :

EXAMPLE :

46 112

210 90

46 79 112

128 84 101

210 150 90

84)/312879(46(1,1)p'128210)/2(46(1,0)p'79112)/246((0,1)p'

46p(0,0)(0,0)p'

interpolation

otherwise )/3,)1,('),1('1)-j1,-(p(in 2j 1,m2i if j))/2,,1(ip'j)1,-(i(p'1n2j m,2i if ))/2,1j(i,p'1)-j(i,(p'

n2j m,2i if j),p(i,

j)(i,p'

jipjip

Neighbor Mean Interpolation

EMBEDDING OF SECRET BIT :

46 79 112

128 84 101

210 150 90

46 98 112

150 89 101

210 150 90

538log

682log

533log

3846848246128

3346-79d

2

2

2

n

Embed secret bit

Cover image Stego image

5)00101(22)010110(

19(10011)b

2

2

2

89584(1,1)p'15022128(1,0)p'

981979(0,1)p'

20001011001101011 BitsSecret

d = p’(K . x +β, K .y +δ ) − p’(K .x , K .y)

2

2

2

)00101(5210)/3112(4689)010110(22210)/2(46150

)10011(19112)/2(46-98b

538log

682log

533log

3846848246128

3346-79d

2

2

2

n

46 98 112

150 89 101

210 150 90

46 79 112

128 84 101

210 150 90

Stego image Cover image

Recover

Extract 20001011001101011 BitsSecret

RECOVERY OF SECRET DATA

IMPROVED DATA HIDING METHOD Proposed in 2011 seventh international

conference on Intelligent information hiding and multimedia signal processing.

The weakness of jung and yoo’s method is that pixel extended from the original image have to be recomputed before extracting the secret data.

The algorithm of the new proposed method is as follows :

1. Utilize the neighbor mean interpolation to create a cover image.

2. Divide the cover image from left to right, top to down, to form 2x2 non-overlapping blocks.

3. In each block, pixels p(i,j), p(i,j+1), p(i+1,j) and p(i+1,j+1) are renamed as p0, p1, p2, p3, respectively. Then, we made these four pixels into three groups(p0, p1), (p0, p2), and (p0, p3).The differences di =pi-p0, i=1, 2, 3. The capacity ni of the pixel pairs are computed by eq :

4 Selecting the number of bits from the secret bit stream and then convert it to decimal form b. the new difference is computed by

5. The corresponding pixel are computed by equation :

6.Repeat steps 3-5 in predefined order, top to down and left to right, until all secret data is embedded or blocks are exhausted.

EXTRACTING THE DATA :Apply the hiding algorithm step 2 and 3 to the

stego image we can get new difference and number of bits embedded with in the pixel.

Then the secret data can be extracted using the eq.

According to the number of bits embedded the extracted secret data b can be translated to the binary digit which became a part of the secret data stream.

REFERENCES :

•http://en.wikipedia.org/wiki/Information_hiding•http://www.sciencedirect.com/science/article/pii/S092548908000846•http:// http://en.wikipedia.org/wiki/Bicubic_interpolation•http:// http://en.wikipedia.org/wiki/image_interpolation•http://en.wikipedia.org/wiki/Image_processing

THANKS

top related