%\section{A Robust Data Hiding Process Contributing to the Development of a Semantic Web~\cite{bcfg12b:ip}}


% 
% \subsection{Introduction}
% 
% This contribution focuses another time on robustness, which is defined by 
% Kalker in~\cite{Kalker2001} as follows: ``Robust watermarking is a mechanism to
% create a communication channel that is multiplexed into
% original content [...] It is required that, firstly, the perceptual
% degradation of the marked content [...] is minimal and, secondly, that the capacity of the watermark channel degrades as
% a smooth function of the degradation of the marked content''. The context
% of~\cite{bcfg12b:ip} is the social web search engines development:
% the key idea is to embed tags or metada directly into internet 
% medias, to realize social search without any websites and databases,
% but with ad hoc engines able to extract these descriptions.
% As descriptions are directly embedded into media, whatever their formats,
% robustness of the
% chosen watermarking scheme is thus required in this situation, as descriptions should resist to user modifications
% like resizing, compression, and format conversion or other
% classical user transformations in the field.  
% 
% To achieve such a goal,
% 
%  a new algorithm named  $\mathcal{DI}_3$ is presented in~\cite{bcfg12b:ip}. It is 
% inspired from $\mathcal{CIW}_1$ and $\mathcal{CIS}_2$ respectively published
% in~\cite{fgb11:ip} and~\cite{gfb10:ip}, and recalled previously in this chapter. 
% Compare to the first one, $\mathcal{DI}_3$ is a steganographic scheme, 
% not just a watermarking technique. That is, in our understanding, it can embed more than one bit. Unlike
% $\mathcal{CIS}_2$, which requires embedding keys with three strategies, only one sequence
% is required for $\mathcal{DI}_3$, so it is easier to implement. Indeed 
% $\mathcal{DI}_3$ is a faster instance of $\mathcal{CIS}_2$, as
% there is no message mixing in it.
%  $\mathcal{DI}_3$ is well-defined through detailed algorithms in~\cite{bcfg12b:ip}, evaluated, and compared to 
% some well-known watermarking schemes, namely the 
% YASS~\cite{DBLP:conf/ih/SolankiSM07}, 
%  nsF5~\cite{DBLP:conf/mmsec/FridrichPK07}, MMx~\cite{DBLP:conf/ih/KimDR06}, and HUGO~\cite{DBLP:conf/ih/PevnyFB10} algorithms 
%  detailed in the Appendix~\ref{AppendixIH}.
%  


\subsection{Implementing the new steganographic process}

\subsubsection{Implementation}



In the following algorithms, the following notations are used:
$S$ denotes the embedding and extraction strategy, 
 $H$ the host content or the stego-content depending of the context.
  $LSC$ denotes the old or new
LSCs of the host or stego-content $H$ depending of the context too.
 $N$ denotes the number of LSCs,
 $\lambda$ the number of iterations to realize,
 $M$ the secret message, and
 $P$ the width of the message (number of bits).


Our new scheme theoretically presented in~\cite{bcfg12a:ip} is here described
by three main algorithms:
\begin{enumerate}
  \item The first one, detailed in Algorithm~\ref{algo:strategy}
allows to generate the embedding strategy of the system which
is a part of the embedding key in addition with the choice of the LSCs and
the number of iterations to realize.

\item The second one, detailed
in Algorithm~\ref{algo:embed} allows to embed the message into
the LSCs of the cover media using the strategy. The 
strategy has been generated by the first algorithm and the same number of
iterations is used.
\item The last one, detailed in Algorithm~~\ref{algo:extract} allows to extract
the secret message from the LSCs of the media (the stego-content) using the
strategy wich is a part of the extraction key in addition with the width of the
message.
\end{enumerate}   

In adjunction of these three functions, two other complementary functions have
to be used:


