52
ADVANCED UNDERGRADUATE RESEARCH PROJECT REPORT R R o o b b u u s s t t I I n n v v i i s s i i b b l l e e W W a a t t e e r r m m a a r r k k i i n n g g o o f f V V o o l l u u m m e e D D a a t t a a Wu Yinghui

Robust Invisible Watermarkingflying_oe.tripod.com/academic/research/UROP_2/report.pdf · Deliverables : Main report Program diskette Data diskette . Robust Invisible Watermarking

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Robust Invisible Watermarkingflying_oe.tripod.com/academic/research/UROP_2/report.pdf · Deliverables : Main report Program diskette Data diskette . Robust Invisible Watermarking

ADVANCED UNDERGRADUATE RESEARCH PROJECT REPORT

RRoobbuusstt IInnvviissiibbllee

WWaatteerrmmaarrkkiinngg

ooff VVoolluummee DDaattaa

Wu Yinghui

Page 2: Robust Invisible Watermarkingflying_oe.tripod.com/academic/research/UROP_2/report.pdf · Deliverables : Main report Program diskette Data diskette . Robust Invisible Watermarking

Robust Invisible Watermarking of Volume Data

i

Module Code : CS3288

Module Title : Advanced Undergraduate Research on Computing

Title : Robust Invisible Watermarking of Volume Data

Number : U32020

Member : Wu Yinghui

Advisors : Assist Prof Huang Zhiyong Assoc Prof Mohan S Kankanhalli

Allocation Date : November 1999

Completion Date : September 2000

Hardware : Intel x86 PC

Software : Linux GNU C++ (g++) GNU Make (gmake) Wine Tcl/Tk PKVox VTK VolView

Deliverables : Main report Program diskette Data diskette

Page 3: Robust Invisible Watermarkingflying_oe.tripod.com/academic/research/UROP_2/report.pdf · Deliverables : Main report Program diskette Data diskette . Robust Invisible Watermarking

Robust Invisible Watermarking of Volume Data Abstract

ii

ABSTRACT

Digitising visual data has had a dual impact. Firstly, it has enabled faster and more

efficient storage, transfer and processing. Secondly, duplication and manipulation of

data has also become very easy and undetectable. This can lead to violation of

copyrights [3],[10]. One solution to this problem is to embed a secondary signal, or

watermark , into the visual data in an unobtrusive and robust manner. There have

been works on embedding and retrieving watermark into digital images [9] and digital

video [6]. Watermarking of computer graphics data, however, is a rather new area,

with some recent proposals for watermarking of arbitrary triangle meshes [2],[11].

We developed a technique for robust and invisible watermarking of 3D volume data

based on the spread-spectrum technique [4], which is invisible and robust, and the

discrete cosine transformation (DCT) [13]. The technique we developed was tested

and shown to be robust against common attacks to 3D volume datasets. Furthermore,

experimental results showed that the volume-rendered images of the watermarked

volumes were visually indistinguishable from those of the original volumes.

Subject Descriptors

I.3.8 [Computer Graphics]: Applications

K.5.1 [Legal Aspects of Computing]: Software Protection - Copyrights

Keywords

Watermarking, digital copyrights, volume data, discrete cosine transform,

spread-spectrum

Page 4: Robust Invisible Watermarkingflying_oe.tripod.com/academic/research/UROP_2/report.pdf · Deliverables : Main report Program diskette Data diskette . Robust Invisible Watermarking

Robust Invisible Watermarking of Volume Data Acknowledgements

iii

ACKNOWLEDGEMENTS

I would like to thank my advisors, Assist Prof Huang Zhiyong1 and Assoc Prof Mohan

S Kankanhalli2, for their invaluable advices and guidance given. They jointly

proposed this project, and gave me this wonderful opportunity to work on a research

project that is at the frontier of computer science. Furthermore, throughout the one-

year period of this project, they helped me by not only clarifying the objectives of this

project but also providing guidance and advice on critical issues as well as difficulties

encountered during the research process. Without their assistance, there wouldn’t

have been this project that proposed and implemented a new technique in the

copyright protection area for volume dataset.

I would also like to thank my friend Ms Guan Xin 3, who was working in another

related research project and gave me timely helps. She helped me to clarify the

computation of the Discrete Cosine Transform and Gaussian random sequence,

helped me to understand the basis of both the VOX and the VTK file formats,

proposed the use of PGM bitmaps as watermark signals, and helped me to create the

PGM bitmaps used for testing and algorithm evaluation.

Last but not least, I should also thank my friends Mr Yang Guang, who helped me in

the research for fast Discrete Cosine Transform implementations, and Ms Rong Yan,

who encouraged me when I was facing so many problems while implementing the

program in this project.

1 School of Computing, National University of Singapore 2 School of Computing, National University of Singapore 3 Department of Computational Science, Faculty of Science, National University of Singapore

Page 5: Robust Invisible Watermarkingflying_oe.tripod.com/academic/research/UROP_2/report.pdf · Deliverables : Main report Program diskette Data diskette . Robust Invisible Watermarking

Robust Invisible Watermarking of Volume Data Table of Contents

iv

TABLE OF CONTENTS

I. INTRODUCTION 1

II. BACKGROUND 4

1. Types of Watermarking Techniques 4

2. Attacks on Watermarks 9

III. DISCRETE COSINE TRANSFORM 11

1. Overview 11

2. Discrete Cosine Transform (DCT) 12

3. Three-Dimensional DCT (3D-DCT) 14

IV. SPREAD-SPECTRUM TECHNIQUE 17

1. Watermarking as Communication 17

2. Spread-Spectrum Technique 19

V. THE WATERMARKING TECHNIQUE 21

1. Watermark Embedding 21

2. Watermark Detection 24

VI. RESULTS AND DISCUSSION 27

1. Implementation 27

2. Test Results 32

VII. CONCLUSION AND FUTURE STUDY 39

VIII. REFERENCES 41

IX. APPENDICES 45

Appendix A PGM Bitmap File Format 45

Appendix B VOX Volume Data Format 45

Appendix C VTK File Format Version 2.0 46

Page 6: Robust Invisible Watermarkingflying_oe.tripod.com/academic/research/UROP_2/report.pdf · Deliverables : Main report Program diskette Data diskette . Robust Invisible Watermarking

Robust Invisible Watermarking of Volume Data Table of Figures

v

TABLE OF FIGURES

Figure 1 Typical digital product distribution model 1

Figure 2 An example of applying 2D-DCT on the greyscale Lenna image of size 256

× 256 pixels 14

Figure 3 The standard model of a communication channel 18

Figure 4 Watermarking as communication 18

Figure 5 Watermark embedding flow chart 23

Figure 6 Watermark detection flow chart 26

Figure 7 Overall system architecture 28

Figure 8 The skull and the tomato datasets used in algorithm evaluation 33

Figure 9 Comparison of volume-rendered images of the skull dataset before (left) and

after (right) watermark embedding 35

Figure 10 Error rate of watermark retrieval from the skull dataset (68 × 64 × 64 =

278528 voxels) after addition of Gaussian noise 37

Figure 11 Error rate of watermark retrieval from the skull dataset (68 × 64 × 64 =

278528 voxels) after cropping 37

Figure 12 Error rate of watermark retrieval from the tomato dataset (64 × 208 × 216

= 2875392 voxels) after addition of Gaussian noise 38

Page 7: Robust Invisible Watermarkingflying_oe.tripod.com/academic/research/UROP_2/report.pdf · Deliverables : Main report Program diskette Data diskette . Robust Invisible Watermarking

Robust Invisible Watermarking of Volume Data Introduction

1

INTRODUCTION

Along with the fast pace of development in computer science, digitising of visual data

such as images and video has become increasingly popular. However, this

advancement in technology has dual impact. While, on one hand, it has enabled faster

and more efficient storage, transfer and processing of digital data; on the other hand,

duplication and manipulation of digital contents has also become very easy and

undetectable (see Figure 1).

Figure 1 Typical digital product distribution model

As the same time, as computer networks, which enable fast and error-free movement

of any unauthorized digital data and possibly manipulated copy of such information,

grow in popularity in the recent years, security concerns over copyright violation of

visual data have also been increasingly emphasised. One of the most promising

solutions appears to be to cement into the visual data a secondary signal that is not

perceivable and is bonded so well with the original data that it is inseparable and

survives any kind of signal processing. Techniques to embed and retrieve such

secondary information, or stamps (called watermark ), that conveys some information

about the intended recipient or the lawful owner of the original data, have been of

COMPUTER NETWORKS

Distributor User

Pirate

Digital contents

Manipulation

?

Page 8: Robust Invisible Watermarkingflying_oe.tripod.com/academic/research/UROP_2/report.pdf · Deliverables : Main report Program diskette Data diskette . Robust Invisible Watermarking

Robust Invisible Watermarking of Volume Data Introduction

2

