ajout quantif non uniforme
This commit is contained in:
parent
ffb432f9aa
commit
518dced75a
1 changed files with 86 additions and 26 deletions
|
@ -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:
|
||||||
|
|
Loading…
Reference in a new issue