# A New Double Color Image Watermarking Algorithm Based on the SVD and Arnold Scrambling

Authors: Ying Li; Musheng Wei; Fengxia Zhang; Jianli Zhao
Journal: Journal of Applied Mathematics
 (2016)

---

## 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 imageW with size of M×M is scrambled by Arnold transformation to obtain a meaningless image W~. Then, the color host image A with size of N×N is divided into nonoverlapping N/M×N/M pixel blocks. In each (i,j) pixel block Ai,j, we form a real matrix Ci,j with the red, green, and blue components of Ai,j and perform the SVD of Ci,j. We then replace the three smallest singular values of Ci,j by the red, green, and blue values of W~ij with scaling factor, to form a new watermarked host image A~ij. 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.


---

## Body

## 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 [2–5]. 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 [6–9] 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 [10–15], 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, 17–19], 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 U and V 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 imageW with size of M×M is scrambled by Arnold transformation to obtain a meaningless image W~. Then, the color host image A with size of N×N is divided into nonoverlapping N/M×N/M pixel blocks. In each (i,j) pixel block Ai,j, we form a real matrix Ci,j with the red, green, and blue components of Ai,j and perform the SVD of Ci,j. We then replace the three smallest singular values of Ci,j by the red, green, and blue values of W~ij with scaling factor, to form a new watermarked host image A~ij. With the reserve procedure, we can extract the watermark from the watermarked host image.The remainder of this paper is organised as follows. In Section2, 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 anm×n matrix A is expressed as(1)A=UΣVH,where both Um×m and Vn×n are unitary matrices, VH is conjugate transpose of V, and (2)Σ=Σ1000,where Σ1=diag⁡(σ1,σ2,…,σr),σ1≥σ2≥⋯≥σr>0 are positive singular values of A, and r is the rank of matrix A. If A is a real matrix, then both Um×m and Vn×n are real orthogonal matrices,(3)A=UΣVT,where VT is the transpose of V.


### 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:(4)x~y~=Axymod⁡N,xy=A-1x~y~mod⁡N,A=1112,A-1=2-1-11,where (x,y) is the old pixel coordinates of the original image and (x~,y~) is the new pixel coordinates after iterative computation scrambling and N is the size of the image. The transformation is periodic and shows periodicity after completing the period, which is shown in Figure 1.Figure 1
Arnold scrambling.


## 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 anm×n matrix A is expressed as(1)A=UΣVH,where both Um×m and Vn×n are unitary matrices, VH is conjugate transpose of V, and (2)Σ=Σ1000,where Σ1=diag⁡(σ1,σ2,…,σr),σ1≥σ2≥⋯≥σr>0 are positive singular values of A, and r is the rank of matrix A. If A is a real matrix, then both Um×m and Vn×n are real orthogonal matrices,(3)A=UΣVT,where VT is the transpose of V.


## 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:(4)x~y~=Axymod⁡N,xy=A-1x~y~mod⁡N,A=1112,A-1=2-1-11,where (x,y) is the old pixel coordinates of the original image and (x~,y~) is the new pixel coordinates after iterative computation scrambling and N is the size of the image. The transformation is periodic and shows periodicity after completing the period, which is shown in Figure 1.Figure 1
Arnold scrambling.


## 3. Comparison of the SVD Algorithms for Color Images

### 3.1. Quaternion Representation of a Color Image

