Version 0.1
This commit is contained in:
commit
deffaca3fc
243 files changed
+18198
No files matched your search
@@ -0,0 +1,72 @@
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% CHAPTER
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\chapter{\HIGHLIGHT{Joint error resilience-concealment for robust video streaming}}
|
||||
\label{Chapter:EndToEndRobustSystem}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
%% SECTION %%
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\section{Introduction}
|
||||
|
||||
|
||||
In this chapter the error resilience and error concealment approaches proposed in the previous chapters, namely Chapter~\ref{Chapter:ErrorResilienceTechniques}~and~\ref{Chapter:ConcealmentAwareTechniques}, are combined to achieved an higher decoder video quality across different network conditions and applications.
|
||||
This chapter presents a combined evaluation of different approaches and proposes a method to efficiently select the optimal one in terms of reconstructed quality.
|
||||
|
||||
This chapter is organised as follows. Section~\ref{Section6:Problem} presents the problem formulation and motivation for the method proposed in this chapter. \HIGHLIGHT{...}
|
||||
Section~\ref{Section6:Summary} concludes this chapter.
|
||||
|
||||
\clearpage
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
%% SECTION %%
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\section{Problem formulation}
|
||||
\label{Section6:Problem}
|
||||
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
%% SECTION %%
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\section{Performance evaluation under different network condition}
|
||||
|
||||
\subsection{Test conditions}
|
||||
|
||||
\subsection{Experimental results}
|
||||
|
||||
\subsection{Discussion and conclusions}
|
||||
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
%% SECTION %%
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\section{Proposed architecture}
|
||||
\label{Section6:ProposedMethod}
|
||||
|
||||
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
%% SECTION %%
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\section{Error robustness optimisation}
|
||||
|
||||
\section{Optimisation method}
|
||||
|
||||
\subsection{Performance evaluation}
|
||||
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
%% SECTION %%
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\section{Error concealment optimisation based on MV differences}
|
||||
|
||||
|
||||
|
||||
\subsection{Experimental results}
|
||||
|
||||
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
%% SECTION %%
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\section{Summary}
|
||||
\label{Section6:Summary}
|
||||
@@ -0,0 +1,95 @@
|
||||
|
||||
\usetikzlibrary{arrows,matrix}
|
||||
\usetikzlibrary{fit}
|
||||
\usetikzlibrary{intersections}
|
||||
\usetikzlibrary{intersections}
|
||||
% \usetkzobj{all}
|
||||
|
||||
\pgfdeclarelayer{background}
|
||||
\pgfdeclarelayer{foreground}
|
||||
\pgfsetlayers{background,main,foreground}
|
||||
|
||||
|
||||
\def\scale{1}
|
||||
|
||||
|
||||
\begin{tikzpicture}[
|
||||
font=\scriptsize,
|
||||
auto,
|
||||
node distance=1cm,
|
||||
scale=\scale,
|
||||
every node/.style={scale=\scale},
|
||||
template/.style={thick, text centered},
|
||||
block/.style={template, rectangle, text width=1.3cm, ,inner sep=3, minimum height=.6cm},
|
||||
arrow/.style={template, draw, -latex},
|
||||
point/.style={template, draw, fill=black, circle,inner sep=0, minimum size=3}
|
||||
]
|
||||
|
||||
% Define extra block styles
|
||||
\tikzstyle{sumBlock} = [template, draw, circle, inner sep=0cm, minimum size=0.3cm]
|
||||
\tikzstyle{propBlock} = [block, draw, fill=blue!15]
|
||||
\tikzstyle{refBlock} = [block, draw, fill=gray!10]
|
||||
\tikzstyle{propBlockNoDraw} = [block, fill=\TikZColorFillProp]
|
||||
\tikzstyle{refBlockNoDraw} = [block, fill=\TikZColorFill]
|
||||
|
||||
|
||||
\newcommand{\DrawEdgesTwoNodes}[2]{\path[arrow,-] (#1.south west) |- (#2.north east) |- (#1.south west);}
|
||||
|
||||
%% Encoder/Decoder
|
||||
\node [refBlockNoDraw, text width=1.1cm, minimum height=.6cm] (Encoder) at (0,0) {Encoder};
|
||||
\node [refBlockNoDraw, text width=0.6cm, minimum height=.6cm, right=-0.03 of Encoder.south east, anchor=south west, text centered] (EncoderNAL) {NAL};
|
||||
\node [refBlockNoDraw, text width=1.1cm, minimum height=.6cm, above=-0.03 of Encoder.north west, anchor=south west] (Decoder) {Decoder};
|
||||
\path[arrow,-] (Encoder.south west) |- (Decoder.north east) |- (EncoderNAL.north east) |- (Encoder.south west);
|
||||
\path[arrow,-,densely dotted] (EncoderNAL.south west -| Decoder.south east) -- (Decoder.south east); % Draw inside lines
|
||||
\path[arrow,-,densely dotted] (Decoder.south west |- EncoderNAL.north west) -- (EncoderNAL.north west); % Draw inside lines
|
||||
|
||||
|
||||
%% NALU Loss and EC optimisation
|
||||
\node [propBlock, above=2.2 of Encoder.west, anchor=south west, text width=3.8cm, minimum height=2.4cm] (ConcOpt) {Saliency-weighted EC Mode Decision};
|
||||
\node [propBlock, below=.8 of ConcOpt.south east, anchor=north east, text width=1.7cm, minimum height=.9cm] (LossSim) {NALU Loss Simulation};
|
||||
\path[arrow] (EncoderNAL -| LossSim.south) -- (LossSim) node[point] at (EncoderNAL -| LossSim) {};;
|
||||
\path[arrow] (Decoder) -- (ConcOpt.south -| Decoder) node[pos=.6,coordinate] (p2) {} node[point] at (p2) {};
|
||||
\path[arrow] (LossSim) -- (ConcOpt.south -| LossSim);
|
||||
|
||||
|
||||
%% EL encoder
|
||||
\node [propBlockNoDraw, right=4cm of ConcOpt.south, anchor=south west, text width=1.4cm, minimum height=1cm] (Scalable) {EL\\Encoder};
|
||||
\node [refBlockNoDraw, text width=.2cm, right=-.025 of Scalable.south east, anchor=south west, text centered, minimum height=1cm] (ScalableNAL) {N\\[-2pt]A\\[-2pt]L};
|
||||
\DrawEdgesTwoNodes{Scalable}{ScalableNAL}; % Draw border
|
||||
\path[arrow,-,densely dotted] (ScalableNAL.south west) -- (ScalableNAL.north west); % Draw inside lines
|
||||
|
||||
|
||||
%% Diff
|
||||
\node [sumBlock, left=.75 of Scalable] (ConcDiff) {$-$};
|
||||
\path[arrow] (ConcDiff) -- (Scalable) node[above, pos=0, xshift=.2cm] {$e^c$};
|
||||
\path[arrow] (ConcOpt.east |- ConcDiff) -- (ConcDiff) node[above, pos=1, xshift=-.3cm] {$\tilde f$};
|
||||
\path[arrow,-, shorten >=3] (p2) -- (p2 -| LossSim.north);
|
||||
\path[arrow, shorten <=3] (p2 -| LossSim.north) -| (ConcDiff) node[right, pos=1, yshift=-.3cm] {$\hat f$};
|
||||
|
||||
|
||||
%% EC mode coding
|
||||
\node [propBlockNoDraw, anchor=north west, text width=1.4cm, minimum height=1cm] at (ConcOpt.north -| Scalable.west) (Signalling) {EC Mode Coding};
|
||||
\node [refBlockNoDraw, text width=.2cm, right=-.025 of Signalling.south east, anchor=south west, text centered, minimum height=1cm] (SignallingNAL) {N\\[-2pt]A\\[-2pt]L};
|
||||
\DrawEdgesTwoNodes{Signalling}{SignallingNAL}; % Draw border
|
||||
\path[arrow,-,densely dotted] (SignallingNAL.south west) -- (SignallingNAL.north west); % Draw inside lines
|
||||
\path[arrow] (ConcOpt.east |- Signalling) -- (Signalling) node[above, pos=.45, yshift=-1] {\scriptsize M1...M4};
|
||||
|
||||
%% Input
|
||||
\node[text width=.5cm, text centered] at (-1.7,4.5) (Input) {Input video};
|
||||
\path[arrow] (Input) |- (Encoder);
|
||||
\path[arrow] (Input |- ConcOpt) -- (ConcOpt) node[point] at (Input |- ConcOpt) {};
|
||||
|
||||
%% TS Mux and output
|
||||
\path (Encoder.south) -- (Encoder |- Signalling.north) node[midway] (middleRef) {}; % Find middle ref
|
||||
\node [refBlock, right=8.5 of middleRef, text width=.7cm, minimum height=5.5cm] (NAL) {TS Mux};
|
||||
\node [right of=NAL, node distance=1.5cm, coordinate] (Out) {};
|
||||
|
||||
\path[arrow] (EncoderNAL) -- (NAL.west |- EncoderNAL) node[above,pos=1, xshift=-.4cm] {VCL$_0$};
|
||||
\path[arrow] (ScalableNAL) -- (NAL.west |- Scalable) node[above,pos=1, xshift=-.4cm] {VCL$_1$};
|
||||
\path[arrow] (SignallingNAL) -- (NAL.west |- Signalling) node[above,pos=1, xshift=-.4cm] {SEI};
|
||||
\path[arrow] (NAL) -- (Out) node[above,pos=1, xshift=-.2cm, text width=1.3cm] {Transport Stream};
|
||||
|
||||
|
||||
\end{tikzpicture}
|
||||
|
||||
|
||||
Reference in new issue
Block a user