# An Advanced Reversible Data Hiding Algorithm Using Local Similarity, Curved Surface Characteristics, and Edge Characteristics in Images

^{1}

^{2}

^{*}

## Abstract

**:**

## 1. Introduction

## 2. Adjacent Pixel Difference (APD)

_{1}(peak point 1) and PP

_{2}(peak point 2), respectively. The pixel values with zero frequencies located closest to the left and right of PP

_{1}and PP

_{2}are CZP

_{1}(closest zero point 1) and CZP

_{2}(closest zero point 2), respectively. Figure 1a shows that CZP

_{1}= 33, PP

_{1}= 153, PP

_{2}= 154, and CZP

_{2}= 235.

_{1}) and h(PP

_{2}). The variable h(PP

_{1}) represents the frequency of the pixel value PP

_{1}.

_{1}) is 25,010 bits, and h(PP

_{2}) is 23,414 bits. These values were much larger than those in Figure 1a. In the APD technique, as the histogram of D was shifted to embed confidential data, the maximum number of data bits that could be embedded was h(PP

_{1}) + h(PP

_{2}) = 48,424 bits, which was the sum of the frequencies at peak points PP

_{1}and PP

_{2}. Therefore, the APD technique could embed 42,723 more bits than the NSAS technique, and the number of confidential data bits that could be embedded was 8.5 times more than the ones embedded in NSAS.

_{1}) + h(PP

_{2}), as shown in Step 5 of Figure 2. The symbol (PP

_{j}, CZP

_{j}) used in Equation (2) of Figure 2 represents a set of integers greater than PP

_{j}and less than CZP

_{j}. If PP

_{j}is 1 and CZP

_{j}is 5, then (1, 5) is {2, 3, 4}. The symbol [PP

_{j}+sd

_{j}, CZP

_{j}] used in Equation (7) of Figure 3 represents a set of integers greater than or equal to PP

_{j}+sd

_{j}and less than or equal to CZP

_{j}. If PP

_{j}+sd

_{j}is 1 and CZP

_{j}is 5, then [1,5] is {1, 2, 3, 4, 5}.

_{1}= 0, PP

_{2}= 1, h(PP

_{1}) = 8, and h(PP

_{2}) = 7. Therefore, the number of data bits that can be embedded in the cover image is h(PP

_{1}) + h(PP

_{2}) = 15 bits. As shown in Figure 4, the stego-image generated by embedding confidential data in the cover image was slightly different from the original cover image, and the image quality of the stego-image was slightly degraded. As shown in Figure 5, the confidential data was extracted from the stego-image without loss, and the original cover image was recovered without distortion. Therefore, the APD technique could be used in digital image watermarking, military, and medical applications.

## 3. Proposed Algorithm

_{1}calculated based on the local similarity was compared with the threshold (β). If dev1 is below β, the surface characteristic at the current location is examined. If any one characteristic of flat, simple inclined, simple convex, and simple concave surfaces exists, the predicted value (V

_{2}or V

_{3V}or V

_{3C}) is calculated according to the procedure specified to reflect the corresponding surface characteristic.

_{1}is used as the predicted value. The rounded value of the predicted value (V

_{1}or V

_{2}or V

_{3V}or V

_{3C}) is used as the predicted pixel value.

_{4S}or V

_{4N}or V

_{4W}) is calculated according to the procedure specified to reflect the corresponding edge characteristic. The rounded value of the predicted value (V

_{4S}or V

_{4N}or V

_{4W}) is used as the predicted pixel value.

