the cover pixel selection (Sect.~\ref{sub:edge}),
the adaptive payload considerations (Sect.~\ref{sub:adaptive}),
and how the distortion has been minimized (Sect.~\ref{sub:stc}).
-The message extraction is then presented (Sect.~\ref{sub:extract}) and a running example ends this section (Sect.~\ref{sub:xpl}).
+The message extraction is then presented (Sect.~\ref{sub:extract}) while a running example ends this section (Sect.~\ref{sub:xpl}).
The flowcharts given in Fig.~\ref{fig:sch}
summarize our steganography scheme denoted by
-STABYLO, which stands for STeganography with
+STABYLO, which stands for STe\-ga\-no\-gra\-phy with
Adaptive, Bbs, binarY embedding at LOw cost.
What follows are successively some details of the inner steps and the flows both inside
the embedding stage (Fig.~\ref{fig:sch:emb})
\begin{figure*}%[t]
\begin{center}
- \subfloat[Data Embedding.]{
+ \subfloat[Data Embedding]{
\begin{minipage}{0.49\textwidth}
\begin{center}
%\includegraphics[width=5cm]{emb.pdf}
\label{fig:sch:emb}
}
- \subfloat[Data Extraction.]{
+ \subfloat[Data Extraction]{
\begin{minipage}{0.49\textwidth}
\begin{center}
%\includegraphics[width=5cm]{rec.pdf}
that is based on the Blum Blum Shub~\cite{DBLP:conf/crypto/ShubBB82}
pseudorandom number generator (PRNG) and the
XOR binary function.
-It has been indeed proven~\cite{DBLP:conf/crypto/ShubBB82} that this PRNG
+It has been proven~\cite{DBLP:conf/crypto/ShubBB82} that this PRNG
has the property of cryptographical security, \textit{i.e.},
for any sequence of $L$ output bits $x_i$, $x_{i+1}$, \ldots, $x_{i+L-1}$,
there is no algorithm, whose time complexity is polynomial in $L$, and
Many techniques have been proposed in the literature to detect
edges in images (whose noise has been initially reduced).
-They can be separated into two categories: first and second order detection
+They can be separated in two categories: first and second order detection
methods on the one hand, and fuzzy detectors on the other hand~\cite{KF11}.
-In first order methods like Sobel, Canny~\cite{Canny:1986:CAE:11274.11275}, \ldots,
+In first order methods like Sobel, Canny~\cite{Canny:1986:CAE:11274.11275}, and so on,
a first-order derivative (gradient magnitude, etc.) is computed
to search for local maxima, whereas in second order ones, zero crossings in a second-order derivative, like the Laplacian computed from the image,
are searched in order to find edges.
Canny filters, on their parts, are an old family of algorithms still remaining a state of the art edge detector. They can be well-approximated by first-order derivatives of Gaussians.
As the Canny algorithm is fast, well known, has been studied in depth, and is implementable
-on many kinds of architectures like FPGAs, smartphones, desktop machines, and
+on many kinds of architectures like FPGAs, smart phones, desktop machines, and
GPUs, we have chosen this edge detector for illustrative purpose.
%\JFC{il faudrait comparer les complexites des algo fuzy and canny}
set of pixels for both the cover and the stego image.
In our flowcharts, this is represented by ``edgeDetection(b bits)''.
Then only the 2 LSBs of pixels in the set of edges are returned if $b$ is 6,
-and the LSB of pixels if $b$ is 7.
+and the LSBs of pixels if $b$ is 7.
Let $x$ be the sequence of these bits.
-The next section presents how our scheme
-adapts when the size of $x$ is not sufficient for the message $m$ to embed.
+The next section presents how to adapt our scheme
+ when the size of $x$ is not sufficient for the message $m$ to embed.
\subsection{Adaptive embedding rate}\label{sub:adaptive}
-Two strategies have been developed in our scheme,
+Two strategies have been developed in our approach,
depending on the embedding rate that is either \emph{adaptive} or \emph{fixed}.
In the former the embedding rate depends on the number of edge pixels.
The higher it is, the larger the message length that can be inserted is.
Canny algorithm with a high threshold.
The message length is thus defined to be less than
half of this set cardinality.
-If $x$ is then too short for $m$, the message is split into sufficient parts
+If $x$ is too short for $m$, the message is split into sufficient parts
and a new cover image should be used for the remaining part of the message.
applying the BBS PRNG again. This method is further denoted as a \emph{sample}.
Once this set is selected, a classical LSB replacement is applied to embed the
stego content.
-The second method is a direct application of the
-STC algorithm~\cite{DBLP:journals/tifs/FillerJF11}.
+The second method considers the last significant bits of all the pixels
+inside the previous map. It next directly applies the STC
+algorithm~\cite{DBLP:journals/tifs/FillerJF11}.
It is further referred to as \emph{STC} and is detailed in the next section.
-% First of all, let us discuss about compexity of edge detetction methods.
-% Let then $M$ and $N$ be the dimension of the original image.
-% According to~\cite{Hu:2007:HPE:1282866.1282944},
-% even if the fuzzy logic based edge detection methods~\cite{Tyan1993}
-% have promising results, its complexity is in $C_3 \times O(M \times N)$
-% whereas the complexity on the Canny method~\cite{Canny:1986:CAE:11274.11275}
-% is in $C_1 \times O(M \times N)$ where $C_1 < C_3$.
-% \JFC{Verifier ceci...}
-% In experiments detailled in this article, the Canny method has been retained
-% but the whole approach can be updated to consider
-% the fuzzy logic edge detector.
-
-
-
-
The edge detection returns 18,641 and 18,455 pixels when $b$ is
respectively 7 and 6. These edges are represented in Figure~\ref{fig:edge}.
When $b$ is 7, it remains one bit per pixel to build the cover vector.
-in this configuration, this leads to a cover vector of size 18,641 and
-36,910 if $b$ is 6.
+This configuration leads to a cover vector of size 18,641 if b is 7
+and 36,910 if $b$ is 6.
\begin{figure}[t]
\begin{center}
The STC algorithm is optimized when the rate between message length and
-cover vector length is less than 1/2.
-So, only 9,320 bits (resp. 18,455 bits) are available for embedding
-in the former configuration where $b$ is 7 (resp. where $b$ is 6).
-In the first cases, about the third part of the poem is hidden into the cover
-whereas the latter allows to embed more than the half part of it.
+cover vector length is lower than 1/2.
+So, only 9,320 bits are available for embedding
+in the configuration where $b$ is 7.
+
+When $b$ is 6, we could have considered 18,455 bits for the message.
+However, first experiments have shown that modifying this number of bits is too
+easily detectable.
+So, we choose to modify the same amount of bits (9,320) and keep STC optimizing
+which bits to change among the 36,910 ones.
+
+In the two cases, about the third part of the poem is hidden into the cover.
Results with \emph{adaptive+STC} strategy are presented in
Fig.~\ref{fig:lenastego}.
\end{figure}
-