Steganography is hiding data. This can be in audio or videos. The challenge is that the data should be inperceptible to the viewer and recoverable after video compression (e.g. h264).
- Imperceptibility/Impalpability: The video with the embedded data should be visually identical
- Robustness: The embedded data should not be disturbed by image processing and attacks.
- Capacity: The amount of embedded data should be high
- Security: The data should be highly secured. This can be done with encryption beforehand.
The difference between Steganography and Cryptography is the first point. Encryption results in scrambled text which can draw attention.
Attacks include packet loss, video clipping, video scaling.
Various ways to classify steganography methods
- Preembedding: Embed data into the raw video. Spatial and transformation domains. This will need to survive the encoding process.
- Intraembedding: Embed data into the video encoding: intra-prediction, motion vectors, pixel interpolation
- Postembedding: Embed data into the encoded bitstream
These specify the general techniques people have tried for steganography in videos.
Spatial domain methods mainly focus on hiding data in the least significant bit (LSB) of videos. These methods are not robust to video compression.
Masking and Filtering
These methods focus on altering the luminance. Also not robust to video compression.
They work by embedding the message in the LSB of the coefficients of the discrete cosine transform (DCT).
These methods hide data in the motion vectors. Data can be hidden in the LSB or the phase of the motion vectors.