- Step 1.1:
- If pixel values are predictable at the current location, Step 1.2 is executed. Otherwise, the pixel value of the cover image becomes the predicted pixel value.
- Step 1.2:
- Based on local similarity, the predicted value V
_{1}, which is calculated using the neighboring pixels and their locational weights, is obtained. At location ①, V_{1}is calculated as shown in Equation (9). The coordinates of location ① are (x_{i}, y_{j}). The coordinates of pixels with pixel values M, N, O, and R are (x_{i+1}, y_{j−1}), (x_{i}, y_{j−1}), (x_{i−1}, y_{j−1}), and (x_{i−1}, y_{j}), respectively. In Equation (9), P(x, y) represents the pixel value at the coordinates (x, y). As shown in Figure 7a, M, N, O, and R are 155, 155, 158, and 160, respectively. As shown in Equation (9), the influence weight of adjacent pixels (M, N, O, and R) on V_{1}is set to 1. The influence weight of the remaining pixels (A, B, C, D, E, L, P, and Q) on V_{1}is represented by α.$$\begin{array}{ll}{\mathrm{V}}_{1}\left({\mathrm{x}}_{\mathrm{i}},{\text{}\mathrm{y}}_{\mathrm{j}}\right)& =[\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}+1},{\text{}\mathrm{y}}_{\mathrm{j}-1}\right)+\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}},{\text{}\mathrm{y}}_{\mathrm{j}-1}\right)+\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}-1},{\text{}\mathrm{y}}_{\mathrm{j}-1}\right)+\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}-1},{\text{}\mathrm{y}}_{\mathrm{j}}\right)+\{\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}-2},{\text{}\mathrm{y}}_{\mathrm{j}-2}\right)\\ & +\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}-1},{\text{}\mathrm{y}}_{\mathrm{j}-2}\right)+\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}},{\text{}\mathrm{y}}_{\mathrm{j}-2}\right)+\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}+1},{\text{}\mathrm{y}}_{\mathrm{j}-2}\right)+\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}+2},{\text{}\mathrm{y}}_{\mathrm{j}-2}\right)+\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}+2},{\text{}\mathrm{y}}_{\mathrm{j}-1}\right)\\ & +\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}-2},{\text{}\mathrm{y}}_{\mathrm{j}-1}\right)+\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}-2},{\text{}\mathrm{y}}_{\mathrm{j}}\right)\text{}\}\xb7\mathsf{\alpha}]/\left\{4+8\xb7\mathsf{\alpha}\right\}\end{array}$$ - Step 1.3:
- To determine the degree of local similarity, the deviation 1 (dev1) between V
_{1}and the neighboring pixel values is calculated as shown in Equation (10).$$\begin{array}{ll}\mathrm{dev}1\left({\mathrm{x}}_{\mathrm{i}},{\mathrm{y}}_{\mathrm{j}}\right)& =\mathrm{abs}\left({\mathrm{V}}_{1}-\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}+1},{\mathrm{y}}_{\mathrm{j}-1}\right)\right)+\mathrm{abs}\left({\mathrm{V}}_{1}-\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}},{\mathrm{y}}_{\mathrm{j}-1}\right)\right)+\mathrm{abs}\left({\mathrm{V}}_{1}-\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}-1},{\mathrm{y}}_{\mathrm{j}-1}\right)\right)\\ & +\mathrm{abs}\left({\mathrm{V}}_{1}-\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}-1},{\mathrm{y}}_{\mathrm{j}}\right)\right)+\{\mathrm{abs}\left({\mathrm{V}}_{1}-\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}-2},{\mathrm{y}}_{\mathrm{j}-2}\right)\right)+\mathrm{abs}\left({\mathrm{V}}_{1}-\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}-1},{\mathrm{y}}_{\mathrm{j}-2}\right)\right)\\ & +\mathrm{abs}\left({\mathrm{V}}_{1}-\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}},{\mathrm{y}}_{\mathrm{j}-2}\right)\right)+\mathrm{abs}\left({\mathrm{V}}_{1}-\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}+1},{\mathrm{y}}_{\mathrm{j}-2}\right)\right)+\mathrm{abs}\left({\mathrm{V}}_{1}-\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}+2},{\mathrm{y}}_{\mathrm{j}-2}\right)\right)\\ & +\mathrm{abs}\left({\mathrm{V}}_{1}-\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}+2},{\mathrm{y}}_{\mathrm{j}-1}\right)\right)+\mathrm{abs}\left({\mathrm{V}}_{1}-\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}-2},{\mathrm{y}}_{\mathrm{j}-1}\right)\right)+\mathrm{abs}\left({\mathrm{V}}_{1}-\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}-2},{\mathrm{y}}_{\mathrm{j}}\right)\right)\}\xb7\mathsf{\alpha}\end{array}$$ - Step 1.4:
- The obtained dev1 is compared with the threshold (β).
- Step 1.5:
- If dev1 is less than β, it is determined that the image at the location has a small change in pixel values and a very high local similarity. In this case, Step 1.6 to 1.9 are executed to calculate the predicted value using flat surface, simple inclined surface, simple convex surface, and simple concave surface characteristics. If dev1 is equal to or greater than β, the image at the location is determined as a boundary area with a large change in pixel values. In this case, Step 1.A to 1.E are executed to calculate the predicted value using edge characteristics.
- Step 1.6:
- The surface characteristic of the image is estimated at that location. The process of estimating the surface characteristic of the image at location ① is as follows: The equation of a straight line passing through any two points (x
_{1}, y_{1}) and (x_{2}, y_{2}) is given by Equation (11). Using Equation (11), the linear equation between adjacent pixels may be determined. Between the pixel having the O value and the adjacent pixel having the N value, a linear equation can be obtained that takes into account only the X-axis direction for the pixel value. That is, the equation E_{L}(x) of a straight line passing through (x_{i−1}, O) and (x_{i}, N) is expressed by Equation (12). In the same way, taking into account only the X-axis direction for the pixel values between N and M, the linear equation E_{R}(x) is represented by Equation (13). In addition, taking into account only the X-axis direction for the pixel values between R and N, the linear equation E_{LD}(x) is represented by Equation (14). If all gradients of Equations (12) to (14) are greater than zero, the surface characteristic is estimated as a simple inclined surface where the pixel value on the right is greater than that on the left. If all gradients of Equations (12) to (14) are less than zero, the surface characteristic is estimated as a simple inclined surface whose left pixel value is greater than the right pixel value. If all gradients of Equations (12) to (14) are zero, the surface characteristic is estimated as a flat surface.If the surface characteristic in the X-axis direction at location ① is a simple inclined surface or a flat surface, the predicted value V_{2}(x_{i}, y_{j}) at location ① is calculated using Equation (15). Thereafter, the rounded value of V_{2}is used as the predicted pixel value at location ①. If location ① is not a simple inclined surface or flat surface, Step 1.7 is executed to check the presence of curved surface characteristics at location ①.$$\mathrm{y}=\{({\mathrm{y}}_{2}-{\mathrm{y}}_{1})/\left({\mathrm{x}}_{2}-{\mathrm{x}}_{1}\right)\}\text{}\left(\mathrm{x}-{\mathrm{x}}_{1}\right)+{\mathrm{y}}_{1}$$$${\mathrm{E}}_{\mathrm{L}}\left(\mathrm{x}\right)=\left\{\left(\mathrm{N}-\mathrm{O}\right)/\left({\mathrm{x}}_{\mathrm{i}}-{\mathrm{x}}_{\mathrm{i}-1}\right)\right\}\text{}\left(\mathrm{x}-{\mathrm{x}}_{\mathrm{i}-1}\right)+\mathrm{O}$$$${\mathrm{E}}_{\mathrm{R}}\left(\mathrm{x}\right)=\left\{\left(\mathrm{M}-\mathrm{N}\right)/\left({\mathrm{x}}_{\mathrm{i}+1}-{\mathrm{x}}_{\mathrm{i}}\right)\right\}\text{}\left(\mathrm{x}-{\mathrm{x}}_{\mathrm{i}}\right)+\mathrm{N}$$$${\mathrm{E}}_{\mathrm{LD}}\left(\mathrm{x}\right)=\left\{\left(\mathrm{N}-\mathrm{R}\right)/\left({\mathrm{x}}_{\mathrm{i}}-{\mathrm{x}}_{\mathrm{i}-1}\right)\right\}\text{}\left(\mathrm{x}-{\mathrm{x}}_{\mathrm{i}-1}\right)+\mathrm{R}$$$${\mathrm{V}}_{2}\left({\mathrm{x}}_{\mathrm{i}},{\mathrm{y}}_{\mathrm{j}}\right)=\left(\mathrm{M}+\mathrm{N}+\mathrm{O}+\mathrm{R}\right)/4$$ - Step 1.7:
- The avg(x
_{i}, y_{j}), which is the average of the neighboring 11 pixels, is calculated using Equation (16). The dev2(x_{i}, y_{j}), which is the deviation between avg(x_{i}, y_{j}) and the neighboring pixels, is calculated using Equation (17). If dev2(x_{i}, y_{j}) is equal to or less than the reference value (ε), Step 1.8 is executed because location ① has a gently changing curved surface characteristic. If dev2(x_{i}, y_{j}) is larger than ε, the rounded value of V_{1}(x_{i}, y_{j}) is used as the predicted pixel value.$$\begin{array}{ll}\mathrm{avg}\left({\mathrm{x}}_{\mathrm{i}},{\mathrm{y}}_{\mathrm{j}}\right)& =\{\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}-2},{\mathrm{y}}_{\mathrm{j}-2}\right)+\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}-1},{\mathrm{y}}_{\mathrm{j}-2}\right)+\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}},{\mathrm{y}}_{\mathrm{j}-2}\right)+\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}+1},{\mathrm{y}}_{\mathrm{j}-2}\right)+\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}+2},{\mathrm{y}}_{\mathrm{j}-2}\right)\\ & +\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}+1},{\mathrm{y}}_{\mathrm{j}-1}\right)+\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}},{\mathrm{y}}_{\mathrm{j}-1}\right)+\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}-1},{\mathrm{y}}_{\mathrm{j}-1}\right)+\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}-2},{\mathrm{y}}_{\mathrm{j}-1}\right)+\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}-2},{\mathrm{y}}_{\mathrm{j}}\right)\\ & +\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}-1},{\mathrm{y}}_{\mathrm{j}}\right)\text{}\}/11\end{array}$$$$\begin{array}{ll}\mathrm{dev}2\left({\mathrm{x}}_{\mathrm{i}},{\mathrm{y}}_{\mathrm{j}}\right)& =\left|\mathrm{avg}-\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}-2},{\mathrm{y}}_{\mathrm{j}-2}\right)|+|\mathrm{avg}-\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}-1},{\mathrm{y}}_{\mathrm{j}-2}\right)\right|\\ & +\left|\mathrm{avg}-\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}},{\mathrm{y}}_{\mathrm{j}-2}\right)|+|\mathrm{avg}-\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}+1},{\mathrm{y}}_{\mathrm{j}-2}\right)|+|\mathrm{avg}-\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}+2},{\mathrm{y}}_{\mathrm{j}-2}\right)\right|\\ & +\left|\mathrm{avg}-\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}+1},{\mathrm{y}}_{\mathrm{j}-1}\right)|+|\mathrm{avg}-\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}},{\mathrm{y}}_{\mathrm{j}-1}\right)|+|\mathrm{avg}-\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}-1},{\mathrm{y}}_{\mathrm{j}-1}\right)\right|\\ & +\left|\mathrm{avg}-\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}-2},{\mathrm{y}}_{\mathrm{j}-1}\right)\right|+\left|\mathrm{avg}-\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}-2},{\mathrm{y}}_{\mathrm{j}}\right)\right|+\left|\mathrm{avg}-\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}-1},{\mathrm{y}}_{\mathrm{j}}\right)\right|\end{array}$$ - Step 1.8:
- If the values of the neighboring pixels satisfy Equations (18) to (21), it is assumed that location ① has simple convex surface characteristic. The predicted value V
_{3V}(x_{i}, y_{j}) at location ① is calculated as shown in Equation (26) using Equations (22) to (25). Taking into account only the X-axis direction for the pixel values between Q and R, A and O, and E and M, the linear equations con0[x], con1[x], and con3[x] are represented by Equations (22), (23), and (25), respectively. Similarly, taking into account only the Y-axis direction for the pixel values between C and N, the linear equation is represented by Equation (24). The rounded value of V_{3V}(x_{i}, y_{j}) is used as the predicted pixel value. If all Equations (18) to (21) are not satisfied, Step 1.9 is executed to check the presence of simple concave surface characteristic at location ①$$\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}-2},{\mathrm{y}}_{\mathrm{j}}\right)<\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}-1},{\mathrm{y}}_{\mathrm{j}}\right)$$$$\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}-2},{\mathrm{y}}_{\mathrm{j}-2}\right)<\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}-1},{\mathrm{y}}_{\mathrm{j}-1}\right)$$$$\text{}\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}},{\mathrm{y}}_{\mathrm{j}-2}\right)\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}},{\mathrm{y}}_{\mathrm{j}-1}\right)$$$$\text{}\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}+2},{\mathrm{y}}_{\mathrm{j}-2}\right)\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}+1},{\mathrm{y}}_{\mathrm{j}-1}\right)$$$$\mathrm{con}0\left[\mathrm{x}\right]=\left\{\left(\mathrm{R}-\mathrm{Q}\right)/\left({\mathrm{x}}_{\mathrm{i}-1}-{\mathrm{x}}_{\mathrm{i}-2}\right)\right\}\text{}\left(\mathrm{x}-{\mathrm{x}}_{\mathrm{i}-2}\right)+\mathrm{Q}$$$$\mathrm{con}1\left[\mathrm{x}\right]=\left\{\left(\mathrm{O}-\mathrm{A}\right)/\left({\mathrm{x}}_{\mathrm{i}-1}-{\mathrm{x}}_{\mathrm{i}-2}\right)\right\}\text{}\left(\mathrm{x}-{\mathrm{x}}_{\mathrm{i}-2}\right)+\mathrm{A}$$$$\mathrm{con}2\left[\mathrm{y}\right]=\left\{\left(\mathrm{N}-\mathrm{C}\right)/\left({\mathrm{y}}_{\mathrm{i}-1}-{\mathrm{y}}_{\mathrm{i}-2}\right)\right\}\text{}\left(\mathrm{y}-{\mathrm{y}}_{\mathrm{i}-2}\right)+\mathrm{C}$$$$\mathrm{con}3\left[\mathrm{x}\right]=\left\{\left(\mathrm{M}-\mathrm{E}\right)/\left({\mathrm{x}}_{\mathrm{i}+1}-{\mathrm{x}}_{\mathrm{i}+2}\right)\right\}\text{}\left(\mathrm{x}-{\mathrm{x}}_{\mathrm{i}+2}\right)+\mathrm{E}$$$$\begin{array}{ll}{\mathrm{V}}_{3\mathrm{X}}\left({\mathrm{x}}_{\mathrm{i}},{\mathrm{y}}_{\mathrm{j}}\right)& =\{\mathrm{K}\xb7\mathrm{avg}\left({\mathrm{x}}_{\mathrm{i}},{\mathrm{y}}_{\mathrm{j}}\right)+\mathrm{con}0\left[{\mathrm{x}}_{\mathrm{i}}\left]+\mathrm{con}1\right[{\mathrm{x}}_{\mathrm{i}}\left]+\mathrm{con}2\right[{\mathrm{y}}_{\mathrm{j}}\right]\\ & +\mathrm{con}3\left[{\mathrm{x}}_{\mathrm{i}}\right]\}/\left\{\mathrm{K}+4\right\}\text{}\mathrm{where}\text{}\mathrm{x}\in \left\{\mathrm{v},\mathrm{c}\right\}\end{array}$$ - Step 1.9:
- If the values of the neighboring pixels satisfy Equations (27) to (30), it is assumed that location ① has simple concave surface characteristic. The predicted value V
_{3C}(x_{i}, y_{j}) at location ① is calculated as shown in Equation (26) using Equations (22) to (25). The rounded value of V_{3C}(x_{i}, y_{j}) is used as the predicted pixel value at location ①. If all Equations (27) to (30) are not satisfied, location ① is neither a simple convex surface nor a simple concave surface. Thus, the rounded value of V_{1}(x_{i}, y_{j}) is used as the predicted pixel value at location ①.$$\text{}\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}-2},{\mathrm{y}}_{\mathrm{j}}\right)\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}-1},{\mathrm{y}}_{\mathrm{j}}\right)$$$$\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}-2},{\mathrm{y}}_{\mathrm{j}-2}\right)>\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}-1},{\mathrm{y}}_{\mathrm{j}-1}\right)$$$$\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}},{\mathrm{y}}_{\mathrm{j}-2}\right)>\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}},{\mathrm{y}}_{\mathrm{j}-1}\right)$$$$\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}+2},{\mathrm{y}}_{\mathrm{j}-2}\right)>\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}+1},{\mathrm{y}}_{\mathrm{j}-1}\right)$$ - Step 1.A:
- As the first step of predicting pixel value using edge characteristics, it is determined whether pixel value is predictable at the current location using edge characteristics. If the current location is within Region1(E) (⑥, ⑦, ⑩, ⑪, ⑭, and ⑮), where pixel values can be predicted using the edge characteristics, Step 1.B is executed. If the current location is not within Region1(E), the pixel value of the cover image becomes the predicted pixel value.
- Step 1.B:
- In this step, four edge values used to predict pixel values are determined. The four edges, which are used to predict pixel value at location ⑥, are shown in Figure 8. To determine the values of the edge(0) to (3), diff[0] to [3] are first calculated according to Equations (31) to (34). Diff[0] to [3] are the sum of the absolute values of the differences between adjacent pixels at 0°, 45°, 90°, and 135° based on the scan direction at the current location. Equations (31) to (34) are expressed based on the coordinates (x
_{i}, y_{j}) of location ⑥. The values of edge(0) to (3) are calculated using Equation (35). As shown in Equation (35), if the diff value is 0, the corresponding edge is strong and has the value strong_edge. If the diff value is 1, the corresponding edge is normal and has the value normal_edge. If the diff value is 2, the corresponding edge is weak and has the value weak_edge. If the diff value is 3, the corresponding edge is very weak and has the value very_weak_edge. If the diff value is greater than or equal to 4, the corresponding edge has zero value.$$\mathrm{diff}\left[0\right]=\left|\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}+1},{\mathrm{y}}_{\mathrm{j}}\right)-\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}+2},{\mathrm{y}}_{\mathrm{j}}\right)|+|\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}+2},{\mathrm{y}}_{\mathrm{j}}\right)-\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}+3},{\mathrm{y}}_{\mathrm{j}}\right)\right|$$$$\mathrm{diff}\left[1\right]=\left|\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}+1},{\mathrm{y}}_{\mathrm{j}-1}\right)-\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}+2},{\mathrm{y}}_{\mathrm{j}-2}\right)\right|+\left|\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}+2},{\mathrm{y}}_{\mathrm{j}-2}\right)-\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}+3},{\mathrm{y}}_{\mathrm{j}-3}\right)\right|,$$$$\mathrm{diff}\left[2\right]=|\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}},{\mathrm{y}}_{\mathrm{j}-1}\right)-\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}},{\mathrm{y}}_{\mathrm{j}-2}\right)|+|\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}},{\mathrm{y}}_{\mathrm{j}-2}\right)-\mathrm{P}({\mathrm{x}}_{\mathrm{i}},{\mathrm{y}}_{\mathrm{j}-3})|$$$$\text{}\mathrm{diff}\left[3\right]=\left|\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}-1},{\mathrm{y}}_{\mathrm{j}-1}\right)-\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}-2},{\mathrm{y}}_{\mathrm{j}-2}\right)\right|+\left|\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}-2},{\mathrm{y}}_{\mathrm{j}-2}\right)-\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}-3},{\mathrm{y}}_{\mathrm{j}-3}\right)\right|$$$$\mathrm{edge}\left(\mathrm{x}\right)=\{\begin{array}{l}\text{}\mathrm{strong}\_\mathrm{edge}\text{\hspace{1em}\hspace{1em}}\mathrm{if}\left(\mathrm{diff}\right[\mathrm{x}]=0)\\ \text{}\mathrm{normal}\_\mathrm{edge}& \text{\hspace{1em}\hspace{1em}}\mathrm{if}\left(\mathrm{diff}\right[\mathrm{x}]=1)\\ \text{}\mathrm{weak}\_\mathrm{edge}\text{\hspace{1em}\hspace{1em}}\mathrm{if}\left(\mathrm{diff}\right[\mathrm{x}]=2)\\ \mathrm{very}\_\mathrm{weak}\_\mathrm{edge}\text{}\mathrm{if}\left(\mathrm{diff}\right[\mathrm{x}]=3)\\ \text{\hspace{1em}\hspace{1em}}0\text{\hspace{1em}\hspace{1em}\hspace{1em}\hspace{1em}\hspace{1em}}otherwise\end{array},$$ - Step 1.C:
- At location ⑥, if edge(0), or edge(1), or edge(2), or edge(3) has the value strong_edge, the predicted value V
_{4S}(x_{i}, y_{j}) is calculated using Equation (36). Thereafter, as shown in Equation (37), if the absolute value of the difference between V_{2}(x_{i}, y_{j}) and V_{4S}(x_{i}, y_{j}) is equal to or less than the difference threshold (δ), the rounded value of V_{4S}(x_{i}, y_{j}) is used as the predicted pixel value. In Equation (37), the value of V_{2}(x_{i}, y_{j}) is (T + U + V + A’)/4. When the absolute value of the difference between V_{2}(x_{i}, y_{j}) and V_{4S}(x_{i}, y_{j}) exceeds δ, the pixel value of the cover image becomes the predicted pixel value. In Equation (37), V(x_{i}, y_{j}) represents the predicted pixel value at location (x_{i}, y_{j}) and C(x_{i}, y_{j}) represents the pixel value of the cover image at location (x_{i}, y_{j}).$$\begin{array}{ll}{\mathrm{V}}_{4\mathrm{S}}\left({\mathrm{x}}_{\mathrm{i}},{\mathrm{y}}_{\mathrm{j}}\right)& =\{{\mathrm{R}}_{\mathrm{s}}\xb7{\mathrm{V}}_{2}\left({\mathrm{x}}_{\mathrm{i}},{\mathrm{y}}_{\mathrm{j}}\right)+\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}+1},{\mathrm{y}}_{\mathrm{j}}\right)\xb7\mathrm{edge}\left(0\right)+\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}+1},{\mathrm{y}}_{\mathrm{j}-1}\right)\xb7\mathrm{edge}\left(1\right)\\ & +\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}},{\mathrm{y}}_{\mathrm{j}-1}\right)\xb7\mathrm{edge}\left(2\right)+\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}-1},{\mathrm{y}}_{\mathrm{j}-1}\right)\xb7\mathrm{edge}\left(3\right)\}/\{{\mathrm{R}}_{\mathrm{S}}+\mathrm{edge}\left(0\right)\\ & +\mathrm{edge}\left(1\right)+\mathrm{edge}\left(2\right)+\mathrm{edge}\left(3\right)\}\end{array}$$$$\mathrm{V}\left({\mathrm{x}}_{\mathrm{i}},{\mathrm{y}}_{\mathrm{j}}\right)=\{\begin{array}{l}{\mathrm{V}}_{4X}\left({\mathrm{x}}_{\mathrm{i}},{\mathrm{y}}_{\mathrm{j}}\right)\text{}\mathrm{if}\text{}\left(\left|{\mathrm{V}}_{2}\left({\mathrm{x}}_{\mathrm{i}},{\mathrm{y}}_{\mathrm{j}}\right)-{\mathrm{V}}_{4\mathrm{X}}\left({\mathrm{x}}_{\mathrm{i}},{\mathrm{y}}_{\mathrm{j}}\right)\right|\le \mathsf{\delta}\right)\\ \text{\hspace{1em}\hspace{1em}\hspace{1em}}\mathrm{C}\left({\mathrm{x}}_{\mathrm{i}},{\mathrm{y}}_{\mathrm{j}}\right)\text{}\mathrm{otherwise}\end{array}$$ - Step 1.D:
- If strong_edge is absent in edge(0), edge(1), edge(2), and edge(3), and at least one of them has normal_edge, then the predicted value V
_{4N}(x_{i}, y_{j}) is calculated using Equation (38). The predicted pixel value V(x_{i}, y_{j}) is obtained in the same manner as shown in Step 1.C by applying V_{4N}(x_{i}, y_{j}) to Equation (37).$$\begin{array}{ll}{\text{}\mathrm{V}}_{4\mathrm{N}}\left({\mathrm{x}}_{\mathrm{i}},{\mathrm{y}}_{\mathrm{j}}\right)& =\{{\mathrm{R}}_{\mathrm{N}}\xb7{\mathrm{V}}_{2}\left({\mathrm{x}}_{\mathrm{i}},{\mathrm{y}}_{\mathrm{j}}\right)+\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}+1},{\mathrm{y}}_{\mathrm{j}}\right)\xb7\mathrm{edge}\left(0\right)+\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}+1},{\mathrm{y}}_{\mathrm{j}-1}\right)\xb7\mathrm{edge}\left(1\right)\\ & +\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}},{\mathrm{y}}_{\mathrm{j}-1}\right)\xb7\mathrm{edge}\left(2\right)+\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}-1},{\mathrm{y}}_{\mathrm{j}-1}\right)\xb7\mathrm{edge}\left(3\right)\}/\{{\mathrm{R}}_{\mathrm{N}}+\mathrm{edge}\left(0\right)\\ & +\mathrm{edge}\left(1\right)+\mathrm{edge}\left(2\right)+\mathrm{edge}\left(3\right)\}\end{array}$$ - Step 1.E:
- If there is no strong_edge nor normal_edge in edge(0) to (3), and at least one of them has weak_edge, the predicted value V
_{4W}(x_{i}, y_{j}) is calculated using Equation (39). The predicted pixel value V(x_{i}, y_{j}) is obtained in the same manner as shown in Step 1.C by applying V_{4W}(x_{i}, y_{j}) to Equation (37). If edge(0) to (3) are not strong edges, normal edges, and weak edges, the pixel value of the cover image becomes the predicted pixel value.$$\begin{array}{ll}{\text{}\mathrm{V}}_{4\mathrm{W}}\left({\mathrm{x}}_{\mathrm{i}},{\mathrm{y}}_{\mathrm{j}}\right)& =\{{\mathrm{R}}_{\mathrm{W}}\xb7{\mathrm{V}}_{2}\left({\mathrm{x}}_{\mathrm{i}},{\mathrm{y}}_{\mathrm{j}}\right)+\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}+1},{\mathrm{y}}_{\mathrm{j}}\right)\xb7\mathrm{edge}\left(0\right)+\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}+1},{\mathrm{y}}_{\mathrm{j}-1}\right)\xb7\mathrm{edge}\left(1\right)\\ & +\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}},{\mathrm{y}}_{\mathrm{j}-1}\right)\xb7\mathrm{edge}\left(2\right)+\mathrm{P}\left({\mathrm{x}}_{\mathrm{i}-1},{\text{}\mathrm{y}}_{\mathrm{j}-1}\right)\xb7\mathrm{edge}\left(3\right)\}/\{{\mathrm{R}}_{\mathrm{W}}+\mathrm{edge}\left(0\right)\\ & +\mathrm{edge}\left(1\right)+\mathrm{edge}\left(2\right)+\mathrm{edge}\left(3\right)\}\end{array}$$

