You are on page 1of 4

2012 Eighth International Conference on Intelligent Information Hiding and Multimedia Signal Processing

Reversible Data Embedding using Reective Blocks


with Scalable Visual Quality Degradation
SimYing Ong and KokSheik Wong

Kiyoshi Tanaka

Faculty of Comp. Science & Info. Technology,


University of Malaya, Malaysia.
Email: {simying@siswa., koksheik@}um.edu.my

Faculty of Engineering,
Shinshu University, Japan.
Email: ktanaka@shinshu-u.ac.jp

research eld [9], [10], [11]. Among the approaches, histogram


manipulation remains to be the commonly considered way in
achieving reversible data embedding. Ni et al. [9] propose
reversible histogram data hiding method aiming to achieve
high image quality. Following that, Xuan et al. [10] also
propose optimum histogram pairs using IWT (integer wavelet
transform) coefcients to achieve reversibility in data embedding while aiming to improve the image quality when the
payload is low. Jung et al. [11] achieve reversibility by means
of histogram manipulation, but they also consider human
visual system when modifying the pixel value histogram.
While the existing reversible methods aim to maintain high
output image quality by sacricing the embedding capacity,
we aim to distort the image to the extend so that the output
resembles noise. In terms of encryption, the focus on this
paper is on gradually visual quality degradation instead of
security. An image is rst divided into blocks and each pixel
in a block is associated to unique mirror value(s). The original
pixel value is changed to its associated mirror value(s) to
encode the external payload. To further intensify the distortion,
pixels grouped in block of predened size are permuted
where scalability in visual quality degradation is achieved by
changing this block size. Basic performance of the proposed
method is veried through experiments using various standard
test images.

AbstractIn this paper, a reversible data hiding method with


scalable visual quality degradation functionality is proposed. An
image is rst divided into blocks and each pixel in a block is
associated with unique mirror value(s). The original pixel value
is modied to its associated value(s) to encode external payload. A
block is further categorized as reective and non-reective block,
depending on the range of pixel values in it. The number of bits
embedded into a block can be controlled to achieve different level
of image quality degradation. To further intensify the distortion,
pixels grouped in block of predened size is permuted where
scalability in quality degradation is achieved by changing the
block size. Basic performance of the proposed method is veried
through experiments using standard test images. In the best case
scenario, an image can hold up to 2.26 bits per pixel of external
payload.

I. I NTRODUCTION
Traditionally, encryption aims to hide the meaning of the
message being transmitted while data embedding aims to insert
external information into a host content [1]. The ubiquitous
existence of multimedia content in our daily life (e.g., video,
music) had driven the research community to invent content
encryption algorithms [2], especially for image since it is
widely used in various industries and it is the basis in coding
moving pictures. Similarly, various data embedding methods
are proposed to enhance features of multimedia content such as
watermarking, nger printing, hyper-linking, and so forth [3].
These disciplines are usually studied independently, but
recently there are effort in consolidating the features of both to
handle image/video. For example, Kundur et al. [4] propose to
encrypt a video prior to broadcasting (to avoid unauthorized
viewing) and ngerprint the video upon decryption to trace
illegal redistribution. In [5], Lian et al. assigned the role of data
embedding to DCT coefcients in a H.264 compressed video
while degrading quality of the video by means of ipping
the sign of DCT coefcients and modifying the prediction
modes in all I-frames. For other approaches that consolidate
encryption and data embedding, we refer the interested reader
to [6], [7], [8].
Reversibility is a common feature in encryption, but most
of the methods (those that consolidate both features) are not
completely reversible as a whole. However, reversibility is particularly crucial in applications where any form of distortion
is not tolerable (e.g., medical and military imaging). Due to
this reason, reversible data embedding method is an active
978-0-7695-4712-1/12 $26.00 2012 IEEE
DOI 10.1109/IIH-MSP.2012.94

II. P ROPOSED R EVERSIBLE DATA E MBEDDING


