cours du 11/03
This commit is contained in:
parent
e66bdb987f
commit
013623770e
2 changed files with 151 additions and 25 deletions
|
@ -260,7 +260,7 @@ Les conditions nécessaires pour avoir $D$ minimale sont :
|
||||||
\subsection{Quantification non uniforme}
|
\subsection{Quantification non uniforme}
|
||||||
|
|
||||||
|
|
||||||
\subsection*{Algorithme de Lloyd -Max}
|
\subsection{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é
|
||||||
|
@ -336,19 +336,98 @@ 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 } \]
|
\[ \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 } \]
|
||||||
\end{rem}
|
\end{rem}
|
||||||
|
|
||||||
\section{Quantification vectorielle - Algorithme de Linde-Buzo-Gray}
|
\section{Quantification vectorielle}
|
||||||
|
\begin{defin}
|
||||||
|
Un quantificateur vectoriel pour une source $\vec{X}\in\R^n$ est défini:
|
||||||
|
|
||||||
Avec une quantification vectorielle on considère des vecteurs de $N$ échantillons de la source que l'on va représenter à l'aide d'un index de quantification.
|
\begin{itemize}
|
||||||
|
\item par une fonction de quantification :
|
||||||
|
\[
|
||||||
|
q : \R^n \to \{0, .... ,n-1\}
|
||||||
|
\]
|
||||||
|
\item par une fonction de reconstruction:
|
||||||
|
\[
|
||||||
|
q^{-1} : \{0, .... ,n-1\} \to \R^n
|
||||||
|
\]
|
||||||
|
On note $\vec{y_m} = q^{-1}(m)$ les valeurs de reconstruction du quantificateur.
|
||||||
|
\end{itemize}
|
||||||
|
\end{defin}
|
||||||
|
|
||||||
|
On étend la notion de distorsion et de mesure de distorsion au cas vectoriel:
|
||||||
|
|
||||||
|
\begin{prop}[Mesure de distortion vectorielle]
|
||||||
|
|
||||||
|
Mesure de distortion quadratique:\\
|
||||||
|
\[
|
||||||
|
d_2(\vec{x},\vec{y}) = \frac{1}{n}\sum_{i=1}^{n}|x_i-y_i|^2
|
||||||
|
\]
|
||||||
|
Mesure de distortion en valeur absolue:
|
||||||
|
\[
|
||||||
|
d_1(\vec{x},\vec{y}) = \frac{1}{n}\sum_{i=1}^{n}|x_i-y_i|
|
||||||
|
\]
|
||||||
|
La distorsion introduite par le quantificateur Q est alors l'espérance de la mesure de distorsion:
|
||||||
|
\[
|
||||||
|
D = E[d(\vec{x},Q(\vec{x}))]
|
||||||
|
\]
|
||||||
|
\end{prop}
|
||||||
%\img{0.5}{2/2/2}
|
%\img{0.5}{2/2/2}
|
||||||
|
|
||||||
|
\subsection{Condition d'optimalité}
|
||||||
|
|
||||||
|
On considère une quantification vectorielle d'une source $\vec{X}\in\R^n$ sur $M$ niveau de quantification. On alors la distorsion:
|
||||||
|
\[
|
||||||
|
D = \int_\R^n \|\vec{x}-Q(\vec{x})\|^2_2 f_{\vec{x}}(\vec{x})\d \vec{x}
|
||||||
|
\]
|
||||||
|
|
||||||
|
On partitionne $\R^n$ en cellule de quantification $\mathcal{C}^k, k\in[0...M-1]$ au seins desquelles la valeur de reconstructio vaut $\vec{y_k}$.
|
||||||
|
|
||||||
|
\emph{Comment choisir $\mathcal{C}^k$ et $y_k$ pour minimiser $\vec{y_k}$?
|
||||||
|
}
|
||||||
|
|
||||||
|
\[
|
||||||
|
D = \sum_{k=0}^{M-1}\int_{\mathcal{C}^k} \|\vec{x}-\vec{y_k}\|^2 f_\vec{X}(\vec{x})\d \vec{x}
|
||||||
|
\]
|
||||||
|
\begin{prop}
|
||||||
|
|
||||||
|
Si on fixe les $\mathcal{C}^k$:
|
||||||
|
|
||||||
|
\[
|
||||||
|
\vec{y_k} = \frac{\int_{\mathcal{C}^k}\vec{x}f_{\vec{X}}(\vec{x})\d\vec{x}}{\int_{\mathcal{C}^k}f_{\vec{X}}(\vec{x})\d\vec{x}}
|
||||||
|
\]
|
||||||
|
|
||||||
|
|
||||||
|
$ \vec{y_k}$ est le barycentre de $\mathcal{C}^k$ en utilisant la densité$f_{\vec{X}}(\vec{x})$.
|
||||||
|
|
||||||
|
Si on fixe les $\vec{y_k}$ alors pour minimiser $D$ il faut prendre:
|
||||||
|
|
||||||
|
\[
|
||||||
|
\mathcal{C}^k =\{ \vec{x}\in\R^n ,\quad\|\vec{x}-\vec{y_k}\| \le \|\vec{x}-\vec{y_l}\| , \forall l \neq k\}
|
||||||
|
\]
|
||||||
|
\end{prop}
|
||||||
|
\begin{proof}
|
||||||
|
|
||||||
|
Si on suppose $\mathcal{C}^k$fixé alors pour fixer $y_k$ on calcule:
|
||||||
|
\[
|
||||||
|
\derivp[D]{\vec{y_k}} = -2 \int_{\mathcal{C}^k} (\vec{x}-\vec{y_k})f_{\vec{X}}(x)\d\vec{x}
|
||||||
|
\]
|
||||||
|
On en déduit:
|
||||||
|
|
||||||
|
\[
|
||||||
|
\vec{y_k} = \frac{\int_{\mathcal{C}^k}\vec{x}f_{\vec{X}}(\vec{x})\d\vec{x}}{\int_{\mathcal{C}^k}f_{\vec{X}}(\vec{x})\d\vec{x}}
|
||||||
|
\]
|
||||||
|
\end{proof}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
Pour un couple (poids, taille), on peut :
|
Pour un couple (poids, taille), on peut :
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item quantifier indépendamment le poids et la taille avec deux quantificateurs scalaires
|
\item quantifier indépendamment le poids et la taille avec deux quantificateurs scalaires
|
||||||
\item les quantifier simultanément avec une quantification vectorielle
|
\item les quantifier simultanément avec une quantification vectorielle
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
\subsection*{Algorithme de Linde-Buzo-Gray}
|
\subsection{Algorithme de Linde-Buzo-Gray}
|
||||||
|
\emph{Similaire à l'algorithme $K$-means}
|
||||||
|
|
||||||
\newcommand{\x}{\underline{x}}
|
\newcommand{\x}{\underline{x}}
|
||||||
Cet algorithme permet de fabriquer une quantification vectorielle optimale (optimum local) pour un ensemble de $K$ points de $\R^N$ : $\x_1 \dots \x_K$ et quantifiés sur $M$ niveaux.
|
Cet algorithme permet de fabriquer une quantification vectorielle optimale (optimum local) pour un ensemble de $K$ points de $\R^N$ : $\x_1 \dots \x_K$ et quantifiés sur $M$ niveaux.
|
||||||
|
@ -401,28 +480,28 @@ En pratique :
|
||||||
|
|
||||||
\newpage
|
\newpage
|
||||||
\section{Quantification scalable}
|
\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.\\
|
||||||
|
|
||||||
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.
|
||||||
\begin{rem}
|
% \end{rem}
|
||||||
Cette méthode permet de réaliser une quantification sans avoir à connaître l'état du canal.
|
|
||||||
\end{rem}
|
|
||||||
|
|
||||||
\end{document}
|
\end{document}
|
||||||
|
|
||||||
|
|
|
@ -30,9 +30,53 @@ Avec Matlab, on l'obtient avec :
|
||||||
% \end{lstlisting}
|
% \end{lstlisting}
|
||||||
|
|
||||||
$\gamma_x(k)$ est maximale en 0 et est égale à l'énergie $\sigma^2$ du signal.
|
$\gamma_x(k)$ est maximale en 0 et est égale à l'énergie $\sigma^2$ du signal.
|
||||||
|
\section{Codage prédictif en boucle ouverte}
|
||||||
|
Schéma en boucle ouverte:
|
||||||
|
|
||||||
\newpage
|
\begin{figure}[H]
|
||||||
\section{Prédicteur optimal à 1 pas}
|
\centering
|
||||||
|
\begin{tikzpicture}
|
||||||
|
\sbEntree{E}
|
||||||
|
\node[above] at (E) {$x_n$};
|
||||||
|
\sbDecaleNoeudy[5]{E}{mem}
|
||||||
|
\sbBloc{mem2}{Mémoire}{mem}
|
||||||
|
\sbBlocL{pred}{Prédiction}{mem2}
|
||||||
|
\sbRelieryx{E}{mem2}
|
||||||
|
\sbDecaleNoeudy[-5]{pred}{comp2}
|
||||||
|
\sbComp{comp}{comp2}
|
||||||
|
\sbRelierxy{pred}{comp}
|
||||||
|
\sbRelier{E}{comp}
|
||||||
|
\sbBlocL{Q}{Quantif}{comp}
|
||||||
|
\sbBlocL{C}{Codage entropique}{Q}
|
||||||
|
\sbSortie[5]{S}{C}
|
||||||
|
\sbRelier[0100..1]{C}{S}
|
||||||
|
\end{tikzpicture}
|
||||||
|
\caption{Emetteur en boucle ouverte}
|
||||||
|
\end{figure}
|
||||||
|
\begin{figure}[H]
|
||||||
|
\centering
|
||||||
|
\begin{tikzpicture}
|
||||||
|
\sbEntree{E}
|
||||||
|
\sbBlocL{Dc}{Décodeur entropique}{E}
|
||||||
|
\sbBlocL{Di}{Desindexation}{Dc}
|
||||||
|
\sbSumb[7]{comp}{Di}
|
||||||
|
\sbRelier{Di}{comp}
|
||||||
|
\sbDecaleNoeudy[5]{comp}{comp2}
|
||||||
|
\sbBloc{pred}{Prédicteur}{comp2}
|
||||||
|
\sbBlocL{mem}{Mémoire}{pred}
|
||||||
|
\sbDecaleNoeudy[-5]{mem}{S}
|
||||||
|
\sbSortie[5]{X}{S}
|
||||||
|
\sbRelierxy{pred}{comp}
|
||||||
|
\sbRelieryx{X}{mem}
|
||||||
|
\sbRelier{comp}{X}
|
||||||
|
\end{tikzpicture}
|
||||||
|
\caption{Recepteur en boucle ouverte}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
Ca marche mais la quantification introduit des erreurs qui peuvent s'accumuler. On s'en sort en réinitialisant le codeur régulièrement.
|
||||||
|
|
||||||
|
|
||||||
|
\subsection{Prédicteur linéaire optimal à 1 pas}
|
||||||
|
|
||||||
On souhaite prédire la valeur de $X_n$ à partir de la valeur de $X_{n-1}$.
|
On souhaite prédire la valeur de $X_n$ à partir de la valeur de $X_{n-1}$.
|
||||||
|
|
||||||
|
@ -62,19 +106,22 @@ Pour la valeur de $\hat{a_1}$ obtenue, on a
|
||||||
|
|
||||||
$\hat{e}$ est l'énergie de la partie qui n'a pas pu être prédite de $x_1,\dots,x_N$.\\
|
$\hat{e}$ est l'énergie de la partie qui n'a pas pu être prédite de $x_1,\dots,x_N$.\\
|
||||||
|
|
||||||
|
Lorsque le signal est fortement corrélé, $\gamma_x(1)\simeq \gamma_x(0)$ et $\hat{a_1}\simeq 1$.
|
||||||
|
|
||||||
Le résidu de prédiction a une variance plus faible. Si on le quantifie, il permettra de reconstituer le signal initial avec une distorsion plus faible.
|
Le résidu de prédiction a une variance plus faible. Si on le quantifie, il permettra de reconstituer le signal initial avec une distorsion plus faible.
|
||||||
|
|
||||||
\newpage
|
\newpage
|
||||||
\section{Prédiction à $p$ pas}
|
\section{Prédiction à $p$ pas}
|
||||||
|
|
||||||
On cherche à prédire $X_n$ à partir des échantillons précédents $X_{n-1},\dots,X_{n-p}$.
|
|
||||||
|
|
||||||
\newcommand{\ap}{\underline{a}}
|
On cherche à prédire $\vec{X_n}$ à partir des échantillons précédents $X_{n-1},\dots,X_{n-p}$.
|
||||||
\newcommand{\Xn}{\underline{X_n}}
|
|
||||||
\newcommand{\cp}{\underline{c}}
|
|
||||||
\newcommand{\Rp}{\underline{\underline{R}}}
|
|
||||||
|
|
||||||
\[ \hat{X_n} = a_1 X_{n-1} + \dots + a_pX_{n-p} = \ap^T \Xn \quad \text{ avec} \ap^T=(a_1\dots a_p) \text{ et } \Xn^T = (X_{n-1} \dots X_{n-p})\]
|
\newcommand{\ap}{\vec{a}}
|
||||||
|
\newcommand{\Xn}{\vec{X_n}}
|
||||||
|
\newcommand{\cp}{\vec{c}}
|
||||||
|
\newcommand{\Rp}{\vec{R}}
|
||||||
|
|
||||||
|
\[ \hat{X_n} = a_1 X_{n-1} + \dots + a_pX_{n-p} = \ap^T \Xn \quad\text{avec}\quad \ap^T=(a_1\dots a_p) \text{ et } \Xn^T = (X_{n-1} \dots X_{n-p})\]
|
||||||
|
|
||||||
On cherche $\ap$ minimisant
|
On cherche $\ap$ minimisant
|
||||||
\begin{align*}
|
\begin{align*}
|
||||||
|
|
Loading…
Reference in a new issue