Abstract

We propose a new image watermarking scheme based on the real SVD and Arnold scrambling to embed a color watermarking image into a color host image. Before embedding watermark, the color watermark image with size of is scrambled by Arnold transformation to obtain a meaningless image . Then, the color host image with size of is divided into nonoverlapping pixel blocks. In each pixel block , we form a real matrix with the red, green, and blue components of and perform the SVD of . We then replace the three smallest singular values of by the red, green, and blue values of with scaling factor, to form a new watermarked host image . With the reserve procedure, we can extract the watermark from the watermarked host image. In the process of the algorithm, we only need to perform real number algebra operations, which have very low computational complexity and are more effective than the one using the quaternion SVD of color image.

1. Introduction

Security and copyright protection are important issues in multimedia applications and services. Among the protection techniques, digital watermarking is considered a powerful method, which is a technique that hides the secret information in a host image without affecting its normal usage. The watermark can be extracted and used for authentication and verification of ownership. Digital watermarking has been concerned since it has been proposed in [1] in 1994. Over the past 20 years, many watermarking methods have been developed [25]. One can use a sequence of random numbers or a recognizable binary pattern or an image as a digital watermark. Most of the existing color techniques use binary or greyscale images [69] as watermarks. Due to the rapid applications of the color image technique on the Internet, during the recent years, scientists and researchers have turned their attention to color image watermarks [1015], which have become one of the hot research topics.

Compared with the binary and greyscale image, the color image can greatly improve the capacity and fidelity of the information. First, the color image can hide a great amount of data. Second, the color perception relies not only on the luminance but also on the chrominance. Color image can be broken into multiple prime color channels, so the color image watermarking is more challenging compared to single channel greyscale images. There are various breakup techniques available in the literature for color image like YIQ, YCbCr, RGB, and HSI, out of which RGB is apparently the most popular space, because this channel format is a natural scheme for representing real world color, and each of the three channels is highly correlated with the other two.

The typical algorithms for color image watermarking can be summarized as follows.

(1) Single Channel Embedding. In this approach, the watermark is embedded into the blue component part of the host image [16]. Such an approach might not be completely adequate since it does not take the implication of the Human Visual System into consideration and in particular it is sensitive to color brightness and perception.

(2) Multichannel Embedding. In this approach, the host and watermark color images are first decomposed into single color channels and then treated independently [13]. Whether single channel processing or multichannel synthesis, its essence is to treat greyscale image. Therefore, this approach cannot reflect the connection between the channels very well.

(3) Algorithms Based on Quaternion. A color image can be considered as a quaternion matrix of pure imaginary numbers. In this way, the color image can be processed in a holistic manner without losing color information. Notice that these kinds of algorithms require more quaternion operations.

An effective watermarking algorithm should meet certain requirements, including transparency, robustness, adequate information capacity, and low computational complexity.

Watermarking algorithms utilizing the Singular Value Decomposition (SVD) have become popular during the last ten years [14, 1719], because of the stability of the SVD. SVD-based algorithms embed a watermark by modifying either the singular values or the orthogonal matrices. The work in [17] proposed a SVD-based watermarking scheme where the singular values of the watermark image were used to modify the singular values of the subband images which were obtained by using DWT to the host image. The work in [18] proposed an algorithm to employ SVD on the blue channel of the host image to retrieve the singular values and embed the watermark in these singular values. The work in [19] proposed a SVD-based color image watermarking scheme, in which the singular values of original watermark were required to extract the embedded singular values, and then and orthogonal matrices of the original watermark were utilized to recover the watermark. The work in [14] proposed a block-SVD-based watermarking method to embed color watermark to color host image. All these algorithms can preserve the visual quality of the image even for large singular value changes.

