# An Improved Product Code-Based Data Hiding Scheme
## 5 Proposed Scheme Combined with Hamming+1
_For \(i=1\) to 7_  
If (there exists at least one bit 1 in the row \(i\) of \(\mathbf{T^{\prime\prime}}\))  
If (\(z_{i}\) and \(m_{i}\) are not equal)  
randomly choose a pixel, said \(p_{i,k}\) that must be changed //suppose we choose the first one  
If (LSB(\(p_{i,k}\))=1) \(p_{i,k}=p_{i,k}+1\)  
Else \(p_{i,k}=p_{i,k}-1\)  
mark the pixel  
Else  
If (\(z_{i}\) and \(m_{i}\) are not equal)  
change the LSB of \(p_{i,8}\)  
_For \(i=1\) to 7_  
_For \(j=1\) to 7_  
If (\(\mathbf{T^{\prime\prime}}_{ij}\)=1) and (\(p_{ij}\) is not marked) // \(\mathbf{T^{\prime\prime}}_{ij}\)denotes the element of \(i\)-th row and \(j\)-th column of \(\mathbf{T^{\prime\prime}}\)  
change the LSB of \(p_{ij}\)  
_\(<\)Extracting\(>\)_  
_Step 1_: (\(\mathbf{m_{1}}\), \(\mathbf{m_{2}}\),..., \(\mathbf{m_{11}}\)) is extracted by the same extracting process of Section 4.2. _Step 2_:  
\[m_{i}=sy_{i,1}\oplus sy_{i,2}\oplus\ldots\oplus sy_{i,7}\oplus y_{i,8},\ 1\leq i\leq 7. \tag{3}\]  
**Example 1. **_The additional seven secret bits (\(m_{1}\), \(m_{2}\),..., \(m_{7}\)) = (0, 0, 1, 0, 0, 1, 0). The cover array of \(7\times 8\) pixels, the array of LSB slicing bits for the last column of \(\mathbf{PX}\), and the array of SLSB slicing bits for the first seven columns of \(\mathbf{PX}\) are respectively as follows:_  
\[\mathbf{PX}=\left[ \begin{array}{cccccccc}80&81&82&82&83&80&81&81\\ 81&81&80&81&81&81&82&82\\ 80&80&81&81&81&82&82\\ 81&80&81&84&84&83&84&84\\ 81&81&82&84&84&84&85&85\\ 80&80&82&83&83&83&84&83\\ 81&81&82&83&82&82&84&83\end{array} \right],\mathbf{X_{8}}=\left[ \begin{array}[] {c}1\\ 0\\ 0\\ 0\\ 1\\ 1\\ 1\\ 1\\ \end{array} \right],\ \mathbf{SX}=\left[ \begin{array}{cccccccc}0&0&1&1&1&0&0\\ 0&0&0&0&0&0&1\\ 0&0&0&0&0&0&1\\ 0&0&0&0&0&1&0\\ 0&0&1&0&0&0&0\\ 0&0&1&1&1&1&0\\ 0&0&1&1&1&1&0\end{array} \right].\]  
_\(<\)Embedding\(>\)_  
From Equation (2), we have (\(z_{1}\), \(z_{2}\),..., \(z_{7}\)) = (0, 1, 1, 1, 0, 1, 1). Since \(m_{2}\
eq z_{2}\), \(m_{4}\
eq z_{4}\), and \(m_{7}\
eq z_{7}\), so the three pixels \(p_{2,2}\), \(p_{4,1}\), and \(p_{7,5}\) are marked; and \(p_{2,2}\) = \(p_{2,2}+1\), \(p_{4,1}=p_{4,1}+1\), and \(p_{7,5}=p_{7,5}-1\). Then, according to the toggle array \(\mathbf{T^{\prime\prime}}\), the LSBs of the other pixels are modified accordingly. Further, there exists at least one bit 1 in each row of \(\mathbf{T^{\prime\prime}}\), so all of the pixel values in the last column of \(\mathbf{PX}\) do not need to be changed. Now, we have  
\[\mathbf{PY}=\left[ \begin{array}{cccccccc}80&\underline{81}&82&\overline{83} &83&\overline{81}&\overline{80}&81\\ 81&\overline{82}&80&81&81&81&82&82\\ 80&\overline{81}&81&\overline{80}&81&82&82\\ \overline{82}&80&81&84&84&83&\overline{85}&84\\ \overline{80}&81&82&84&84&84&85&85\\ \overline{81}&80&82&83&\overline{82}&83&84&83\\ 81&81&82&83&81&82&84&83\end{array} \right].\]  
_\(<\)Extracting\(>\)__Step 1_: From message block \(\mathbf{M}\) of Section 4.3.2, (\(\mathbf{m_{1}}\), \(\mathbf{m_{2}}\), \(\mathbf{m_{3}}\), \(\mathbf{m_{4}}\), \(\mathbf{m_{5}}\), \(\mathbf{m_{6}}\), \(\mathbf{m_{7}}\), \(\mathbf{m_{8}}\), \(\mathbf{m_{9}}\)) = (011, 111, 101, 011, 100, 010, 110, 101, 100, 011, 000). _Step 2_: From Equation (3), the additional secret bit vector (\(m_{1}\), \(m_{2}\), \(\ldots\), \(m_{7}\)) = (0, 0, 1, 0, 0, 1, 0) is obtained. **Property 3**. : _Usually, there is at least one bit 1 in each row of toggle array \(\mathbf{T^{\prime}}\) obtained in the proposed 2 DTS-1 scheme, hence the additional cover pixels don't need to be modified._