Fig. 1 shows the procedures in the proposed method, and
each procedure is detailed in the order in which it appears.
Suppose the input image is of dimension pixels
with -bits depth where > 0 is a positive integer. Let be
the embedding block size and be the scrambling block size.
is divided into blocks of pixels and let denote
the -th block of pixels in the image after some linearization
process (say raster order). The maximum and minimum pixel
values in the -th block are identied and stored as max and
min , respectively. The range is computed as follows:
= max min + 1
(1)
Each block is then categorized as RB (reective block) if
21 or NRB (Non-Reective Block) otherwise.
All RBs are further divided into sub-categories based on
their ranges. Table I records all eight sub-categories for image
of = 8-bits depth. Next, pixel histogram of each RB is
363

/ /
^ /
 D
Z




 

Z

Z W /

W Z

Z W

Z  Z
EZ  EZ
EZ
EZ W

(b) RB Embedding only


(SSIM = 0.2233)

(c) RB and NRB Embedding


(SSIM = 0.1727)

(d) RB and NRB Embedding with


Scrambling (SSIM = 0.0209)

EZ W /


W EZ

Fig. 1.

(a) Original Test Image


Lenna

Fig. 2. Output of Lenna for various combination of processes using = 8


and = 16

Fig. 2(a) and (b) show the original Lenna image and its
output when all RBs are embedded with payload, respectively.
As we can see in Fig. 2(b), outline of output image is
visible because NRBs are not processed. Therefore, NRBs
are also processed to carry information and achieve distortion.
In particular, the unoccupied pixel values in each NRB, i.e.,
[0, min 1] and [max +1, 2 1], are identied and referred
to as available spaces. Then, selected pixels in the range
[min , max ] are associated with unoccupied values for data
embedding purposes. Here, the unoccupied values are associated with the nearest (in terms of difference in pixel values)
occupied pixels. For instance, suppose max = 253, min =
14, and hence = 240. There are 16 unoccupied pixel
values in , namely, integer values in [0, 13] and [254, 255],
and they are associated with occupied pixel values to embed
information. The association is based on + min for
[0, 13] and (2 1 max ) for [254, 255].
For that, NRB can hold at most 1 bpp because some of the
occupied pixel values are not associated with any unoccupied
values. The output image obtained by embedding data into all
RBs and NRBs in Lenna is shown in Fig. 2(c).
Note that min and have to be recorded to completely
reconstruct RBs. If both of these information are encoded in
a raw format, the number of bits needed per block is 11 bits (8
for min and 3 for ). The original distribution of min is as
shown in Fig. 3(a) and there is little to gain by entropy coding.
Instead of the raw min , the difference, i.e., min+1 min is
considered and its distribution shown in Fig. 3(b) suggests that
entropy coding can reduce size of the side information. On the
other hand, to completely reconstruct NRBs, both min and
max are required. min will be coded in differential mode as
in the RB case, but max will be coded in raw format.
A location map of size /( ) is stored to indicate
if a block is RB or NRB. In terms of the syntax of the side
information during data embedding, for any block , the prex
codeword encoding min is rst output. If it is a RB, 1 is

Process Flow of the Proposed Methodology

TABLE I
S UB -C ATEGORIES IN A R EFLECTIVE B LOCK FOR IMAGE OF 8- BITS DEPTH
Range,
Number of Partitions
Number of Bits Embedded,
65 - 128
2
1
33 - 64
4
2
17 - 32
8
3
9 - 16
16
4
5-8
32
5
3-4
64
6
2
128
7
1
256
8

divided into 2 non-overlapping partitions where =


log2 ( ). For any original pixel value in RB, there is exactly
one (i.e., unique) corresponding mirror pixel value in each
partition to which it may map to during data embedding. In
particular, the partition index is rst determined based on the
payload, and the mirror pixel value in the selected partition is
output. For instance, if the block under consideration is divided
into 8 partitions (i.e., 17 32), one of the partition
will consists of the original pixel values, which is commonly
utilized to embed 000, while the other seven mirror partitions
are utilized to embed 001, 010, , 111.
Based on the aforementioned rules, the maximum embedding capacity for a RB depends on the number available
partitions. By using the example above, a value in any partition
implicitly carries = log2 (8) = 3 bits of information, i.e.,
3 bits per pixel (bpp). Although the maximum embedding
capacity can be calculated for each block , one can choose
to utilize only part of the available embedding capacity to
control the perceptual distortion of the output image. In other
words, a global upper bound for embedding capacity can
be imposed on all blocks so that at most 2 of the available
partitions are utilized for data embedding. When is small,
the partitions (in the histogram) adjacent to the original one
can be selected for mirroring pixel values so that the difference
between the original and mirror pixels are small, leading to
milder perceptual distortion, and vice versa.