\begin{enumerate}
  \item The first one, detailed in Algorithm~\ref{algo:signification-function},
  allow to extract MSCs, LSCs, and passive coefficients from the host content.
  Its implementation is based on the concept of signification
  function described in Definition~\ref{def:msc-lsc}.
 \item The last one, detailed in Algorithm~\ref{algo:build-function}, allow to
 rebuild the new host content (the stego-content) from the corresponding MSCs,
 LSCs, and passive coefficients. Its implementation is also based on the concept
 of signification function described in Definition~\ref{def:msc-lsc}. This
 function realize the invert operation of the previous one.
\end{enumerate}

\begin{Rem}
The two previous algorithms have
to be implemented by the user depending on each application context should be
adjusted accordingly: either in spatial description, in frequency description, or in other description. They
correspond to the theoretical concept described in Definition~\ref{def:msc-lsc}. Their
implementation depends on the application context.
\end{Rem}
\begin{Ex}
For example the algorithm~\ref{algo:signification-function} in spatial domain
can correspond to the extraction of the 3 last bits of each pixel as LSCs, the 3
first bits as MSCs, and the 2 center bits as passive coefficients.
\end{Ex}



\begin{algorithm}[h]
\tcc{$S$ is a sequence of
integers into $\llbracket 0,P-1 \rrbracket$, such that $(S_{n_0},\ldots,S_{n_0+P-1})$ is injective on
$\llbracket 0,P-1 \rrbracket$.}
\KwResult{$S$: The strategy, integer sequence $(S_0,S_1,\ldots)$.}
\Begin{
$n_0 \longleftarrow L - P + 1$\;
\If{$P > N$ OR $n_0 < 0$}{
\Return{ERROR}}
$S \longleftarrow$ Array of width $\lambda$, all values initialized to 0\;
$cpt \longleftarrow 0$\;
\While{$cpt < n_0$}{
$S_{cpt} \longleftarrow $Random integer in $\llbracket 0,P-1
\rrbracket$.\;
$cpt \longleftarrow cpt + 1$\;}
$A \longleftarrow$ We generate an arrangement of $\llbracket 0,P-1
\rrbracket$\;
\For{$k \in \llbracket 0,P-1\rrbracket$}{
$S_{n_0 + k} \longleftarrow A_k$\;
}
\Return{$S$}
}
\caption{$strategy(N,P,\lambda)$}
\label{algo:strategy}
\end{algorithm}



\begin{algorithm}[h]
\KwResult{New LSCs with embedded message.}
\Begin{
$N \longleftarrow$ Number of LSCs in $LSC$\;
$P \longleftarrow$ Width of the message $M$\;
\For{$k \in \llbracket 0,\lambda\rrbracket$}{
$i \longleftarrow S_k$\;
$LSC_{i} \longleftarrow M_i$\;
}
\Return{$LSC$}
}
\caption{$embed(LSC, M, S, \lambda)$}
\label{algo:embed}
\end{algorithm}

\begin{algorithm}[h]
\KwResult{The message to extract from $LSC$.}
\Begin{
$RS \longleftarrow$ The strategy $S$ written in reverse order.\;
$M \longleftarrow$ Array of width $P$, all values initialized to 0\;
\For{$k \in \llbracket 0,\lambda\rrbracket$}{
$i \longleftarrow RS_k$\;
$M_{i} \longleftarrow LSC_i$\;
}
\Return{$M$}
}
\caption{$extract(LSC, S, \lambda,P)$}
\label{algo:extract}
\end{algorithm}


\begin{algorithm}[h]
\KwData{$H$: The original host content.}
\KwResult{$MSC$: MSCs of the host content $H$.}
\KwResult{$PC$: Passive coefficients of the host content $H$.}
\KwResult{$LSC$: LSCs of the host content $H$.}
\Begin{
\tcc{Implemented by the user.}
\Return{$(MSC,PC,LSC)$}
}
\caption{$significationFunction(H)$}
\label{algo:signification-function}
\end{algorithm}