_{1}. The underlined italic number indicates the rounded value of V

_{2}. The italic bold number indicates the rounded value of V

_{3V}. The underlined italic bold number indicates the rounded value of V

_{3C}. The bold number indicates the rounded value of V

_{4S}. The underlined bold number indicates the rounded value of V

_{4N}, and the double underlined bold number indicates the rounded value of V

_{4W}.

_{S}, R

_{N}, and R

_{W}used in Equations (36), (38), and (39) were 1.1, 0.9, and 0.7, respectively. The reasons for assigning specific values to the variables were explained in the next section.

_{1}obtained from Equation (9) at locations ① to ⑯ in Figure 7b were 157.00, 156.30, 155.99, 156.40, 158.11, 156.87, 156.62, 157.29, 157.25, 156.26, 156.88, 158.37, 160.84, 158.75, 156.93, and 155.84. If V

_{1}is applied to Equation (10), dev1 can be calculated at each location. The dev1 calculated at each location ① to ⑯ were 13.40, 9.54, 6.62, 10.19, 19.89, 11.30, 9.96, 9.66, 15.30, 17.32, 12.21, 17.23, 25.15, 21.60, 20.12, and 18.99, correspondingly. If the surface characteristics of the image are examined at locations ②, ③, ⑦, and ⑧, where dev1 is less than β, the locations with simple inclined surface characteristic or flat surface characteristic in Step 1.5 to 1.6 are ⑦ and ⑧. Therefore, if the predicted V

