The document discusses image interpolation and its use in data hiding. It begins by explaining common interpolation methods like nearest neighbor, bilinear, and bicubic interpolation. It then proposes using neighbor mean interpolation for data hiding. The secret data is embedded in the interpolated image by modifying pixel values in 2x2 blocks. During extraction, the secret bits are recovered from differences between pixel values. An improved method is also presented where pixels are grouped to increase embedding capacity before modifying for data hiding.
2. INTRODUCTION
Interpolation 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.
3. 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.
4. 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:
5. 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:
7. 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.
8. IMAGE ROTATION EXAMPLE
Interpolation 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°
Rotatio
ns
6 X 15°
Rotations
9. 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. .
10. 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.
11. 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.
12. 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).
13. 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.
14. 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.
15. 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.
16. 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.
18. 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.
19. 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(i
n2j1,m2iifj))/2,,1(ip'j)1,-(i(p'
1n2jm,2iif))/2,1j(i,p'1)-j(i,(p'
n2jm,2iifj),p(i,
j)(i,p'
jipjip
22. 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
23. 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.
24. 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 :
25. 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.
26. 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|.
27. 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.
28. 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 .
29. . 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 :
33. 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.
34. 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
35. 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.
36. 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.