Research Article

Steganography Algorithm Based on the Nonlocal Maximum Likelihood Noise Estimation for Mobile Applications

Algorithm 1

Information concealment.
1: Preprocessing: RGB cover image and image to be hidden are separated in their respective layers. Each layer is an 8-bit grayscale
image.
2: for each layer do
3:Cover layer decomposition: The discrete wavelet transformation or Haar is applied to cover layer.
Where denotes the desomposition, is the cover layer and
4:Hidden layer decomposition: The discrete wavelet transformation or Haar and Daubechis 4 are applied to the
layer to be hidden.
Where denotes the desomposition, is the layer to be hidden and
Where denotes the desomposition, is the approximation sub-band of first level of decomposition and ,
5:Adjust information of sub-band: An adjust operation is applied to the sub-band
6:Noise detection: Using a 3x3 Kernel as noise detection mechanism based on the local máximum likelihood is determited
the umbral of change
7:if The element of the kernel meet the condition   then
8:Do the change in the sub-band for the element in the sub-band
9:Do the change in the subband for the element in the sub-band
10:if The element changed in the sub-band meet the condition then
11:Change the element in the sub-band according to
12: else
13:Change the element in the sub-band according to
14:end if
15:end if
16:Generate Stego layer: Obtain modified sub-bands coefficients and apply inverse discrete wavelet transform or Haar
to form the stego layer
Where denotes the inverse discrete wavelete transform, and the stego layer
17: end for
19: Generate Stego Image: The resulting layers are combined to obtain a RGB image.