_{2}values are obtained at locations ⑦ and ⑧ using Equation (15), they are going to be 158.00 and 156.50, respectively. The values 158 and 157, which are rounded values of V

_{2}, were used as the predicted pixel values at locations ⑦ and ⑧. In Figure 7g, the rounded value of V

_{2}was indicated by an underlined italic number.

_{1}was used as the predicted pixel value at location ② where dev2 was larger than ε. Therefore, the predicted pixel value at location ② was 156. In Figure 7g, the rounded value of V

_{1}was indicated by an italic number. At location ③, dev1 was less than β, dev2 was less than or equal to ε, and Equations (27) to (30) were satisfied. Therefore, as shown in Step 1.9, location ③ was determined to have simple concave surface characteristic. Therefore, the predicted value V

_{3C}calculated according to Equations (22) to (26) was 155.38. The value 155, which is rounded value of V

_{3C}, was used as the predicted pixel value at location ③. In Figure 7g, the rounded value of V

_{3C}was indicated by an underlined bold italic number.

_{4W}obtained from Step 1.E was 156.2. The rounded value of V

_{4W}was used as the predicted pixel value at location ⑥.

_{4N}, V

_{4N}, V

_{4S}, and V

_{4N}calculated at locations ⑩, ⑪, ⑭, and ⑮ were 156.1, 157.3, 160.0, and 156.5, respectively. The rounded values of V

