# Compressive Sampling with Multiple Bit Spread Spectrum-Based Data Hiding
## 3 Data Hiding Model  
### An Overcomplete Dictionary with SS-Based Content  
In this proposed method, firstly, we convert the audio host to the frequency domain using DCT in the process before applying insertion and compression. In the audio receiver, after being reconstructed or decompressed, the reconstructed audio is re-converted to the time domain with IDCT. The DCT and Inverse DCT (IDCT) formulations used for this method are in the following equation [16]:  
\[X(k)=w(k)\sum_{n=0}^{N_{p}-1}x(n)\cos\left(\frac{\pi(2n-1)(k-1)}{2N_{p}}\right) \tag{8}\]  
\[x(n)=\frac{2}{N_{p}+1}\sum_{k=0}^{N_{p}-1}l(k)X(k)\cos\left(\frac{\pi(2n-1)(k-1 )}{2N_{p}}\right), \tag{9}\]where \(X(k)\) is the audio signal in the DCT domain, \(x(n)\) is the audio signal in the time domain, and \(N_{p}\) is the number of DCT points. \(l(k)\) is defined in the following equation:  
\[l(k)= \begin{cases}\frac{1}{\sqrt{N}}\text{, if }k=0\\ \frac{2}{\sqrt{N}}\text{, if }1\leq k\leq N_{p}-1\end{cases} . \tag{10}\]  
After transforming the signal to the frequency domain by DCT, we apply the signal to the SVD decomposition as displayed in Figure 1. In detail, compression and embedding procedure is described at Table 1.  
In this paper, the orthogonal code mapping to multiple bit watermarks is a Hadamard sequence taken from the Hadamard matrix. Denote the Hadamard matrix \(\mathbf{H}_{r}\in\{-1,+1\}^{r\times r}\) generated by [17; 18] as:  
\[\mathbf{H}_{r}= \begin{bmatrix}\mathbf{H}_{r\backslash 2}&\mathbf{H}_{r\backslash 2 }\\ \mathbf{H}_{r\backslash 2}&-\mathbf{H}_{r\backslash 2}\end{bmatrix} , \tag{11}\]  
where \(\mathbf{H}_{1}=[1]\). Assume \(\mathbf{H}_{r}(j)\) is a vector from the \(j^{\text{th}}\) row of \(\mathbf{H}_{r}\), then the orthogonal Hadamard sequence \(\mathbf{p}_{j}\), where \(j=1,2,...,r\), is obtained from:  
\[\mathbf{p}_{j}=\mathbf{H}_{r}(j). \tag{12}\]  
Let \(\mathbf{A}_{0}\in\{-1,+1\}^{p\times r}\) be an SS-based content matrix, where \(p<r\), and \(\mathbf{p}_{t_{i}}\in\mathbb{R}^{1\times r}\) is a Hadamard sequence associated with the watermark bits in the \(i^{\text{th}}\) row of \(\mathbf{A}_{0}\). Let \(t_{i}=\{t_{1},t_{2},...,t_{p}\}\) be the set of Hadamard sequence indices where \(i\) is a row index of \(\mathbf{A}_{0}\). Thus, \(\mathbf{A}_{0}\) contains \(\mathbf{p}_{t_{i}}\) as:  
\[\mathbf{A}_{0}= \begin{bmatrix}\mathbf{p}_{t_{1}}\\ \mathbf{p}_{t_{2}}\\ \vdots\\ \mathbf{p}_{t_{p}}\end{bmatrix} , \tag{13}\]  
where the semicolon from (13) restricts each \(\mathbf{p}_{t_{i}}\) to the different row. Since there are \(p\) rows of \(\mathbf{A}_{0}\), there are \(p\) Hadamard sequences in \(\mathbf{A}_{0}\). Thus, we have an over-complete dictionary \(\mathbf{A}\in\mathbb{R}^{p\times r}\):  
\[\mathbf{A}=\frac{1}{p}\mathbf{A}_{0}, \tag{14}\]  
with the unit norm of its columns: \(\|a_{m}\|_{2}^{2}=1\), where \(m=1,2,...,r\). A Hadamard sequence represents multiple watermark bits. Assume that there are \(N_{s}\) watermark bits for a Hadamard sequence, then there are \(N_{p}\) different Hadamard sequence possibilities, where \(N_{p}=2^{N_{s}}\). Note that the length of a Hadamard sequence and also the row of matrix \(\mathbf{A}\) is \(r\) bits, thus \(r=N_{p}\) due to the square size of Hadamard matrix as (11). Denote \(\mathbf{w}_{t_{i}}\) as a watermark vector in the \(i^{\text{th}}\) segment of the watermark with a vector index or a Hadamard index \(t_{i}\), then:  
\[\mathbf{w}_{t_{i}}=[w_{t_{i}}(1)\quad w_{t_{i}}(2)\quad\cdots\quad w_{t_{i}}( N_{s})], \tag{15}\]  
where \(w_{t_{i}}(l)\in\{-1,+1\}\) and \(l=1,2,...,N_{s}\). In multi-bit SS, the watermark vector \(\mathbf{w}_{t_{i}}\) is mapped to a Hadamard sequence \(\mathbf{p}_{t_{i}}\).