In this paper, we propose a new image watermarking scheme based on the real SVD and Arnold scrambling to embed a color watermarking image into a color host image. Before embedding the watermark, the color watermark image with size of is scrambled by Arnold transformation to obtain a meaningless image . Then, the color host image with size of is divided into nonoverlapping pixel blocks. In each pixel block , we form a real matrix with the red, green, and blue components of and perform the SVD of . We then replace the three smallest singular values of by the red, green, and blue values of with scaling factor, to form a new watermarked host image . With the reserve procedure, we can extract the watermark from the watermarked host image.

The remainder of this paper is organised as follows. In Section 2, we present a brief overview regarding the SVD and image scrambling based on Arnold transformation. In Section 3, we compare the SVD algorithms for color images. In Section 4, we propose embedding and extracting procedures of the new algorithm. The experimental results and analysis are presented in Section 5. Finally, our conclusions are stated in Section 6.

2. Preliminaries

2.1. The SVD

The SVD [20] is one of the most powerful tools and is widely applied to digital image processing [21].

The SVD of an matrix is expressed aswhere both and are unitary matrices, is conjugate transpose of , and where are positive singular values of , and is the rank of matrix . If is a real matrix, then both and are real orthogonal matrices,where is the transpose of .

2.2. Arnold Scrambling

Scrambling is a pretreatment stage of watermarking, which transforms the meaningful image into another meaningless one and provides security in watermarking scheme. Even if the aggressors obtain the embedded watermarking image, they cannot extract the watermark without the knowledge of the scrambling algorithm.

In the proposed watermarking scheme, the 2D Arnold scrambling transformation [22] is used, which shuffles the pixels positions of watermark image as follows:where is the old pixel coordinates of the original image and is the new pixel coordinates after iterative computation scrambling and is the size of the image. The transformation is periodic and shows periodicity after completing the period, which is shown in Figure 1.

3. Comparison of the SVD Algorithms for Color Images

3.1. Quaternion Representation of a Color Image

A quaternion is expressed as where and three imaginary units , and satisfy When is called pure quaternion.

In [23], Sangwine proposed to encode the three channel components of a RGB image on the three imaginary parts of a pure quaternion; that is, where and are the red, green, and blue values of the pixel , respectively. Thus, a color image with rows and columns can be represented by a pure imaginary quaternion matrix Since then, quaternion representation of a color image has attracted great attention. Many researchers applied the quaternion matrix to study the problems of color image processing due to the ability of quaternion matrices to treat the three color channels holistically without losing color information.

3.2. Comparison of Real SVD and Quaternion SVD

For a quaternion matrix of a color image, we can perform the quaternion SVD with different kinds of algorithms. For example, in [24], authors provided the function “svd” in Matlab Toolbox using quaternion arithmetics. In [25, 26], authors proposed a real structure-preserving algorithm based on the following results.

For any quaternion matrix , where , its real representation can be defined as follows [25, 26]:The properties of are as follows.

Theorem 1 (see [27]). Let , and . Then, one has the following: (1)(2)(3) is a unitary matrix if and only if is an orthogonal matrix.

From (9) and Theorem 1, for the matrix , we only need to store the first column block of , denoted as

From this notation and Theorem 1, we have the following result.

Theorem 2. Let , and . Then, one has the following: (1)(2)(3)

In addition, we have the following results about the SVD of a quaternion matrix and its real representation.

Theorem 3. Let . Then, the singular values of appear in fours.

Therefore, if we want to compute the SVD of an quaternion matrix , then we can deal with the SVD of the real representation matrix . In fact, under the orthogonal transformations, the real representation of a quaternion matrix has the standard form stated in the next theorem.

Theorem 4 (see [25]). Suppose that and is the real representation of . Then, there exist orthogonal matrices and such thatwhere is a bidiagonal matrix.

From Theorems 3 and 4, the SVD of can be obtained by computing the SVD of bidiagonal matrix . So, we should first get bidiagonal matrix using Householder based transformation. In [26], we listed three forms of Householder based transformations that appeared in the literatures and proposed a new form of quaternion Householder based transformation. And then, we gave the real structure-preserving algorithms for these quaternion Householder based transformations. By comparison on computation amounts and assignment numbers, we obtained the most flexible and efficient one which is described as follows.