considerable research interest [3],[10]. However, these works have been mostly

confined to visual data such as digital images [9] and digital video [8]. Recently,

there have been novel techniques proposed for watermarking computer graphics data

objects such as arbitrary triangle meshes [2],[11]. Nevertheless, there has been hardly

any work on watermarking of 3D volume data, which are widely used in areas such as

medical imaging, geometric analysis, etc.

In this work, we aim to develop a technique for 3D volume data watermarking that is

both invisible and robust.

By the term “invisible”, we mean that the 2D volume-rendered images of

watermarked volume data should be perceptually indistinguishable from the 2D

volume-rendered image of the original volume data, assuming that all the other

rendering parameters are unchanged. “Robust” watermarking implies that the

embedded invisible watermark should be resistant to intentional and unintentional

attacks on the watermarked 3D volume data, such as:

• Geometrical distortions: spatial scaling, cropping of a region of the volume,

translations, cut and paste to another volume, etc.;

• Addition of a constant offset to the voxel values;

• Addition of Gaussian or non-Gaussian noise;

• Linear filtering, such as low-pass filtering and high-pass filtering;

• Non-linear filtering, such as median filtering;

• Local exchange of voxel slices;

• Quantization and re-quantization;

• Digital-to-analogue (D/A) and analogue-to-digital (A/D) conversions.

Page 9: Robust Invisible Watermarkingflying_oe.tripod.com/academic/research/UROP_2/report.pdf · Deliverables : Main report Program diskette Data diskette . Robust Invisible Watermarking

Robust Invisible Watermarking of Volume Data Introduction

3

Furthermore, it must also be noted that if a particularly strong attack manages to

remove the embedded watermark from a volume data, the quality of its 2D volume-

rendered images should be sufficiently degraded so as to make this tampered data

useless. Therefore, the watermark serves as a deterrent against illegal users of volume

data.

In this project, we have developed a novel algorithm, based on the spread-spectrum

communication technique [4] and the discrete cosine transform (DCT) [13], which

addresses the abovementioned concerns and has been tested to be imperceptible and

robust.

Page 10: Robust Invisible Watermarkingflying_oe.tripod.com/academic/research/UROP_2/report.pdf · Deliverables : Main report Program diskette Data diskette . Robust Invisible Watermarking

Robust Invisible Watermarking of Volume Data Background

4

BACKGROUND

1. Types of Watermarking Techniques

1) By host data

Since the rapid development of computer networks and the Internet, security of digital

data has become of great concern.

In response to this increase in concerns, there have been proposals based on

watermarking techniques for digital images, audio, video and computer graphics

objects such as polygon meshes. For images, audio and video, which usually presents

in compressed form, there are also works on hiding the watermark signal in both the

original uncompressed form of data and the compressed version of data.

The advantage of having watermarks in the compressed domain is that the verification

of watermark does not require the usually expensive uncompressing step. Thus, it can

be applied on data bit streams on the fly along with data transmission. However,

putting watermark in the compressed domain also means that the watermark will be

specific to certain compression algorithm, which is undesirable sometimes. In this

case, it may be more suitable to watermark the original data in the uncompressed

domain.

2) By embedding domain

Watermarking techniques proposed so far can be broadly divided into two categories

considering the embedding domain of watermark, namely spatial domain methods and

transform domain methods.

Page 11: Robust Invisible Watermarkingflying_oe.tripod.com/academic/research/UROP_2/report.pdf · Deliverables : Main report Program diskette Data diskette . Robust Invisible Watermarking

Robust Invisible Watermarking of Volume Data Background

5

Spatial domain methods are usually quite robust to geometrical distortions but

sensitive to frequency domain manipulations. Thus, it is believed that it is difficult to

deal with frequency domain distortions low pass using spatial domain watermarking

techniques in the current stage.

Transform domain methods usually exhibit strong robustness to frequency domain

distortions such as addition of noise signals. Nonetheless, it is usually difficult to deal

with geometrical distortions in transform domain watermarking methods. Amongst

all transform domain methods, the Discrete Cosine Transform (DCT) and the Discrete

Wavelet Transform (DWT) are widely used because of their advantageous ability to

de-correlate frequency components of digital signals.

3) By visibility

We have both visible and invisible watermarking techniques. “Visible” here means

that the watermarked digital data is perceptually distinguishable from the original.

Such methods have been used in some online image libraries.

We usually require watermarks to be bonded with the original data very well such that

the digital data will become of no value after forced watermark removal or it will take

too much expense to remove the watermark instead of getting a legal copy of it.

Although it seems that visible watermarking techniques are less sustainable to attacks,

there have been some work on robust visible watermarking [29].

Page 12: Robust Invisible Watermarkingflying_oe.tripod.com/academic/research/UROP_2/report.pdf · Deliverables : Main report Program diskette Data diskette . Robust Invisible Watermarking

Robust Invisible Watermarking of Volume Data Background

6

On the other hand, invisible watermarking technique is a more popular research topic

because it is intuitively more promising in robustness against attacks and it does not

affect the fidelity of the original data. There have been numerous works on this topic

and some of the proposed techniques have been commercialised and used in graphics

applications.

4) By robustness

Intuitively, we want a watermarking technique to be robust against attacks that might

be caused by normal data processing, such as re-sampling, D/A and A/D conversions,

low pass, etc., or malicious attempts to remove the watermark. However, there are

still useful fragile watermarking techniques for specific applications besides the

robust techniques.

Fragile watermarks are similar to digital signatures except that they are not as fragile

as digital signatures that vanish upon small any change in the original data. Instead,

fragile watermark is supposed to survive normal signal processing that preserves the

content of the data, but be highly sensitive to malicious attacks that attempt to modify

the content of the original data. For example, in the case of digital image, fragile

watermarking technique should be able to survive image processing such as re-

sampling and even D/A and A/D conversions. At the same time, the fragile

watermark should be highly sensitive to operations such as replacing a region of

pixels with other pixels that changes the host image’s content.

Robust watermarks, in contrast, are supposed to survive all feasible attacks that

attempt to destroy the watermark but (at least partially) preserving the original data’s

Page 13: Robust Invisible Watermarkingflying_oe.tripod.com/academic/research/UROP_2/report.pdf · Deliverables : Main report Program diskette Data diskette . Robust Invisible Watermarking

Robust Invisible Watermarking of Volume Data Background

7

content. Although there is no one technique that fulfils this requirement so far, there

have been some works that are shown to be robust against most malicious attacks, and

some combination of the current techniques might be applicable to produce a stronger

watermarking technique.

5) By paradigm

Here, we adopt the taxonomy based on watermarking paradigms presented by Cox et

al [6]. According to this taxonomy, there are mainly three broad category of

watermarking techniques:

Category 1 consists of much early work on watermarking, which essentially adds

watermark signal w directly into host content C0, and produces a watermarked version

of content Cw. This category of watermarking techniques is characterized at the

detector by considering the original content, C0, as noise. When the original content

is available to the detector, the “noise” is then subtracted from the received signal,

Cw’, prior to detection.

Category 2 watermark embedding algorithms are characterized by the fact that the

watermark signal to be embedded, w, is modified prior to insertion. Moreover, such

modification done is based on a function of the host content itself. However, such

modifications that present in Category 2 algorithms are performed primarily for

fidelity considerations, and not specifically with the intention to improve detector

performance. That is, Category 2 algorithms take advantage of a content-dependent

fidelity model (often Human Visual System, or HVS, for digital image watermarking)

to balance a perceptual distortion constraint with effective embedding techniques. A

Page 14: Robust Invisible Watermarkingflying_oe.tripod.com/academic/research/UROP_2/report.pdf · Deliverables : Main report Program diskette Data diskette . Robust Invisible Watermarking

Robust Invisible Watermarking of Volume Data Background

8

very simple example of such embedding algorithm is one that scales the watermark

vector w by a scalar α such that largest absolute value of the elements in the whole

scaled vector αÿw equals to a threshold µ. This scaled watermark vector can then be

added to the content to obtain the watermarked data, Cw. A variety of more

sophisticated embedding algorithms that exploit the properties of the content-

dependent fidelity model also exist.

Category 3 algorithms exploit side information in the form of knowledge of the

original data’s actual content at the embedding phase for improved detector

performance. The result of such approach is that novel watermark embedding and

detection algorithms can be developed which are (or at least have the potential to be)

superior to the prior methods. The basic idea of such algorithms is to choose a

watermarked content vector Cw from within an acceptable distortion region to

maximise probability of successful watermark detection.

6) By application

There are two broad categories of applications for watermarking techniques, namely

copyright protection and digital data authentication [7].

Copyright protection refers to applications where copyright owner identification

and/or content owner identification is required. Some common techniques involved

are: (1) fingerprinting by embedding robust watermarks, (2) data encryption.

However, since approach (2) has effect only during the data transmission phase and

will has no more effect after decryption is performed on received data, approach (1)