364

1
2
3
4
5
6
7
8

22
Raw
Eff.
1.00
-1.49
1.96
-0.53
2.81
0.32
3.49
1.00
3.88
1.39
4.02
1.53
4.06
1.57
4.06
1.57

TABLE II
AVERAGE R AW AND E FFECTIVE E MBEDDING C APACITY USING P ROPOSED M ETHOD ( BPP )
44
88
1616
3232
6464
128128
256256
Raw
Eff.
Raw
Eff.
Raw
Eff.
Raw
Eff
Raw
Eff.
Raw
Eff.
Raw
Eff.
1.00
0.35
0.97
0.79
0.89
0.84
0.76
0.74
0.54
0.54
0.29
0.29
0.15
0.15
1.80
1.15
1.58
1.40
1.29
1.24
0.95
0.93
0.59
0.58
0.29
0.29
0.15
0.15
2.42
1.77
1.98
1.80
1.49
1.44
1.01
1.00
0.60
0.59
0.29
0.29
0.15
0.15
2.78
2.13
2.14
1.96
1.54
1.49
1.02
1.01
0.60
0.59
0.29
0.29
0.15
0.15
2.89
2.24
2.17
1.99
1.55
1.50
1.03
1.01
0.60
0.59
0.29
0.29
0.15
0.15
2.90
2.25
2.17
1.99
1.55
1.50
1.03
1.01
0.60
0.59
0.29
0.29
0.15
0.15
2.91
2.26
2.17
1.99
1.55
1.50
1.03
1.01
0.60
0.59
0.29
0.29
0.15
0.15
2.91
2.26
2.17
1.99
1.55
1.50
1.03
1.01
0.60
0.59
0.29
0.29
0.15
0.15

700

Frequency

Frequency

5000

500

400

300

200

4000

3000

2000

1000

100

means of shufing the pixel values using unied contructive


permutation function (UCPF) [13], which uses simple permutation function and noise function. For more information about
UCPF, please refer to [13].
In our preliminary analysis, we found that the order of operations (i.e., embedding and scrambling) will produce similar
results in terms of perceptual quality degradation. However,
if the scrambling process is performed rst, the change of
pixel position during permutation will affect the range in a
block and thus potentially reducing the embedding capacity.
For that, data embedding is carried out rst to maintain the
high capacity feature of the proposed method. Fig. 2(d) shows
the output result of permuted Fig. 2(c) using = 16. With the
aid of permutation, it is obvious that visual quality degradation
is further intensied when compared to the distortion level
achieved in Fig. 2(c).

6000

600

50

100

150

Block Min

(a)

Fig. 3.

200

250

0
150

100

50

50

100

150

512512
Raw
Eff.
0.08
0.08
0.08
0.08
0.08
0.08
0.08
0.08
0.08
0.08
0.08
0.08
0.08
0.08
0.08
0.08

200

Block Difference

(b)

Distribution of (a) and (b) difference in Lenna when = 2

TABLE III
S IDE I NFORMATION (GR-R EMAINDER = 16) FOR D IFFERENT B LOCK
S IZES IN L ENNA ( BPB )

22 44 88 1616 3232 6464 128128 256256


Side Info 9.73 10.17 11.06 12.41 14.09 15.16
15.25
14.75

output, followed by 3 bits to indicate the number of partitions


. Otherwise, 0 is output, followed by 8 bits that encodes
max . In other words, the syntax of side information for a
block is in the form [GR (Golumb-Rice) codewords for min ,
ag indicating RB or NRB, or max ].
In this work, we consider GR codewords [12] to encode
min . In particular, the shortest codeword is mapped to 0 (the
peak), while the next pair of shortest codewords is reserved
for difference value of 1 and -1. Similar assignment is applied
to 2, -2, 3, -3, 4, etc. By using differential coding and GR
codewords, the side information is trimmed down from 16
bits to 12.83 bits per block (bpb). Table III shows the side
information used for each block for various in the case of
Lenna.

IV. E XPERIMENTAL R ESULTS


