Content uploaded by Khaled Elleithy
Author content
All content in this area was uploaded by Khaled Elleithy on Oct 05, 2017
Content may be subject to copyright.
A Novel Video Steganography Algorithm in DCT
Domain Based on Hamming and BCH Codes
Ramadhan J. Mstafa, IEEE Student Member
Department of Computer Science and Engineering
University of Bridgeport
Bridgeport, CT 06604, USA
rmstafa@my.bridgeport
.
edu
Khaled M. Elleithy, IEEE Senior Member
Department of Computer Science and Engineering
University of Bridgeport
Bridgeport, CT 06604, USA
elleithy@bridgeport.edu
Abstract— In the past decade, the science of information
hiding has gained tremendous significance due to advances in
information and communication technology. The performance of
any steganographic algorithm relies on the embedding efficiency,
embedding payload, and robustness against attackers. Low
hidden ratio, less security, and low quality of stego videos are the
major issues of many existing steganographic methods. In this
paper, we propose a novel video steganography method in DCT
domain based on Hamming
and BCH codes. To improve the
security of the proposed algorithm, a secret message is first
encrypted and encoded by using BCH codes. Then, it is
embedded into the discrete cosine transform (DCT) coefficients
of video frames. The hidden message is embedded into DCT
coefficients of each Y, U, and V planes excluding DC coefficients.
The proposed algorithm is tested under two types of videos that
contain slow and fast moving objects. The experiential results of
the proposed algorithm are compared with three existing
methods. The comparison results show that our proposed
algorithm outperformed other algorithms. The hidden ratio of
the proposed algorithm is approximately 27.53%, which is
considered as a high hiding capacity with a minimal tradeoff of
the visual quality. The robustness of the proposed algorithm was
tested under different attacks.
Keywords
—
Video Steganography; Hamming Codes; BCH
Codes; DCT; Embedding Efficiency; Embedding Payload;
Robustness
I.
I
NTRODUCTION
Steganography is a process that involves hiding important
information (message) inside other carrier (cover) data to
protect the message from unauthorized users. The mixed data
(stego objects) will be seen by the Human Visual System
(HVS) as one piece of data because the HVS will not be able to
recognize the small change that occurs in the cover data.
Message and cover data could be any type of data format such
as text, audio, image, and video [1]. The development of
steganalysis tools weakens unsecure steganography schemes
and rendering them useless. Hence, researchers have to
develop secure steganography algorithms that are protected
from both attackers and steganalysis detectors. Any successful
steganography system should consider two main important
factors: embedding payload and embedding efficiency [2].
First, the embedding payload is defined as the amount of
secret information that is going to be embedded inside the
cover data. The algorithm has a high embedding payload if it
has a large capacity for the secret message. The embedding
efficiency includes the stego visual quality, security, and
robustness against attackers. Second, both a low modification
rate and good quality of the cover data lead to a high
embedding efficiency [3]. The steganography algorithm that
contains a high embedding efficiency will reduce attacker
suspicion of finding hidden data and will be quite difficult to
detect through steganalysis tools. However, any distortion to
the cover data after the embedding process occurs will increase
the attention of attackers [4]. The embedding efficiency is
directly affected by the security of the steganographic scheme
[5]. In traditional steganographic schemes, embedding payload
and embedding efficiency are opposite. Increasing the capacity
of the secret message will decrease the quality of stego videos
that then weakens the embedding efficiency [6]. Both factors
should be considered. The deciding factors depend on the
steganography algorithm and the user requirements [3]. To
improve steganographic schemes, many of the algorithms use
matrix encoding and block code principles such as Hamming,
BCH, and Reed-Solomon codes [7]. The contributions of this
paper will provide “a state of the art” embedding algorithm in
the frequency domain that uses error correcting codes. In
addition, we proposed a novel video steganographic method in
DCT domain based on Hamming and BCH codes. This method
produces a reasonable tradeoff between quality, hiding
capacity, and robustness.
The remainder of this paper is organized as follows:
Section 2 presents some of the related works. Section 3
discusses discrete cosine transform. Section 4 explains some
principles of Hamming and BCH codes. Section 5 presents the
embedding and extracting phases of the proposed
steganography methodology. Section 6 illustrates and explains
the experimental results. Section 7 contains the conclusions.
II. R
ELATED
W
ORKS
In 2012, Zhang et al. proposed an efficient embedder using
BCH code for steganography. The embedder conceals the
secret message into a block of cover data. The embedding
process is completed by changing various coefficients in the
input block in order to make the syndrome values null. The
efficient embedder improves both storage capacity and
computational time compared with other algorithms.
According to the system complexity, Zhang’s algorithm
improves the system complexity from exponential to linear
[8]. In 2013, Liu et al. proposed a robust steganography
scheme using H.264/AVC compressed video stream without a
distortion drift in the intra-frame. The prevention of the intra-
This full text paper was peer reviewed at the direction of IEEE Communications Society subject matter experts for publication in
the Sarnoff 2016 proceedings.
978-1-5090-1539-9@2016 IEEE 208
frame distortion drift can be achieved using the directions of
the intra-frame prediction. Some blocks will be selected as
cover data for embedding the secret information. This process
will depend on the prediction of the intra-frame modes of
neighboring blocks to avert the distortion that propagates from
the adjacent blocks. To improve system efficiency and
robustness, Liu et al. applied BCH code to the message prior to
the embedding process. Then, the encoded message is
embedded into the 4x4 DCT block of quantized coefficients
with only a luminance component of the intra-frame [9]. In
2014, Diop et al. proposed an adaptive steganography
algorithm using a linear error correcting code, referred to as the
low-density parity-check (LDPC) code. The algorithm explains
how to minimize the effect of secret message insertion using
the LDPC code. For that purpose, Diop et al. demonstrated that
the LDPC code is a better encoding algorithm than all other
codes [10].
Previously mentioned algorithms are not robust against
various kinds of attacks. According to their embedding
payload, flexibility exists to increase the capacity of a secret
message. In this paper, we propose a video steganography
method in DCT coefficients based on error correcting codes.
III. D
ISCRETE
C
OSINE
T
RANSFORM
(DCT)
DCT is a well-known method which is utilized in many
applications such as image and video compression. The DCT
separates the signal into low, middle, and high frequency
regions. The DCT is closely related to the discrete Fourier
transform (DFT). It is a separable linear transformation; that is,
the 2D-DCT is equivalent to a 1D-DCT performed along a
single dimension followed by a 1D-DCT in the other
dimension [11]. For an input video frame, A, of resolution M x
N the DCT frequency coefficients for the transformed frame, B,
and the inverse DCT coefficients of the reconstructed frame
are calculated according to the following equations,
respectively:
ܤ
ൌן
ן
ܣ
ேିଵ
ୀ
ெିଵ
ୀ
ܿݏߨሺʹ݉ͳሻ
ʹܯ ܿݏߨሺʹ݊ͳሻݍ
ʹܰ ሺͳሻ
ܣ
ൌן
ן
ܤ
ேିଵ
ୀ
ெିଵ
ୀ
ܿݏߨሺʹ݉ͳሻ
ʹܯ ܿݏߨሺʹ݊ͳሻݍ
ʹܰ ሺʹሻ
Where ן
ൌ൞
ଵ
ξெ
ǡൌͲ
ට
ଶ
ெ
ǡͳܯെͳ
And
ן
ൌە
ۖ
۔
ۖ
ۓ
ͳ
ξܰǡݍൌͲ
ඨʹ
ܰǡͳݍܰെͳ
A (m, n) is the pixel value in row m and column y of the
frame A, and B (p, q) is the coefficient in row p and column q
of the 2D-DCT matrix. Each of low, middle, and high
frequency coefficients were used as cover data to embed the
encoded secret message [12].
IV. H
AMMING AND
BCH
C
ODES
In this paper, Hamming (7, 4) codes are used (n=7, k=4, and
p=3), which can correct the identification of a single bit error. A
message of size ܯሺ݉
ଵ
ǡ݉
ଶ
ǡǥǡ݉
ሻ is encoded by adding
ሺ
ଵ
ǡ
ଶ
ǡ
ଷ
ሻ extra bits as parity to become a codeword of 7-bit
length. The codeword is prepared to transmit through a
communication channel to the receiver end. The common
combination of both message and parity data using these type of
codes is to place the parity bits at the position of ʹ
୧
(i=0, 1, ..., n-
k) such as
ଵ
ǡ
ଶ
ǡ
ଵ
ǡ
ଷ
ǡ
ଶ
ǡ
ଷ
ǡ
ସ
combination.
In addition of hamming codes, BCH (7, 4, 1) codes is also
used over the ሺʹ
ଷ
ሻǡ where m=3, k=4, and ݊ൌʹ
ଷ
െͳൌ.
Bose, Chaudhuri, and Hocquenghem invented the BCH
encoder. It is one of the most powerful random cyclic code
methods, which can be used for detecting and correcting errors
in a block of data. The BCH code is different from the
Hamming code because BCH can correct more than one bit.
The BCH codes inventors decided that the generator
polynomial g(x) will be the polynomial of the lowest degree in
the Galois field GF (2), with ןǡן
ଶ
ǡן
ଷ
ǡǥǡן
ଶ௧
as roots on the
condition that ן is a primitive of ሺʹ
୫
ሻǤ When
୧
ሺሻ is a
minimal polynomial ofן
୧
whereሺͳ݅ʹݐሻ, then the least
common multiple (LCM) of 2t minimal polynomials will be
the generator polynomial g(x). The g(x) function and the
parity-check matrix H of the BCH codes [13, 14] are described
as follows:
ܪൌۏ
ێ
ێ
ێ
ێ
ێ
ۍ
ͳןן
ଶ
ן
ଷ
ǥן
ିଵ
ͳሺן
ଷ
ሻሺן
ଷ
ሻ
ଶ
ሺן
ଷ
ሻ
ଷ
ǥሺן
ଷ
ሻ
ିଵ
ͳሺן
ହ
ሻሺן
ହ
ሻ
ଶ
ሺן
ହ
ሻ
ଷ
ǥሺן
ହ
ሻ
ିଵ
ǤǤǤǤǤ
ǤǤǤǤǤ
ǤǤǤǤǤ
ͳሺן
ଶ௧ିଵ
ሻሺן
ଶ௧ିଵ
ሻ
ଶ
ሺן
ଶ௧ିଵ
ሻ
ଷ
ǥሺן
ଶ௧ିଵ
ሻ
ିଵ
ے
ۑ
ۑ
ۑ
ۑ
ۑ
ې
(3)
݃ሺݔሻൌ݈ܿ݉ሼܯ
ଵ
ሺݔሻǡܯ
ଶ
ሺݔሻǡܯ
ଷ
ሺݔሻǡǥǡܯ
ଶ௧
ሺݔሻሽ
(4)
݃ሺݔሻൌܯ
ଵ
ሺݔሻܯ
ଷ
ሺݔሻܯ
ହ
ሺݔሻǥܯ
ଶ௧ିଵ
ሺݔሻ
(5)
A binary BCH (n, k, t) can correct errors of a maximum t
bits for a codeword ܹൌሼݓ
ǡݓ
ଵ
ǡݓ
ଶ
ǡǥǡݓ
ିଵ
ሽ of length n and
a message ܣൌሼܽ
ǡܽ
ଵ
ǡܽ
ଶ
ǡǥǡܽ
ିଵ
ሽ of length k [15]. An
embedded codeword ܥൌሼܿ
ǡܿ
ଵ
ǡܿ
ଶ
ǡǥǡܿ
ିଵ
ሽ is calculated as
follows:
ܥൌܹכܪ
்
ሺሻ
At the receiver side, the codeword ܴൌሼݎ
ǡݎ
ଵ
ǡݎ
ଶ
ǡǥǡݎ
ିଵ
ሽ
is obtained. The transmitted and received codewords can both
be interpreted as polynomials, where ܥሺܺሻൌܿ
ܿ
ଵ
ݔ
ଵ
ڮܿ
ିଵ
ݔ
ିଵ
ǡ andܴሺܺሻൌݎ
ݎ
ଵ
ݔ
ଵ
ڮݎ
ିଵ
ݔ
ିଵ
. The
error E is the difference between C and R, which indicates the
number and location of flipped elements in C. The E and
syndrome Y are calculated as follows:
This full text paper was peer reviewed at the direction of IEEE Communications Society subject matter experts for publication in
the Sarnoff 2016 proceedings.
978-1-5090-1539-9@2016 IEEE 209
ܧൌܴെܥሺሻ
ܻൌሺܴെܥሻܪ
்
ൌܧܪ
்
ሺͺሻ
V. T
HE
P
ROPOSED
S
TEGANOGRAPHY
M
ETHODOLOGY
In this section, we proposed a novel video steganography
algorithm in DCT domain based on Hamming and BCH (7, 4,
1) codes. At the beginning, the video sequence is separated into
frames; each frame is converted to YCbCr color space. The
reason for converting to YCbCr color space is to remove the
correlation between the red, green, and blue colors. The
proposal methodology consists of data embedding stage and
data extracting stage.
Data Embedding Stage
For a security purpose, the hidden message is encrypted
using a secret key, and then Hamming and BCH (7, 4, 1) codes
will be applied on it producing an encoded message. The whole
encoded message is converted from binary to base-8 digits. On
the other hand, each video sequence is converted into a number
of frames. Each frame separates into the YUV color space.
Then, 2D-DCT is applied individually on each plane.
Subsequently, the process of embedding is achieved by
concealing each base-8 digit of the encoded message into the
DCT frequency coefficients except the DC coefficients of each
of the Y, U, and V planes. Thereafter, the inverse of 2D-DCT
is applied on the three stego components of each frame
producing a stego frame. Finally, the stego video is constructed
from these stego frames. The secret message is concealed into
each of
୧୨
ǡ
୧୨
ǡ
୧୨
DCT coefficients as follows:
ܻ
ൌቊܧܾ݉݁݀݀݅݊݃ሺܻ
ǡܦ
ሻǢܻ
Ͳ
ܧܾ݉݁݀݀݅݊݃ሺܾܽݏሺܻ
ሻǡܦ
ሻǢܻ
൏Ͳ(9)
ܷ
ൌቊܧܾ݉݁݀݀݅݊݃ሺܷ
ǡܦ
ሻǢܷ
Ͳ
ܧܾ݉݁݀݀݅݊݃ሺܾܽݏሺܷ
ሻǡܦ
ሻǢܷ
൏Ͳ(10)
ܸ
ൌቊܧܾ݉݁݀݀݅݊݃ሺܸ
ǡܦ
ሻǢܸ
Ͳ
ܧܾ݉݁݀݀݅݊݃ሺܾܽݏሺܸ
ሻǡܦ
ሻǢܸ
൏Ͳ(11)
Where
୧୨
ǡ
୧୨
ǡ
୧୨
are DCT coefficients of stego Y, U,
and V planes respectively, and ܦ
is the encoded digits,ܦ
ൌ
ሼͲͲͲǡǥǡͳͳͳሽ. The block diagram of the data embedding stage
is illustrated in Fig. 1.
Data Extracting Stage
Data extracting is the process of retrieving the encoded
message from the stego videos. This process is achieved by
isolating the stego videos into frames. Each frame is divided
into Y, U, and V planes. Then, 2D-DCT is applied separately
on each plane. The process of extracting the encoded message
is accomplished by taking ܦ
digits from each of Y, U, and V
DCT coefficients, respectively, except DC coefficients. The
outcomes data are decoded by Hamming and BCH (7, 4, 1)
decoder followed by the deciphering process to extract the
valid embedded message. The purpose of using ciphering and
encoding methods prior the embedding process is to improve
the security and robustness of the proposed algorithm.
Moreover, the secret key is only shared between sender and
receiver, and used in both the data embedding and extracting
processes. The hidden message can be obtained as follows:
ܦ
ൌ൝ܧݔݐݎܽܿݐ݅݊݃൫ܻ
൯Ǣሺܻ
Ͳሻ
ܧݔݐݎܽܿݐ݅݊݃ቀܾܽݏ൫ܻ
൯ቁǢሺܻ
൏Ͳሻ(12)
ܦ
ൌ൝ܧݔݐݎܽܿݐ݅݊݃൫ܷ
൯Ǣሺܷ
Ͳሻ
ܧݔݐݎܽܿݐ݅݊݃ቀܾܽݏ൫ܷ
൯ቁǢሺܷ
൏Ͳሻ(13)
ܦ
ൌ൝ܧݔݐݎܽܿݐ݅݊݃൫ܸ
൯Ǣሺܸ
Ͳሻ
ܧݔݐݎܽܿݐ݅݊݃ቀܾܽݏ൫ܸ
൯ቁǢሺܸ
൏Ͳሻ(14)
Where
୧୨
ǡ
୧୨
ǡ
୧୨
are DCT coefficients of stego YUV
planes, and ܦ
is the retrieved secret message. The block
diagram of the data extracting process of the proposed
steganography algorithm is shown in Fig. 2.
Input: V //Video,
M //Secret message in characters,
Key
1
, Key
2
; //Stego keys
Output: SV; //Stego video
Initialize km, pm;
B і M; //Convert the alphabetic secret message to the binary
array
// Stego keys
Key
1
і Length(B)/4; //Length of the secret message
Key
2
і rand (2^7,Key
1
,1)'; //Randomization of the seed Key
1
EB і Encrypt(B, [Key
1
]); //Encrypt the binary array by Key
1
//Encode each 4 bits of encrypted message by Hamming and BCH
(7, 4, 1) codes
for
1
i = 1: (Key
1
*7) do
g(1:4) і get(EB(km:km+4));
E_EB і encode(g,7,4);
temp(1:7) і get(Key
2
(i));
Ecdmsg(pm:pm+7) і xor(E_EB,temp);
pm+7; km+4;
end
1
D і Ecdmsg; //Encoded message is segmented into 3-bit groups
{Vf
1
, Vf
2
,…, Vf
n
} і V; //Video V is divided into n frames
{Y, U, V} і Vf; //Each frame Vf is converted into Y, U, and V
components
DCT (Y, U, V); //Applying 2D-DCT on each frame components
//Embed the encoded message into YUV coefficients
for
2
i = 1:Vfx do
for
3
j= 1:Vfy do
ࢅ
ൌቊࡱ࢈ࢋࢊࢊࢍሺࢅ
ǡࡰ
ሻǢࢅ
ࡱ࢈ࢋࢊࢊࢍሺࢇ࢈࢙ሺࢅ
ሻǡࡰ
ሻǢࢅ
൏
ࢁ
ൌቊࡱ࢈ࢋࢊࢊࢍሺࢁ
ǡࡰ
ሻǢࢁ
ࡱ࢈ࢋࢊࢊࢍሺࢇ࢈࢙ሺࢁ
ሻǡࡰ
ሻǢࢁ
൏
ࢂ
ൌቊࡱ࢈ࢋࢊࢊࢍሺࢂ
ǡࡰ
ሻǢࢂ
ࡱ࢈ࢋࢊࢊࢍሺࢇ࢈࢙ሺࢂ
ሻǡࡰ
ሻǢࢂ
൏
end
3
end
2
IDCT (ࢅ
, ࢁ
, ࢂ
); //Applying 2D-IDCT on each frame component
get SVf //Obtain the stego frames
get SV //Obtain the stego video
Fig. 1 Data Embedding Algorithm
This full text paper was peer reviewed at the direction of IEEE Communications Society subject matter experts for publication in
the Sarnoff 2016 proceedings.
978-1-5090-1539-9@2016 IEEE 210
Input: SV; //Stego video
Key
1
, Key
2
; //Stego keys
Output: M; //Secret message in characters
Initialize km, pm;
{Sf
1
, Sf
2
,…, Sf
n
} і SV; //Stego Video SV is divided into n frames
{
ࢅ
,
ࢁ
,
ࢂ
} і Sf; //Each frame Sf is converted into Y, U, and V
components
DCT (
ࢅ
,
ࢁ
,
ࢂ
); //Applying 2D-DCT on each stego frame component
//Extract the encoded message from stego YUV coefficients
for
1
i = 1:Sfx do
for
2
j= 1:Sfy do
ࡰ
ൌ൝ࡱ࢚࢞࢘ࢇࢉ࢚ࢍ൫ࢅ
൯Ǣሺࢅ
ሻ
ࡱ࢚࢞࢘ࢇࢉ࢚ࢍቀࢇ࢈࢙൫ࢅ
൯ቁǢሺࢅ
൏ሻ
ࡰ
ൌ൝ࡱ࢚࢞࢘ࢇࢉ࢚ࢍ൫ࢁ
൯Ǣሺࢁ
ሻ
ࡱ࢚࢞࢘ࢇࢉ࢚ࢍቀࢇ࢈࢙൫ࢁ
൯ቁǢሺࢁ
൏ሻ
ࡰ
ൌ൝ࡱ࢚࢞࢘ࢇࢉ࢚ࢍ൫ࢂ
൯Ǣሺࢂ
ሻ
ࡱ࢚࢞࢘ࢇࢉ࢚ࢍቀࢇ࢈࢙൫ࢂ
൯ቁǢሺࢂ
൏ሻ
end
2
end
1
Ecdmsg і D; //Collect all 3-bit messages into a single array
//Decode each 7 bits of extracted data by Hamming and BCH (7,
4, 1) decoders
for
3
i = 1: (Key
1
*7) do
Sg(1:7) і get(Ecdmsg (km:km+7));
temp(1:7) і get(Key
2
(i));
E_EB і xor(Sg,temp)
EB і decode(E_EB ,7,4);
pm+4; km+7;
end
3
B і Decrypt(EB, [Key
1
]); //Decrypt the binary array by Key
1
M і B; //Convert the binary array to the alphabetic characters
get M //Obtain the secret message
Fig. 2 Data Extracting Algorithm
VI. E
XPERIMENTAL
R
ESULTS AND
D
ISCUSSION
The experimental environment uses several variables: the
cover data comprise a dataset consisting of six video sequences
Akiyo
,
Bus, Coastguard
,
Container, Foreman, and Soccer
of
CIF type; also, the format of YUV is 4:2:0. In addition, the
resolution of each video isሺ͵ͷʹൈʹͺͺሻ, and all videos are
equal in length with 150 frames. A large text file is used as a
secret message. The work is implemented using MATLAB to
test the proposed algorithm efficiency.
Visual Quality
Pick signal to noise ratio (PSNR) is an objective quality
measurement used to calculate the difference between the
original and the stego video frames. It can be obtained by
following equations [16]:
ܴܲܵܰൌͳͲכܮ݃
ଵ
ቆܯܣܺ
ைଶ
ܯܵܧ ቇሺͳͷሻ
ܯܵܧൌσσሾܱሺ݅ǡ݆ሻ
ୀଵ
ୀଵ
െܵሺ݅ǡ݆ሻሿ
ଶ
݉כ݊ ሺͳሻ
Where O and S denote the original and stego YUV frame
components, respectively, and m and n are the video
resolutions. In Fig. 3, the PSNR of the Y-components are
calculated for all six videos. Overall, the
Akiyo
video has the
best luminance quality. Fig. 4 shows the PSNR of the U-
component for all six videos. The PSNR-U of the
Coastguard
video has the highest dBs among the group. Fig. 5 shows the
PSNR of the V-component for all experiments. The PSNR-V
for the
Coastguard
video has a better quality among all videos.
In Fig. 6, the PSNR comparison for 150 frames of each video
is shown. The comparison shows that the result of the objective
quality for each of the
Akiyo
,
Bus, Coastguard
,
Container,
Foreman, and Soccer
videos ranged between 38.95-42.73 dBs.
Overall, the results of the PSNR for the
Akiyo
,
Bus,
Container
,
and
Foreman
videos are more stable, while in the
Coastguard
and
Soccer
videos the quality is frequently changing. The
changes occur because these videos contain faster motion
objects that lead to unstable visual quality. Table I shows the
averages of the PSNR for each Y, U, and V component for all
video sequences. Moreover, the visual quality of each video is
measured separately by averaging each of the 150 frames per
video. The quality averages are various and depend on type of
videos.
Fig. 3 PSNR Comparisons for the Y-Components of All six Videos
Fig. 4 PSNR Comparisons for the U-Component of All six Videos
This full text paper was peer reviewed at the direction of IEEE Communications Society subject matter experts for publication in
the Sarnoff 2016 proceedings.
978-1-5090-1539-9@2016 IEEE 211
Fig. 5 PSNR Comparisons for the V-Component of All six Videos
Fig. 6 PSNR Comparisons for 150 Frames of All six Videos
TABLE I. T
HE
A
VERAGE
PSNR
FOR
E
ACH
Y,
U,
AND
V
C
OMPONENT
FOR
A
LL
S
IX
V
IDEOS
Sequences PSNRY PSNRU PSNRV PSNR
Akiyo
43.33 35.14 42.16 40.21
Bus
35.96 39.78 41.10 38.95
Coastguard
39.45 43.69 44.93 42.69
Container
37.91 40.71 39.28 39.30
Foreman
39.82 40.63 41.21 40.55
Soccer
42.85 41.40 43.94 42.73
Average
39.88 40.22 42.10 40.73
Embedding Payload
The average of the obtained hidden ratio of the proposed
algorithm is 27.53%. A reasonable tradeoff is noticed between
the amount of the embedded message in each video (5.99
Mbytes) and the average quality of six experiments (40.73 dB).
The hidden ratio (HR) can be calculated as in equation 17.
A number of experiments were conducted to compare the
performance of the proposed with three existing methods.
Table II illustrates the comparison of our proposed method
with the three existing methods in the literature, according to
the PSNR and the amount of secret data. Consequently, our
proposed algorithm outperformed three existing methods.
Table III shows the amount of secret message of proposed
algorithm in each Y, U, and V planes.
TABLE II. P
ERFORMANCE
C
OMPARISON OF THE
P
ROPOSED
A
LGORITHM
WITH
O
THER
A
CCORDING TO BOTH
PSNR
AND
H
IDDEN
R
ATIO
Criteria Patel et
al. [17]
Alavianmehr
et al. [18]
Hu et al.
[19]
Proposed
Algorithm
PSNR
(dB)
31.23 36.97 29.03
40.73
Hidden
Ratio
12.5% 1.34% 18.75%
27.53%
ܪܴൌܵ݅ݖ݁
݂
ܾ݁݉݁݀݀݁݀
݉݁ݏݏܽ݃݁
ܸ݅݀݁
ݏ݅ݖ݁ ൈͳͲͲΨ
ሺͳሻ
TABLE III. E
MBEDDING
C
APACITY OF THE
P
ROPOSED
A
LGORITHM
Video Resolution YUV Proposed Algorithm
(Bits/Frame)
352 x 288
Y 223344
U 55836
V 55836
Robustness
To measure the robustness of the proposed algorithm, the
Similarity (Sim) metric has been utilized. This metric is used to
test whether the extracted secret message has been corrupted
during communication [20]. The Sim ሺͲܵ݅݉ͳሻcan be
calculated as in the following equation [21]:
ܵ݅݉ൌ σσሾܯሺ݅ǡ݆ሻൈ
ୀଵ
ୀଵ
ܯ
ሺ݅ǡ݆ሻሿ
ටσσܯሺ݅ǡ݆ሻ
ଶ
ୀଵ
ୀଵ
ൈටσσܯ
ሺ݅ǡ݆ሻ
ଶ
ୀଵ
ୀଵ
ሺͳͺሻ
where ܯܯ
are the embedded and extracted secret
messages, respectively, and a and b are the dimensions of the
secret message array. The algorithm is tested under different
types of attacks (Gaussian noise with the zero mean and
variance=0.01 and 0.001, Salt & pepper noise with the
density=0.01 and 0.001, and median filtering). To achieve the
robustness of the algorithm, the higher Sim must be obtained.
Table IV illustrates the robustness of the proposed algorithm
under attacks while it retrieves the hidden data with a high Sim.
VII. C
ONCLUSION
A novel video steganography method in DCT domain
based on Hamming and BCH (7, 4, 1) error correcting codes
has been proposed in this paper. The steganography algorithm
converts the video into frames; then, it divides each frame into
This full text paper was peer reviewed at the direction of IEEE Communications Society subject matter experts for publication in
the Sarnoff 2016 proceedings.
978-1-5090-1539-9@2016 IEEE 212
Y, U, and V components. Prior to the embedding process, the
secret message is encrypted and encoded using hamming and
BCH codes. The 2D-DCT has been applied to each YUV
components. DCT coefficients, excluding DC coefficients, are
selected for embedding the secret data.
The proposed algorithm has a high embedding payload.
The amount of the secret data in each video is approximately
5.99 Mbytes and the HR is 27.53%. The visual quality of the
stego videos is also high: the PSNR ranged between 38.95-
42.73 dBs with an Sim=1. Moreover, the experimental results
showed that the proposed algorithm is robust against several
attacks. In addition, the security of the our method is improved
by ciphering and encoding processes prior to the embedding
process. The result of comparison shows that the proposed
algorithm outperformed three existing algorithms. For future
work, we would like to improve the embedding payload of the
proposed algorithm with the respect of the video quality by
using other techniques that operate in frequency domain. Also,
we would like to conduct efficient linear block codes to
enhance the security of the algorithm.
TABLE IV. S
IM
V
ALUES OF THE
P
ROPOSED
A
LGORITHM
U
NDER
A
TTACKS
No
attacks
(Salt & Pepper)
density=
(Gaussian
white)
variance= Median
filtering
Sequences 0.01 0.001 0.01 0.001
Akiyo
1 0.950 0.957 0.918 0.903 0.981
Bus
1 0.960 0.967 0.928 0.913 0.982
Coastguard
1 0.940 0.947 0.908 0.893 0.981
Container
1 0.970 0.977 0.938 0.923 0.993
Foreman
1 0.960 0.953 0.914 0.892 0.970
Soccer
1 0.918 0.926 0.897 0.868 0.954
R
EFERENCES
[1] R. J. Mstafa and K. M. Elleithy, "A video steganography
algorithm based on Kanade-Lucas-Tomasi tracking algorithm
and error correcting codes," Multimedia Tools and
Applications, pp. 1-23, 2015.
[2] R. J. Mstafa and K. M. Elleithy, "A highly secure video
steganography using Hamming code (7, 4)," in Systems,
Applications and Technology Conference (LISAT), 2014 IEEE
Long Island, 2014, pp. 1-6.
[3] C. Chin-Chen, T. D. Kieu, and C. Yung-Chen, "A High
Payload Steganographic Scheme Based on (7, 4) Hamming
Code for Digital Images," in Electronic Commerce and
Security, 2008 International Symposium on, 2008, pp. 16-21.
[4] L. Guangjie, L. Weiwei, D. Yuewei, and L. Shiguo, "An
Adaptive Matrix Embedding for Image Steganography," in
Multimedia Information Networking and Security (MINES),
2011 Third International Conference on, 2011, pp. 642-646.
[5] W. Jyun-Jie, C. Houshou, L. Chi-Yuan, and Y. Ting-Ya, "An
embedding strategy for large payload using convolutional
embedding codes," in ITS Telecommunications (ITST), 2012
12th International Conference on, 2012, pp. 365-369.
[6] R. J. Mstafa and K. M. Elleithy, "A New Video Steganography
Algorithm Based on the Multiple Object Tracking and
Hamming Codes," in 2015 IEEE 14th International Conference
on Machine Learning and Applications (ICMLA), 2015, pp.
335-340.
[7] R. Zhang, V. Sachnev, and H. Kim, "Fast BCH Syndrome
Coding for Steganography," in Information Hiding. vol. 5806,
S. Katzenbeisser and A.-R. Sadeghi, Eds., ed: Springer Berlin
Heidelberg, 2009, pp. 48-58.
[8] R. Zhang, V. Sachnev, M. B. Botnan, H. J. Kim, and J. Heo,
"An efficient embedder for BCH coding for Steganography,"
Information Theory, IEEE Transactions on, vol. 58, pp. 7272-
7279, 2012.
[9] Y. Liu, Z. Li, X. Ma, and J. Liu, "A Robust Data Hiding
Algorithm for H. 264/AVC Video Streams," Journal of
Systems and Software, 2013.
[10] I. Diop, S. M. Farss, K. Tall, P. A. Fall, M. L. Diouf, and A. K.
Diop, "Adaptive steganography scheme based on LDPC
codes," in 2014 16th International Conference on Advanced
Communication Technology (ICACT), 2014, pp. 162-166.
[11] A. K. Jain, Fundamentals of digital image processing:
Prentice-Hall, Inc., 1989.
[12] W. B. Pennebaker and J. L. Mitchell, JPEG: Still image data
compression standard: Springer Science & Business Media,
1992.
[13] Y. Hoyoung, J. Jaehwan, J. Jihyuck, and P. In-Cheol, "Area-
Efficient Multimode Encoding Architecture for Long BCH
Codes," Circuits and Systems II: Express Briefs, IEEE
Transactions on, vol. 60, pp. 872-876, 2013.
[14] R. J. Mstafa and K. M. Elleithy, "A high payload video
steganography algorithm in DWT domain based on BCH codes
(15, 11)," in Wireless Telecommunications Symposium (WTS),
2015, 2015, pp. 1-8.
[15] R. J. Mstafa and K. M. Elleithy, "An Efficient Video
Steganography Algorithm Based on BCH Codes," in American
Society for Engineering Education (ASEE Zone 1), 2015 Zone
1 Conference, Boston, 2015, p. 10.
[16] K. Muhammad, M. Sajjad, I. Mehmood, S. Rho, and S. Baik,
"A novel magic LSB substitution method (M-LSB-SM) using
multi-level encryption and achromatic component of an
image," Multimedia Tools and Applications, pp. 1-27,
2015/05/24 2015.
[17] K. Patel, K. K. Rora, K. Singh, and S. Verma, "Lazy Wavelet
Transform Based Steganography in Video," in Communication
Systems and Network Technologies (CSNT), 2013 International
Conference on, 2013, pp. 497-500.
[18] M. A. Alavianmehr, M. Rezaei, M. S. Helfroush, and A. Tashk,
"A lossless data hiding scheme on video raw data robust
against H.264/AVC compression," in Computer and
Knowledge Engineering (ICCKE), 2012 2nd International
eConference on, 2012, pp. 194-198.
[19] S. Hu and U. KinTak, "A Novel Video Steganography based on
Non-uniform Rectangular Partition," in Computational Science
and Engineering (CSE), 2011 IEEE 14th International
Conference on, 2011, pp. 57-61.
[20] R. J. Mstafa and K. M. Elleithy, "A novel video steganography
algorithm in the wavelet domain based on the KLT tracking
algorithm and BCH codes," in Systems, Applications and
Technology Conference (LISAT), 2015 IEEE Long Island,
2015, pp. 1-7.
[21] Y. He, G. Yang, and N. Zhu, "A real-time dual watermarking
algorithm of H.264/AVC video stream for Video-on-Demand
service," AEU - International Journal of Electronics and
Communications, vol. 66, pp. 305-312, 2012.
This full text paper was peer reviewed at the direction of IEEE Communications Society subject matter experts for publication in
the Sarnoff 2016 proceedings.
978-1-5090-1539-9@2016 IEEE 213