Video-in-Video Data Hiding
David E. Lane
Department of Electrical and Computer Engineering
University of California
Santa Barbara, CA 93106-9560
Abstract
This paper investigates the implementation of a vector-embedding scheme in video. The embedding procedure is conducted using an algorithm that is robust to standard video coding techniques such as MPEG-I and II. The vector-based algorithm, using lattice codes and texture mapping for improved performance, allows large amounts of data to be stored into each frame of the video sequence. Furthermore, this scheme requires no knowledge of the original video sequence upon output (no-host recovery), yet yields high signal-to-noise ratios for the recovered output, even with low bit rate video coding. We present here, background on the no-host recovery algorithm and sample test sequences embedding video-in-video with performance evaluation.
1 Introduction
The rapid growth in digital media, such as digitized audio and video, has been driven by ease in access, manipulation, transmission, and reproduction of such data. Exploiting the properties of such data, we may be able to supplement the data stream by enhancing, protecting, verifying, or identifying the media via embedded information. Supplemental information contained within a video stream may include control information regarding sampling rates, resolution, or external functions to an overall system. Audio information embedded within the video frames, as opposed to independent audio files, may be more easily synchronized.
The embedded information must be perceptually invisible to ensure high visual quality. By embedding the information directly into the pixels of each frame, rather than as a header of the file, the information will not be so easily lost when the video format is changed or the video is cropped, etc. Furthermore, if independent files are used, they may require synchronization during playback, may easily be separated, or additional storage space could be required.
Embedding images or video-in-video provides a number of multimedia uses including verification and identification of a given data stream. For the purpose of this investigation, we will focus on the topic of embedding video-in-video. For the sake of simplicity, this process may be readily broken down into an image-in-image embedding process, as a video stream is simply a sequence of still images. The topic of digital watermarking bears resemblance to image embedding where copyright protection information is contained within the given image. Typically, though, these methods yield watermarks that are on the order of 1% of the original image, whereas image embedding has the potential to store much higher amounts of data. Although data embedding provides a sizeable increase in the information embedded, we still wish for the algorithm to be robust to various errors and perturbations that the data will encounter, including lossy compression techniques. For the purpose of this paper, we will refer to the original image as the host image, the watermarking image as the signature image, and the combined information as the embedded image. Since a video sequence can be broken down into a series of still images, we will begin our discussion by presenting a robust technique for image-in-image data embedding.
2 Background
2.1 Lattice Coding Structure
Under a given channel, noise structure, and decoding rule, we may determine the probability of decoding errors, Pe, given that all source symbols are equally probable. The problem of channel coding is stated such that optimality is achieved when the Pe is minimized for a given power constraint and data rate. For our purposes, the probability of error can quantify the robustness of a given data hiding scheme to various transformations of the embedded host data. In such scenarios, Pe directly influences the yielded mean squared error (MSE) of the extracted information.
In the following algorithm, we implement a vector-based approach to hidden data injection [1,2,3]. In order to perform this operation, N transform coefficients form an N-dimensional vector which is modified by codes that represent the data to be embedded. The motivation for using vector perturbations over scalar perturbations is due to a resulting lower probability of error for data injection performed at the same rate with the same noise statistics. Hence, with an increase in dimensionality N, in general we may design more efficient channel codes that yield lower probability of error. In accordance with Shannon’s channel coding theorem, for a given channel and sufficiently large N, we may define a channel capacity C as the maximum mutual information between the input and output, such that with a rate R < C, we can achieve a virtually error free transmission.
Even though capacity is an asymptotic notion that’s not actually realizable in practice, by increasing dimensionality N we may directly decrease Pe, thus justifying our usage of higher-dimensional channel codes. Traditionally, lattice-based channel codes are used in higher dimensions where code-points are chosen as subsets of lattices satisfying the power constraint. Conway and Sloane [14]-[18] have shown that the lattices D4, E6, E8, K12, L16, etc. produce very good lattice codes in their respective dimensions. Additionally, fast encoding and decoding algorithms are available for lattice channel codes.
read more HERE
+ Reply to Thread
Results 1 to 7 of 7
-
"Each problem that I solved became a rule which served afterwards to solve other problems." - Rene Descartes (1596-1650)
-
simple online exampe you can do yourself
http://aakash.ece.ucsb.edu/Datahiding/stegdemo.aspx"Each problem that I solved became a rule which served afterwards to solve other problems." - Rene Descartes (1596-1650) -
lots more info and some info on how to detect if there is hidden data in the images
http://vision.ece.ucsb.edu/data_hiding/"Each problem that I solved became a rule which served afterwards to solve other problems." - Rene Descartes (1596-1650) -
I noticed that the image with the encoding is noticably inferior in quality in this example. I have a freeware app called camoflage that does the same thing, but produces higher quality output (in=out). The idea of applying it to video is interesting from a tracking perspective.
Read my blog here.
-
Interesting, is there an application that can uncover the hidden data in video? Or that can remove such data?
-
the methods are discussed in one of the papers above on how to detect...
"Each problem that I solved became a rule which served afterwards to solve other problems." - Rene Descartes (1596-1650)
Similar Threads
-
advanced (2:3:3:2) pulldown removal
By socalver in forum Newbie / General discussionsReplies: 6Last Post: 17th Aug 2009, 21:15 -
Advanced DVD features
By Grov in forum Newbie / General discussionsReplies: 8Last Post: 9th Jul 2009, 10:08 -
Need advanced framerate converter
By Xpenguin17 in forum EditingReplies: 17Last Post: 1st Jul 2009, 15:13 -
Compressor more advanced presets ?
By Mister Paul in forum MacReplies: 0Last Post: 5th Apr 2008, 04:34 -
Advanced Video Editor?
By efb91 in forum EditingReplies: 0Last Post: 24th Dec 2007, 11:48