Design team members: Brian Mekdeci
Supervisor: Professor M.E. Jernigan
Background
Storing information in a digital format offers many advantages over analogue representations. Digital information can usually be saved, copied, processed and distributed with considerable ease. Also, as the Internet continues to grow, there is a strong pressure to convert traditional analogue media to digital formats. However, the ease of which digital information can be altered, duplicated and distributed can be a significant problem if the information is copyrighted or confidential.
Project description
Digital watermarking offers a potential solution to this problem. Digital watermarking is the process of embedding a message into an image and procedure for retrieving it. Although the embedded messages is often just a simple binary stream of data, in theory, the message can be any digital form of information such as text, a music file or even another image. If the embedded message is unique and inconspicuous, then it can potentially prove ownership and thus offer a form of legal protection against unauthorised copying and manipulation.
The goal of this workshop is to develop a computer program that will implement a digital watermarking procedure that will provide some means of protecting digital images from unauthorised reproduction or manipulation. If a method for protecting digital images can be found, then it is likely that a similar procedure can be made for protecting other media as well, since all forms of digital information are essentially stored and transmitted in a similar fashion. It is hoped, that the proposed watermarking procedure could protect other digital media with only small modifications.
Design methodology
The design and implementation of the solution will encompass five different stages and follows a “waterfall” method with feedback. This means that the stages are completed in order from top to bottom, like the flow in a waterfall. However, at every stage progress is evaluated and if a problem exists, a previous stage may be redone using the knowledge gained from later stages (feedback). The individual stages are described below:
Stage
1
-
Research:
The
first
stage
of
the
design
is
research
on
digital
watermarking
to
find
a
method
of
embedding
and
retrieving
watermarks
that
satisfy
all
of
the
primary
objectives.
This
is
achieved
by
reviewing
related
literature
and
discussing
the
material
with
the
project
supervisor.
This
stage
is
revisted
as
solutions
are
discarded.
Stage
2
-
Technical
skill
development:
If
the
student
does
not
have
all
of
the
required
technical
background
to
fully
understand
the
details
of
a
solution
found
in
the
research
stage,
or
if
the
student
does
not
have
the
skills
necessary
to
implement
that
solution,
then
some
learning
and
reviewing
material
in
related
areas
will
be
necessary.
These
areas
will
likely
be
in
digital
signal
and
image
processing,
cryptography,
numerical
analysis
and
computer
programming.
This
is
achieved
by
reviewing
related
literature
and
discussing
the
material
with
the
project
supervisor
or
someone
familiar
with
the
skill
or
technology
in
question.
If
the
student
feels
that
the
technical
skills
necessary
are
time
or
resource
prohibitive,
another
solution
will
be
sought
(Stage
1).
Stage
3
–
Solution
analysis:
Once
the
technical
skills
necessary
to
fully
understand
the
details
of
the
solution
have
been
developed,
it
will
be
compared
against
other
solutions
in
how
it
satisfies
the
primary
objectives.
If
it
should
perform
better
than
any
other
solution
being
considered
and
time
and
resources
permit,
the
solution
will
be
implemented
(Stage
4).
If
the
solution
does
not
satisfy
the
objectives
or
if
it
cannot
be
implemented,
the
solution
will
have
to
be
modified
or
another
solution
will
be
sought
(Stage
1).
Stage
4
–
Implementation:
Once
a
solution
has
been
found
that
should
satisfy
all
of
the
objectives,
then
it
will
be
implemented
in
software.
A
user
interface
will
be
written
in
Visual
C++
(for
Windows)
and
all
of
the
computations
and
image
displays
will
be
done
in
Matlab.
Some
learning
and
skill
development
may
be
necessary
to
use
Visual
C++
and
Matlab
(Stage
2)
depending
upon
the
programming
complexity
required
by
the
solution.
This
stage
will
be
done
on
a
personal
computer
running
Windows
95.
Matlab
5.3
and
Visual
C++
6.0.
Stage
5
–
Testing
and
review:
In
this
stage,
the
implementation
will
be
tested
and
reviewed
to
see
if
it
meets
all
of
the
objectives.
If
both
the
primary
objectives
are
met,
the
project
will
be
complete.
Otherwise,
the
implementation
may
have
to
be
modified
(Stage
4),
the
analysis
of
the
solution
may
have
to
be
re-examined
(Stage
3)
or
another
solution
may
have
to
be
found
(Stage
1).