Theorem 5. Suppose that is not a multiple of ; denote , where , and , and then maps to .

This kind of Householder based transformation is introduced in [26]. For its specific real structure-preserving algorithm, refer to Algorithms 4.1, 4.2, and  4.8 in [26].

After the bidiagonal matrix is calculated, we can perform a sequence of iterations using Givens rotations on it, and then the SVD of quaternion matrix is obtained.

On the other hand, we can extract the three imaginary parts , and of matrix to rearrange as a new real rectangle matrix and then directly use the function “svd” on the real matrix .

Remark 6. Not only is the computation time related to the number of floating points arithmetics, but also it has a lot to do with the assignment number. In Table 1, we list the numbers of real flops and assignment numbers for computing real SVD for and quaternion SVD for using a real structure-preserving algorithm, where assignment numbers refer to the number of calling subroutines or performing matrix operations. In matrix operations, say , we adopt the assignment to utilize vector pipelining arithmetic operations rather than explicitly using triply nested for-end loops, to speed up computations remarkably. Therefore, real arithmetic numbers as well as assignment numbers are important measures. See, for example, Chapter 1 of [20].

We now provide a numerical example to compare the efficiencies of the three algorithms mentioned above. All these computations are performed on an Intel Core i5@ 2.20 GHz/8 GB computer using Matlab R2013a.

Example 7. For , we apply the above three different algorithms to compute the SVD. We compare the CPU times of three algorithms: qSVD in toolbox for [24], the structure-preserving SVD for , and the real SVD for .

In [25, 26], we have already shown that structure-preserving algorithm is superior to quaternion command “svd” in Matlab. Figure 2 shows that the CPU time of the real SVD algorithm for is the smallest. Particularly, when the matrix is bigger, its superiority is more obvious.

From the above discussion and Figure 2, we see that the algorithm performing the SVD for is the most efficient. In the next section, we will propose a new double color image watermarking algorithm based on the real SVD for .

4. The Proposed Color Image Watermarking Algorithm

In this section, we describe our color image watermarking algorithm, in which a color watermark image is embedded as copyright message into a color host image.

Assume that an original host image is a RGB color image of size , where , and watermark image is also a RGB color image of size , where and

4.1. Watermark Embedding

Step 1 (color watermark preprocessing). We shuffle the color watermark image times by Arnold scrambling to obtain , where can be used as the secret key for watermark recovery.

Step 2 (partition). The original RGB host color image is divided into nonoverlapping blocks of size pixels, where .

Step 3 (pixels block rearranging). The R, G, and B color components of are rearranged as rectangle matrices of

Step 4 (performing the SVD). Perform the SVD for : , where

Step 5 (embedding). Form , where , and are red, green, and blue values at pixel of and is the scaling factor. Form , and then obtain from .

4.2. Watermark Extraction

The watermark is extracted as follows.

Step 1. Both the original host image and the watermarked image are divided into nonoverlapping blocks and of size pixels, respectively, where .

Step 2. The R, G, and B color components of and are rearranged as rectangle matrices and of , respectively.

Step 3. Perform the SVD for : , and

Step 4. Extract the watermarks. Set

Step 5. The inverse Arnold scrambling is applied to to construct the watermark.

5. Experimental Results and Analysis

To verify the effectiveness of the proposed algorithm, a series of experiments were conducted where different host images are adopted. We carried out our experiments in Matlab R2013a environment on a laptop with Intel i5 processor rated at 2.5 GHz.

In the first experiment, color image Pepper of size is taken as the host image, shown in Figure 3(a). A color image Apple of size is taken as watermark image, shown in Figure 3(b). The detailed implementation procedure of the proposed watermarking model is depicted in Figures 3(c)3(f). The scrambled watermark after 5-fold Arnold transformation is shown in Figure 3(c). Figure 3(d) shows the watermarked image based on the SVD and Arnold transformation with watermarking scaling factor , in which the embedded watermark is invisible. Figure 3(e) shows the extracted scrambling watermark from the watermarked image. Figure 3(f) shows the recovered watermark by the inverse Arnold scrambling, which is similar to the original watermark.