Six standard grayscale test images (8-bits depth) of dimension 512 512 pixels are utilized in the experiment. First, it is
veried that the embedded information can be retrieved from
the output image and the original (host) image can be restored.
Next, embedding capacity is observed. Table II shows the
average raw and effective embedding capacity (after encoding
side information with GR-Remainder = 16) for various
and . If we let = 2 , the results suggest that the raw
embedding capacity increases when decreases from 9 or
when increases from 1, conrming scalability in embedding
capacity. The effective carrier capacity peaks when = 4, and
the results indicate that has greater inuence in controlling
embedding capacity as opposed to . The reason is that we
have no control on the nature or pattern of the image which
causes the uctuations in min and max , which in turn affects
the number of non-overlapping partitions. In case of Lenna,
there is no RB for = 128, 256 and 512. Hence, the effective
embedding capacity is contributed solely by the NRBs. In
image of high spatial activity (eg., Baboon), the effective
embedding capacity is low (if not, zero) even for relatively
large embedding block size .
Note that some entries in Table II are negative when
and are small, indicating that the raw embedding capacity
are not sufcient to hold the side information itself. However,
in the best case scenario, a maximum of 2.26 bpp effective
embedding capacity can be achieved at the block size of 44.
Nevertheless, we emphasize that the peak is likely occurring
at different when the image dimension changes.

III. V ISUAL Q UALITY D EGRADATION


From Fig. 2(c), it is observed that the distortion on NRBs
due to data embedding is not sufcient. The outline of the
processed image (embedded with information) is visible especially at the area with high spatial activity (i.e., edges). In
general, areas with high spatial activity (e.g., with > 128)
consist mainly of NRBs while areas with low spatial activity
(e.g., with 128) are made up of RBs. For that, less
information is embedded into NRBs as compared with RBs
due to the limited available mirroring values in NRBs. Thus,
unequal distortion is expected between these two types of
block (between edge and smooth areas), which leads to the
unpleasant view of the output images. This situation is more
obvious when increases.
For the aforementioned reasons, we propose to further
degrade the perceptual quality of the image embedded with
external information. In particular, the quality is degraded by

365

TABLE IV
E MBEDDING C APACITY ( IN BITS ) FOR THE P ROPOSED M ETHOD AND [9]
Test Image
Airplane
Baboon
Boat
Lake
Lenna
Proposed Method
690657
297969
480848 476096 621610
Ni et al. [9]
16171
5421
7301
14310
5460

TABLE V
E MBEDDING C APACITY ( IN BPP ) FOR P ROPOSED M ETHOD AND VQD [14]
Block Size,
22 44 88 1616 3232
Proposed Method
1.57
2.26
1.99
1.50
1.01
VQD
1.49
2.00
1.36
0.58
0.15

Performance of the proposed method is compared to that


of Ni et al. [9]. As shown in Table IV, Ni et al. is able to
embed on average, 9732.6 bits, which is 0.04 bpp. By using
the same test images and = 8, the proposed method is able
to achieve 513,436 bits on average, (1.96 bpp). Contrary to
Ni et al.s method [9] that consider histogram of the entire
image, the proposed method uses histogram of each block to
increase the embedding capacity. The other advantage of our
reective block approach is that the overow and underow
problems can be avoided.
Our representation scheme (i.e., using partition number to
encode payload) is compared to VQD (virtual queue decomposition) [14]. We implement VQD to embed payload into the
image block histogram to obtain the achievable embedding
capacity and the result are recorded in Table V. The results
suggest that the proposed method outperforms VQD for all
considered. Besides, the proposed method achieves higher
embedding capacity as compared to Zhangs method [7] that
can embeds 0.0001 bpp and Jung et al.s method [11] which
can embeds 0.80 bpp.
Last but not least, for perceptual quality degradation, we
consider two parameters that affect the distortion of the
output image, namely and , and the results are shown
in Fig. 4 using Lenna as the representative example. Here,
the distortion is quantied by considering SSIM [15] between
the original and output image. The results conrmed that
perceptual distortion can be controlled by either or .
Secondly, it is observed that has a stronger inuence in
perceptual distortion, especially when the becomes larger.
This is due to the fact that when is large, less information is embedded into each block and hence there are
more pixel values that remain unchanged. Similar results are
observed for other test images. Fig. 4 also suggests that,
one may consider a sequence of parameter pairs ( , )
to achieve gradual distortion. For example, the sequence of
operations (512, 2), (256, 2), (128, 2), (64, 2), (32, 2), (16, 4),
(8, 16), (4, 64) and (2, 128) will output a set of images, with
gradual increment of distortion in perceptual quality.