has the advantage to remain present in the host data even after data transmission

Page 15: Robust Invisible Watermarkingflying_oe.tripod.com/academic/research/UROP_2/report.pdf · Deliverables : Main report Program diskette Data diskette . Robust Invisible Watermarking

Robust Invisible Watermarking of Volume Data Background

9

stage. Some common properties of watermarking techniques that are usually required

by this category of applications are: difficult to notice (invisible), robust to common

distortions and resistant to malicious attempts to remove watermark (robust),

supporting a sufficient data rate.

Digital data authentication refers to applications that require confirmation of the

originality of digital data, that is, to verify if digital data has been tampered in any

way such that its content became different from that of its original form. Some

properties of watermarking techniques required for this kind of applications are rather

different from the previous case. There have been proposals of fragile watermarking

techniques that the watermark embedded vanishes upon unauthorized modification of

digital data in order to cater for this category of applications. Furthermore, some of

the proposed techniques are also capable of marking out the portion of data that is

modified.

2. Attacks on Watermarks

In this section, we are concerned about both unintentional distortions and, possibly,

malicious attacks to the volume data used as carrier of watermark information.

Unintentional distortions are usually caused by transmission noise, while malicious

attacks include volume cropping, signal filtering, etc. in this case. These attacks can

be classified into the following categories:

1) Geometrical distortions. Typical geometrical distortions include affine

transformations (rotation by a constant angle, spatial scaling, etc.), cropping of

an area of the volume, replacing an area of the volume with another volume,

etc.

Page 16: Robust Invisible Watermarkingflying_oe.tripod.com/academic/research/UROP_2/report.pdf · Deliverables : Main report Program diskette Data diskette . Robust Invisible Watermarking

Robust Invisible Watermarking of Volume Data Background

10

2) Addition of a constant offset to voxel values.

3) Addition of Gaussian or non-Gaussian noise.

4) Linear filtering, such as low pass and high pass filtering, or non-linear

filtering, such as median filtering.

5) Local exchange of voxel slices.

6) Digital-to-analogue and analogue-to-digital conversions.

7) Collusion. A number of authorised recipients of the same volume data should

not be able to collude and use the differently watermarked volumes to generate

an unwatermarked copy of the volume.

8) Forgery. A number of authorised recipients of the same volume data should

not be able to collude and form a copy of watermarked volume with the valid

embedded watermark of a person not in the group.

In this project, we try to address the above attacks while putting attacks 1) to 6) with

more emphasis since they are often much easier to perform from an attacker’s point of

view.

Page 17: Robust Invisible Watermarkingflying_oe.tripod.com/academic/research/UROP_2/report.pdf · Deliverables : Main report Program diskette Data diskette . Robust Invisible Watermarking

Robust Invisible Watermarking of Volume Data Discrete Cosine Transform

11

DISCRETE COSINE TRANSFORM

1. Overview

Current techniques described in literature of digital image watermarking can be

grouped into two classes: transform domain methods [12],[19], which embed the data

by modulating the transform domain coefficients, and spatial domain methods [22],

which embed secondary data by directly modifying the pixel values of the original.

For volume datasets, it is possible that we similarly adopt either class of methods.

However, we choose to use transform domain technique for this project, because

transform domain methods are shown to be more robust to most common signal

processing techniques.

Furthermore, amongst the various available techniques for transform domain

watermarking, such as discrete cosine transform (DCT) [12],[26],[27], discrete

wavelet transform (DWT) [19],[21], etc., we choose DCT as our basis. This is mainly

because:

1) DCT has been in interest of researches for so many years that it has been

proved that DCT is among the best transforms to de-correlate a signal

sequence;

2) DCT can be easily extended from one-dimensional to multi-dimensional cases

due to its property of separability;

3) DCT can be implemented efficiently by highly optimised algorithms, which

can give good performance even when processing large amount of data in

typical volume datasets;

Page 18: Robust Invisible Watermarkingflying_oe.tripod.com/academic/research/UROP_2/report.pdf · Deliverables : Main report Program diskette Data diskette . Robust Invisible Watermarking

Robust Invisible Watermarking of Volume Data Discrete Cosine Transform

12

4) DCT has already been widely used in digital data compression area such as

JPEG image compression, MPEG video compression, etc., which would make

it easier to incorporate DCT-based watermarking algorithms with existing

applications.

2. Discrete Cosine Transform (DCT)

Transforms, and in particular integral transforms, are used primarily for the reduction

of complexity in mathematical problems. The Fourier Transform is one of the well-

known examples of such transforms that de-correlates a signal sequence, and is

widely used in digital signal processing area.

The Discrete Cosine Transform (DCT) is a special case of the Fourier Transform, and

is shown to be close to the Karhunen-Loeve Transform (KLT) for “natural” images.

DCT has also been shown to be very good in de-correlating digital signal sequences.

Therefore, DCT is widely used in both image compression, such as JPEG

compression, and intra-frame video frame compression, such as MPEG compression.

Furthermore, DCT’s strong ability in de-correlating signals has also given it the

popularity in digital signal analysis and processing area.

The basic forward and inverse one-dimensional Discrete Cosine Transforms (1D-

FDCT and 1D-IDCT) of a sequence of NX discrete values are given by:

1D-FDCT:

∑−

=

⋅+⋅⋅⋅=1

