Data Embedding is a technique of digital watermarking in which relevant or secret information is embedded into a host image or video.The difference between the embedded and the host image must be unnoticeable to the naked eye. In many applications, like military and medicine the distortions introduced in the embedded images are unacceptable. It’s important to preserve the information content of the host image while performing data embedding. Hence decoder will be able to reconstruct both the host image and secret data efficiently. UES is an embedding technique which achieves high payload and adaptive scalable quality degradation. Payload is the maximum amount of information that can be embedded into a host image.
Data embedding using UES involves mainly 3 steps:
1. Checker board based prediction (CBP)
3. Extracting the embedded data and reconstruction of host image.
Reversible data embedding technique embeds payload into a digital image in a reversible way. Quality degradation on the image after embedding should be low for effective reconstruction. Algorithm for UES is as follows:
- Perform checker board based prediction on the input image.
- Calculate prediction error.
- Encrypt the secret message by random permutation.
- Perform embedding by analysing prediction error.
Process flow of the UES is summarized in figure shown below.
Checker board prediction (CBP):
Pixels are predicted using CBP. In CBP 25 % of the pixels are saved (pixels shown in black) and are used to predict 75% of the pixels of then input image. Pixel prediction is carried out in two passes. During the first pass pixel labelled ‘X’ are predicted using the equation:
Later on the second pass the remaining pixels are predicted using:
Here N,W,S,E,NW,SE,SW,NE represents the north ,west, south , east, northwest ,south east, southwest, north east neighbouring pixels of the pixel under prediction.
Calculate prediction error:
Prediction error (ep) can be calculated from the predicted pixel coefficients. Prediction error (ep) = x-xp , where x is the original image and xp is the prediction coefficients from CBP.
Encrypt the secret message:
Secret message is randomly permuted using the key available for encryption. rand function in MATLAB is used to scramble the secret message.
Then prediction error is analysed to check whether the corresponding pixel location can be used for data embedding. If error falls within predefined range encrypted data will be embedded else it will be left unmodified.
Pixels in UES can be categorized into 3 types: NP (not predicted), PN (predicted not embedded), PE (Predicted and embedded). NP pixels are reference pixels used for prediction.PN pixels means pixel whose ep doesn’t satisfy the condition. PE pixels are used for data embedding. For these pixels their corresponding eP should be stored as side information.
Reconstruction and Extraction:
Side information is needed at the receiver for effective reconstruction the host image and extracting the secret information. Side information conveys whether the pixel is embedded or it possesses the actual pixel value. Secret data can be extracted efficiently at the receiver side with the help of secret key and side information.