_{4N}, V

_{4N}, V

_{4S}, and V

_{4N}were used as the predicted pixel values at locations ⑩, ⑪, ⑭, and ⑮, correspondingly. In Figure 7g, the bold number represents the rounded values of V

_{4S}, the underlined bold number represents the rounded values of V

_{4N}, and the double underlined bold number represents the rounded values of V

_{4W}. If we constructed the histogram of the difference sequence (D) in Figure 11, we could see that PP

_{1}= 0, h(PP

_{1}) = 16, PP

_{2}= 1, and h(PP

_{2}) = 7. Therefore, the maximum number of data bits that could be embedded in the cover image was 23 bits; 8 bits more than the maximum obtained in APD.

_{1}, while APDLS [37,38] uses V

_{2}as well. The techniques [35,36,37,38] were proposed by our research team. The flowchart of pixel value prediction for prediction image generation using the APDLS technique was constructed as follows: In Figure 6, the parts related to V

_{3V}, V

_{3C}, V

_{4S}, V

_{4N}, and V

_{4W}should be removed. If dev1 is greater than or equal to β, the pixel value of the cover image becomes the predicted pixel value. If dev1 is less than β, it is determined whether it is a simple inclined surface or flat surface. If it is a simple inclined surface or flat surface in the X-axis direction, the rounded value of V

_{2}is used as the predicted pixel value. Otherwise, the rounded value of V

_{1}is used as the predicted pixel value. By changing Figure 6 as described above, the flow chart of pixel value prediction using APDLS can be obtained.

_{1}and V

_{2}. The predicted pixel values at locations ② and ③ were 156 and 156, which were the rounded values of V

_{1}. Since locations ⑦ and ⑧ had simple inclined surface characteristics, the predicted pixel values at locations ⑦ and ⑧ were 157 and 158, respectively, which were the rounded values of V

_{2}. Therefore, when the APDLS technique was applied, the prediction image was generated as shown in Figure 7f. After constructing the difference sequence using the cover image and the prediction image, and generating the histogram of the difference sequence, we could see that PP

_{1}= 0, h (PP

_{1}) = 11, PP

_{2}= 1, and h (PP

_{2}) = 7. Therefore, the maximum number of data bits that could be embedded in the cover image using the APDLS technique was h(PP

_{1}) + h(PP

_{2}) = 18 bits.

## 4. Experimental Results

_{1}using Equation (9), the weight of the adjacent pixels affecting the calculation of V

_{1}was set to 1. The α is the weight that pixels, which are one pixel apart, contribute to the V

_{1}calculation. To reflect local similarity, we set α to 0.45, which is much smaller than 1.

_{i}], con1[x

_{i}], con2[x

_{i}], and con3[x

_{i}].

_{4X}must have a value close to V

_{2}. Therefore, the δ should be set to a small value.

_{S}, R

_{N}, and R

_{W}used in Equations (36), (38), and (39) are 1.1, 0.9, and 0.7, respectively. R

_{S}was determined based on the average of all edge values at all locations with one or more strong edges. R

_{N}was determined based on the average of all edge values at all locations with no strong edges and at least one normal edge. R

_{W}was determined based on the average of all edge values at all locations with no strong or normal edges, and with at least one weak edge.

_{1}, V

_{2}, V

_{3V}V

_{3C}, V

_{4S}, V

_{4N}, and V

_{4W}) used in the ARDHA technique are shown on the right side of the table. The overall performance test results of the ARDHA technique using all seven predicted pixel values are shown on the left side.

_{1}, V

_{2}, V

_{3V}, V

_{3C}, V

_{4S}, V

_{4N}, and V

_{4W}. P.H.R (%) represents the prediction hit ratio, M.P.E represents the mean of the prediction errors, and N. P represents the number of predictions.

_{3V}, V

_{3C}, V

_{4S}, V

_{4N}, and V

_{4W}are not used and β is set to v. Thus, only V

_{1}, and V

_{2}are used in ARDHA-(v).

_{1}, V

_{2}, V

_{3V}, V

_{3C}, V

_{4S}, V

_{4N}, and V

_{4W}. ARDHA(0) indicates the case where β is set to 0 in the ARDHA technique. As β is 0, only V

_{3V}, V

_{3C}, V

_{4S}, V

_{4N}, and V

_{4W}are used in ARDHA(0), not V

_{1}and V

_{2}.

_{1}and V

_{2}predictions are not carried out. Therefore, the pixel value of the cover image becomes the pixel value of the prediction image. Thus, the cover image and the prediction image are the same. Thus, as shown in Figure 13 and Table 1, APD and APDLS(0) and ARDHA-(0) worked the same way, and the stego-images generated by applying APD and APDLS(0) and ARDHA-(0) were all the same.

_{3V}and V

_{3C}predictions is greatly reduced. However, as β increases, the number of V

_{3V}and V

_{3C}predictions increases, and the accuracy of pixel value prediction using simple convex surface and simple concave surface characteristics approaches to a high value. These features of the proposed technique can also be easily seen in the flowchart of pixel value prediction in Figure 6. That is, as β increases, on one hand, the case where β is greater than dev1 in Figure 6 increases, and the prediction number for V

_{1}, V

_{2}, V

_{3V}, and V

_{3C}increases. On the other hand, the case where dev1 is greater than or equal to β decreases, and the number of predictions for V

_{4S}, V