A quaternionq∈Q is expressed as (5)q=a+bi+cj+dk,where a,b,c,d∈R and three imaginary units i,j, and k satisfy (6)i2=j2=k2=ijk=-1.When a=0,q 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, (7)qx,y=rx,yi+gx,yj+bx,yk,where r(x,y),g(x,y), and b(x,y) are the red, green, and blue values of the pixel (x,y), respectively. Thus, a color image with m rows and n columns can be represented by a pure imaginary quaternion matrix (8)A=qijm×n=Ri+Gj+Bk,qij∈Q.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 matrixA∈Qm×n 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 matrixA=A1+A2i+A3j+A4k, where A1,A2,A3,A4∈Rm×n, its real representation can be defined as follows [25, 26]:(9)AR≡A1-A2-A3-A4A2A1-A4A3A3A4A1-A2A4-A3A2A1.The properties of AR are as follows.Theorem 1 (see [27]).
LetA,B∈Qm×n,C∈Qn×s, and a∈R. Then, one has the following: (1)
(A+B)R=AR+BR,(aA)R=aAR,(AC)R=ARCR.(2)
(AH)R=(AR)T.(3)
A∈Qm×m is a unitary matrix if and only if AR is an orthogonal matrix.From (9) and Theorem 1, for the matrix AR, we only need to store the first column block of AR, denoted as(10)AcR=A1A2A3A4.From this notation and Theorem1, we have the following result.Theorem 2.
LetA,B∈Qm×n,C∈Qn×s,q∈Qm, and a∈R. Then, one has the following: (1)
(A+B)cR=AcR+BcR,(aA)cR=aAcR,(AC)cR=ARCcR.(2)
(AH)cR=[(AR)T]c.(3)
AF=AcRF,q2=qcR2.In addition, we have the following results about the SVD of a quaternion matrix and its real representation.Theorem 3.
LetA∈Qm×n. Then, the singular values of AR appear in fours.Therefore, if we want to compute the SVD of anm×n quaternion matrix A, then we can deal with the SVD of the 4m×4n real representation matrix AR. 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 thatA∈Qm×n and AR is the real representation of A. Then, there exist orthogonal matrices U∈R4m×4m and V∈R4n×4n such that(11)UTARV=D0000D0000D0000D,where D∈Rm×n is a bidiagonal matrix.From Theorems3 and 4, the SVD of AR can be obtained by computing the SVD of bidiagonal matrix D. So, we should first get bidiagonal matrix D 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 that0≠y∈Qn is not a multiple of e1; denote u=y-αe1/y-αe1, where (12)
α
=
-
y
1
y
1
y
,
y
1
≠
0
,
-
y
,
otherwise
,αM=diag⁡(α¯/|α|,In-1), and H=αM(I-2uuH), and then H maps y to αe1.This kind of Householder based transformation isH4 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 matrixD 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 partsR,G, and B of matrix A to rearrange as a new real rectangle matrix (13)C=RGB,and then directly use the function “svd” on the real matrix C.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 Table1, we list the numbers of real flops and assignment numbers for computing real SVD for C∈R3m×n and quaternion SVD for A∈Qm×n using a real structure-preserving algorithm, where assignment numbers refer to the number of calling subroutines or performing matrix operations. In matrix operations, say B=AX+Y, we adopt the assignment B=A∗X+Y 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].Table 1
Computation amounts and assignment numbers for real SVD and quaternion SVD.
Real flops Assignment number Real SVD 12 m n 2 + 9 n 3 6 n Quaternion SVD 96 m n 2 + ( 64 / 3 ) n 3 10 nWe 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.
Fork=1:50,m=10∗k,A∈Qm×m, we apply the above three different algorithms to compute the SVD. We compare the CPU times of three algorithms: qSVD in toolbox for A [24], the structure-preserving SVD for A, and the real SVD for C.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 C is the smallest. Particularly, when the matrix is bigger, its superiority is more obvious.Figure 2
Comparison of the SVD algorithms.From the above discussion and Figure2, we see that the algorithm performing the SVD for C is the most efficient. In the next section, we will propose a new double color image watermarking algorithm based on the real SVD for C.


## 3.1. Quaternion Representation of a Color Image

