# Stripe-Based Futurism-like Image--A New Type of Art and Its Application to Cover Communication
## 3 Data Embedding and Extraction via Art Images
### Proposed Data Hiding Process
Trace the boundaries of the regions in the input cover image \(S\) to obtain the adjusted regions \(R_{1}\), \(R_{2}\),..., \(R_{k}\) in \(S\), and the chain-code sequence \(\{\)\(P_{xyz}\), \(P_{yj}\)\(\}\), \(j=1,2,\ldots,n_{i}\)\(\}\) of each \(R_{i}\) (\(i=1\) through \(k\)), as well as the information of some parameters of the regions, namely, the start points (\(S_{x1}\), \(S_{y1}\)), (\(S_{x2}\), \(S_{y2}\)),..., (\(S_{sk}\), \(S_{yk}\)), the region directions \(D_{1}\), \(D_{2}\),..., \(D_{k}\), and the average RGB color values (\(C_{r1}\), \(C_{g1}\), \(C_{b1}\)), (\(C_{r2}\), \(C_{g2}\), \(C_{b2}\)),..., (\(C_{rk}\), \(C_{gk}\), \(C_{bk}\)) of \(R_{1}\), \(R_{2}\),..., \(R_{k}\), respectively. 8. Rearrange randomly the _processing order_ of the regions by the secret key \(K\), resulting in a new coloring sequence \(C_{s}=\{\)\(R_{1}\)\({}^{\prime}\), \(R_{2}\)\({}^{\prime}\),..., \(R_{k}\)\({}^{\prime}\)\(\}\); and change accordingly the corresponding orders of the start points, the region directions, and the average RGB color values, resulting in the new orders of (\(S_{x1}\), \(S_{y1}\)), (\(S_{x2}\)\({}^{\prime}\), \(S_{y2}\)),..., (\(S_{sk}\)\({}^{\prime}\), \(S_{yk}\)), \(D_{1}\)\({}^{\prime}\), \(D_{2}\)\({}^{\prime}\),..., \(D_{k}\)\({}^{\prime}\), and (\(C_{r1}\), \(C_{g1}\)\({}^{\prime}\), \(C_{b1}\)\({}^{\prime}\)), (\(C_{z2}\)\({}^{\prime}\), \(C_{g2}\)
### Proposed Secret Message Extraction Process

Before the data extraction process, the start point and the next boundary point of each region have to be found, which are then used to fetch the first direction of the chain code. After obtaining the information, all the chain codes of the region can be extracted, by which the entire region can be recovered. Then, the chain codes of the region can be used to reconstruct the process of partitioning the stripes and acquiring the secret message. In addition, the mapping order in the mapping table has to be constructed by utilizing the secret key. Based on the resulting mapping table, the secret message embedded in the stego-image can be retrieved accordingly. The detailed process of the secret data extraction process is given as Algorithm 3 in the following. ```
0: a stego-image \(S\) and a secret key \(K\) identical to that used in Algorithm 2. 0:
1. [label=Step 0.0]
2. _Stage 1--Reconstructing the data hiding sequence while retrieving the chain codes._
3. _Step 2_ 1. _[label=Step 0.0]
4. _Step 3_ 2. _[label=Step 0.0]
5. _Step 4_ 3. _Step 5_ 4. * Mark a pixel with the color black (0, 0, 0) as a region boundary pixel, and a pixel with the near-like color (0, 1, 0) as a pixel of an inter-stripe partition line. * Retrieve the processing order of the regions by using the secret key \(K\) and denote the resulting new order of the regions as \(R_{1}\)', \(R_{2}\)',..., \(R_{n}\)'. * Acquire the chain-code sequence of each region \(R_{i}\)' via the start points (\(S_{\text{xi}^{\prime}}\), \(S_{\text{yi}^{\prime}}\)), which is also the first point of the chain-code boundary points (\(P_{\text{xxi}^{\prime}}\), \(P_{\text{yyi}^{\prime}}\)), and the second boundary point (\(P_{\text{xxi}^{\prime}}\), \(P_{\text{yy2}^{\prime}}\)) by performing Step 5 of Algorithm 1. * Perform Step 9 of Algorithm 1 to obtain the region directions \(D_{1}\)', \(D_{2}\)',..., \(D_{n}\)' of the regions \(R_{1}\)' through \(R_{n}\)'. * Obtain the stripe width \(W_{s}\) by checking the distance of two neighboring partition lines of any stripe in any region. _Stage 2--Extracting the embedded secret message \(M\)._
* Create an empty bit sequence \(Q\) initially. * Create a bit mapping table as shown in Table 2 with the mappings decided by the secret key \(K\). * Extract the secret message bits from each region \(R_{i}\)' (\(i=1\) through \(n\)) by reversing the process of partitioning stripes in the following steps. * Use the region direction \(D_{i}\)' and the start point (\(S_{\text{xi}^{\prime}}\), \(S_{\text{yi}^{\prime}}\)) to partition the region \(R_{i}\)' into stripes according to the stripe width \(W_{s}\) in order.