0 2)12(

cos)()(2

)(XN

x XX Nux

xfuCN

uFπ

(1)

1D-IDCT:

Page 19: Robust Invisible Watermarkingflying_oe.tripod.com/academic/research/UROP_2/report.pdf · Deliverables : Main report Program diskette Data diskette . Robust Invisible Watermarking

Robust Invisible Watermarking of Volume Data Discrete Cosine Transform

13

∑−

=

⋅+⋅⋅⋅=1

0 2

)1(2cos)()(

2)(

XN

u XX Nux

uFuCN

xfπ

(2)

where =

=otherwise

kkC

1

0)( 2

1

.

Similarly, we can define two-dimensional DCT as:

2D-FDCT:

∑ ∑−

=

=

⋅+⋅

⋅+⋅⋅⋅⋅⋅=

1

0

1

0 2)12(

cos2

)12(cos),()()(

22)(

Y XN

y

N

x YXYX Nvy

Nux

xyfvCuCNN

uFππ (3)

2D-IDCT:

∑ ∑−

=

=

⋅+⋅

⋅+⋅⋅⋅⋅⋅=

1

0

1

0 2

)1(2cos

2

)1(2cos),()()(

22)(

Y XN

y

N

u YXYX N

vy

N

uxuvFvCuC

NNxf

ππ (4)

where =

=otherwise

kkC

1

0)( 2

1

.

The above 2D-DCT functions are widely used in image processing, image

compression (JPEG compression), and video compression (MPEG compression).

Figure 2 shows us an example of applying 2D-FDCT to a greyscale Lenna image of

size 256 µ 256 pixels. The DCT block size used was the whole image (256 µ 256).

As illustrated in the image on the right-hand-side, most frequency coefficients become

zeroes or values near zero after performing FDCT. This depicts the redundancies

involved in spatial representation of images and provides us flexible alternatives to

manipulate digital data.

The DCT has also been shown to be a separable transform. That is, multi-

dimensional DCT can be implemented as a series of one-dimensional DCTs. This

Page 20: Robust Invisible Watermarkingflying_oe.tripod.com/academic/research/UROP_2/report.pdf · Deliverables : Main report Program diskette Data diskette . Robust Invisible Watermarking

Robust Invisible Watermarking of Volume Data Discrete Cosine Transform

14

property gives us a wonderful chance to reduce the computational complexity

involved in the basic definition formula when implementing the algorithm.

There have been numerous fast algorithms for FDCT and IDCT implementations in

one, two, and even three dimensions available as a result of many years of research in

this area [14],[17]. Thus, for example, a fast 3D-DCT can possibly be implemented

on each of the slices of a volume by applying fast 2D-DCT algorithms; and, then, this

can be followed by a fast 1D-DCT along the third axis to produce the same result of a

trivial 3D-DCT implementation.

Figure 2 An example of applying 2D-DCT on the greyscale

Lenna image of size 256 × 256 pixels

3. Three-Dimensional DCT (3D-DCT)

According to Rao and Yip [13], the three-dimensional Discrete Cosine Transform

(3D-DCT) of an NZ × NY × NX “cube” of voxels (volume elements) can be derived

from the above 2D-DCT Equations (3) and (4) as:

2D-FDCT

Image (Spatial domain)

Frequency domain

Page 21: Robust Invisible Watermarkingflying_oe.tripod.com/academic/research/UROP_2/report.pdf · Deliverables : Main report Program diskette Data diskette . Robust Invisible Watermarking

Robust Invisible Watermarking of Volume Data Discrete Cosine Transform

15

Forward 3D DCT (3D-FDCT):

{ }∑ ∑ ∑−

=

=

=

⋅⋅⋅⋅=1

0

1

0

1

03213 )cos()cos()cos(),,(),,(),,(

Z Y XN

z

N

y

N

xD tttxyzfuvwuvwF α (5)

Inverse 3D DCT (3D-IDCT):

{ }∑ ∑ ∑−

=

=

=

⋅⋅⋅⋅=1

0

1

0

1

03213 )cos()cos()cos(),,(),,(),,(

Z Y XN

w

N

v

N

uD tttuvwFuvwxyzf α (6)

where XN

uxt

2

)12(1

π⋅+= , YN

vyt

2

)12(2

π⋅+= , ZN

wzt

2

)12(3

π⋅+= ,

)()()(222

),,(3 uCvCwCNNN

uvwXYZ

D ⋅⋅⋅⋅⋅=α ,

and =

=otherwise

kkC

1

0)( 2

1

.

In the above Equations (5) and (6), f(z, y, x) is a voxel value in one of the NZ volume

slices (0 § z < NZ); and F(w, v, w) is a DCT coefficient in the corresponding NZ µ NY

µ NX DCT cube.

As shown in the equations above, each DCT coefficient in the frequency domain is

calculated involving all voxel values in the NZ µ NY µ NX voxel cube. This shows the

global effect of each of the individual DCT coefficients, which gives DCT a very nice

energy spreading property. However, this requirement also presents a practical

problem – the computational complexity in performing FDCT and IDCT calculations.

Despite the fact that multi-dimensional DCT can be implemented by a series of fast

one- or two-dimensional DCTs, it is still too expensive to compute multi-dimensional

DCTs in general when the size of DCT block is large, which is usually the case in

practice when we are dealing with medical volume data, for example. Due to this

Page 22: Robust Invisible Watermarkingflying_oe.tripod.com/academic/research/UROP_2/report.pdf · Deliverables : Main report Program diskette Data diskette . Robust Invisible Watermarking

Robust Invisible Watermarking of Volume Data Discrete Cosine Transform

16

problem, DCT is usually performed in small blocks of data instead of in the whole

dataset in one go in order to reduce the computational complexity, which gives block-

based DCT. In this project, we choose to use 4 µ 4 µ 4 voxel blocks (that is, NX = NY

= NZ = 4) to perform the 3D-FDCT and 3D-IDCT required by both the watermarking

embedding and detection algorithms. This choice ensures that, for each DCT block,

we have sufficient DCT coefficients to hide watermark bits while avoiding to have

too much computation overhead.

Page 23: Robust Invisible Watermarkingflying_oe.tripod.com/academic/research/UROP_2/report.pdf · Deliverables : Main report Program diskette Data diskette . Robust Invisible Watermarking

Robust Invisible Watermarking of Volume Data Spread-Spectrum Technique

17

SPREAD-SPECTRUM TECHNIQUE

Watermarking is a process to hide, or embed, a secondary signal into another signal.

There is a wide range of possible uses for this signal embedding process, ranging

from traditional stenography to recent interest in providing copyright and copy control

information. The advantage of embedding a secondary signal, or watermark , into the

original signal is that the watermark signal is directly combined into the host data

such that it is independent of the broadcast or transmission formats, and it will still

present in the host data even after other data transmission and/or processing steps.

1. Watermarking as Communication

Cox et al [4],[5],[6] regarded watermarking as a form of communication. The

requirement that the fidelity of the original digital content should not be impaired

implies that the energy of the watermark signal must be relatively small in

comparison to that of the content signal. This characteristic from the perspective of

watermark detection has led several authors to think of watermarking as a form of

spread-spectrum communication.

Figure 3 illustrates Cox’s summary [6] of the traditional view of communication

systems. The message to be transmitted is first encoded, for error correction and/or

frequency spreading purposes, and then modulated in a variety of ways for

transmission. The receiver, then, demodulates the noisy signal from the transmission

channel to an (possibly corrupted) encoded message and passes it to the decoder to

produce the received message.

Page 24: Robust Invisible Watermarkingflying_oe.tripod.com/academic/research/UROP_2/report.pdf · Deliverables : Main report Program diskette Data diskette . Robust Invisible Watermarking

Robust Invisible Watermarking of Volume Data Spread-Spectrum Technique

18

In our project, we adopt one of the ways in which watermarking can be mapped into

the above communication framework as illustrated in Figure 4. The modulation step

here is replaced by embedding the encoded message (the watermark) into some digital

data sequence C0, and the demodulation step is replaced by an watermark extractor

that extracts (possibly corrupted) watermark signal from the received signal Cw’.

Figure 3 The standard model of a communication channel

Figure 4 Watermarking as communication

In the context of watermarking, the post-embedding noise shown above in the

transmission channel N is a result of various types of processing that the watermarked

media goes through, such as compression and decompression, digital-to-analogue and

analogue-to-digital conversions, content enhancements, etc., before it is received by

the receiver. This might possibly be a result of malicious signal processing, or attack,

by pirates intending on removing the watermark.

Modulator Demodulator Decoder Encoder Message Message

Transmission noise

Watermark Embedding

Watermark Extractor

Decoder Encoder Message m

Message m’

Distortion Vector

N

w sw’

Original digital data

C0

Cw Cw’

Page 25: Robust Invisible Watermarkingflying_oe.tripod.com/academic/research/UROP_2/report.pdf · Deliverables : Main report Program diskette Data diskette . Robust Invisible Watermarking

Robust Invisible Watermarking of Volume Data Spread-Spectrum Technique

19

2. Spread-Spectrum Technique

Cox et al [4],[5],[6] also suggested that perceptual modelling had significant utility

for watermarking. Their paper highlighted an idea that is somewhat counter-intuitive:

If a watermark is supposed to be robust, that is, it is supposed to survive common

signal processing on the host data, the watermark signal must be embedded in the

perceptually significant components of the content. This is clearly true if, for

example, lossy compression, whose goal is to remove perceptually insignificant, or

redundant, components of the content, is performed.

However, such a requirement obviously conflicts with the desire that the watermark

should be perceptually invisible to human observers. In order to meet both of these

conflicting requirements, Cox et al proposed a form of spread-spectrum coding such

that the energy of the embedded watermark is spread in the whole host signal

sequence and that the perceptually significant components of the signal sequence are

only changed by a small amount. This idea of spreading the energy of the secondary

signal in the host signal for redundancy has now been widely used in communication

channels that transmit relatively narrow-band data in a noisy channel of wide

bandwidth.

The basic idea of the algorithm implemented in this project is: Each of the watermark

bits is spread by a large spread factor cr, called the chiprate [6]. For this purpose, the

bit pattern of the watermark is simply repeated in a raster-scan order to tile the entire

volume of size MX µ MY µ MZ. The effect of this step is to improve the robustness to

signal distortions such as cropping by introducing data redundancy. The spreading

effectively provides spatial redundancy by embedding each of the information bits

Page 26: Robust Invisible Watermarkingflying_oe.tripod.com/academic/research/UROP_2/report.pdf · Deliverables : Main report Program diskette Data diskette . Robust Invisible Watermarking

Robust Invisible Watermarking of Volume Data Spread-Spectrum Technique

20

into cr number of voxels:

" i = j µ K, bi = aj, where K = {1,2,…,cr}. (7)

After spreading the original watermark signal sequence into the whole host volume,

subsequent steps of the process simply regard this new watermark sequence as the

basic watermark and go ahead with their original algorithms.

Page 27: Robust Invisible Watermarkingflying_oe.tripod.com/academic/research/UROP_2/report.pdf · Deliverables : Main report Program diskette Data diskette . Robust Invisible Watermarking

Robust Invisible Watermarking of Volume Data The Watermarking Technique

21

THE WATERMARKING TECHNIQUE

1. Watermark Embedding

Watermarking a volume data is essentially the process of altering the voxel values in

it in such a manner that we can ensure that a viewer of its volume-rendered image

does not notice any perceptual change between the original volume rendering and the

watermarked volume rendering. We utilise the spread-spectrum communication

technique in the frequency domain (this reduces the average energy of the watermark

signal) in order to minimise the amount of distortion introduced by watermark

embedding process and, thus, achieve the goal [4],[5],[6].

Assume that a volume V that is to be watermarked is of size MX µ MY µ MZ. The basic scheme of our watermarking technique is outlined below ( Figure 5):

1) A NX µ NY µ NZ (NX = NY = NZ = 4 in our program) block-based three-

dimensional Discrete Cosine Transform (3D-DCT) is applied on the volume V

[See Equation (5)]. The size of the DCT block, 4, is chosen as a trade-off

between the computational complexity of DCT itself and the availability of

sufficient frequency coefficients to hide watermark signals. Let’s denote the

resultant DCT coefficient volume as V .

To embed watermark information bits wi œ {0, 1}, we first modulate wi to be

ai œ {-1, 1}, where

==−

=11

01

i

ii w