In the second experiment, we use color image Lena as host image and color image Apple as watermark. After 5-fold Arnold scrambling, the watermark is embedded with scaling factor 0.28. The detailed implementation procedure is depicted in Figures 4(a)4(f).

In the third experiment, the watermark is the same as in the above two experiments. We use color image Butterfly as host image and scaling factor 0.14. The detailed implementation procedure is depicted in Figures 5(a)5(f). We observe from the figures that visually extracted watermarks are quite good compared with the origin ones.

The visual fidelity can be measured by calculating a parameter known as peak signal-to-noise ratio (PSNR) and the structured similarity index (MSSIM) between the original host image and the watermarked image PSNR is expressed in decibel (dB) and is defined as where represents the maximum pixel value of a color image, and here it is 255. and are the pixel values location at position in the original host image and the watermarked image, respectively. In general, the larger the PSNR value is, the more invisible the watermark is.

The mean structured similarity index (MSSIM) [28] is an objective measure originally developed to assess perceptual image quality. It is superior to PSNR for image quality comparison and better at reflecting the overall similarity of two pictures in terms of appearance rather than simple mathematical point-to-point difference. In the practical application, the image can be divided into blocks by using the sliding window, and the total number of blocks is , and MSSIM is defined as and the formula used for calculating SSIM is as follows: where , and are the average, variance, and covariance of and , respectively. and are constants. The more the MSSIM value gets close to one, the more similar to the original host image the watermarked image is.

In order to measure the quality of the embedded and extracted watermark, the Normalized Correlation (NC) is calculated between the original watermark and extracted watermark , which is defined as A higher NC reveals that the extracted watermark resembles the original watermark more closely. If a method has a higher NC value, it is more robust.

In Table 2, we list the PSNR values, MSSIM values, NC values, and the CPU times, in which , ST, SF, and CPU stand for size of original host image, scrambling times of Arnold transformation, scaling factor, and execution time, respectively. In all the experiments, we observe the good visual quality of watermarked images and good similarity of extracted and original watermarks with the proposed algorithm; the execution time for preprocessing, embedding, and extraction procedure was only 0.5110 seconds for host image when the number of Arnold iterations is 5. Other examples also show that the execution times of this algorithm are short, and the algorithm has low computational cost and is easily implemented.

6. Conclusions

In this paper, we have proposed a new double RGB color image watermarking algorithm based on the real SVD and Arnold scrambling. First, the color watermark image is scrambled by Arnold transformation to obtain a meaningless image. Then, the original host image is divided into nonoverlapping pixel blocks. We form a real matrix with the red, green, and blue components in each pixel block and perform the SVD of the real matrices. We then replace the three smallest singular values of each real matrix by the red, green, and blue values of corresponding pixel of the scrambled watermark with scaling factor, to form a new watermarked host image. With the reserve procedure, we can extract the watermark from the watermarked host image.

The experimental results show that the proposed algorithm achieves high PSNR, high MSIIM of the watermarked image, and high NC of the extracted watermark. In addition, in the process of the algorithm, we only need to perform real number algebra operations, which have very low computational complexity and therefore are more effective than the one using the quaternion SVD of color image, which costs a large amount of quaternion operations.

The idea described in this paper can also be applied to other kinds of methods concerning double color image watermarking problems.

Competing Interests

The authors declare that they have no competing interests.

Acknowledgments

This research is supported by the National Natural Science Foundation of China under Grants 11171226 and 11301247, the Natural Science Foundation of Shandong under Grant ZR2012FQ005, Science and Technology Project of Department of Education, Shandong Province (J15LI10), and the Science Foundation of Liaocheng University under Grants 31805 and 318011318.