fin du cours 455 18/03

This commit is contained in:
Pierre-antoine Comby 2019-03-18 16:45:12 +01:00
parent 8e76a43eef
commit eea9cf16c2
3 changed files with 147 additions and 2 deletions

View file

@ -229,6 +229,42 @@ Avantages :
\begin{itemize} \begin{itemize}
\item et bien... c'est pas simple. \item et bien... c'est pas simple.
\end{itemize} \end{itemize}
\section{Schéma de prédiction en boucle fermée}
Dans les schémas de codage avec pertes le récepteur dispose de $\tilde{x}_{n-M} ... \tilde{x}_{n-1}$ qui sont différents de $x_{n-M} ... x_{n-1}$.
Les fonctions de corrélations estimées ainsi que les prédicteurs seront différents. L'erreur entre le signal initial et le signal reconstitué aura tendance à augmenter.
Pour résoudre ce problème le codeur va comprendre un décodeur ``local'' qui va permettre d'estimer $\tilde{x}_{n-M} ... \tilde{x}_{n-1}$. Ensuite $\gamma_x$ et le prédicteurs seront estimée à partir de $\tilde{x}$ et non de $x$.
\begin{figure}[H]
\centering
\begin{tikzpicture}[thick,scale=0.9, every node/.style={scale=0.9}]
\end{tikzpicture}
\caption{Utilisation d'un décodeur local}
\end{figure}
\begin{figure}[H]
\centering
\begin{tikzpicture}
\end{tikzpicture}
\caption{Décodeur distant}
\end{figure}
On montre qu'avec ce schéma les erreurs de quantification ne s'accumule pas.
\[
x_n-\tilde{x}_n= x_n -\hat{x}_n+\hat{x}_n+\tilde{x}_n = e_n - \tilde{e}_n
\]
Sur le $n$-ième échantillion on a seulement l'erreur de quantification associé a cet échantillon.
\begin{rem}
La qualité du prédicteur va influencer le débit et dans une moindre mesure la distorsion
\end{rem}
\end{document} \end{document}
%%% Local Variables: %%% Local Variables:

View file

@ -0,0 +1,105 @@
\documentclass[main.tex]{subfiles}
\begin{document}
\section{Principe du codage par transformée}
On considère une source $\vec{\mathcal{X}}\in \R^n$ ou $\in \R^{n\times m}$ (images).
Et une réalisation de cette source $\vec{x} \in \R^n$ ou $\vec{X}\in\R^{n\times m}$.
La représentation naturelle de $\vec{x}$ est la base canonique
de $\R^n$ .
Si $\vec{x}$ représente par exemple une suite de $N$ échantillons d'un signal audio, les composantes de $\vec{x}$ auront plus ou moins la meme variance, mais ils ne seronts (en général) pas indépendant entre eux. POur exploiter cette propriété, on peux:
\begin{itemize}
\item réaliser un codage prédictif (voir chapitre 4)
\item réaliser un codage par transformée
\end{itemize}
Dans le second cas on essaie d'exprimer $\vec{x}$sur une ``meilleure'' base que la base canonique.
\section{Transformations}
\begin{defin}
Une base de $\R^n$ est ensemble de $n$ vecteurs $\{\vec{u_1} ...\vec{u_n}\}$ linéairement indépendants.
Si on pose
\[
\vec{U} = [ \vec{u_1} ... \vec{u_n}]
\]
Alors $\vec{U}$ est inversible.
\end{defin}
\paragraph{Transformation inverse}
\begin{defin}
On dispose de $\vec{t}$ vecteur dont les composantes sont exprimées dans la base $\{\vec{u_1} ... \vec{u_n}\}$ dans la base canonique
On a :
\[
\vec{x}= \sum_{i=1}^{n}t_i\vec{u_i} = \vec{U}\vec{t}
\]
\end{defin}
\paragraph{Transformation directe}
\begin{defin}
On dispose de $\vec{x}$ dont les composantes sont données dans la base canonique.
On veux obtenir son vecteur de composante $\vec{t}$ dans la base $\{\vec{u_1} ... \vec{u_n}\}$:
\[
\vec{t} = \vec{U}^{-1}\vec{x}
\]
\end{defin}
\paragraph{Base unitaires}
\begin{defin}
Une base est dite \emph{unitaire} ssi
\[
\begin{cases}
<\vec{u}_i ,\vec{u}_j> = 0 &\quad\forall i \neq j\\
<\vec{u}_i ,\vec{u}_i> = 1 &\quad\forall i \in [1 ... n]
\end{cases}
\]
\end{defin}
\begin{prop}
Pour une base unitaire on a:
\begin{itemize}
\item transformée inverse: $\vec{x}=\vec{Ut}$
\item transformée directe: $\vec{t} = \vec{U}^T\vec{x}$
\item $\vec{U}^T\vec{U}= \vec{U}\vec{U}^T = \vec{I_n}$
\end{itemize}
une transformée dans une base unitaire préserve la norme quadratique.
\end{prop}
\begin{proof}
\[
\|\vec{t}\|^2 = \vec{t}^T\vec{t} = \vec{x}^T \vec{U}^T\vec{U}\vec{x} = \vec{x}^T\vec{x} =\|\vec{x}\|^2
\]
\end{proof}
\begin{rem}
Une transformée est unitaire lorsqu'elle implique une base unitaire.
\end{rem}
Si on veux transformée une image $\vec{X}\in \R^{n\times n}$ il faut considéré un ensemble de matrice $\vec{U_1 ... U_{n\times n}}\}$ base de $\R^{n\times n}$.
Pour réaliser la transformation :
\begin{itemize}
\item On construit un vecteur $\vec{x} \in R^{n^2}$ à partir des lignes ou des
colonnes de $\vec{X}$.
\item Construire la matrice de transformation $\vec{U}\in \R^{n^2\times n^2}$
\item Calculer $\vec{t} = \vec{U}^{-1}\vec{x}$
\item Reformer $\vec{T} \in \R^{n\times m}$ à partir de $t$.
\end{itemize}
\begin{defin}
Une transformée pour une image $\vec{x}\in \R^{n\times m}$ est dites \emph{séparable} s'il existe une matrice $\vec{U_s}$ telle que la matrice $\vec{T}$ transformée définie précédement puisse s'écrire
\[
\vec{T} = \vec{U_s}^{-1}\vec{x}(\vec{U_s}^{-1})^T
\]
et si $U_s$ est unitaire:
\[
\vec{T} = \vec{U_s}^T x \vec{U_s}
\]
\end{defin}
\begin{rem}
Pour une transformée non séparable on a une complexité en $O(n^4)$.
Pour une transformée séparable on a une complexité en $O(2n^3)$
\end{rem}
\end{document}
%%% Local Variables:
%%% mode: latex
%%% TeX-master: "main"
%%% End:

View file

@ -10,9 +10,13 @@
\section{Codage arithétique} \section{Codage arithétique}
\section{Codage LZW} \section{Codage LZW}
\inputminted{python}{../algo_code/LZW.py} \inputminted{python}{../algo_code/LZW.py}
\section{Quantification}
\section{Algorithme LBG} \subsection{Quantification uniforme}
\subsection{Algorithme de Llyod-max}
\subsection{Algorithme LBG}
en 2D , ne pas essayer de tracer les cellule de voronoi en 2D , ne pas essayer de tracer les cellule de voronoi
\section{Codeur prédictif}
Construire un schéma de prédiction en boucle fermée à fenêtre glissante dasn lequel $M$et $p$ sont paramétrisable. On utilisera un quantificateur à zone morte de pas $\Delta$ paramétrisable.
\end{document} \end{document}