# A Robust and Secure Watermarking Approach Based on Hermite Transform and SVD-DCT
## 4 Proposed HT, DCT, and SVD and Block-Based Watermarking Method
### Watermarking Insertion Process  
Figure 10 shows a schema of the proposed watermarking insertion process. Figure 10: Watermarking insertion process. The reason to use DCT is that, according to [PERSON] et al. [56], block-based watermarking is more effective because we have smaller block sizes and the DCT concentrates the energy. After decomposing the original image into space-frequency bands using the HT, the selected sub-bands were partitioned into \(4\times 4\) blocks. Subsequently, each block was transformed into its DCT representation. On the one hand, an SVD analysis allows high robustness against attacks. On the other hand, the entropy values of the cover image are used to choose the suitable regions for embedding the watermarks, giving an adaptive approach that identifies blocks with high entropy. Thus, HVS values (Equation (19)) in each block are sorted in ascending order, where the lowest values correspond to the best embedding regions. Figure (a)a shows a grayscale image of \(512\times 512\) px, and Figure (b)b represents through a color bar, with descending and normalized values, those regions where a watermark, in this case of \(100\times 100\) px, could be inserted, where high values (light color) correspond to the most-suitable regions and low values (dark color) are the worst regions. In addition, to increase the performance of the image MetaData against attacks and reduce channel distortion, a \((7,4)\) Hamming error-correcting code was applied to the MetaData. Finally, the LOGO image was encrypted using the Jigsaw transform in combination with elementary cellular automata to increase the security of the proposal. The steps of embedding both an image watermark (LOGO) (\(W_{1}\)) and the image MetaData (\(W_{2}\)) are explained next regarding the block diagram of Figure 10:  
* Image watermark (LOGO) \(W_{1}\):
* Input the binary image watermark LOGO of size \(k_{1}\times k_{2}\). * Apply the Jigsaw transform to the LOGO with \(\text{key}_{1}=\mathcal{M}\) as the first secret key, obtaining the watermark matrix \(W_{A}\) of size \(k_{1}\times k_{2}\), where \(\mathcal{M}\) corresponds to the number of non-overlapping subsections of \(s_{1}\times s_{2}\) px. * Convert \(W_{A}\) to binary, obtaining the sequence \(W_{1}\in\mathbb{R}^{1\times L_{lin}}\). * The Jigsaw transform generates the indexes \(idx_{JS}\), which represent the original locations of each subsection of \(s_{1}\times s_{2}\) px. * The ECA algorithm encrypts \(idx_{JS}\) through \(\text{key}_{2}\), obtaining the encrypted indexes \(\text{idx}_{JS_{\_}Enc}\), where \(\text{key}_{2}= \begin{bmatrix}N_{\text{iter}}\\ k\end{bmatrix} \) is the second secret key, with \(N_{\text{iter}}\) representing the number of iterations, and \(k\) is an odd number. Figure 11: Embedding regions to insert a watermarking using the HVS values. (**a**) Grayscale original image. (**b**) The suitable regions to insert a watermark in descending order. Best locations (light color) and worst ones (dark color). * Image MetaData \(W_{2}\):
* Enter the image MetaData as a character string. * Convert each alphanumeric character of the image MetaData into a binary string, obtaining the vector \(V\). * Calculate the \((7,4)\) Hamming code over \(V\), obtaining the vector \(V_{H}\) of length \(P\). * Generate a pseudo-random binary string \(k_{r}\) of length \(P\) with a uniform distribution; \(\text{key}_{3}=k_{r}\) will be the third secret key. * Perform the bitwise operation to obtain the watermark \(W_{2}\): \[W_{2}=(V_{H})\text{XOR}(\text{key}_{3}).\] (20)
* Since the image MetaData size is small compared tothe LOGO image size, an adjustment of the dimensions of \(W_{2}\) by adding binary zeros to correspond to the dimensions of \(W_{1}\in\mathbb{R}^{1\times L_{bin}}\) is performed. * Input host image to watermark:
* Input the host image. For an RGB image, convert it to grayscale, obtaining a matrix \(I(x,y)\) of size \(m_{1}\times n_{1}\). * Perform the Hermite transform decomposition to \(I(x,y)\), to obtain nine coefficients.