# A Robust and Secure Watermarking Approach Based on Hermite Transform and SVD-DCT
## 3 Materials and Methods
### Hermite Transform  
The Cartesian Hermite transform is a technique of signal decomposition. To analyze the visual information, it is necessary to use a Gaussian window function \(v^{2}(x,y)=\frac{1}{\sigma\sqrt{\pi}}\exp{(-\frac{x^{2}+y^{2}}{2\sigma^{2}})}\).  
The information within the window is expanded to a family of polynomials \(G_{o,p-o}(x,y)\). These polynomials have the characteristic of orthogonality in the function of the Gaussian window and are defined in terms of the Hermite polynomials as Equation (7):  
\[G_{o,p-o}(x,y)=\frac{1}{\sqrt{2^{p}o!(p-o)!}}H_{o}\Big{(}\frac{x}{\sigma} \Big{)}H_{p-o}\Big{(}\frac{y}{\sigma}\Big{)}, \tag{7}\]  
where \(o\) and \((p-o)\) indicate the analysis order in the spatial directions \(x\) and \(y\), respectively, \(p=0\),..., \(\infty\) and \(o=0\),..., \(p\), \(H_{p}\) are the generalized Hermite polynomials, and \(\sigma^{2}\) represents the variance of the Gaussian window.  
Equation (8) defines the Hermite polynomials.  
\[H_{p}\Big{(}\frac{x}{\sigma}\Big{)}=(-1)^{p}\exp\biggl{(}-\frac{x^{2}}{\sigma^ {2}}\bigg{)}\frac{d^{p}}{dx^{p}}\exp\biggl{(}-\frac{x^{2}}{\sigma^{2}}\bigg{)}. \tag{8}\]  
Convoluting the image \(I(x,y)\) with the Hermite analysis filters \(D_{o,p-o}(x,y)\) followed by a sub-sampling (\(T\)) as follows in Equation (9), we obtained the HT.  
\[I_{o,p-o}(x_{0},y_{0})=\int_{-\infty}^{\infty}\int_{-\infty}^{\infty}I(x,y)D_{o,p-o }(x_{0}-x,y_{0}-y)dxdy, \tag{9}\]  
where \(I_{o,p-o}(x,y)\) are the Cartesian Hermite coefficients:  
\[D_{o,p-o}(x,y)=G_{o,p-o}(-x,-y)v^{2}(-x,-y),\]  
and \((x_{0},y_{0})\) is the spatial position in the sampling lattice \(S\).  
The Hermite filters are obtained by Equation (10):  
\[D_{k}(x)=\frac{(-1)^{k}}{\sqrt{2^{k}k!}}\frac{1}{\sigma\sqrt{\pi}}H_{k}\Big{(} \frac{x}{\sigma}\Big{)}\exp\left(-\frac{x^{2}}{\sigma^{2}}\right), \tag{10}\]  
with \(k=0,1,2,\,\dots,\,\infty\).  
On the other hand, the original image could be reconstructed through Equation (11):  
\[I(x,y)=\sum_{n}^{\infty}\sum_{p=0}^{n}\sum_{(x_{0},y)\in S}I_{o,p-o}(x_{0},y_{ 0})\cdot P_{o,p-o}(x-x_{0},y-y_{0}), \tag{11}\]  
where \(P_{o,p-o}\) are the Hermite synthesis filters of Equation (12) and \(V(x,y)\) is the weight function of Equation (13).  
\[P_{o,p-o}(x,y)=\frac{D_{o,p-o}(x,y)}{V(x,y)}. \tag{12}\]  
\[V(x,y)=\sum_{(x_{0},y_{0})\in S}v^{2}(x-x_{0},y-y_{0})\
eq 0. \tag{13}\]  
For the discrete implementation, we used the binomial window function to approximate the Gaussian window function (Equation (14)):  
\[\omega^{2}(x)=\frac{1}{2^{\mathcal{N}}}C_{\mathcal{N}}^{x},\quad x=0,1,\dots, \mathcal{N}-1,\mathcal{N}, \tag{14}\]  
where \(\mathcal{N}\) represents the order of the binomial window (Equation (15)).  
\[C_{\mathcal{N}}^{x}=\frac{\mathcal{N}!}{(\mathcal{N}-x)!}x!,\quad x=0,1,\dots, \mathcal{N}-1,\mathcal{N}. \tag{15}\]  
Thus, the Krawtchouk polynomials, defined in Equation (16), are the orthogonal polynomials \(G_{o,p-o}(x,y)\) associated with the binomial window.  
\[K_{n}[x]=\frac{1}{\sqrt{C_{\mathcal{N}}^{n}}}\sum_{k=0}^{n}(-1)^{n-k}C_{ \mathcal{N}-x}^{n-k}C_{x}^{k}. \tag{16}\]  
In the discrete implementation, the signal reconstruction from the expansion coefficients is perfect because the window function support is finite (\(\mathcal{N}\)) and the expansion with the Krawtchouk polynomials is also finite. To implement the Hermite transform, it is necessary to select the size of the Gaussian window spread \((\sigma)\), the order \(\mathcal{N}\) for binomial windows, and the subsampling factor that defines the sampling lattice \(S\). The resulting Hermite coefficients are arranged as a set of (\(\mathcal{N}\times\mathcal{N}\)) equally sized sub-bands: one coarse sub-band \(I_{0,0}\) representing a Gaussian-weighted image average and detail sub-bands \(I_{n,m}\) corresponding to higher-order Hermite coefficients, as we can see in Figure 9.  
representation: \((o,p-o)=\left[\begin{array}{c}0.0\ 1.0\ 2.0\ 3.0\ 4.0\\ 0.1\ 1.1\ 2.1\ 3.1\ 4.1\\ 0.2\ 1.2\ 2.2\ 2.3\ 2.2\ 4.2\\ 0.3\ 1.3\ 2.3\ 3.3\ 4.3\\ 0.4\ 1.4\ 2.4\ 3.4\ 4.4\\ \end{array}\right].\)