wa , (8)

so as to reduce the bias of the embedded watermark signal. Then, in order to

spread the watermark bits’ energy, the bit pattern obtained is spread by a large

Page 28: Robust Invisible Watermarkingflying_oe.tripod.com/academic/research/UROP_2/report.pdf · Deliverables : Main report Program diskette Data diskette . Robust Invisible Watermarking

Robust Invisible Watermarking of Volume Data The Watermarking Technique

22

chiprate cr, as expressed in Equation (7), to obtain the bit pattern bi. The

result of this step is that we produce the basic watermark sequence from the

original watermark by tiling it over the whole host volume, that is, each

watermark bit ai is now embedded into cr number of voxels. This redundancy

in watermark information helps to improve the robustness of our algorithm to

distortions.

2) The above tiled bit pattern is then modulated with a pseudo-random noise

(PN) sequence pi, where pi œ {-1, 1}. The purpose of this step is to produce

noise-like watermark signals so as to try to counter collusion and/or forgery

types of attacks.

3) The modulated noise-like watermark sequence, wi, where wi = bi ÿ p, thus

forms a watermark signal volume W of size MX µ MY µ MZ. This watermark

signal volume, W, is then transformed into frequency domain by applying a 4

µ 4 µ 4 block-based 3D-FDCT as well. We denote the resultant DCT

coefficient volume as W .

4) For every DCT coefficient block biV œ V and the corresponding watermark

signal DCT block biW œ W , the corresponding coefficients are added to form a

watermarked DCT coefficient block biV’ = bi

V + biW, which constitutes the

watermarked DCT volume V ′ in frequency domain.

Page 29: Robust Invisible Watermarkingflying_oe.tripod.com/academic/research/UROP_2/report.pdf · Deliverables : Main report Program diskette Data diskette . Robust Invisible Watermarking

Robust Invisible Watermarking of Volume Data The Watermarking Technique

23

5) The 3D-IDCT is performed on V ′ to obtain a volume V’ of size MX µ MY µ

MZ [Equation (6)]. This new volume, V’, is the watermarked volume data

corresponding to the original volume V.

Figure 5 Watermark embedding flow chart

For any given set of volume rendering parameters, the 2D images produced by

volume rendering on V’ should be perceptually indistinguishable from those on V.

The pseudo-noise sequence used to modulate the basic watermark sequence ensures

that the embedded watermark sequence is noise-like such that it will be difficult to

Watermarked volume

(V’)

Watermark signal ({aj})

Tiled watermark

({bi})

… DDCCTT--

ttrraannssffoorrmmeedd wwaatteerrmmaarrkk

((W ))

… DDCCTT--

ttrraannssffoorrmmeedd vvoolluummee

((V ))

… WWaatteerrmmaarrkkeedd

DDCCTT ccooeeffffiiccii eennttss

((V ′ ))

Original volume

(V)

Spread by cr

Block-based 3D-FDCT

Block-based 3D-FDCT

3D-IDCT

Modulated by PN

Modulated watermark (W’ = {wi})

Page 30: Robust Invisible Watermarkingflying_oe.tripod.com/academic/research/UROP_2/report.pdf · Deliverables : Main report Program diskette Data diskette . Robust Invisible Watermarking

Robust Invisible Watermarking of Volume Data The Watermarking Technique

24

detect, locate and manipulate the embedded information without compromising on the

corresponding volume-rendered image quality.

2. Watermark Detection

For detecting the existence of the watermark, the original unwatermarked volume

data, V, is needed. In addition, the same unshifted pseudo-random sequence that was

used in watermark embedding phase must be used to demodulate the residual

watermark sequence to retrieve the original watermark signals.

The detailed steps required for watermark detection are as follows (Figure 6):

1) Same as the first step in watermark embedding, a 4 µ 4 µ 4 block-based 3D-

FDCT applied on the original volume data to obtain the DCT coefficients, V .

2) Apply, as well, a 4 µ 4 µ 4 block-based 3D-FDCT on the watermarked

volume data, V” (we denote this as V” instead of V’ here because the volume

data might have subjected to attacks), to obtain the DCT coefficients, V ′′ .

3) Subtract V from V ′′ to obtain the residual watermark coefficient volume rV ,

that is, rV = V ′′ - V . In addition, a 3D-IDCT is performed on this residual

coefficient volume rV to obtain the residual watermark sequence wir.

4) The residual watermark sequence, wir, is analysed by correlating it with the

same pseudo-random noise (PN) sequence used in the watermark embedding

phase, where correlation can be understood as demodulation followed by

Page 31: Robust Invisible Watermarkingflying_oe.tripod.com/academic/research/UROP_2/report.pdf · Deliverables : Main report Program diskette Data diskette . Robust Invisible Watermarking

Robust Invisible Watermarking of Volume Data The Watermarking Technique

25

summation over the correlation window. In our algorithm, the correlation

window for each bit is the chiprate, cr. If the peak of correlation is positive,

the corresponding watermark bit is +1 else it is –1. Considering a subset of

the watermark values wir over the correlation window where i œ 1,…,cr:

∆+⋅=⋅= ∑∑==

cr

iii

cr

i

riij bpwps

11

, (9)

where D is the error term which can be introduced by unintentional and/or

intentional attacks. By choosing a sufficiently large cr, we can have adequate

redundancy of signal strength such that the summation can be approximated

as:

j

cr

i

riij acrwps ⋅≈⋅= ∑

=1

. (10)

5) The required information bits, aj” (the detected watermark signal sequence), is

retrieved as:

aj” = sign(sj). (11)

6) Optionally, the retrieved watermark, aj”, can be compared with the original

watermark sequence, aj. Thus, the watermark can be verified to be either

“accepted” or “rejected” by performing a hypothesis test with certain

confidence level.

Page 32: Robust Invisible Watermarkingflying_oe.tripod.com/academic/research/UROP_2/report.pdf · Deliverables : Main report Program diskette Data diskette . Robust Invisible Watermarking

Robust Invisible Watermarking of Volume Data The Watermarking Technique

26

Thus, it should be noted that for successful recovery of watermark, the watermarked

volume must be transformed back to the original position before the first detection

step is applied. We will be discussing this issue in more details in the discussion

section.

Figure 6 Watermark detection flow chart

Original volume

(V)

Retrieved watermark

({aj”})

… …

… DDCCTT--

ttrraannssffoorrmmeedd vvoolluummee

((V ))

… DDCCTT--

ttrraannssffoorrmmeedd vvoolluummee

((V ′′ ))

… RRee ssiidduuaall

DDCCTT--ccooeeffffiiccii eennttss

(( rV ))

Watermarked volume (V”)

––

Analysis

Block-based 3D-FDCT

Block-based 3D-FDCT

3D-IDCT

Correlated with PN

Residual watermark (Wr = {wi

r})

Correlation coefficients

({sj})

Original watermark

({aj})

Y / N

Hypothesis test

Page 33: Robust Invisible Watermarkingflying_oe.tripod.com/academic/research/UROP_2/report.pdf · Deliverables : Main report Program diskette Data diskette . Robust Invisible Watermarking

Robust Invisible Watermarking of Volume Data Results and Discussion

27

RESULTS AND DISCUSSION

We have implemented the volume watermarking technique proposed above as a C++

program on a Linux platform. Furthermore, to verify the resultant watermarked

volumes, we have used both the PKVox [18] and the VTK VolView V1.1 for Linux

[19] software packages to perform volume rendering.

1. Implementation

In implementing of the proposed algorithm, we encountered some difficulties in some

details of implementation. However, we managed to ironed out them from the

original algorithm by slight changes or minor restriction in the individual steps of the

algorithm.

1) Overall architecture

The whole software package that we come out with consists of five major C++

classes, namely CNormalRandom, CWatermark, CBitmap, CVolume and

C3dBound, and other auxiliary functional units (see Figure 7).

The CNormalRandom class is a random number generator that generates normally

distributed random numbers (Gaussian random numbers) with a desired mean and

standard deviation. It makes use of library calls void srandom(unsigned

int) and long int random(void) to generate a series of 12 uniformly

distributed random numbers and use them to compute a statistically normal random

number sequence.

Page 34: Robust Invisible Watermarkingflying_oe.tripod.com/academic/research/UROP_2/report.pdf · Deliverables : Main report Program diskette Data diskette . Robust Invisible Watermarking

Robust Invisible Watermarking of Volume Data Results and Discussion

28

The CWatermark class contains routines to load watermark signal sequence into

memory, to embed a watermark signal into a volume, and to extract a watermark

signal sequence from a volume. The major steps of watermark embedding are all

contained in this class.

The CBitmap class implements the interface from internal data structure to PGM

bitmap files. The CVolume and C3dBound classes provide the interface from

internal data structures to both VOX and VTK volume data files. The detailed

specifications of these three file formats are provided below in the APPENDICES

section as a note to our implementation.