Fig. 4.

SSIM for various and ( = 1 bpp)

the output image could be scalably controlled by tuning the


embedding block size, scrambling block size, and the global
threshold value . In the best case scenario, 2.26 bpp could
be embedded for an image of 8-bits depth.
As future work, we want to extend the ideas to other
domains such as color images and videos. We also want to
achieve the commutative property so that the embedded data
can be retrieved without decrypting the processed image, and
vice versa.
R EFERENCES
[1] S. Katzenbeisser and F. Petitcolas, Information Hiding Techniques for
Steganography and Digital Watermarking, Artech House Publishers,
2000.
[2] W. Li and Y. Yuan, A leak and its remedy in JPEG image encryption,
Int. J. Comput. Math., vol. 84, pp. 1367-1378, 2007.
[3] M. Mitrea, S. Duta, T. Zaharia, and F. Preteux, Ensuring multimedia
content enrichment by means of data hiding techniques, F. Truchetet
and O. Laligant, Eds., vol. 6383, no. 1. SPIE, 2006, pp. 638306-638307.
[4] D. Kundur and K. Karthik, Video ngerprinting and encryption principles for digital rights management, Proceedings of the IEEE, vol. 92,
no. 6, pp. 918-932, 2004.
[5] S. Lian, Z. Liu, Z. Ren, and H. Wang, Commutative encryption and
watermarking in video compression, IEEE Trans. on Circuits and
Systems for Video Technology, vol. 17, pp. 774778, 2007.
[6] K. Wong and K. Tanaka, DCT based scalable scrambling method with
reversible data hiding functionality, IEEE Proc. on ISCCSP, vol., no.,
pp.1-4, 2010.
[7] X. Zhang, Reversible data hiding in encrypted image, Signal Processing Letters, IEEE, vol. 18, no. 4, pp. 255-258, 2011.
[8] M. Cancellaro, F. Battisti, M. Carli, G. Boato, F. G. B. De Natale, and
A. Neri, A commutative digital image watermarking and encryption
method in the tree structured haar transform domain, Image Commun.,
vol. 26, pp. 1-12, 2011.
[9] Z. Ni, Y.Q. Shi, N. Ansari, and W. Su, Reversible Data Hiding,
IEEE Trans. On Circuits and Systems for Video Technology, vol. 16,
pp. 354362, 2006.
[10] G. Xuan and Y.Q. Shi and P. Chai and J. Teng and Z. Ni and X. Tong.
Optimum Histogram Pair Based Image Lossless Data Embedding,
IEEE Trans. on Data Hiding and Multimedia Security IV, 84-102, 2009.
[11] S.W. Jung and L.T. Ha and S.J. Ko A New Histogram Modication
Based Reversible Data Hiding Algorithm Considering the Human Visual
System, IEEE Signal Processing Letters, 18(2):95-98, 2011.
[12] S. Golomb, Run-length encodings, IEEE Transactions on Information
Theory, vol.12, no.3, pp. 399- 401, 1966.
[13] K. Wong and K Tanaka, Scalable Image Scrambling Method Using
Unied Constructive Permutation Function on Diagonal Blocks, IEEE
Proc. PCS, pp. 138-141, 2010.
[14] K. Wong, S. Ong, and K. Tanaka, Improvement of carrier capacity
for scalable scrambling method with reversible information insertion
functionality, IEEE International Conf. on Signal and Image Processing
Applications, pp. 312-317, 2011.
[15] Z. Wang, A. C. Bovik, H. R. Sheikh, and E. P. Simoncelli, Image
quality assessment: From error visibility to structural similarity, IEEE
Trans. on Image Processing, vol. 13, no. 4, pp. 600612, 2004.

V. C ONCLUSIONS
In this paper, a reversible data hiding method based on histogram manipulation with scalability in visual quality degradation was proposed. Non-occuring pixel values were associated
with occuring ones and the associations were utilized to embed
external payload. The distortion caused by data embedding
was further intensied by shufing pixels in blocks of predened size. It was found that visual quality degradation of

366

You might also like