_{4N}, and V

_{4W}decreases. Additionally, as β increases, the number of predictions for V

_{3V}and V

_{3C}increases from a small value to a large value, and the prediction hit ratio converges to a constant value.

_{i}is the same as C

_{i}. Thus, D

_{i}= C

_{i}–P

_{i}= 0. The more accurate the prediction is, the closer the D

_{i}value is to zero. Therefore, the more accurate the pixel value prediction, the greater the frequencies at the highest and second-highest peak points in the histogram of the difference sequence. Thus, the greater the number of confidential data bits that can be embedded.

_{i}was very small because the mean of prediction errors is very small as shown in Table 1. Thus, the ARDHA technique greatly increases the frequency at the highest and second-highest peak points in the histogram of a difference sequence. Therefore, the number of confidential data bits that can be embedded in the cover image is greatly increased.

_{1}and V

_{2}in the APDLS technique was the same as the total number of prediction times for V

_{1}, V

_{2}, V

_{3V}, and V

_{3C}in the ARDHA technique. These points could be easily seen in the flowchart of pixel value prediction in Figure 6. That is, if β is greater than 0 and dev1 is less than β, the predicted pixel value is determined between V

_{1}, V

_{2}in the APDLS technique, and the predicted pixel value is determined among V

_{1}, V

_{2}, V

_{3V}, and V

_{3C}in the ARDHA technique. Therefore, the number of predictions for V

_{1}and V

_{2}in the APDLS technique was the same as the number of predictions for V

_{1}, V

_{2}, V

_{3V}, and V

_{3C}in the ARDHA technique.

## 5. Conclusions

## 6. Discussion

## Author Contributions

## Funding

## Conflicts of Interest

## References

- Ni, Z.; Shi, Y.Q.; Ansari, N.; Su, W. Reversible data hiding. IEEE Trans. Circuits Syst. Video Technol.
**2006**, 16, 354–362. [Google Scholar] - Li, Y.C.; Yeh, C.M.; Chang, C.C. Data hiding based on the similarity between neighboring pixels with reversibility. Digit. Signal Process.
**2010**, 20, 1116–1128. [Google Scholar] [CrossRef] - Tsai, C.L.; Fan, K.C.; Chung, C.D.; Chuang, T.C. Reversible and lossless data hiding with application in digital library. In Proceedings of the 38th Annual 2004 International Canahan Conference on Security Technology, Albuquerque, NM, USA, 11–14 October 2004; pp. 226–232. [Google Scholar]
- Chang, C.K.; Cheng, L.M. Hiding data in images by simple LSB substitution. Pattern Recognit.
**2004**, 37, 469–474. [Google Scholar] [CrossRef] - Mustafa, A.E.; ElGamal, A.M.F.; ElAlmi, M.E.; ElAlmi, M.E. A Proposed Algorithm for Steganography in Digital Image Based on Least Significant Bit. Res. J. Specif. Educ.
**2011**, 21, 144–150. [Google Scholar] - Zargar, A.J. Digital Image Watermarking using LSB Technique. Int. J. Sci. Eng. Res.
**2014**, 5, 202–205. [Google Scholar] - Gaur, P.; Manglani, N. Image Watermarking Using LSB Technique. Int. J. Eng. Res. Gen. Sci.
**2015**, 3, 1424–1433. [Google Scholar] - Chitradevi, B.; Thinaharan, N.; Vasanthi, M. Data Hiding Using Least Significant Bit Steganography in Digital Images. Stat. Approaches Multidiscip. Res.
**2017**, 1, 143–150. [Google Scholar] - Halder, T.; Karforma, S.; Mandal, R. A Block-Based Adaptive Data Hiding Approach Using Pixel Value Difference and LSB Substitution to Secure E-Governance Documents. J. Inf. Process. Syst.
**2019**, 15, 261–270. [Google Scholar] - Arai, K.; Seto, K. Improvement of invisibility of secret images embedded in circulate images based on MRA with coordinate conversion and Principal Component Analysis: PCA. J. Image Electron. Soc. Jpn.
**2007**, 36, 665–673. [Google Scholar] - Arai, K.; Seto, K. Improvement of invisibility of secret images embedded in circulate images based on MRA with scanning scheme conversion. Vis. Soc. Jpn.
**2009**, 29, 167–170. [Google Scholar] - Nag, A.; Biswas, S.; Sarkar, D.; Sarkar, P.P. A novel technique for image steganography based on DWT and Huffman encoding. Int. J. Comput. Sci. Secur.
**2011**, 4, 561–570. [Google Scholar] - Arai, K. Improvement of Security and Invisibility of Secret Images Embedded in Circulate Images and Based on MRA; Report of RIMS-Research Institute for Mathematical Sciences Kyoto University; Kyoto University: Kyoto, Japan, 2010; pp. 93–113. [Google Scholar]
- Arai, K. Data Hiding Method Replacing LSB on Hidden Portion for Secrete Image with Run-Length Coded Image. Int. J. Adv. Res. Artif. Intell.
**2016**, 5, 8–14. [Google Scholar] [CrossRef] [Green Version] - Golabi, S.; Helfroush, M.S.; Danyali, H. Reversible robust data hiding based on wavelet filters Modification. Multimed. Tools Appl.
**2019**, 78, 31847–31865. [Google Scholar] [CrossRef] - Liu, L.; Chang, C.; Wang, A. Data hiding based on extended turtle shell matrix construction method. Multimed. Tools Appl.
**2017**, 76, 12233–12250. [Google Scholar] [CrossRef] - Xie, X.Z.; Lin, C.C.; Chang, C.C. Data Hiding Based on a Two-Layer Turtle Shell Matrix. Symmetry
**2018**, 10, 47. [Google Scholar] [CrossRef] [Green Version] - Wang, F.; Guo, Y.; Yin, Z.; Zhou, X.; Zhao, Q. Data Hiding Method based on Reference Matrix. Procedia Comput. Sci.
**2018**, 131, 800–809. [Google Scholar] [CrossRef] - Bharti, J.; Pateriya, R.K.; Shukla, S. Block Wise Data Hiding with Auxiliary Matrix. Int. J. Adv. Comput. Sci. Appl.
**2017**, 8, 128–135. [Google Scholar] - Li, X.; Li, J.; Li, B.; Yang, B. High-fidelity reversible data hiding scheme based on pixel-value-ordering and prediction-error expansion. Signal Process.
**2013**, 93, 198–205. [Google Scholar] [CrossRef] - Peng, F.; Li, X.; Yang, B. Improved pvo-based reversible data hiding. Digit. Signal Process.
**2014**, 25, 55–265. [Google Scholar] [CrossRef] - Qu, X.; Kim, H.J. Pixel-based pixel value ordering predictor for high-fidelity reversible data hiding. Signal Process.
**2015**, 111, 249–260. [Google Scholar] [CrossRef] - Weng, S.; Shi, Y.Q.; Hong, W.; Yao, Y. Dynamic improved pixel value ordering reversible data hiding. Inf. Sci.
**2019**, 489, 136–154. [Google Scholar] [CrossRef] - Fallahpour, M.; Sedaaghi, M.H. High capacity lossless data hiding based on histogram modification. IEICE Electro. Express
**2007**, 4, 205–210. [Google Scholar] [CrossRef] [Green Version] - Tseng, H.W.; Hsieh, C.P. Reversible data hiding based on image histogram modification. Imaging Sci. J.
**2008**, 56, 271–278. [Google Scholar] [CrossRef] - Zhang, X. Separable reversible data hiding in encrypted image. IEEE Trans. Inf. Forensics Secur.
**2012**, 7, 826–832. [Google Scholar] [CrossRef] - Li, X.; Li, B.; Yang, B.; Zeng, T. General Framework to Histogram shifting based Reversible Data Hiding. IEEE Trans. Image Process.
**2013**, 22, 2181–2191. [Google Scholar] [CrossRef] - Lo, C.C.; Hu, Y.C.; Chen, W.L.; Wu, C.M. Reversible Data Hiding Scheme for BTC-compressed Images based on Histogram Shifting. Int. J. Secur. Its Appl.
**2014**, 8, 301–314. [Google Scholar] [CrossRef] - Sabeen Govind, P.V.; Wilscy, M. A New Reversible Data Hiding Scheme with Improved Capacity based on Directional Interpolation and Difference Expansion. Procedia Comput. Sci.
**2015**, 46, 491–498. [Google Scholar] [CrossRef] [Green Version] - Bonde, R.; Dahake, V.; Dhengre, S. Reversible data hiding with a general framework through histogram shifting method. Int. J. Innov. Sci. Eng. Technol.
**2015**, 2, 449–452. [Google Scholar] - Chandrasekaran, V.; Sevugan, P. Applying Reversible Data Hiding for Medical Images in Hybrid Domain Using Haar and Modified Histogram. Int. J. Intell. Eng. Syst.
**2017**, 10, 126–134. [Google Scholar] [CrossRef] - Arunkumar, S.; Subramaniyaswamy, V.; Sivaramakrishnan, N. Reversible Data Hiding scheme using modified Histogram Shifting in Encrypted Images for Bio-medical images. Int. J. Pure Appl. Math.
**2018**, 119, 13233–13240. [Google Scholar] - Sivasubramanian, N.; Konganathan, G.; Rao, Y.V.R. High capacity multi-bit data hiding based on modified histogram shifting technique. ETRI J.
**2018**, 40, 677–686. [Google Scholar] [CrossRef] - Chen, K.; Chang, C.C. High-capacity reversible data hiding in encrypted images based on two-phase histogram shifting. Math. Biosci. Eng.
**2019**, 16, 3947–3964. [Google Scholar] [CrossRef] [PubMed] - Jung, S.M. An advanced reversible data hiding algorithm based on the similarity between neighboring pixels. J. Korea Soc. Comput. Inf.
**2016**, 21, 33–42. [Google Scholar] [CrossRef] [Green Version] - Jung, S.M. Sahmyook University Industry-Academic Cooperation. A Method for Data Hiding Based on Pixel Value Predictions, a Method for Data Watermarking Using It, and an Apparatus for Data Hiding. Korea Patent- Registration Number 1017645300000, 27 July 2017. Available online: http://www.kipris.or.kr.
- Jung, S.M.; On, B.W. Reversible data hiding algorithm using spatial locality and the surface characteristics of image. J. Korea Soc. Comput. Inf.
**2016**, 21, 1–12. [Google Scholar] [CrossRef] [Green Version] - Jung, S.M.; On, B.W. Sahmyook University Industry-Academic Cooperation. A Method for Reversible Data Hiding Based on Pixel Value Prediction According to Spatial Locality and Surface Characteristics, a Method for Reversible Watermarking Using It, and an Apparatus for Reversible Data Hiding, Reversible Watermarking. Korea Patent- Registration Number 1018754010000, 02 July 2018. Available online: http://www.kipris.or.kr.