\begin{algorithm}[h]
\KwResult{$H$: The new rebuilt host content.}
\Begin{
\tcc{Implemented by the user.}
\Return{$(MSC,PC,LSC)$}
}
\caption{$buildFunction(MSC,PC,LSC)$ )\label{algo:build-function}}
\end{algorithm}


\subsubsection{Discussion}

We first notice that our $\mathcal{DI}_3$ scheme embeds the message in LSB as
all the other approaches.
Furthermore, among all the LSB, the choice of those which are modified
according to the message is based on a secured PRNG whereas F5, and thus nsF5
only require a PRNG.
Finally in this scheme, we have postponed the optimization of considering
again a subset of them according to the distortion their modification
may induce. According to us, further theoretical study
are necessary to take this feature into consideration.
In future work, it is planed to compare the robustness and efficiency of all the
schemes in the context of semantic web. To initiate this study in this first
article, the robustness of $\mathcal{DI}_3$ is detailled in the next section.

\subsection{Robustness Study}\label{sec:robustness-study}


This section evaluates the robustness of our approach~\cite{bcg11:ij}.

Each experiment is build on a set of 50 images which are randomly selected
among database taken from the BOSS contest~\cite{DBLP:conf/ih/BasFP11}. 
Each cover is a $512\times 512$ greyscale digital image. 
The relative payload
is always set with 0.1 bit per pixel. Under that constrain,
the embedded message $m$ is a sequence of 26214 randomly generated bits. 

Following the same model of robustness studies in previous similar work in the
field of information hiding, we choose some classical attacks like cropping,
compression, and rotation studied in this research work. Other attacks
and geometric transformations will be explore in a complementary study. Testing
the robustness of the approach is achieved by successively applying on stego content images attacks. Differences between the message that is extracted from the attacked image and the original one are computed and expressed as percentage.

 
To deal with cropping attack, different percentage of cropping
(from 1\% to 81\%) are applied on the stego content image.  
Fig.~\ref{fig:robustness-results}~(c) presents effects of such an attack.


We address robustness against JPEG an JPEG 2000 compression.
Results are respectively presented in Fig.~\ref{fig:robustness-results}~(a) and
in Fig.~\ref{fig:robustness-results}~(b).


\begin{figure*}[Htb]

\begin{minipage}[b]{.24\linewidth}
  \centering
    \centerline{\includegraphics[width=5cm]{IH/graphs/atq-jpg}}
    \centerline{(a) JPEG effect.}
\end{minipage}
\hfill
\begin{minipage}[b]{0.24\linewidth}
  \centering
    \centerline{\includegraphics[width=5cm]{IH/graphs/atq-jp2}}
    \centerline{(b) JPEG 2000 effect.}
\end{minipage}
\hfill
\begin{minipage}[b]{.24\linewidth}
  \centering
    \centerline{\includegraphics[width=5cm]{IH/graphs/atq-dec}}
    \centerline{(c) Cropping attack.}
\end{minipage}
\hfill
\begin{minipage}[b]{0.24\linewidth}
  \centering
    \centerline{\includegraphics[width=5cm]{IH/graphs/atq-rot}}
    \centerline{(d) Rotation attack.}
\end{minipage}
\caption{Robustness of $\mathcal{DI}_3$ scheme facing several attacks (50 images
from the BOSS repository)}
\label{fig:robustness-results}
\end{figure*}



Attacked based on geometric transformations are addressed through  
rotation attacks: two opposite rotations 
of angle $\theta$ are successively applied around the center of the image.
In these geometric transformations, angles range from 2 to 20 
degrees.  
Results  effects of such an attack are also presented in
Fig.~\ref{fig:robustness-results}~(d).


From all these experiments, one firstly can conclude that
the steganographic scheme does not present obvious drawback and
resists to all the attacks:
all the percentage differences are so far less than 50\%.

The comparison with robustness of other steganographic schemes exposed in the
work will be realize in a complementary study, and the best utilization of each
one in several context will be discuss.
