38
DATA HIDING USING IMAGE INTERPOLATION

Data hiding using image interpolation

Embed Size (px)

DESCRIPTION

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

Citation preview

Page 1: Data hiding using image interpolation

DATA HIDING USING IMAGE INTERPOLATION

Page 2: 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.

Page 3: Data hiding using image interpolation

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.

Page 4: Data hiding using image interpolation

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:

Page 5: Data hiding using image 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:

Page 6: Data hiding using image interpolation

IMAGE RESIZE EXAMPLE

Original

183%

2d interpolation

before after No interpolation

Page 7: Data hiding using image 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.

Page 8: Data hiding using image interpolation

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

Page 9: Data hiding using image interpolation

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. .

Page 10: Data hiding using image interpolation

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.

Page 11: Data hiding using image interpolation

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.

Page 12: Data hiding using image interpolation

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).

Page 13: Data hiding using image interpolation

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.

Page 14: Data hiding using image interpolation

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.

Page 15: Data hiding using image interpolation

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.

Page 16: Data hiding using image interpolation

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.

Page 17: Data hiding using image interpolation

Example bicubic :

Page 18: Data hiding using image interpolation

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.

Page 19: Data hiding using image interpolation

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

Page 20: Data hiding using image interpolation

The proposed neighbor mean interpolation

Page 21: Data hiding using image 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

Page 22: Data hiding using image 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

Page 23: Data hiding using image interpolation

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.

Page 24: Data hiding using image interpolation

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 :

Page 25: Data hiding using image interpolation

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.

Page 26: Data hiding using image interpolation

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|.

Page 27: Data hiding using image interpolation

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.

Page 28: Data hiding using image interpolation

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 .

Page 29: Data hiding using image interpolation

. 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 :

Page 30: Data hiding using image interpolation

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

Page 31: Data hiding using image 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)

Page 32: Data hiding using image interpolation

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

Page 33: Data hiding using image interpolation

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.

Page 34: Data hiding using image interpolation

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

Page 35: Data hiding using image interpolation

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.

Page 36: Data hiding using image interpolation

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.

Page 37: Data hiding using image interpolation

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

Page 38: Data hiding using image interpolation

THANKS