**Figure 1.**The histogram of Lena and adjacent pixel difference sequence (D). (

**a**) The histogram of Lena and (

**b**) the histogram of the adjacent pixel difference sequence (D)

**Figure 5.**An example of data extraction and original cover image restoration using the APD technique.

**Figure 10.**Confidential data extraction procedure and the original cover image restoration procedure of ARDHA.

**Figure 12.**Data extraction and original cover image restoration using the ARDHA technique algorithm.

Image | Algorithm | Number of Hidden Bits | PSNR (dB) | Prediction Hit Ratio (%) | Mean of Prediction Errors | Number of Predictions | Increase Rate of Hidden Bits (%) | V_{1} | V_{2} | V_{3V} | V_{3C} | V_{4S} | V_{4N} | V_{4W} |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|

P.H.R(%) M.P.E N.P | P.H.R(%) M.P.E N.P | P.H.R(%) M.P.E N.P | P.H.R(%) M.P.E N.P | P.H.R(%) M.P.E N.P | P.H.R(%) M.P.E N.P | P.H.R(%) M.P.E N.P | ||||||||

Lena | APD | 48424 | 48.592 | - | - | - | - | - | - | - | - | - | - | - |

APDLS(0) | 48424 | 48.592 | - | - | - | - | - | - | - | - | - | - | - | |

ARDHA-(0) | 48424 | 48.592 | - | - | - | - | - | - | - | - | - | - | - | |

ARDHA(0) | 56256 | 35.782 | 17.930 | 1.94 | 95362 | 16.2 (16.2) | - | - | - | - | 19.800 1.79 12273 | 18.159 1.90 37100 | 17.245 2.02 45989 | |

APDLS(5) | 48485 | 48.377 | 31.030 | 1.12 | 738 | 0.1 | 26.573 1.23 286 | 33.850 1.05 452 | - | - | - | - | - | |

ARDHA(5) | 56264 | 35.782 | 17.947 | 1.94 | 95414 | 16.2 (16.0) | 26.882 1.23 279 | 33.850 1.05 452 | 60.000 1.00 50 | 0.000 1.50 2 | 19.524 1.80 12052 | 18.050 1.91 36765 | 17.235 2.02 45859 | |

APDLS(10) | 50451 | 42.513 | 21.452 | 1.55 | 27801 | 4.2 | 20.877 1.57 16870 | 22.340 1.50 10931 | - | - | - | - | - | |

ARDHA(10) | 56530 | 35.655 | 18.016 | 1.93 | 100895 | 16.7 (12.0) | 20.897 1.57 16754 | 22.340 1.50 10931 | 28.333 1.58 60 | 23.214 1.63 56 | 17.921 1.94 8387 | 16.804 2.04 27338 | 16.342 2.12 37369 | |

APDLS(15) | 54501 | 37.847 | 19.082 | 1.73 | 84513 | 12.5 | 18.670 1.75 54370 | 19.825 1.68 30143 | - | - | - | - | - | |

ARDHA(15) | 57773 | 35.097 | 17.860 | 1.91 | 121879 | 19.3 (6.0) | 18.671 1.75 54254 | 19.825 1.68 30143 | 28.333 1.58 60 | 23.214 1.63 56 | 16.444 2.16 3825 | 15.138 2.30 13291 | 14.770 2.40 20250 | |

APDLS(20) | 56696 | 35.859 | 17.902 | 1.86 | 122280 | 17.1 | 17.497 1.90 78229 | 18.622 1.79 44051 | - | - | - | - | - | |

ARDHA(20) | 58827 | 34.453 | 17.311 | 1.96 | 141726 | 21.5 (3.8) | 17.496 1.90 78113 | 18.622 1.79 44051 | 28.333 1.58 60 | 23.214 1.63 56 | 14.294 2.37 1826 | 13.642 2.56 6678 | 13.361 2.65 10942 | |

blackb | APD | 57099 | 48.681 | - | - | - | - | - | - | - | - | - | - | - |

APDLS(0) | 57099 | 48.681 | - | - | - | - | - | - | - | - | - | - | - | |

ARDHA-(0) | 57099 | 48.681 | - | - | - | - | - | - | - | - | - | - | - | |

ARDHA(0) | 71079 | 35.637 | 19.153 | 1.75 | 121416 | 24.5 (24.5) | - | - | - | - | 20.222 1.64 17333 | 19.771 1.70 50114 | 18.236 1.84 53969 | |

APDLS(5) | 57342 | 48.111 | 25.132 | 1.28 | 1707 | 0.4 | 25.680 1.31 662 | 24.785 1.27 1045 | - | - | - | - | - | |

ARDHA(5) | 71080 | 35.637 | 19.150 | 1.75 | 121478 | 24.5 (24.0) | 25.426 1.31 645 | 24.785 1.27 1045 | 0.000 2.56 9 | 0.000 1.63 8 | 20.164 1.64 16872 | 19.652 1.70 49258 | 18.191 1.84 53641 | |