A quaternionq∈Q is expressed as (5)q=a+bi+cj+dk,where a,b,c,d∈R and three imaginary units i,j, and k satisfy (6)i2=j2=k2=ijk=-1.When a=0,q 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, (7)qx,y=rx,yi+gx,yj+bx,yk,where r(x,y),g(x,y), and b(x,y) are the red, green, and blue values of the pixel (x,y), respectively. Thus, a color image with m rows and n columns can be represented by a pure imaginary quaternion matrix (8)A=qijm×n=Ri+Gj+Bk,qij∈Q.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 matrixA∈Qm×n 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 matrixA=A1+A2i+A3j+A4k, where A1,A2,A3,A4∈Rm×n, its real representation can be defined as follows [25, 26]:(9)AR≡A1-A2-A3-A4A2A1-A4A3A3A4A1-A2A4-A3A2A1.The properties of AR are as follows.Theorem 1 (see [27]).
LetA,B∈Qm×n,C∈Qn×s, and a∈R. Then, one has the following: (1)
(A+B)R=AR+BR,(aA)R=aAR,(AC)R=ARCR.(2)
(AH)R=(AR)T.(3)
A∈Qm×m is a unitary matrix if and only if AR is an orthogonal matrix.From (9) and Theorem 1, for the matrix AR, we only need to store the first column block of AR, denoted as(10)AcR=A1A2A3A4.From this notation and Theorem1, we have the following result.Theorem 2.
LetA,B∈Qm×n,C∈Qn×s,q∈Qm, and a∈R. Then, one has the following: (1)
(A+B)cR=AcR+BcR,(aA)cR=aAcR,(AC)cR=ARCcR.(2)
(AH)cR=[(AR)T]c.(3)
AF=AcRF,q2=qcR2.In addition, we have the following results about the SVD of a quaternion matrix and its real representation.Theorem 3.
LetA∈Qm×n. Then, the singular values of AR appear in fours.Therefore, if we want to compute the SVD of anm×n quaternion matrix A, then we can deal with the SVD of the 4m×4n real representation matrix AR. 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 thatA∈Qm×n and AR is the real representation of A. Then, there exist orthogonal matrices U∈R4m×4m and V∈R4n×4n such that(11)UTARV=D0000D0000D0000D,where D∈Rm×n is a bidiagonal matrix.From Theorems3 and 4, the SVD of AR can be obtained by computing the SVD of bidiagonal matrix D. So, we should first get bidiagonal matrix D 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 that0≠y∈Qn is not a multiple of e1; denote u=y-αe1/y-αe1, where (12)
α
=
-
y
1
y
1
y
,
y
1
≠
0
,
-
y
,
otherwise
,αM=diag⁡(α¯/|α|,In-1), and H=αM(I-2uuH), and then H maps y to αe1.This kind of Householder based transformation isH4 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 matrixD 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 partsR,G, and B of matrix A to rearrange as a new real rectangle matrix (13)C=RGB,and then directly use the function “svd” on the real matrix C.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 Table1, we list the numbers of real flops and assignment numbers for computing real SVD for C∈R3m×n and quaternion SVD for A∈Qm×n using a real structure-preserving algorithm, where assignment numbers refer to the number of calling subroutines or performing matrix operations. In matrix operations, say B=AX+Y, we adopt the assignment B=A∗X+Y 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].Table 1
Computation amounts and assignment numbers for real SVD and quaternion SVD.
Real flops Assignment number Real SVD 12 m n 2 + 9 n 3 6 n Quaternion SVD 96 m n 2 + ( 64 / 3 ) n 3 10 nWe 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.
Fork=1:50,m=10∗k,A∈Qm×m, we apply the above three different algorithms to compute the SVD. We compare the CPU times of three algorithms: qSVD in toolbox for A [24], the structure-preserving SVD for A, and the real SVD for C.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 C is the smallest. Particularly, when the matrix is bigger, its superiority is more obvious.Figure 2
Comparison of the SVD algorithms.From the above discussion and Figure2, we see that the algorithm performing the SVD for C is the most efficient. In the next section, we will propose a new double color image watermarking algorithm based on the real SVD for C.


## 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 imageA is a RGB color image of size N×N, where N=2n, and watermark image W is also a RGB color image of size M×M, where M=2m and N≥3M.


### 4.1. Watermark Embedding

Step 1 (color watermark preprocessing).
We shuffle the color watermark imageWk times by Arnold scrambling to obtain W~, where k can be used as the secret key for watermark recovery.Step 2 (partition).
The original RGB host color imageA is divided into nonoverlapping blocks Aij of size d×d pixels, where i,j=1,2,…,M,d=N/M.Step 3 (pixels block rearranging).
The R, G, and B color components ofAij are rearranged as rectangle matrices Cij of 3d×d.Step 4 (performing the SVD).
Perform the SVD forCij: Cij=UijΣijVijT, where Σij=diag⁡σ1ij,…,σdij.Step 5 (embedding).
FormΣ~ij=diag⁡σ1ij,…,σd-3ij,αW~i,jR,αW~i,jG,αW~i,jB, where W~i,jR,W~i,jG, and W~i,jB are red, green, and blue values at (i,j) pixel of W~ and α is the scaling factor. Form C~ij=UijΣ~ijVijT, and then obtain A~i,j from C~ij.


### 4.2. Watermark Extraction

The watermark is extracted as follows.Step 1.
Both the original host imageA and the watermarked image A~ are divided into nonoverlapping blocks Aij and A~ij of size d×d pixels, respectively, where i,j=1,2,…,M,d=N/M.Step 2.
The R, G, and B color components ofAij and A~ij are rearranged as rectangle matrices Cij and C~ij of 3d×d, respectively.Step 3.
Perform the SVD forCij: Cij=UijΣijVijT, and(14)Σ~ij=diag⁡diag⁡UijTC~ijVij=diag⁡σ~1i,j,…,σ~di,j.Step 4.
Extract the watermarks. Set(15)Wi,jR=σ~d-2i,jα,Wi,jG=σ~d-1i,jα,Wi,jB=σ~di,jα.Step 5.
The inverse Arnold scrambling is applied toW=(Wij) to construct the watermark.


## 4.1. Watermark Embedding

