+%Image Quality: Edge Image Steganography
+%\JFC{Raphael, les fuzzy edge detection sont souvent utilisés.
+% il faudrait comparer les approches en terme de nombre de bits retournés,
+% en terme de complexité. } \cite{KF11}
+%\RC{Ben, à voir car on peut choisir le nombre de pixel avec Canny. Supposons que les fuzzy edge soient retourne un peu plus de points, on sera probablement plus détectable... Finalement on devrait surement vendre notre truc en : on a choisi cet algo car il est performant en vitesse/qualité. Mais on peut aussi en utilisé d'autres :-)}
+
+Many techniques have been proposed in the literature to detect
+edges in images (whose noise has been initially reduced).
+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}, 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.
+As far as fuzzy edge methods are concerned, they are obviously based on fuzzy logic to highlight 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, smart phones, desktop machines, and
+GPUs, we have chosen this edge detector for illustrative purpose.
+
+
+
+
+This edge detection is applied on a filtered version of the image given
+as input.
+More precisely, only $b$ most significant bits are concerned by this step,
+where the parameter $b$ is practically set with $6$ or $7$.
+Notice that 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.
+If set with the same value $b$, the edge detection returns thus the same
+set of pixels for both the cover and the stego image.
+Moreover, to provide edge gradient value,
+the Canny algorithm computes derivatives
+in the two directions with respect to a mask of size $T$.
+The higher $T$ is, the coarse the approach is. Practically,
+$T$ is set with $3$, $3$, or $7$.
+In our flowcharts, this step is represented by ``Edge Detection(b, T, X)''.
+
+
+Let $x$ be the sequence of these bits.
+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 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.
+Practically, a set of edge pixels is computed according to the
+Canny algorithm with parameters $b=7$ and $T=3$.
+The message length is thus defined to be less than
+half of this set cardinality.
+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.
+
+In the latter, the embedding rate is defined as a percentage between the
+number of modified pixels and the length of the bit message.
+This is the classical approach adopted in steganography.
+Practically, the Canny algorithm generates
+a set of edge pixels related to increasing values of $T$ and
+until its cardinality
+is sufficient. Even in this situation, our scheme is adapting
+its algorithm to meet all the user's requirements.
+
+
+Once the map of possibly modified pixels is computed,
+two methods may further be applied to extract bits that
+are really modified.
+The first one randomly chooses the subset of pixels to modify by
+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 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.
+
+
+
+
+
+
+
+
+\subsection{Minimizing distortion with syndrome-trellis codes}\label{sub:stc}
+\input{stc}