APDLS(10) | 66174 | 39.617 | 21.759 | 1.44 | 67585 | 15.9 | 22.309 1.41 45453 | 20.631 1.51 22132 | - | - | - | - | - | |

ARDHA(10) | 72033 | 35.426 | 19.556 | 1.72 | 132258 | 26.2 (8.9) | 22.288 1.42 45167 | 20.631 1.51 22132 | 16.197 1.77 142 | 16.667 1.75 144 | 18.008 1.91 7541 | 17.988 1.95 24466 | 16.611 2.06 32666 | |

APDLS(15) | 72885 | 36.200 | 20.595 | 1.55 | 136578 | 27.6 | 21.013 1.52 99044 | 19.492 1.61 37534 | - | - | - | - | - | |

ARDHA(15) | 73463 | 34.813 | 19.628 | 1.70 | 155927 | 28.7 (0.8) | 21.000 1.53 98758 | 19.492 1.61 37534 | 16.197 1.77 142 | 16.667 1.75 144 | 13.653 2.72 1963 | 13.385 2.76 6739 | 12.529 2.83 10647 | |

APDLS(20) | 73697 | 35.225 | 19.805 | 1.65 | 157527 | 29.1 | 20.141 1.63 115062 | 18.893 1.70 42465 | - | - | - | - | - | |

ARDHA(20) | 73828 | 34.387 | 19.273 | 1.75 | 167744 | 29.3 (0.2) | 20.128 1.63 114776 | 18.893 1.70 42465 | 16.197 1.77 142 | 16.667 1.75 144 | 11.758 3.32 944 | 11.856 3.28 3534 | 10.943 3.38 5739 | |

Portofino | APD | 28306 | 48.650 | - | - | - | - | - | - | - | - | - | - | - |

APDLS(0) | 28306 | 48.650 | - | - | - | - | - | - | - | - | - | - | - | |

ARDHA-(0) | 28306 | 48.650 | - | - | - | - | - | - | - | - | - | - | - | |

ARDHA(0) | 30859 | 35.438 | 9.67 | 3.51 | 33879 | 9.0 (9.0) | - | - | - | - | 10.341 3.36 2901 | 9.930 3.47 11329 | 9.420 3.55 19649 | |

APDLS(5) | 28306 | 48.644 | 0.000 | 3.67 | 3 | 0.0 | 0.000 2.00 2 | 0.000 7.00 1 | - | - | - | - | - | |

ARDHA(5) | 30859 | 35.438 | 9.669 | 3.51 | 33880 | 9.0 (9.0) | 0.000 2.00 2 | 0.000 7.00 1 | - - 0 | - - 0 | 10.341 3.36 2901 | 9.931 3.48 11328 | 9.421 3.55 19648 | |

APDLS(10) | 28404 | 47.060 | 13.685 | 2.51 | 1403 | 0.3 | 14.712 2.45 904 | 11.824 2.62 499 | - | - | - | - | - | |

ARDHA(10) | 30893 | 35.413 | 9.786 | 3.49 | 34417 | 9.1 (8.8) | 14.729 2.45 903 | 11.824 2.62 499 | - - 0 | 0.000 5.00 1 | 10.389 3.38 2801 | 9.848 3.50 10967 | 9.379 3.57 19246 | |

APDLS(15) | 29494 | 40.967 | 11.908 | 2.69 | 14881 | 4.2 | 11.734 2.69 10721 | 12.356 2.71 4160 | - | - | - | - | - | |

ARDHA(15) | 31324 | 34.967 | 10.071 | 3.36 | 41596 | 10.7 (6.2) | 11.735 2.69 10720 | 12.356 2.71 4160 | - - 0 | 0.000 5.00 1 | 9.763 3.60 2151 | 9.238 3.71 8725 | 8.845 3.76 15839 | |

APDLS(20) | 31539 | 35.949 | 11.203 | 2.93 | 45621 | 11.4 | 11.246 2.91 34625 | 11.068 2.99 10996 | - | - | - | - | - | |

ARDHA(20) | 32468 | 33.627 | 10.375 | 3.26 | 62516 | 14.7 (2.9) | 11.247 2.91 34624 | 11.068 2.99 10996 | - - 0 | 0.000 5.00 1 | 9.134 4.06 1270 | 8.336 4.15 5410 | 7.910 4.13 10215 | |

ship | APD | 46430 | 48.573 | - | - | - | - | - | - | - | - | - | - | - |

APDLS(0) | 46430 | 48.573 | - | - | - | - | - | - | - | - | - | - | - | |

ARDHA-(0) | 46430 | 48.573 | - | - | - | - | - | - | - | - | - | - | - | |

ARDHA(0) | 54880 | 36.276 | 19.142 | 1.84 | 89578 | 18.2 (18.2) | - | - | - | - | 20.087 1.66 12575 | 19.800 1.76 36793 | 18.244 1.96 40210 | |

APDLS(5) | 46549 | 48.128 | 22.651 | 1.39 | 1192 | 0.3 | 19.676 1.41 432 | 24.342 1.37 760 | - | - | - | - | - | |

ARDHA(5) | 54880 | 36.273 | 19.142 | 1.84 | 89632 | 18.2 (17.9) | 19.811 1.42 424 | 24.342 1.37 760 | 20.000 1.40 5 | 33.333 1.00 3 | 19.925 1.67 12286 | 19.786 1.77 36193 | 18.210 1.96 39961 | |

APDLS(10) | 51250 | 41.083 | 22.043 | 1.44 | 47044 | 10.4 | 22.023 1.44 30205 | 22.080 1.44 16839 | - | - | - | - | - | |

ARDHA(10) | 55207 | 36.103 | 19.465 | 1.80 | 97161 | 18.9 (7.7) | 22.016 1.44 30046 | 22.080 1.44 16839 | 21.519 1.56 79 | 20.000 1.42 80 | 17.497 1.96 5761 | 17.669 2.06 19152 | 16.482 2.25 25204 | |

APDLS(15) | 55212 | 37.771 | 20.513 | 1.58 | 95664 | 18.9 | 20.578 1.58 65250 | 20.375 1.57 30414 | - | - | - | - | - | |

ARDHA(15) | 56110 | 35.590 | 19.254 | 1.80 | 113865 | 20.8 (1.6) | 20.571 1.58 65091 | 20.375 1.57 30414 | 21.519 1.56 79 | 20.000 1.42 80 | 11.923 2.75 1711 | 13.127 2.88 6437 | 12.484 3.09 10053 | |

APDLS(20) | 56177 | 36.396 | 19.517 | 1.71 | 115109 | 21.0 | 19.432 1.73 79348 | 19.706 1.67 35761 | - | - | - | - | - | |

ARDHA(20) | 56529 | 35.060 | 18.787 | 1.86 | 124825 | 21.8 (0.6) | 19.424 1.73 79189 | 19.706 1.67 35761 | 21.519 1.56 79 | 20.000 1.42 80 | 9.882 3.29 850 | 10.723 3.56 3320 | 9.899 3.78 5546 |

© 2020 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).

## Share and Cite

**MDPI and ACS Style**

Jung, S.-M.; On, B.-W.
An Advanced Reversible Data Hiding Algorithm Using Local Similarity, Curved Surface Characteristics, and Edge Characteristics in Images. *Appl. Sci.* **2020**, *10*, 836.
https://doi.org/10.3390/app10030836

**AMA Style**

Jung S-M, On B-W.
An Advanced Reversible Data Hiding Algorithm Using Local Similarity, Curved Surface Characteristics, and Edge Characteristics in Images. *Applied Sciences*. 2020; 10(3):836.
https://doi.org/10.3390/app10030836

**Chicago/Turabian Style**

Jung, Soo-Mok, and Byung-Won On.
2020. "An Advanced Reversible Data Hiding Algorithm Using Local Similarity, Curved Surface Characteristics, and Edge Characteristics in Images" *Applied Sciences* 10, no. 3: 836.
https://doi.org/10.3390/app10030836