Robust Invisible Watermarkingflying_oe.tripod.com/academic/research/UROP_2/report.pdf ·...
Transcript of Robust Invisible Watermarkingflying_oe.tripod.com/academic/research/UROP_2/report.pdf ·...
ADVANCED UNDERGRADUATE RESEARCH PROJECT REPORT
RRoobbuusstt IInnvviissiibbllee
WWaatteerrmmaarrkkiinngg
ooff VVoolluummee DDaattaa
Wu Yinghui
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
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
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
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
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
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
?
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.
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.
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.
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].
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
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
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
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.
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.
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;
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:
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
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
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
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.
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.
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’
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
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.
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
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.
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})
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
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.
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
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.
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
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.
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.
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
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.
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
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
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.
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
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
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.
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;
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.
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.
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.
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.
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.
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)
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