Homework Assignment #2
NOTE: For each of the following problems, please discuss the robustness, invisibility and security issues of your implementation.
Image Files: |
|
Notes: | [0] There is a typo in the course slides (Lecture 4, Page
10). In the provided example of embedding watermark in LSB, the changed
value was not correct. E.g, 158 should became 159, instead of f157,
after embedding bit value 1. [1] Use the graysclae lena image as the data source. |
[2] For problem 1.1, use the Columbia logo watermark image, which is of binary format with pixel value 1 for white and 0 for black. Use a same way during your embedding. I.e., embed bit 1 for white and 0 for black. | |
[3] For problem 1.2 and 1.3, apply the text watermark. The text
watermark has 4096 ASCII characters in total. Each ASCII character
contains one byte (8 bits). During DCT transform the lena image has
(64x64=) 4096 blocks with size of 8x8. Apply one character for each 8x8
DCT block. Embed the 8-bit watermark following the zig-zag
order: 1 2 6 7 0 0 0 0 3 5 8 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 I.e., change the last bit of the numbered coefficients to the bits corresponding to the ASCII value. Number 1 to 8 is for highest bit to lowest bit respectively. | |
[4] When applying the watermark, just replace the least significant
bits using the watermark bits. For problem 1.2, round the DCT
coefficients into the nearest integer values before applying the
watermark. [6] In your submission, generate a document and report the following results:
|
Notes: | [1] The paper reference: Cox IJ, Killian J, Leighton T, Shamoon. T. Secure spread spectrum watermarking for multimedia. IEEE Trans. on Image Processing, 1997,6(12):1673-1687. [PDF] |
[2] Pesudo Noise (PN) Generation: There are several PN sequence
generation methods. Some typical ones are: Maximal Length Sequences
(M-Sequence), Gold Codes, and Kasami Sequences. Here is a good
tutorial of PN (PDF). For more information, refer to this
tutorial site. Load in the source image, namely LENA. |
Resources: |
[1] Video Sequences (Please use .m2v files for this homework. Using .mov files is optional.) [2] MPEG encoder/decoder for MPEG-1,2 video stream (Recommend using mpeg2v12.zip) [3] MPEG demultiplexer/multiplexer for MPEG-1,2 system stream (Currently, many links in this webpage are broken. If you want to deal with the system stream (as in .mov), please look for other freeware.) |
Notes: |
[1] Decode the video file into Y, U, and V frame. Each frame is raw data. [2] Embed spread spectrum watermarks in the Y domain only. The process is the same as in Question 2. [3] Re-encode the frames into .m2v file format. Play the video to see whether watermarks are invisible. [4] Decode the video file again. Compare the watermark strength of each frame, before and after MPEG re-encoding. [5] For the visible watermark work, please replace the step [2] by a visible watermark technique that uses either (1) keep the low-frequency components of Y frames and substitute the high-frequency components of a watermark mask image; or (2) use the Braudaway-Mintzer technique as described in Lecture #1. |
|