ajout quantif non uniforme

This commit is contained in:
Pierre-antoine Comby 2019-03-12 11:35:05 +01:00
parent ffb432f9aa
commit 518dced75a

View file

@ -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: 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] \begin{figure}[H]
\centering \centering
\begin{subfigure}{0.5\textwidth} \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}, xtick={-2,-1,1,2},
ytick={-1.5,-0.5,0.5,1.5}, ytick={-1.5,-0.5,0.5,1.5},
xticklabels={$-2\Delta$,$-\Delta$,$\Delta$,$2\Delta$}, 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,-1.5)
(-1,-0.5) (-1,-0.5)
(0,0.5) (0,0.5)
(1,1.5) (3,1.5)}; (1,1.5) (2,1.5)};
\end{axis} \end{axis}
\end{tikzpicture} \end{tikzpicture}
\subcaption{Quantificateur sans zone morte} \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}, xtick={-3,-2,-1,1,2,3},
ytick={-2.5,-1.5,1.5,2.5}, ytick={-2.5,-1.5,1.5,2.5},
xticklabels={$-d-2\Delta$,$-d-\Delta$,$-d$,$d$,$d+\Delta$,$d+2\Delta$}, 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}$}, yticklabels={$-d-\frac{3\Delta}{2}$,$-d-\frac{\Delta}{2}$,$d+\frac{\Delta}{2}$,$d+\frac{3\Delta}{2}$},
x tick label style={yshift={mod(\ticknum,2)*1.5em}}, x tick label style={font=\tiny},
y tick label style={xshift={3em}} y tick label style={anchor=center,font=\tiny,xshift=-(sign(\ticknum-1.5))*2em}]
]
\addplot[black,thick, jump mark left]coordinates {(-3,-2.5) \addplot[black,thick, jump mark left]coordinates {(-3,-2.5)
%(-1,-1.5) %(-1,-1.5)
(-2,-1.5) (-2,-1.5)
(-1,0) (-1,0)
(1,0.5) (1,1.5)
(2,1.5) (3,2.5)}; (2,2.5)
(3,2.5)};
\end{axis} \end{axis}
\end{tikzpicture} \end{tikzpicture}
\subcaption{Quantificateur avec zone morte} \subcaption{Quantificateur avec zone morte}
@ -226,14 +237,43 @@ On cherche à minimiser la distorsion
\begin{align*} \begin{align*}
D &= \underbracket{\int_{-\infty}^{(-M/2+1)\Delta} (x-Q(x))^2f_X(x)dx }_{\text{distorsion de surcharge}}\\ 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}}\\ &+\underbracket{\int_{(\frac{M}{2}-1)\Delta}^{+\infty} (x-Q(x))^2f_X(x)dx}_{\text{distorsion de surcharge}}\\
\end{align*} \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 : Les conditions nécessaires pour avoir $D$ minimale sont :
\begin{itemize} \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 & = - 2 \int_{b_{i-1}}^{b_i} (x-y_i) f_X(x) dx
\intertext{Ainsi,} \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 \\ \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é} \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) & = -(b_i-y_{i+1})^2 f_X(b_i) + (b_i-y_i)^2 f_X(b_i)
\intertext{Ainsi, } \intertext{Ainsi, }
\derivp[D]{b_i} = 0 & \Leftrightarrow -(b_i-y_{i+1})^2 + (b_i-y_i)^2 = 0 \\ \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 (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*} \end{align*}
\begin{prop}
\subsection{Quantification non uniforme} 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} \begin{enumerate}
\item Initialisation : $b_0^{(0)} < b_1^{(0)} < \dots < b_n^{(0)}$ choisis arbitrairement, $k=1$. \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é \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} \end{rem}
\section{Comportement asymptotique} \subsubsection{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}$.\\ 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\] 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} \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 \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 :} \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é :} \intertext{Condition d'optimalité :}
\derivp[L]{\alpha_i} = 0 & \Rightarrow \frac{1}{4}\alpha_i^2 + \lambda = 0, \quad i = 1 \dots M \\ \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 & \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 : On peut donc calculer la distorsion :
\begin{align*} \begin{align*}
D & = \frac{1}{12} \sum_{i=1}^M \frac{1}{M^3}(\int_{-\infty}^{+\infty} (f_X(x))^{1/3}dx)^3 \\ 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} (\int_{-\infty}^{+\infty} (f_X(x))^{1/3}dx)^3.\frac{1}{M^2} & = \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ù} \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*} \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. 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 : Pour une source quelconque de variance $\sigma_X^2$ 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 } \] \[ \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} \end{rem}
\section{Quantification vectorielle} \section{Quantification vectorielle}
\begin{defin} \begin{defin}
Un quantificateur vectoriel pour une source $\vec{X}\in\R^n$ est défini: Un quantificateur vectoriel pour une source $\vec{X}\in\R^n$ est défini: