# Feature-Based Image Watermarking Algorithm Using SVD and APBT for Copyright Protection
## 3 The Proposed Algorithm
### Watermark Embedding  
Figure 4 shows the procedure of watermarking embedding based on SIFT, SVD, and APBT.  
Step 1. The host image \(I\) is operated by SIFT, and feature points, as well as their parameters of orientation, scaling, and location, can be obtained. All feature points should be screened in the next step.  
Step 2. According to the rules demonstrated in Section 3.1, scales of feature points should be restricted into a certain range, and ultimate feature points can be selected for embedding. Thus, coordinates of final feature points are saved as keys \(K\).  
Step 3. To improve the watermark security, Arnold transform is performed on watermark \(W\) on the basis of Equation (10):  
\[\left[\begin{array}{c}x_{i+1}\\ y_{i+1}\end{array}\right]=\left(\begin{array}{cc}1&b\\ a&ab+1\end{array}\right)\left[\begin{array}{c}x_{i}\\ y_{i}\end{array}\right]\text{mod}(N), \tag{10}\]  
where \((x_{i},y_{i})\) are original coordinates of the image pixel, and \((x_{i+1},y_{i+1})\) are scrambled coordinates. \(a\), \(b\), and \(N\) are positive integers. Additionally, mod means modulo operation, and \(N\) denotes the width of image matrix. After the Arnold transform, the watermark matrix will be encrypted as \(W_{\text{a}}\).  
Step 4. The host image is divided into 4 \(\times\) 4 blocks, and APBT is performed on each block. The first four APBT coefficients at the positions of (1, 1), (1, 2), (2, 1), and (3, 1) are selected according to the zig-zag sequence to form a new coefficients matrix \(M_{\text{c}}\) at the location of (1, 1), (1, 2), (2, 1), and (3, 1) separately in \(M_{\text{c}}\). After all blocks having been operated, this step is completed.  
Step 5. SVD is performed on coefficients matrix to obtain matrix \(S\) of singular values, as well as two orthogonal matrices, \(U\) and \(V\). The encrypted watermark \(W_{\text{a}}\) is embedded into singular values of the coefficients matrix according to Equations (11) and (12):  
\[M_{\text{c}}=USV^{\text{T}}, \tag{11}\]  
\[S_{\text{w}}=S+\alpha\times W_{\text{a}}, \tag{12}\]  
Figure 4: Watermark embedding procedure of the proposed scheme.  
where \(\alpha\) is the scaling factor, determining the performance of the watermarking scheme in robustness and imperceptibility. \(\times\) represents the product of \(\alpha\) and \(W_{\mathrm{a}}\).  
Step 6. SVD is performed on the \(S_{\mathrm{w}}\) in Equation (12) again, which is illustrated by:  
\[S_{\mathrm{w}}=U_{\mathrm{w}}S_{\mathrm{ww}}(V_{\mathrm{w}})^{\mathrm{T}}. \tag{13}\]  
where \(S_{\mathrm{ww}}\) is the singular values matrix of \(S_{\mathrm{w}}\). Additionally, \(U_{\mathrm{w}}\) and \(V_{\mathrm{w}}\) are two orthogonal matrices.  
Step 7. The watermarked coefficients matrix \(M_{\mathrm{cw}}\) is generated by \(S_{\mathrm{ww}}\), \(U\), and \(V\):  
\[M_{\mathrm{cw}}=US_{\mathrm{ww}}V^{\mathrm{T}}. \tag{14}\]  
Step 8. In converse to the Step 4, certain values in the coefficients matrix \(M_{\mathrm{cw}}\) are selected to form the watermarked blocks.  
Step 9. The inverse APBT is performed to obtain the watermarked image \(I_{\mathrm{w}}\).