10.08.2013 Views

MASTER THESIS Video Watermarking - Computer Graphics Group ...

MASTER THESIS Video Watermarking - Computer Graphics Group ...

MASTER THESIS Video Watermarking - Computer Graphics Group ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Chapter 4<br />

Implementation Details<br />

This chapter deals with implementation details of the software framework<br />

for watermark embedding and detection.<br />

A partial decoder / encoder (codec), as mentioned in Section 2.2, of H.264<br />

video streams has been implemented in order to obtain transform coefficients for<br />

direct watermark embedding in frequency domain and further processing for<br />

embedding in spatial domain.<br />

Further, a generic framework for watermarking of H.264 streams in both<br />

spatial and frequency domains has been designed and implemented. In this<br />

framework, three different watermarking methods have been written. The<br />

practical comparison of these methods is presented in Chapter 5.<br />

4.1 The H.264 Codec<br />

The partially decoding part of the codec is implemented according to the<br />

H.264 standard [9]. Of course, there are free implementations of the standard but<br />

writing an own helps to deeply understand the standard and video compression<br />

at all. Moreover, the transform coefficients are needed only, not fully decoded<br />

visible pictures.<br />

The decoder produces all syntactical elements of a stream which are<br />

relevant for watermarking. In particular, it decodes and parses SPSs, PPSs, slices<br />

and macroblocks up to transform coefficients. During the process, it checks<br />

whether the decoded elements and the whole stream are correct. When an error<br />

occurs, it is reported by a message of particular severity level (critical error, error,<br />

warning etc.) and decoding of the current NAL unit ends immediately.<br />

The encoding part of the codec is written as an inverse process to decoding<br />

because the standard contains only fragment information about the process. The<br />

19

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!