Figure 7 Overall system architecture

2) The watermark signal sequence

In order to simplify the watermark signal’s verification and to make the result more

intuitive to observers, we use monotone PGM bitmaps to store watermark signals to

be embedded and those retrieved.

C3dBound

CVolume

CWatermark

CNormalRandom

CBitmap

VOX files VTK files

PGM bitmap

CException etc.

main

FDCT_3D IDCT_3D

etc.

Contains

Uses

Page 35: Robust Invisible Watermarkingflying_oe.tripod.com/academic/research/UROP_2/report.pdf · Deliverables : Main report Program diskette Data diskette . Robust Invisible Watermarking

Robust Invisible Watermarking of Volume Data Results and Discussion

29

Most PGM (Portable GreyMap) bitmaps use one byte to represent a pixel, giving it a

256-level greyscale colour depth. In our program, PGM bitmaps are read and process

using a threshold that is default to 127 (0x7F). That is, any pixels in the bitmap that

has a value lower than or equal to 127 will be treated as 0 (black), whereas any value

above 127 will be treated as 255 (0xFF, white).

Furthermore, for compact data storage and efficient processing, we choose to use the

raw-bit format of PGM bitmap to store watermark signals. The specification of this

file format is listed in Appendix A.

3) The pseudo-random (PN) noise sequence

In the watermarking technique proposed, the pseudo-random (PN) noise sequence is

used to modulate the basic watermark sequence to produce a noise-like watermark

sequence. Since it requires only values of 1’s and –1’s, the PN sequence is generated

by simple library calls to void srandom(unsigned int) and long int

random(void). Furthermore, the PN sequence is initialised using system time to

ensure a unique sequence for each watermark embedding process. This is required to

counter collusion and/or forgery types of attacks.

4) The volume data

Because we choose PKVox [18] and VTK VolView [19] as our volume rendering tools,

our program is written to cater for the volume data formats used by both of the

software packages. In particular, VOX format for PKVox (see Appendix B) and VTK

format for VolView (see Appendix C), which are both in uncompressed form.

Page 36: Robust Invisible Watermarkingflying_oe.tripod.com/academic/research/UROP_2/report.pdf · Deliverables : Main report Program diskette Data diskette . Robust Invisible Watermarking

Robust Invisible Watermarking of Volume Data Results and Discussion

30

For our application, however, we choose only to use binary voxel data formats from

both the VOX and the VTK file format specifications. For the VOX file format, we

implement only the raw-bit format since it is, in general, much more efficient in terms

of storage and processing speed. For the VTK file format, we implement only a very

restrictive subset of the file format specification, which is the binary volume dataset

format.

5) The 3D Discrete Cosine Transforms

There are a number of fast algorithms available for both 3D-FDCT and 3D-IDCT.

However, in order to be able to trace the intermediate states of a volume going

through the watermark embedding and detection phases, and to avoid the possible

side-effects caused the approximations used in most fast algorithms, we choose to

implement only a trivial algorithm by using the definition equations [see Equations

(5) and (6)] with some pre-computation optimisation.

By inspecting Equations (5) and (6), we find that the constant coefficients, such as

C(k), α3D(w, v, u) and cos(t), which involve quite a number of expensive cosine and

square root computations and are multiplied with all voxel values (in FDCT) and all

DCT coefficients (in IDCT), are repeatedly computed many times. Therefore,

without modifying any of the original equations, we simply pre-compute all the

constant coefficients and store them into for later FDCT and IDCT computations.

This does speed up the computation while preserving all the intermediate states from

the original equations.

Page 37: Robust Invisible Watermarkingflying_oe.tripod.com/academic/research/UROP_2/report.pdf · Deliverables : Main report Program diskette Data diskette . Robust Invisible Watermarking

Robust Invisible Watermarking of Volume Data Results and Discussion

31

Besides the two definition functions for computing 3D-FDCT and 3D-IDCT, we also

implement an additional function to compute only the DC component of a 3D-DCT

block. This function is used in the watermark-embedding stage to determine if a

block of voxels is suitable to embed watermark bits. We will be talking about its

usage below.

6) The watermark-embedding stage

After some initial experiments, we found that, unlike embedding watermark in digital

images, volume data has its own characteristic with respect to watermark embedding.

In the case of digital images, there is usually some sort of background, highly textured

or nearly uniformly coloured, in the image besides other contents. However, this

might not be the case in the case of volume data. There can possibly be nothing in the

background of a volume besides other contents (by “nothing”, we mean the

corresponding volume values are 0’s or are near 0).

In order to counter this problem, we use the DC component of a 3D DCT block to

determine the average signal energy that presents in a DCT block. Thus, the function

float FDCT_3D_DC(const float[BLOCKSIZE][BLOCKSIZE][BLOCKSIZE]) is

created to cater for this amendment. By calling this function, our program checks the

average energy in the corresponding DCT block prior to calculating the full 3D-FDCT

of the block. If this average energy is smaller than a threshold, we can assume that

the voxel values in the corresponding DCT block are near 0, which is empirically

proved to be sensitive to any alteration that is caused the attempt to embed watermark

bits. Thus, our algorithm will simply skip those blocks whose average energy level is

Page 38: Robust Invisible Watermarkingflying_oe.tripod.com/academic/research/UROP_2/report.pdf · Deliverables : Main report Program diskette Data diskette . Robust Invisible Watermarking

Robust Invisible Watermarking of Volume Data Results and Discussion

32

lower than the threshold and avoid computing the full 3D-FDCT of such block. The

impacts of skipping low energy block are:

a) Improves the invisibility of watermark embedding;

b) Reduces the watermark capacity of a volume.

Furthermore, experimental results show that DCT block size will as well affect the

number of low energy block in a volume. It is further showed that the larger the DCT

block size is, the less low energy blocks present. This can be understood intuitively

because larger DCT block size means more voxels per DCT block and more voxels

per DCT block, in turn, implies less chance that a block of 0’s or values near 0

presents. Although this result shows that larger DCT block size is desirable for larger

watermark capacity, the polynomially increasing computational complexity of 3D-

DCT computation limits the performance of our algorithm. Thus, as a trade-off, we

use 4 × 4 × 4 DCT blocks with 64 voxels or DCT coefficients per block.

2. Test Results

In order to verify the robustness and invisible property of the technique proposed, we

used both a skull dataset (68 × 64 × 64) and a larger tomato dataset (64 × 208 × 216)

to conduct tests (see Figure 8). Furthermore, since we determine that attacks such as

resizing (with re-sampling), quantization and re-quantization, etc. can usually be

modelled by noise signal addition, we choose to conduct the tests only on cropping

attacks and addition of Gaussian noise. Other kinds of attacks such geometrical

distorts will be addressed in the discussion below as well.

Page 39: Robust Invisible Watermarkingflying_oe.tripod.com/academic/research/UROP_2/report.pdf · Deliverables : Main report Program diskette Data diskette . Robust Invisible Watermarking

Robust Invisible Watermarking of Volume Data Results and Discussion

33

Figure 8 The skull and the tomato datasets used in algorithm evaluation (rendered by VolView)

1) After examining the watermarked volume after volume rendering, we believe

that the resultant watermarked volume of the algorithm above is indeed

perceptually indistinguishable from the original (see Figure 9).

2) In order to examine the relationship between the robustness of the embedded

watermark, we conducted a series of experiments on both the skull and the

tomato datasets using the same watermark signal sequence with different

attacking strengths. The distortion caused by the attacks is measured in terms of

SNR (signal-to-noise ratio) and PSNR (peak-signal-to-noise ratio):

∑∑

−⋅=

2

2

10 )'(log10

ii

i

vv

vSNR , (12)

∑∑

−⋅=

2

2max

10 )'(log10

ii vv

vPSNR . (13)

Part of the results obtained is shown in the tables below:

Skull dataset: Volume data size = 68 × 64 × 64 bytes

Watermark length = 1840 bits Chiprate (cr) = 53.2

Cropping size

Remaining size (%)

SNR (dB)

PSNR (dB)

Error rate (%)

68 × 64 × 64 100.00 31.888 49.462 0.00 60 × 60 × 60 82.40 7.7628 25.337 0.00

Page 40: Robust Invisible Watermarkingflying_oe.tripod.com/academic/research/UROP_2/report.pdf · Deliverables : Main report Program diskette Data diskette . Robust Invisible Watermarking

Robust Invisible Watermarking of Volume Data Results and Discussion

34

56 × 56 × 56 66.99 3.9767 21.551 0.00 52 × 52 × 52 52.64 2.3511 19.925 0.05 44 × 44 × 44 32.50 1.0985 18.672 6.58 36 × 36 × 36 17.80 0.16100 17.735 33.7 Noise SNR

(dB) SNR (dB)

PSNR (dB)

Error rate (%)

Retrieved watermark

35.0 30.1 47.9 0.00

30.0 28.4 46.2 0.00

