Chapter 3 Copyright Protection of Videos for Displays on Specified Mobile
3.3. Experimental Results and Discussions
In our experiments, the application of copyright protection of videos for displays on a specified mobile phones is presented. First, Figure 3. 5 shows some frames of protected videos by a random key.
(a) (b)
(c) (d)
(e) (f) Figure 3. 5 Result of protected video.(a)(b)(c)(d)(e)(f) Some frames of the protected
video.
Second, an example of the process of viewing videos on mobile device is shown in Figure 3. 6.
(a) (b)
(c) (d) Figure 3. 6 (a) The main menu of client program. (b) The login menu of client
program. (c) After login, the movie list of this website will be shown and the user can choose the movie to display. (d) (e) (f) Some pictures caught when displaying.
(e) (f) Figure 3. 6 (a) The main menu of client program. (b) The login menu of client
program. (c) After login, the movie list of this website will be shown and the user can choose the movie to display. (d) (e) (f) Some pictures caught when displaying(continued).
Finally, an example of results that an illegal user uses the same account in an unregistered mobile phone to get a movie for display is shown in Figure 3. 7.
In this chapter, we have proposed a copyright protection scheme of videos for display on mobile devices. The proposed method can protect videos on the Internet from suffering from illegal downloads for display. And the protected videos are safe on the Internet because the contents of the protected videos will not be stolen without the user key.
(a) (b)
(c) (d) Figure 3. 7 (a) User use the same user account to login the web server. (b) Getting the
movie list of web server. (c) (d) The result of displaying the same movie on an illegal mobile device.
Chapter 4
Lossless Visible Watermarking for Copyright Protection of Videos
Displayed on Mobile Phones
4.1. Introduction
With the advance of mobile computing technologies, more and more cellular phone provides the ability of video recording. People may use these functions to record something interesting in their daily life.
And because of the improvement of net surfing on mobile devices, users can use mobile devices to access the Internet. Many kinds of multimedia data are shared on the Internet. When users produce a video, they may want to share their productions on the Internet. Because of the limit of the storage of mobile phones, a user may copy a video clip to a personal computer and does not keep it in his/her mobile device.
When the users share their recorded videos on the Internet, they do not want to see their productions suffering from downloading by illegal users. In order to protect the copyright of the videos, a lossless visible watermarking technology is proposed in this study.
In Section 4.2, we will describe the proposed lossless visible watermarking method for copyright protection of video contents. In Section 4.3, some experimental results of the proposed method will be shown. Finally in Section 4.4, some discussions will be made.
4.2. Proposed Lossless Visible Watermarking Method
Our goal is to protect the copyright of 3GP videos by a lossless visible watermarking technology. The video is protected by a user input key. The watermarked videos will not be displayed correctly without the correct key. The watermarking information is embedded in order to help the server to recover the videos without recording the watermark image.
A user uses a program designed in this study to embed a watermark into a recorded video and then uploads the protected video to the server. The server is like a multi-function web server. First, it receives HTTP requests, processes the requests, and then gives appropriate responses. Second, it provides spaces to users to share their videos. Furthermore, it recovers the watermarked video and transmits to the client. A system configuration of the proposed method is shown in Figure 4.1.
In Section 4.2.2, we will describe the proposed method. In Section 4.2.3, the process of embedding a watermark will be described and in Section 4.2.4, the process of embedding watermarking information will be elaborated. In Section 4.2.5, the procedure of recovery of the original video will be described.
4.2.1. Review of Block Layer Encoding of H.263
Format
As mentioned in Section 2.3.1, every intra-coded MB comprises four luminance blocks and two chrominance blocks. The structure of the block layer encoding format
Figure 4.1 A system configuration of the proposed copyright protection method.
is shown in Figure 4.2. The field INTRADC, a codeword of 8 bits, and TCOEF represent the DC and AC of the quantized DCT coefficients for intra-coded blocks, respectively.
INTRADC TCOEF
Figure 4.2 The structure of block layer.
The TCOEF field represents a combination of a last nonzero coefficient indication (LAST: “0” and “1” mean that there are more or no more nonzero coefficients in this block, respectively) and a Run-level Coding (RLC).
There are two different coding methods of the TCEOF field: variable length coding (VLC) and fixed length coding (FLC). The most commonly occurring RLC is encoded by VLC and the remaining combination of (LAST, RUN, LEVEL) are fixed length coded with a 22-bit codeword consisting of 7 bits ESCAPE, 1 bit LAST, 6 bits RUN and 8 bits LENGTH. The FLC and VLC codes for TCOEF are given in Table 4.1 and Table 4.2.
Table 4.1 The FLC table for RUN and LEVE [9].
Table 4.2 VLC table for TCOEF (s means the sign of the level) [9].
4.2.2. Idea of Proposed Method
A watermark to be embedded is assumed to be a binary image (a black and white logo, for instance). Each pixel in the watermark will be referred to as a black watermark pixel or a white one according to its binary value 1 or 0, respectively. The idea of the proposed embedding process for I-frames is to use each macroblock to embed a watermark pixel. The idea is illustrated in Figure 4.3.
The embedded watermark pixels can be losslessly removed by checking the embedded watermarking information in the recovery process. The method of embedding a watermark depends on the random signals generated by a user input key.
Without getting the correct key, the video will not be recovered losslessly and correctly.
Because the P, B and P-B frames are coded by referencing to the forward or backward I-frames, the watermarked I-frames will influence the appearance of what they display. The change of the I-frames is sufficient to cause damages to the video content.
The method of embedding watermarking information is to insert a token which fits in with the H.263 encoding but should not be shown in a normal encoding procedure into the corresponding macroblock of the first I-frame. In the recovery procedure, the server extracts the watermarking information from the first I-frame and then recovers the video content by the received key.
Figure 4.3 The idea of embedding a watermarking pixel.
The procedure of the proposed copyright protection method is shown in Figure 4.4. The detailed process is described in Section 4.2.3 and Section 4.2.3.
Figure 4.4 The process of proposed method of watermarking.
4.2.3. Watermark Image Embedding Process
In the process of embedding of watermark image, the macroblock of each I-frame are taken as a unit. Each macroblock includes six blocks of 8×8 pixels, four luminance blocks, and two chrominance blocks. In order to retain the black watermark pixels in a macroblock, a modification is made in the DC coefficient in every block in the macroblock. If the embedded watermark pixel is a white pixel, no change will be done in the DC coefficient in the macroblock. A flowchart of the watermark image embedding process is shown in Figure 4.5 and a corresponding detailed algorithm is described in the following.
Algorithm 4.1: Watermark image embedding process
Input: An I-frame F expect the first one, a user key K, and a binary watermark W.
Output: A watermarked I-frame F′ with a visible watermark.
Steps:
1. Use the user input key K as a seed for a random number generator to produce two random sequence S and S′. S is a sequence of m×n elements with its value being in the range of 0 through 255 and S' is a sequence of m×n elements which are either 0 or 1, where m is the number of GOBs in every frame and n is the number of macroblocks in every GOB. Denote S and S′ as follows:
S = {Sij | i = 1, 2, …, m and j = 1, 2, …, n } S′ = {S'ij | i = 1, 2, …, m and j = 1, 2, …, n }.
2. For each macroblock in the input I-frame, the modification of the DC coefficient
Cdc will be made to every block in this macroblock as follows:
set = XOR ' , if =1 and =1;
set = NXOR ' , if =1 and =0;
keep unchanged, otherwise.
dc dc ij ij ij
dc dc ij ij ij
dc
C C S W S
C C S W S
C
⎧⎪
⎨⎪
⎩
Figure 4.5 Flowchart of the watermark image embedding process.
4.2.4.
W
Watermarking Information Embedding Process
In the proposed method, we use the first I-frame of the videos to record the watermarking information for lossless recovery. Hence, the watermarked videos can be recovered without the watermark image. We use a recording token which is fit in with the H.263 format but will not be used in normal encoding to record a black watermark pixel.
As mentioned in Section 4.2.1, some codes of LEVEL in FLC are not used, such as (00000000)2 and (10000000)2. Therefore, we use the token which is a combination of the ESCAPE code, the LAST with its code being (1)2, the RUN with its code being (000000)2, and the LEVEL with its code being (00000000)2. The structure of the recording token is shown in Figure 4.6 and a flowchart of the embedding process is shown in Figure 4.7. A detailed algorithm is described as follows.
Algorithm 4.2: Process of watermarking information embedding.
Input: The first I-frame F of a video, the watermark image W, and the recording token T.
Output: A recorded I-frame F′.
Steps:
1. For every macroblock in F, take the first luminance block as the recording block.
2. Find the last coefficient code C in the block and modify the block data as follows:
change into the non-last code and insert the recording token , if the = 1;
no change to , otherwise.
C T ij
C
⎧⎨
⎩
ESCAPE LAST RUN LEVEL Binary format 0000 011 1 0000 00 0000 0000
Figure 4.6 Structure of the recording token.
Figure 4.7 Flowchart of watermarking information embedding process.
4.2.5. Recovery of Watermarked 3GP Video by Removing Visible Watermarks
When the server receives requests for the watermarked video, it uses the user input key to recover the watermarked video and then delivers it to the client. If the input key is wrong, the watermark can not be removed losslessly, thus achieving the purpose of copyright protection. The recovery process is shown in Figure 4.8 and a detailed algorithm is described as follows.
Algorithm 4.3: The process of recovery of watermarked videos
Input: A user input key K and a watermarked video V.
Output: A recovered video V′. Steps:
1. Use the user input key K as a seed for a random number generator to produce two random sequence S and S' different types, where S is a sequence of m×n elements with its value being in the range of 0 through 255 and S′ is a sequence of m×n elements which are either 0 or 1, where m is the number of GOBs in every frame and n is the number of macroblocks in every GOB. Denote S and S′ as follows:
S = {Sij | i = 1, 2, …, m and j = 1, 2, …, n };
S′ = {S′ij | i = 1, 2, …, m and j = 1, 2, …, n }.
2. Extract the video track Tv and audio track Ta from V.
3. For the first I-frame in Tv, search and remove the recording token and record the watermarking information in W which is an m×n matrix. If there is a recording
token in the corresponding macroblocks, set Wij as 1; else, as 0.
4. For every macroblock Mij of the following I-frames in Tv, modify the DC coefficient Cdc of the blocks as follows:
set = XOR ' , if =1 and =1;
set = NXOR ' , if =1 and =0;
keep unchanged, otherwise.
dc dc ij ij ij
dc dc ij ij ij
dc
C C S W S
C C S W S
C
⎧⎪
⎨⎪
⎩
5. After every I-frame is processed, the recovered video track Tv' is produced.
Combine Tv' and Ta into a 3GP video V'.
Figure 4.8 Flowchart of recovery process.
4.3. Experimental Results
In our experiments, a watermarked video was put on a public web page. When a user browses this web page, the key is needed to recover the watermarked video and then the recovered video can be download. A watermarked video is shown in Figure 4.9 and the procedure of downloading the shared videos from the web server is shown in Figure 4.10.
(a) (b)
(c) (d)
(e) (f) Figure 4.9 Some frames extracted from the watermarked videos. (a) The first
I-frame with the watermark information embedded. (b) (c) (d) (e) (f) Some frames after watermarking with user input key.
(a) (b)
(c) (d) Figure 4.10 Procedure of downloading the shared videos. (a) Browse the movie list
of the shared watermarked videos by browser. (b) After choosing the movies, the key is requested. (c) The downloading process. (d) Display of the downloading video.
Some frames from the recovered video with correct and incorrect keys are shown in Figure 4.11 and Figure 4.12, respectively.
(a) (b)
(c) (d)
(e) (f)
Figure 4.11 Illustration of the recovered video with the correct key. (a) (b) (c) (d) (e) (f) Some frames extracted from the recovered video with the correct key.
(a) (b)
(c) (d)
(e) (f)
Figure 4.12 Illustration of the recovered video with an incorrect key. (a) (b) (c) (d) (e) (f) Some frames extracted from the recovered video with the incorrect key.
4.4. Discussions
In this chapter, a lossless watermarking technique for videos has been proposed.
Users can share their videos on the Internet with more security. Even though the web server is cracked by hackers, the watermarked videos are still defended by the proposed watermark technique for copyright protection. Furthermore, the watermarked videos can be shared to the people who know the protected key of the videos. Without the correct key, the watermarked videos cannot be losslessly recovered. The complexity of recovery of the watermarked videos with the correct key is up to (256)n, where n is the number of macroblocks whose DC values are changed by the watermark embedding process.
Chapter 5
Covert Communication by Videos on Mobile Phones
5.1. Introduction
Due to the advance of mobile computing technologies and the high capacity network, more and more applications on mobile phones are developed. Because of the popularity of using mobile phones, the application of data hiding on mobile phones is useful.
Since video transmission on the Internet is common, a method of covert communication by videos is proposed in this chapter. In Section 5.2.1, the proposed method is described and in Section 5.2.2, a detailed algorithm is presented. In Section 5.3, some experimental results will be shown and in Section 5.4, some discussions will be made.
5.2. Proposed Data Hiding Method for Covert Communication
The idea of the proposed application of covert communication is achieved by transmission of covert videos, in which a secret message is embedded. This application on mobile phones is composed of two parts: the web server in which there are some covert videos in which secret messages are embedded, as well as the client application on a mobile phone which may be used to download covert videos and extract the secret message. A system configuration is shown in Figure 5.1.
Figure 5.1 System configuration of proposed covert communication method.
5.2.1. Proposed Idea Using AC Coefficients of DCT
As mentioned in Section 4.2.1, there are two kinds of encoding formats of the AC coefficients of the DCT in the block layer in the H.263 format: the VLC encoding and the FLC encoding. There are 127 codes encoded by the VLC and the others are encoded by the FLC.
The proposed method of embedding secret messages in videos is achieved by changing the VLC code to the FLC code. For every intra-coded macroblock, if there are VLC codes, we can use them to embed the secret message. A flowchart of the secret embedding process is shown in Figure 5.2.
Figure 5.2 Flowchart of the secret embedding process.
5.2.2. Detailed Algorithm
Because I-frames are coded without referencing to other frames, all macroblocks in an I-frame are intra-coded. Every intra-coded macroblock is composed of six blocks. The coding fashion is similar to the compression technique of the JPEG standard. A DCT-based method is applied.
Every block can be used to hide secret messages by making a slight modification of the AC coefficients of the DCT. A detailed algorithm is described as follows and
the process is shown in Figure 5.3.
Algorithm 5.1: Hiding process for videos.
Input: A video V, a secret message D, and a user’s key K.
Output: A stego-video V′. Steps:
1. Take K as the input of a random number generator to generate a sequence S of bytes with the same size as D.
2. For every byte in D, perform the Exclusive-OR operation on the i-th byte of D and the i-th byte of S to generate the i-th byte of D′, where D′ is a sequence of bytes with the same length as D.
3. Set S as the binary format of D′ with N bits. Denote S as follows:
S = {Sj | j = 1, 2, …, N }.
4. For every I-frame in V, read the data of every block and search the VLC code token. If the encoding bit Sk is 1, change the VLC token to the corresponding FLC code; else, do nothing. That is, perform the following operation:
Change the VLC token into FLC token, if is 1;
Make no modification, otherwise.
Sk
⎧⎪⎨
⎪⎩
5. Repeat Step 4 until all bits in S are encoded completely.
Figure 5.3 The flowchart of embedding process
When a user uses the client program on a mobile phone, he/she inputs the address of the covert video to download it and then inputs a key to recover the secret message. A detailed algorithm is described in the following and the process is shown in Figure 5.4.
Algorithm 5.2: Extracting of a secret message.
Input: The covert video V and a user key K.
Output: A secret message S.
Steps:
1. Search for every AC coefficient token T in the intra-coded blocks of V.
2. Check the encoding type of T. If the token is an FLC token, go to Step 3;
else, go to Step 4.
3. Check if the coded pair of (LAST, RUN, LEVEL) were encoded in the VLC code originally. If so, take the hidden bit to be 1; else, ignore the FLC token. Go to Step 5.
4. If the encoding type of T is a VLC token, take the hidden bit to be 0.
5. Transform the binary format secret into byte data Spre.
6. Take K as the input to a random number generator to generate a sequence B of bytes with the same size as Spre.
7. For every byte in Spre, perform the exclusive-OR operation on the i-th byte of Spre and the i-th byte of B to generate the i-th byte of S.
Covert video
Figure 5.4 A flowchart of secret message extracting process
5.3. Experimental Results
In our experiments, a video in which a secret message is embedded is put on the Internet. When a user gets the video, the secret message can be extracted and recovered by the use of the user key. The video with a secret message embedded is shown in Figure 5.5.
(a) (b)
(c) (d) Figure 5.5 Comparison between the original video and the stego-video.(a) (c) (e) (g)
(i) (k) The original frames of the video. (b) (d) (f) (h) (j) (l) The frames after a secret message is embedded with a user key.
(e) (f)
(g) (h)
(i) (j) Figure 5.5 Comparison between the original video and the stego-video.(a) (c) (e) (g)
(i) (k) The original frames of the video. (b) (d) (f) (h) (j) (l) The frames after a secret message is embedded with a user key(continued).
(k) (l) Figure 5.5 Comparison between the original video and the stego-video.(a) (c) (e) (g)
(i) (k) The original frames of the video. (b) (d) (f) (h) (j) (l) The frames after a secret message is embedded with a user key(continued).
Then the process of getting a secret message from a stego-video is shown in Figure 5.6.
(a) (b) Figure 5.6 Process of getting a secret message from a stego-video.(a) Downloading
movies by keying in a public URL. (b) Sending the request. (c) Inputting the key to extract and recover the secret message. (d) The secret message extracted by a correct key. (e) Inputting a wrong key. (f) The result of extracting the secret message by a wrong key.
(c) (d)
(e) (f) Figure 5.6 Process of getting a secret message from a stego-video.(a) Downloading
movies by keying in a public URL. (b) Sending the request. (c) Inputting the key to extract and recover the secret message. (d) The secret message extracted by a correct key. (e) Inputting a wrong key. (f) The result of extracting the secret message by a wrong key(continued).
5.4. Discussions
In this chapter, a covert communication technique by videos has been proposed.
The video files used here are very large. Hence, the size of the secret message can be huge. This is an advantage of the proposed method. Not only text messages but also pictures can be embedded into videos for transmission. A key is used to increase the security of covert communication. Covert communication by mobile devices is very convenient. By the proposed method, large volumes of secret data can be transferred securely.
Chapter 6
Secret Message Sharing on Mobile Phones by An Information Sharing Technique
6.1. Introduction
With the increasing of the population of carrying mobile phones, sharing secret messages by the mobile phone is very convenient. Shares of a secret can be stored in the mobile phone and collected together by the SMS to compose the original secret message.
The size of a message transmitted between mobile phones is usually limited.
The size of a message transmitted between mobile phones is usually limited.