...
 
Commits (2)
......@@ -171,6 +171,15 @@ On peux aussi tracer la courbe distortion- débit (R= f(D))
On considère une source $X$ décrite par sa ddp $f_X(x)$, quantifiée par un quantificateur uniforme à $M$ niveaux de pas $\Delta$. Si $M$ est fini on peux considérer deux type de quantificateur:
\paragraph{Exercice}
\begin{enumerate}
\item Générer N réalisation d'une source Gaussienne $\mathcal{N}(0,1)$.
\item Implanter un quantificateur uniforme sans zone morte et la fonction de reconstruction associée.
\item Faire de Meme pour un quantificateur avec zone morte.
\item Tracer dans les deux cas la courbe débit distorsion en supposant que les index de quantification sont codées à l'aide d'un codeur entropique.
\end{enumerate}
\begin{figure}[H]
\centering
\begin{subfigure}{0.5\textwidth}
......@@ -182,13 +191,15 @@ On considère une source $X$ décrite par sa ddp $f_X(x)$, quantifiée par un qu
xtick={-2,-1,1,2},
ytick={-1.5,-0.5,0.5,1.5},
xticklabels={$-2\Delta$,$-\Delta$,$\Delta$,$2\Delta$},
yticklabels={$-3\frac{\Delta}{2}$,$\frac{\Delta}{2}$,$\frac{\Delta}{2}$,$3\frac{\Delta}{2}$},
yticklabels={$\frac{-3\Delta}{2}$,$\frac{-\Delta}{2}$,$\frac{\Delta}{2}$,$\frac{3\Delta}{2}$},
x tick label style={font=\tiny},
y tick label style={font=\tiny,anchor=center,xshift=-(sign(\ticknum-1.5))*1em},
]
\addplot[black, jump mark left]coordinates {(-2,-1.5)
\addplot[black, jump mark left,thick]coordinates {(-2,-1.5)
%(-1,-1.5)
(-1,-0.5)
(0,0.5)
(1,1.5) (3,1.5)};
(1,1.5) (2,1.5)};
\end{axis}
\end{tikzpicture}
\subcaption{Quantificateur sans zone morte}
......@@ -202,16 +213,16 @@ On considère une source $X$ décrite par sa ddp $f_X(x)$, quantifiée par un qu
xtick={-3,-2,-1,1,2,3},
ytick={-2.5,-1.5,1.5,2.5},
xticklabels={$-d-2\Delta$,$-d-\Delta$,$-d$,$d$,$d+\Delta$,$d+2\Delta$},
yticklabels={$-d-3\frac{\Delta}{2}$,$-d-\frac{\Delta}{2}$,$d+\frac{\Delta}{2}$,$d+3\frac{\Delta}{2}$},
x tick label style={yshift={mod(\ticknum,2)*1.5em}},
y tick label style={xshift={3em}}
]
yticklabels={$-d-\frac{3\Delta}{2}$,$-d-\frac{\Delta}{2}$,$d+\frac{\Delta}{2}$,$d+\frac{3\Delta}{2}$},
x tick label style={font=\tiny},
y tick label style={anchor=center,font=\tiny,xshift=-(sign(\ticknum-1.5))*2em}]
\addplot[black,thick, jump mark left]coordinates {(-3,-2.5)
%(-1,-1.5)
(-2,-1.5)
(-1,0)
(1,0.5)
(2,1.5) (3,2.5)};
(1,1.5)
(2,2.5)
(3,2.5)};
\end{axis}
\end{tikzpicture}
\subcaption{Quantificateur avec zone morte}
......@@ -226,14 +237,43 @@ On cherche à minimiser la distorsion
\begin{align*}
D &= \underbracket{\int_{-\infty}^{(-M/2+1)\Delta} (x-Q(x))^2f_X(x)dx }_{\text{distorsion de surcharge}}\\
&+ \underbracket{\sum_{i=1}^{M-2} \int_{-\frac{M}{2}\Delta+i\Delta}^{-\frac{M}{2}\Delta+(i+1)\Delta}}_{\text{distorsion de granularité}} (x-Q(x))^2f_X(x)dx \\
&+ \underbracket{\sum_{i=1}^{M-2} \int_{-\frac{M}{2}\Delta+i\Delta}^{-\frac{M}{2}\Delta+(i+1)\Delta} (x-Q(x))^2f_X(x)dx}_{\text{distorsion de granularité}} \\
&+\underbracket{\int_{(\frac{M}{2}-1)\Delta}^{+\infty} (x-Q(x))^2f_X(x)dx}_{\text{distorsion de surcharge}}\\
\end{align*}
Pour M fixé on a :
On peux bornée l'erreur de quantification au centre entre $\frac{-\Delta}{2}$ et $\frac{\Delta}{2}$à l'extérieur l'erreur n'est pas bornée:
Pour $M$ fixé on a:
\begin{figure}[H]
\centering
\begin{tikzpicture}
\begin{axis}
[axis lines=middle,
xmin=-0.5, xmax=6,ymin=-0.5,ymax=3,
xlabel=$\Delta$,ylabel=$D$,
ytick={2},yticklabels={$\sigma_X^2$},
xtick={2.95},xticklabels={$\Delta_{opt}$},
domain=0:6]
\addplot[red,smooth, no marks]{8/(x+2)^2};
\addlegendentry{surcharge}
\addplot[green,smooth, no marks]{1/(-x+6)};
\addlegendentry{granularité}
\addplot[blue,smooth,no marks,tension=1]coordinates{(0,2) (3.5,1) (6,4)};
\addlegendentry{total}
\addplot[dotted,black]coordinates{(2.95,0)(2.95,0.9)};
\end{axis}
\end{tikzpicture}
\caption{Evolution de la distorsion en fonction du pas de quantification}
\end{figure}
\subsection{Quantification non uniforme}
On considère une source $X$ à valeur réelle $\mathcal{X} =\R$ décrite par une ddp $f_X(x)$. On chercje à quantifier cette source à l'aide d'un quantificateur non uniforme sur $M$ niveau décrit par:
\begin{itemize}
\item $M+1$ bornes des intervalles de quantification $b_0=\infty < b_1 < ... <b_M=+\infty$
\item $M$ valeurs de reconstruction $y_1 ... y_M$.
\end{itemize}
On choisit les paramètres de quantificateur de manière à minimiser une distorsion construite à partir d'une mesure quadratique.
Les conditions nécessaires pour avoir $D$ minimale sont :
\begin{itemize}
......@@ -247,20 +287,28 @@ Les conditions nécessaires pour avoir $D$ minimale sont :
& = - 2 \int_{b_{i-1}}^{b_i} (x-y_i) f_X(x) dx
\intertext{Ainsi,}
\derivp[D]{y_i} = 0 & \Leftrightarrow \int_{b_{i-1}}^{b_i} xf_X(x)dx = y_i \int_{b_{i-1}}^{b_i} f_X(x)dx \\
& \Rightarrow y_i = \frac{\int_{b_{i-1}}^{b_i} xf_X(x)dx}{\int_{b_{i-1}}^{b_i} f_X(x)dx}, \quad i = 1 \dots M
& \Rightarrow\boxed{ y_i = \frac{\int_{b_{i-1}}^{b_i} xf_X(x)dx}{\int_{b_{i-1}}^{b_i} f_X(x)dx}, \quad i = 1 \dots M}
\intertext{2ème condition d'optimalité}
\derivp[D]{b_i} & = \derivp{}{b_i} \int_{b_i}^{b_{i+1}} (x-y_{i+1})^2f_X(x)dx + \derivp{}{b_i}\int_{b_{i-1}}^{b_i} (x-y_i)^2 f_X(x)dx \\
\derivp[D]{b_i} & = \derivp{b_i} \int_{b_i}^{b_{i+1}} (x-y_{i+1})^2f_X(x)dx + \derivp{b_i}\int_{b_{i-1}}^{b_i} (x-y_i)^2 f_X(x)dx \\
& = -(b_i-y_{i+1})^2 f_X(b_i) + (b_i-y_i)^2 f_X(b_i)
\intertext{Ainsi, }
\derivp[D]{b_i} = 0 & \Leftrightarrow -(b_i-y_{i+1})^2 + (b_i-y_i)^2 = 0 \\
& \Leftrightarrow (y_{i+1}-y_i)(b_i-y_{i+1}+b_i-y_i) = 0 \\
& \Leftrightarrow b_i = \frac{y_i+y_{i+1}}{2}, \quad i=1 \dots M-1
& \Leftrightarrow \boxed{b_i = \frac{y_i+y_{i+1}}{2}, \quad i=1 \dots M-1}
\end{align*}
\subsection{Quantification non uniforme}
\begin{prop}
Les bornes des intervalles de quantification sont au milieu de deux valeurs de reconstructions consécutives.
\[
b_i = \frac{y_i+y_{i+1}}{2}, \quad i=1 \dots M-1
\]
et les valeurs de reconstructions optimales vérifient:
\[
\hat{y_i}= E[\{X|X\in[b_i,b_{i+1}]\}] = \frac{\displaystyle\int_{b_{i-1}}^{b_i} xf_X(x)dx}{\displaystyle\int_{b_{i-1}}^{b_i} f_X(x)dx}
\]
\subsection{Algorithme de Lloyd -Max}
\end{prop}
\subsubsection{Algorithme de Lloyd -Max}
\begin{enumerate}
\item Initialisation : $b_0^{(0)} < b_1^{(0)} < \dots < b_n^{(0)}$ choisis arbitrairement, $k=1$.
\item $y_i^{(k)}$ obtenus à partir des $b_i^{(k-1)}, i=0 \dots M$ en utilisant la 1ère condition d'optimalité
......@@ -293,8 +341,8 @@ La plupart du temps, les quantifications sont uniformes (JPEG, JPEG200, H264...)
\end{rem}
\section{Comportement asymptotique}
Pour étudier le comportement asymptotique d'un quantificateur, on suppose $M$ grand (les intervalles de quantification seront petits), $f_X(x) \approx f_X(y_i)$ sur $[b_{i-1},b_i]$. On note $\Delta_i = b_i - b_{i-1}$.\\
\subsubsection{Comportement asymptotique}
Pour étudier le comportement asymptotique d'un quantificateur non uniforme, on suppose $M$ grand (les intervalles de quantification seront petits), $f_X(x) \approx f_X(y_i)$ sur $[b_{i-1},b_i]$. On note $\Delta_i = b_i - b_{i-1}$.\\
On a \[P_i = Pr(X\in[b_{i-1},b_i]) \approx f_X(y_i)\Delta_i\]
......@@ -310,7 +358,7 @@ D & = \frac{1}{12} \sum_{i=1}^M \alpha_i^3
\intertext{Si on calcule}
\sum_{i=1}^M \alpha_i & = \sum_{i=1}^M (f_X(y_i))^{1/3} \Delta_i \approx \int_{-\infty}^{+\infty} (f_X(x))^{1/3} dx = cste
\intertext{On doit trouver les $\Delta_i$ et les $\alpha_i$ qui minimisent $D$ sous la contrainte $\sum_{i=1}^M \alpha_i = C$. On introduit donc le Lagrangien du problème :}
L(\alpha_1,\dots\alpha_M,\lambda) & = \frac{1}{12}\sum_{i=1}^M\alpha_i^3 + \lambda (\sum_{i=1}^M \alpha_i - C)
L(\alpha_1,\dots\alpha_M,\lambda) & = \frac{1}{12}\sum_{i=1}^M\alpha_i^3 + \lambda \left(\sum_{i=1}^M \alpha_i - C\right)
\intertext{Condition d'optimalité :}
\derivp[L]{\alpha_i} = 0 & \Rightarrow \frac{1}{4}\alpha_i^2 + \lambda = 0, \quad i = 1 \dots M \\
& \Rightarrow \alpha_i^2 = -4\lambda
......@@ -323,19 +371,31 @@ On avait $\alpha_i^3 = f_X(y_i) \Delta_i^3$. Ainsi, si $f_X(y_i)$ est grand, $\D
On peut donc calculer la distorsion :
\begin{align*}
D & = \frac{1}{12} \sum_{i=1}^M \frac{1}{M^3}(\int_{-\infty}^{+\infty} (f_X(x))^{1/3}dx)^3 \\
& = \frac{1}{12} (\int_{-\infty}^{+\infty} (f_X(x))^{1/3}dx)^3.\frac{1}{M^2}
D & = \frac{1}{12} \sum_{i=1}^M \frac{1}{M^3}\left(\int_{-\infty}^{+\infty} (f_X(x))^{1/3}dx\right)^3 \\
& = \frac{1}{12} \left(\int_{-\infty}^{+\infty} (f_X(x))^{1/3}dx\right)^3.\frac{1}{M^2}
\intertext{Or, $M=2^R$ d'où}
D & = \frac{1}{12}(\int_{-\infty}^{+\infty} (f_X(x))^{1/3}dx)^3.2^{-2R}
D & = \frac{1}{12}\left(\int_{-\infty}^{+\infty} (f_X(x))^{1/3}dx\right)^3.2^{-2R}
\end{align*}
\begin{rem}
\begin{prop}
Comme pour la quantification uniforme, on a une décroissance en $2^{-2R}$ de la distorsion en fonction du débit. Ici, il y a un facteur multiplicatif qui dépend de la ddp de la source.
Pour une source quelconque, le comportement débit / distorsion sera :
\[ \boxed{ D(R) = \epsilon_X \sigma_X^2 2^{-2R} \text{ avec } \epsilon_X = \frac{1}{12\sigma_X^2}(\int_{-\infty}^{+\infty} (f_X(x))^{1/3}dx)^3 } \]
Pour une source quelconque de variance $\sigma_X^2$ le comportement débit / distorsion sera :
\[ \boxed{ D(R) = K \sigma_X^2 2^{-2R} \text{ avec } K = \frac{1}{12\sigma_X^2}(\int_{-\infty}^{+\infty} (f_X(x))^{1/3}dx)^3 } \]
Soit un rapport signal sur bruit:
\[
RSB = \frac{\sigma_X^2}{D} = K . 2^{2R}
\]
\end{prop}
\begin{rem}
Pour une source Gaussienne centrée on peux calculer $K$ et on a:
\[
D = \sigma^2 2^{-2R}
\]
\end{rem}
\section{Quantification vectorielle}
\begin{defin}
Un quantificateur vectoriel pour une source $\vec{X}\in\R^n$ est défini:
......@@ -477,31 +537,29 @@ En pratique :
\item il faut transmettre au récepteur l'ensemble des points de reconstruction $\y_1^{(\overline{l})},\dots,\y_M^{(\overline{l})}$$\overline{l}$ est l'index final des itérations.
\item la phase de réglage du quantificateur peut se faire sur seulement $L<<K$ points si on a beaucoup de points.
\end{itemize}
\newpage
\section{Quantification scalable}
% \emph{non traité en 2018-2019}
% L'objectif est de permettre une flexibilité en terme de compression débit-distorsion. Une possibilité est d'avoir recours à un quantificateur scalable.\\
\emph{non traité en 2018-2019}
L'objectif est de permettre une flexibilité en terme de compression débit-distorsion. Une possibilité est d'avoir recours à un quantificateur scalable.\\
% On considère une source uniforme sur $[-X_{max};X_{max}]$ quantifiée sur 8 niveaux.
On considère une source uniforme sur $[-X_{max};X_{max}]$ quantifiée sur 8 niveaux.
% %\img{0.5}{2/3/2}
%\img{0.5}{2/3/2}
% Si on a $K$ échantillons à quantifier, on obtient $3K$ bits.\\
Si on a $K$ échantillons à quantifier, on obtient $3K$ bits.\\
% Les $K$ bits de poids fort sont placés dans un premier paquet.
Les $K$ bits de poids fort sont placés dans un premier paquet.
% Les $K$ bits de poids intermédiaire sont placés dans un second paquet.
Les $K$ bits de poids intermédiaire sont placés dans un second paquet.
% Les $K$ bits de poids faible sont placés dans un troisième paquet.\\
Les $K$ bits de poids faible sont placés dans un troisième paquet.\\
% Des utilisateurs disposant d'un mauvais canal recevront le premier paquet : la distorsion sera élevée.
Des utilisateurs disposant d'un mauvais canal recevront le premier paquet : la distorsion sera élevée.
% Des utilisateurs disposant d'un excellent canal recevront les 3 paquets et auront une distorsion faible.\\
Des utilisateurs disposant d'un excellent canal recevront les 3 paquets et auront une distorsion faible.\\
% \begin{rem}
% Cette méthode permet de réaliser une quantification sans avoir à connaître l'état du canal.
% \end{rem}
\begin{rem}
Cette méthode permet de réaliser une quantification sans avoir à connaître l'état du canal.
\end{rem}
\end{document}
......