25.0 25.7 43.5 0.11

20.0 21.7 39.5 4.10

15.0 17.2 35.0 16.0

10.0 12.4 30.2 30.0

Tomato dataset: Volume data size = 64 × 208 × 216 bytes

Watermark length = 4000 bits Chiprate (cr) = 719.0

Gaussian noise SNR (dB)

SNR (dB)

PSNR (dB)

Error rate (%)

35.0 25.1 44.1 0.00 30.0 24.1 43.1 0.00 25.0 22.5 41.5 0.00 20.0 19.5 38.5 0.00 15.0 15.4 34.4 0.55 10.0 10.7 29.7 9.10

5.00 5.93 24.9 24.0

REMARK: Take the example of digital images: Noise with the PSNR lower than

35dB is hardly noticeable in general. A noise signal sequence with SNR less

than 20dB is considered strong.

From the tables, we observe that the algorithm implemented is robust to attacks

such as cropping and addition of noise when the chiprate, cr, is large (notice that

the error rate does not start raising until heavy cropping is applied or strong

noise is added). This can be understood intuitively: Since the larger cr is, the

Page 41: Robust Invisible Watermarkingflying_oe.tripod.com/academic/research/UROP_2/report.pdf · Deliverables : Main report Program diskette Data diskette . Robust Invisible Watermarking

Robust Invisible Watermarking of Volume Data Results and Discussion

35

more data redundancies present in the watermarked volume, it is obvious that

larger cr can lead to a more robust watermark.

Figure 9 Comparison of volume-rendered images of the skull dataset before (left) and after (right) watermark embedding

[rendered by PKVox]

3) In order to test the relationship between the size of volume data, the watermark

capacity, and the strength of attacks, we conducted another series of experiments

that covers a large number of watermarks with different lengths and attacks with

different strength.

Page 42: Robust Invisible Watermarkingflying_oe.tripod.com/academic/research/UROP_2/report.pdf · Deliverables : Main report Program diskette Data diskette . Robust Invisible Watermarking

Robust Invisible Watermarking of Volume Data Results and Discussion

36

Figure 10, Figure 11 and Figure 12 are the results of robustness test plotted with

error rate against watermark length and attack strength for performance

evaluation. The graphs show that the error rate of watermark retrieved remained

low for relatively long watermarks despite the small size of host volumes. Yet,

we notice that the performance of the algorithm degrades rather fast when

attacks become more severe. This is due to the difficulty in locating the

watermarked blocks using DCT blocks’ DC components in the watermark

detection phase. This indicates, further, the critical meaning of watermarked

block location problem in the proposed algorithm.

However, we believe that this problem can be countered in a number of ways:

a) In order to counter geometric transformations, the proposed technique can be

augmented with a registration step, that is, the register, or pin, some

randomly selected feature points in the host volume, prior to watermark

embedding step. Similarly, prior to the watermark detection step, the

received volume can be transformed back to the original position by

examining the registered feature points.

b) In order to ease the trouble of determining DCT blocks that are embedded

with watermark and to correctly retrieve the embedded watermark even parts

of it has been destroyed by attacks, some error checking and correction

coding schemes, such as ECC, can be incorporated. With the help of error

correction coding, we should be able to improve the robustness of our

watermarking technique further.

c) In conjunction with error correction coding, some data compression, or

entropy coding, schemes can as well be used to compress the watermark

Page 43: Robust Invisible Watermarkingflying_oe.tripod.com/academic/research/UROP_2/report.pdf · Deliverables : Main report Program diskette Data diskette . Robust Invisible Watermarking

Robust Invisible Watermarking of Volume Data Results and Discussion

37

signal prior to embedding. This should help to increase the watermark

capacity of a volume without affecting the robustness of the watermark and

the quality of the watermarked volume.

57

230

500

875

1575

2475

3575

4875

7000

1158

7

1718

7

3525

155

0

510

15

2025

30

35

40

45E

rror

Rat

e (%

)

Watermark Length (bytes) Gau

ssia

n N

oise

40-4535-4030-3525-3020-2515-2010-155-100-5

Figure 10 Error rate of watermark retrieval from the skull dataset (68 ×

64 × 64 = 278528 voxels) after addition of Gaussian noise

57.5

230

500

875

1575

2475

3575

4875

7000

1158

7.5

1718

7.5

10090

7550

05

1015202530

354045

Err

or R

ate

(%)

Watermark Length (bytes) Cro

ppin

g (%

)

40-4535-4030-3525-3020-2515-2010-155-100-5

Figure 11 Error rate of watermark retrieval from the skull dataset (68 × 64 × 64 = 278528 voxels) after cropping

Page 44: Robust Invisible Watermarkingflying_oe.tripod.com/academic/research/UROP_2/report.pdf · Deliverables : Main report Program diskette Data diskette . Robust Invisible Watermarking

Robust Invisible Watermarking of Volume Data Results and Discussion

38

57

230

500

875

1575

2475

3575

4875

7000

1158

7

1718

7

3525

155

05

1015202530354045

Err

or R

ate

(%)

Watermark Length (bytes) Gau

ssia

n N

oise

40-4535-4030-3525-3020-2515-2010-155-100-5

Figure 12 Error rate of watermark retrieval from the tomato dataset (64 × 208 × 216 = 2875392 voxels) after addition of Gaussian noise

In conclusion, the tests conducted on the proposed volume data watermarking

technique with the skull and the tomato datasets have shown the feasibility and

properties of the proposed algorithm. Furthermore, we have also discovered some

problems in determining watermarked DCT blocks, which degrades the robustness of

the proposed algorithm. However, we believe that these problems can be countered

by augmenting the algorithm with some information coding techniques prior to the

watermarking phase.

Page 45: Robust Invisible Watermarkingflying_oe.tripod.com/academic/research/UROP_2/report.pdf · Deliverables : Main report Program diskette Data diskette . Robust Invisible Watermarking

Robust Invisible Watermarking of Volume Data Conclusion and Future Study

39

CONCLUSION AND FUTURE STUDY

We have proposed a technique for three-dimensional volume data watermarking. A

software package is produced as well to evaluate of the proposed technique. The

supported input for the software package is PGM bitmaps (used as watermark signal

sequence, see Appendix A), VOX volume datasets and VTK volume datasets (used to

store volume data, see Appendix B and Appendix C).

We have also conducted tests on the proposed algorithm with the implemented

software package using the skull and the tomato datasets (Figure 8). The results show

that the proposed algorithm is indeed robust against attacks such as:

• Geometrical distortions: spatial scaling, cropping of a region of the volume,

translations, cut and paste from another volume, etc.;

• Addition of a constant offset to the voxel values;

• Addition of Gaussian or non-Gaussian noise;

• Linear filtering, such as low pass or high pass filtering;

• Non-linear filtering, such as median filtering;

• Quantization and re-quantization;

• Digital-to-analogue (D/A) and analogue-to-digital (A/D) conversions.

For further research, we propose the following improvements that can be considered:

1) Augment the algorithm with geometric registering techniques to improve the

robustness of the watermarking scheme to geometric distortions.

2) Investigate the use of error correction coding schemes prior to watermark

embedding so as to improve the robustness of the watermarking scheme;

Page 46: Robust Invisible Watermarkingflying_oe.tripod.com/academic/research/UROP_2/report.pdf · Deliverables : Main report Program diskette Data diskette . Robust Invisible Watermarking

Robust Invisible Watermarking of Volume Data Conclusion and Future Study

40

3) Investigate the use of entropy coding schemes prior to watermarking

embedding to improve the watermark capacity of the watermarking technique;

4) Incorporate content-based watermarking techniques with spread-spectrum

communication techniques to improve the robustness of the watermark;

5) Investigate the theoretical bound to the distortions introduced by the

watermarking scheme;

6) Investigate the impact of approximations performed in efficient DCT

computation algorithms on the watermarking technique.

With some improvements to the proposed technique, it should be feasible to apply to

commercial volume database and/or medical database for copyright proof and data

verification purposes. Furthermore, the proposed technique may be useful for volume

data indexing purposes.

Page 47: Robust Invisible Watermarkingflying_oe.tripod.com/academic/research/UROP_2/report.pdf · Deliverables : Main report Program diskette Data diskette . Robust Invisible Watermarking

Robust Invisible Watermarking of Volume Data References

41

REFERENCES

[1] Yinghui Wu, Xin Guan, Mohan S. Kankanhalli, Zhiyong Huang, “Robust

Invisible Watermarking of Volume Data”, SIGGRPAH 2000 Sketches &

Applications – Conference Abstracts & Applications, pp. 260, July 2000.

[2] O. Benedens. “Geometry-based Watermarking of 3D Models”, IEEE Computer

Graphics & Applications, Vol. 19, No. 1, pp. 46-55, January/February 1999.

[3] L. Boney, A. H. Tewfik, K. Hamdy, “Digital Watermarks for Audio Signals”,