Step 1 (color watermark preprocessing).
We shuffle the color watermark imageWk times by Arnold scrambling to obtain W~, where k can be used as the secret key for watermark recovery.Step 2 (partition).
The original RGB host color imageA is divided into nonoverlapping blocks Aij of size d×d pixels, where i,j=1,2,…,M,d=N/M.Step 3 (pixels block rearranging).
The R, G, and B color components ofAij are rearranged as rectangle matrices Cij of 3d×d.Step 4 (performing the SVD).
Perform the SVD forCij: Cij=UijΣijVijT, where Σij=diag⁡σ1ij,…,σdij.Step 5 (embedding).
FormΣ~ij=diag⁡σ1ij,…,σd-3ij,αW~i,jR,αW~i,jG,αW~i,jB, where W~i,jR,W~i,jG, and W~i,jB are red, green, and blue values at (i,j) pixel of W~ and α is the scaling factor. Form C~ij=UijΣ~ijVijT, and then obtain A~i,j from C~ij.


## 4.2. Watermark Extraction

The watermark is extracted as follows.Step 1.
Both the original host imageA and the watermarked image A~ are divided into nonoverlapping blocks Aij and A~ij of size d×d pixels, respectively, where i,j=1,2,…,M,d=N/M.Step 2.
The R, G, and B color components ofAij and A~ij are rearranged as rectangle matrices Cij and C~ij of 3d×d, respectively.Step 3.
Perform the SVD forCij: Cij=UijΣijVijT, and(14)Σ~ij=diag⁡diag⁡UijTC~ijVij=diag⁡σ~1i,j,…,σ~di,j.Step 4.
Extract the watermarks. Set(15)Wi,jR=σ~d-2i,jα,Wi,jG=σ~d-1i,jα,Wi,jB=σ~di,jα.Step 5.
The inverse Arnold scrambling is applied toW=(Wij) 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 size512×512 is taken as the host image, shown in Figure 3(a). A color image Apple of size 64×64 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 α=0.14, 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.Figure 3
512 × 512 host image with scale factor 0.14.
(a)
Original host image (b)
Original watermark (c)
Scrambling watermark (d)
Watermarked host image (e)
Extracted watermark (f)
Recovery watermarkIn the second experiment, we use256×256 color image Lena as host image and 64×64 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).Figure 4
256 × 256 host image with scale factor 0.28.
(a)
Original host image (b)
Original watermark (c)
Scrambling watermark (d)
Watermarked host image (e)
Extracted watermark (f)
Recovery watermarkIn the third experiment, the watermark is the same as in the above two experiments. We use1024×1024 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.Figure 5
1024 × 1024 host image with scale factor 0.14.
(a)
Original host image (b)
Original watermark (c)
Scrambling watermark (d)
Watermarked host image (e)
Extracted watermark (f)
Recovery watermarkThe 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 imageA and the watermarked image A~. PSNR is expressed in decibel (dB) and is defined as (16)PSNR=10lg3N2max⁡Ax,y,k2∑x=1N∑y=1N∑k=13Ax,y,k-A~x,y,k2,where max⁡A(x,y,k) represents the maximum pixel value of a color image, and here it is 255. A(x,y,k) and A~(x,y,k) are the pixel values location at position (x,y,k) 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 L, and MSSIM is defined as (17)MSSIMA,A~=1L∑k=1LSSIMxk,yk,and the formula used for calculating SSIM is as follows: (18)SSIMx,y=2μx∗μx+c12σxy+c2μx2+μy2+c1σx2+σy2+c2,where μx,μy,σx2,σy2, and σxy are the average, variance, and covariance of x and y, respectively. c1 and c2 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 watermarkW and extracted watermark W~, which is defined as (19)NC=∑x=1M∑y=1M∑k=13Wx,y,k×W~x,y,k∑x=1M∑y=1M∑k=13W2x,y,k×∑x=1M∑y=1M∑k=13W~2x,y,k.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 Table2, we list the PSNR values, MSSIM values, NC values, and the CPU times, in which N, 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 512×512 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.Table 2
PSNR, MSSIM, and NC values and CPU times.
Host image N ST SF PSNR MSSIM NC CPU (second) Lena 256 0 0.28 26.5018 0.8942 0.9998 0.3346 Lena 256 1 0.28 26.1693 0.8892 0.9998 0.3363 Lena 256 5 0.28 26.2047 0.8840 0.9998 0.3380 Pepper 512 0 0.14 42.1996 0.9946 0.9995 0.5012 Pepper 512 1 0.14 42.1940 0.9949 0.9994 0.5075 Pepper 512 5 0.14 42.0375 0.9947 0.9995 0.5110 Butterfly 1024 0 0.14 44.3700 0.9954 0.9995 1.4372 Butterfly 1024 1 0.14 44.3636 0.9949 0.9995 1.4226 Butterfly 1024 5 0.14 44.3654 0.9949 0.9995 1.4257


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



---

*Source: 2497379-2016-11-24.xml*