X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/canny.git/blobdiff_plain/03f2db2f776786ee6e9435d3c0f603b248cdd2ae..d5631915e956b49c89f78d66d7b4d25682a7e405:/stc.tex?ds=sidebyside diff --git a/stc.tex b/stc.tex index db98585..5e5b66e 100644 --- a/stc.tex +++ b/stc.tex @@ -1,5 +1,6 @@ To make this article self-contained, this section recalls -the basis of the Syndrome Treillis Codes (STC). +the basis of the Syndrome Treillis Codes (STC). +\JFC{A reader who is familar with syndrome coding can skip it.} Let $x=(x_1,\ldots,x_n)$ be the $n$-bits cover vector issued from an image $X$, @@ -19,13 +20,13 @@ $m$ for a given binary matrix $H$. Let us explain this embedding on a small illustrative example where $m$ and $x$ are respectively a 3 bits column -vector and a 7 bits column vector and where +vector and a 7 bits column vector, and where $\rho_X(i,x,y)$ is equal to 1 for any $i$, $x$, $y$ -(\textit{i.e.}, $\rho_X(i,x,y) = 0$ if $x = y$ and $0$ otherwise). +(\textit{i.e.}, $\rho_X(i,x,y) = 0$ if $x = y$ and $1$ otherwise). -Let $H$ be the binary Hamming matrix +Let $\dot{H}$ be the binary Hamming matrix $$ -H = \left( +\dot{H} = \left( \begin{array}{lllllll} 0 & 0 & 0 & 1 & 1 & 1 & 1 \\ 0 & 1 & 1 & 0 & 0 & 1 & 1 \\ @@ -33,11 +34,11 @@ H = \left( \end{array} \right). $$ -The objective is to modify $x$ to get $y$ s.t. $m = Hy$. +The objective is to modify $x$ to get $y$ s.t. $m = \dot{H}y$. In this algebra, the sum and the product respectively correspond to the exclusive \emph{or} and to the \emph{and} Boolean operators. -If $Hx$ is already equal to $m$, nothing has to be changed and $x$ can be sent. -Otherwise we consider the difference $\delta = d(m,Hx)$, which is expressed +If $\dot{H}x$ is already equal to $m$, nothing has to be changed and $x$ can be sent. +Otherwise we consider the difference $\delta = d(m,\dot{H}x)$, which is expressed as a vector : $$ \delta = \left( \begin{array}{l} @@ -53,14 +54,14 @@ We denote by $\overline{x}^j$ the vector obtained by switching the $j-$th component of $x$, that is, $\overline{x}^j = (x_1 , \ldots, \overline{x_j},\ldots, x_n )$. It is not hard to see that if $y$ is $\overline{x}^j$, then -$m = Hy$. +$m = \dot{H}y$. It is then possible to embed 3 bits in 7 LSBs of pixels by modifying at most 1 bit. In the general case, communicating a message of $p$ bits in a cover of $n=2^p-1$ pixels needs $1-1/2^p$ average changes. -This Hamming embeding is really efficient to very small payload and is -not well suited when the size of the message is larger, as in real situation. +This Hamming embedding is really efficient to very small payload and is +not well suited when the size of the message is larger, as in real situations. The matrix $H$ should be changed to deal with higher payload. Moreover, for any given $H$, finding $y$ that solves $Hy=m$ and that minimizes $D_X(x,y)$, has an exponential complexity with respect to $n$.