Proceedings of 1996 IEEE International Conference on Multimedia Computing

and Systems (ICMCS ’96), Hiroshima Japan, pp. 473-480, July 1996.

[4] I. J. Cox, J. Kilian, T. Leighton, T. Shamoon, “Secure Spread-Spectrum

Watermarking for Multimedia”, IEEE Transactions on Image Processing, Vol. 6,

No. 12, pp. 1673-1687, December 1997.

[5] I. J. Cox, J. Kilian, T. Leighton, T. Shamoon, “A Secure, Robust Watermark for

Multimedia”, Workshop on Information Hiding, Newton Institute, University of

Cambridge, May 1996.

[6] I. J. Cox, M. L. Miller, A. McKellips, “Watermarking as Communications with

Side Information”, Proceedings of IEEE, Vol. 87, No. 7, pp. 1127-1141, July

1999.

[7] I. J. Cox, M. L. Miller, “A Review of Watermarking and the Importance of

Perceptual Modelling”, Proceeding of Electronic Images ’97, February 1997.

[8] J. Dittman, M. Stabenan, R. Steinmetz, “Robust MPEG Video Watermarking

Technologies”, Proceedings of the Sixth ACM International Multimedia

Conference (ACM MM ’98), Bristol, U.K., pp. 71-80, September 1998.

Page 48: Robust Invisible Watermarkingflying_oe.tripod.com/academic/research/UROP_2/report.pdf · Deliverables : Main report Program diskette Data diskette . Robust Invisible Watermarking

Robust Invisible Watermarking of Volume Data References

42

[9] M. S. Kankanhalli, Rajmohan, K. R. Ramakrishnan, “Content-based

Watermarking of Images”, Proceedings of the Six ACM International Multimedia

Conference (ACM MM ’98), Bristol, U.K., pp. 61-70, September, 1998.

[10] F. Hartung, M. Kutter, “Multimedia Watermarking Techniques”, Proceedings of

the IEEE, Vol. 87, No. 7, pp. 1079-1107, July 1999.

[11] E. Praun, H. Hoppe, A. Finkelstein, “Robust Mesh Watermarking”, Computer

Graphics ACM SIGGRAPH ’99 Proceedings, pp. 69-76, September 1999.

[12] A. Piva, M. Barni, F. Bartolini, V. Cappellini, “DCT-based Watermark

Recovering without Resorting to the Uncorrupted Original Image”.

[13] K. Rao, R. Yip, “Discrete Cosine Transform: algorithms, advantages,

applications”, Academic Press, Inc., 1990.

[14] D. F. Elliot, R. K. Rao, “Fast Transforms: algorithms, analyses, applications”,

Academic Press, Inc., 1982.

[15] W. Press, S. Teukolsky, W. Vetterling, B. Flannery, “Numerical Recipes in C –

the art of scientific computing”, 2nd edition, Cambridge University Press, 1992.

[16] W. Schroeder, K. Martin, B. Lorensen, “The Visualization Toolkit: an object-

oriented approach to 3D graphics”, 2nd Edition, Prentice Hall Press, 1998.

[17] Raymond K. W. Chan, M. C. Lee, “A Fast Three Dimensional Discrete Cosine

Transform”, IEEE, 1997.

[18] P. Kahler, PKVox: Advanced Volumetric Data Manipulation Software,

http://www.oakland.edu/~phkahler/vox/index.html.

[19] Kitware, Inc., The Visualization Toolkit (VTK),

http://www.kitware.com/vtk.html.

Page 49: Robust Invisible Watermarkingflying_oe.tripod.com/academic/research/UROP_2/report.pdf · Deliverables : Main report Program diskette Data diskette . Robust Invisible Watermarking

Robust Invisible Watermarking of Volume Data References

43

[20] H. Inoue, A. Miyazaki, A. Yamamoto, T. Katsura, “A Digital Watermark Based

on the Wavelet Transform and its Robustness on Image Compression”, IEEE,

1998.

[21] D. Kundur, D. Hatzinakos, “Digital Watermarking Using Multi-resolution

Wavelet Decomposition”, Proceedings of the 1998 IEEE International

Conference on Acoustic, Speech and Signal Processing, Vol. 5, pp. 2969-2972,

1998.

[22] R. Van Schyndel, A. Tirkel, C. Osborne, “A Digital Watermark”, Proceeding

International Conference in Image Processing, Vol. 2, pp. 80-90, 1994.

[23] M. Servais, G. De Jager, “Video Compression using the Three Dimensional

Discrete Cosine Transform (3D-DCT)”, IEEE.

[24] F. Hartung, B. Girod, “Watermarking of Uncompressed and Compressed Video”,

Signal Processing, Vol. 66, No. 3, pp. 283-301, May 1998.

[25] G. Voyatzis, I. Pitas, “The Use of Watermarks in the Protection of Digital

Multimedia Products”, Proceedings of the IEEE, Vol. 87, No. 7, pp. 1197-1200,

July 1999.

[26] G. C. Langelaar, R. L. Lagendijk, J. Biemond, “Watermarking by DCT

Coefficient Removal: a statistical approach to optimal parameter settings”,

http://www-it.et.tudelft.nl/~gerhard/r.html.

[27] C. T. Hsu, J. L. Wu, “Hidden Signatures in Images”, IEEE Signal Processing

Society 1996 International Conference on Image Processing (ICIP ’96), Vol. 3,

pp. 743-746, Lausanne Switzerland, September 1996.

[28] R. Barnett, “Digital Watermarking: applications, techniques and challenges”,

Electronics and Communication Engineering Journal, pp. 173-183, August

1999.

Page 50: Robust Invisible Watermarkingflying_oe.tripod.com/academic/research/UROP_2/report.pdf · Deliverables : Main report Program diskette Data diskette . Robust Invisible Watermarking

Robust Invisible Watermarking of Volume Data References

44

[29] S. P. Mohanty, K. R. Ramakrishnan, “A Dual Watermarking Technique for

Images”, ACM Multimedia (ACM MM ’99) Electronic Proceedings

(http://www.kom.e-technik.tu-darmstadt.de/acmmm99/ep/mohanty/),

Orlando Florida, October/November 1999.

Page 51: Robust Invisible Watermarkingflying_oe.tripod.com/academic/research/UROP_2/report.pdf · Deliverables : Main report Program diskette Data diskette . Robust Invisible Watermarking

Robust Invisible Watermarking of Volume Data Appendices

45

APPENDICES

Appendix A PGM Bitmap File Format

(Raw-bit Format)

PGM - Portable GreyMap file format

(from the PBMplus library by Jef Poskanzer)

File content Specification

P5 ↵↵ Magic number for PGM raw-bit file format

width height ↵↵ Size of the PGM bitmap (in pixels)

depth ↵↵ Greyscale colour depth (maximum possible value)

pixel bits Raw pixel bits

Take note also that there can be single line comments in between of the data fields

specified above which are lead by a hash sign (#). Furthermore, the bitmap bits are

store as a sequence of raw bytes with the constraint of maximum line length being

255 bytes.

Appendix B VOX Volume Data Format

VOX file format

(from PKVox by Paul H. Kahler [18])

File content Specification

VOX 1.0 ↵↵ File version number

title ↵↵ Title of the volume, 255 characters maximum

depth ↵↵ Voxel depth (in bits)

unit ↵↵ Unit of dimension (not used)

Page 52: Robust Invisible Watermarkingflying_oe.tripod.com/academic/research/UROP_2/report.pdf · Deliverables : Main report Program diskette Data diskette . Robust Invisible Watermarking

Robust Invisible Watermarking of Volume Data Appendices

46

X Y Z ↵↵ Dimension of the volume (in voxels)

T ↵↵ Number of volumes in the file (always 1 in our implementation)

scaleT ↵↵ Scale on the T-axis (not used in our implementation)

scaleX scaleY scaleZ ↵↵ Scales on the X-, Y-, Z-axes

voxel bits Raw voxel bits

Appendix C VTK File Format Version 2.0

(Volume Dataset Format)

VTK file formats version 2.0

(from VTK by Kitware, Inc. [19])

File content Specification

# vtk DataFile Version 2.0 ↵↵ File header

title ↵↵ Title, 256 characters maximum

BINARY ↵↵ Data type (always “BINARY” in our implementation)

DATASET STRUCTURED_POINTS ↵↵ Geometric/topology type (always “STRUCTURED_POINTS” in our implementation)

DIMENSIONS x y z ↵↵ Dimension of the volume data

SPACING sx sy sz ↵↵ Scales on x-, y-, z-axes

ORIGIN ox oy oz ↵↵ Offset of the whole volume

POINT_DATA len ↵↵ Voxel data size (in number of voxels)

SCALARS volume_scalars unsigned_char ↵↵ Voxel data type

LOOKUP_TABLE default ↵↵ Not used

voxel bits Raw voxel bits