From 461b560b17632629b1f8dffd1f3f75849d90f3c3 Mon Sep 17 00:00:00 2001 From: Joao Carreira Date: Tue, 11 Sep 2018 03:08:00 +0100 Subject: [PATCH] Complete review of PA comments in chapter 7 and SF coments on chapters 1 to 6 --- 021_VideoCoding/VideoCodingReview.tex | 97 +- .../RobustTransmissionReview.tex | 4 +- .../DynamicTmvp/DynamicTMVP.tikz | 2 +- .../DynamicTmvp/TableDynamicTMVPPSNR.tex | 28 +- .../ErrorResilienceEvaluation.tex | 106 +- .../QualityEvaluation/TableMVPs.tex | 4 +- .../TablesSequences.tex | 1 + .../ImprovedErrorResilience.tex | 109 +- .../ConcealmentAwareEncoding.tex | 348 ++--- .../IntraEC_QualityVsFrameLowDelay.tex | 4 +- .../Results/TableOveralPerformance.tex | 16 +- .../EndToEndRobustSystem.tex | 423 +++--- .../Figures/JointlyRobustnessDiagram.tikz | 4 +- .../Results/AdaptiveSequenceList.tex | 31 + .../Results/Quality_PLR_Methods.bash | 1317 +++++++++++++++++ .../Results/Quality_PLR_Methods.pdf | Bin 0 -> 575022 bytes .../Results/Quality_PLR_Methods.tex | 477 +++--- .../Results/Quality_PLR_Methods_Reduced.tex | 475 +++--- 060_Appendix/Papers.tex | 4 +- 060_Appendix/Sequences.tex | 10 +- carreira_phd_thesis.sty | 6 +- carreira_phd_thesis.tex | 4 +- carreira_phd_thesis_abr.sty | 2 +- 23 files changed, 2475 insertions(+), 997 deletions(-) create mode 100644 043_EndToEndRobustSystem/Results/AdaptiveSequenceList.tex create mode 100644 043_EndToEndRobustSystem/Results/Quality_PLR_Methods.bash create mode 100644 043_EndToEndRobustSystem/Results/Quality_PLR_Methods.pdf diff --git a/021_VideoCoding/VideoCodingReview.tex b/021_VideoCoding/VideoCodingReview.tex index 3eb6258..49fc1ee 100755 --- a/021_VideoCoding/VideoCodingReview.tex +++ b/021_VideoCoding/VideoCodingReview.tex @@ -140,6 +140,9 @@ Moreover, new pictures types were introduced to increase the random-access flexi Similar to \ac{h264}~\cite{H264AVCStandard2003}, the \ac{hevc} streams are based on \glsfirst{nal} for stream partitioning and synchronization, which is useful to deal with lossy network environments~\cite{H264OverIPJul2003}. Using this concept the stream is composed of different \ac{nal} units. The \ac{nal} concept provides the ability to map the \ac{vcl} data that represents coded video slices (or frames) on various transport layers, such as \ac{rtp}, MPEG-2 Systems and MPEG DASH. The~\ac{nal} units are classified into two categories: (i) \ac{vcl} and (ii) non-\ac{vcl}, as they carry coded video or associated data, respectively. +The \ac{hevc} standard defines two bytes to describe the content of each \ac{nal} unit. +These bytes are used to identify the \ac{nal} type are transmitted using a fixed coding format length, i.e., without variable length codes. This allow extra error robustness but increases the bit overhead. Figure~\ref{Figure2:NalHeader} shows the structure of the \ac{hevc} \ac{nal} unit header. The first bit \textit{F}, referred to as \textit{forbiden\_bit}, is always zero in order to ensure that a start code can be detected across different protocol standards. This is followed by the \ac{nal} type, which identifies its content, enabling the decoder to either use it if required for a particular decoding purpose or discard it. Another syntax element introduced by the \ac{hevc} standard is the \textit{temporal\_id\_plus\_one} (TIDP), which defines the temporal layer where the \ac{nal} unit belongs to. This allows implicit temporal scalability (layers ranging from 0 to 6) by immediately discarding the \ac{nal} unit if it belongs to a layer higher than the desired one. In the header, six bits are reserved for future extensions, preventing the creation of extra \ac{nal} units for scalable and multiview extensions, as done in \ac{h264}. + \begin{figure}[tb] \centering \vspace{5mm} @@ -155,11 +158,6 @@ Similar to \ac{h264}~\cite{H264AVCStandard2003}, the \ac{hevc} streams are based \label{Figure2:NalHeader} \end{figure} -The \ac{hevc} standard defines two bytes to describe the content of each \ac{nal} unit. -These bytes are used to identify the \ac{nal} type are transmitted using a fixed coding format length, i.e., without variable length codes. This allow extra error robustness but increases the bit overhead. Figure~\ref{Figure2:NalHeader} shows the structure of the \ac{hevc} \ac{nal} unit header. The first bit \textit{F}, referred to as \textit{forbiden\_bit}, is always zero in order to ensure that a start code can be detected across different protocol standards. This is followed by the \ac{nal} type, which identifies its content, enabling the decoder to either use it if required for a particular decoding purpose or discard it. Another syntax element introduced by the \ac{hevc} standard is the \textit{temporal\_id\_plus\_one} (TIDP), which defines the temporal layer where the \ac{nal} unit belongs to. This allows implicit temporal scalability (layers ranging from 0 to 6) by immediately discarding the \ac{nal} unit if it belongs to a layer higher than the desired one. In the header, six bits are reserved for future extensions, preventing the creation of extra \ac{nal} units for scalable and multiview extensions, as done in \ac{h264}. - - - \subsection{Parameters set} \glsreset{vps} @@ -249,13 +247,6 @@ Therefore, in order to make splicing operation straightforward, the \ac{nal} uni \subsubsection{Leading and trailing pictures} -\begin{figure}[tb] -\centering -\input{\FigsPath/PictureTypes_Leading_Trailing.tikz} -\caption{Leading and trailing pictures associated with a random-access point.} -\label{Figure2:LeadingTralingPics} -\end{figure} - Leading pictures correspond to frames that follow a particular \ac{rap} frame in the decoding order, but precede it in the display order. A trailing picture is a frame that follows a particular \ac{rap} frame in both decoding and display order. %A trailing picture is a frame that follows a particular \ac{rap} frame in both decoding and display order and must not depend on any leading frames nor any trailing frame associated to a previous \ac{rap}. @@ -264,6 +255,13 @@ Leading and trailing pictures are considered to be associated with the closest p Also, all leading frames of a \ac{rap} frame must precede in decoding order all trailing frames that are associated with the same \ac{rap}. This means that the following order is imposed by the \ac{hevc} standard: 1) \ac{rap} picture, 2) associated leading pictures and 3) associated trailing pictures. Due to the introduction of more flexible random-access points using \ac{cra} pictures, it is important to mark the leading and trailing pictures, so the decoder can be aware of which frames can be correctly decodable whenever it starts decoding the bitstream. +\begin{figure}[tb] + \centering + \input{\FigsPath/PictureTypes_Leading_Trailing.tikz} + \caption{Leading and trailing pictures associated with a random-access point.} + \label{Figure2:LeadingTralingPics} +\end{figure} + There are two types of leading pictures, as shown in Table~\ref{Table2:PictureTypes}. The \ac{radl} pictures, which can be correctly decoded since they only depend on the associated \ac{rap} picture and do not have any prior dependencies to trailing pictures associated with the previous \ac{rap} frame. On contrary, the \ac{rasl} pictures may have dependencies to prior trailing pictures. @@ -341,6 +339,10 @@ The use of tiles provide several advantages. Specifically, they improve frame pa As mentioned before, the use of either slices or tiles to process each frame using parallel threads require the use of different entropy coding contexts for each slice/tile, in order to make them independently decodable. As consequence, the compression efficiency decreases. In order to overcome this issue, the concept of \ac{wpp} was introduced, which enables coding using efficient parallel processing~\cite{HEVCParallelCSVT2016}. +In \ac{wpp}, each slice (or tile) is divided into single rows of \acs{ctu} which can be processed in parallel, but entropy coding and prediction are enabled across \acs{ctu} of different rows, in order to avoid loss in coding efficiency. +To re-use the same context in the whole slice (or tile) each row requires a delay of two \acs{ctu} in order to ensure that all necessary dependencies have already been encoded/decoded. Figure~\ref{Figure2:WPP} illustrates an example of \ac{wpp} using at least five different threads. +Each square corresponds to a \ac{ctu} and the numbers correspond to the time instance when a \ac{ctu} starts being processed. Using this staggered start (which appears like a wavefront, as represented in Figure~\ref{Figure2:WPP}), the parallelisation may use as many threads as the number of \acs{ctu} rows available in the video frame. However, although the number of threads does not affect the coding efficiency, the required inter-process communication substantially increases. + \begin{figure}[tb] \centering \input{\FigsPath/WPP.tikz} @@ -348,10 +350,6 @@ As mentioned before, the use of either slices or tiles to process each frame usi \label{Figure2:WPP} \end{figure} -In \ac{wpp}, each slice (or tile) is divided into single rows of \acs{ctu} which can be processed in parallel, but entropy coding and prediction are enabled across \acs{ctu} of different rows, in order to avoid loss in coding efficiency. -To re-use the same context in the whole slice (or tile) each row requires a delay of two \acs{ctu} in order to ensure that all necessary dependencies have already been encoded/decoded. Figure~\ref{Figure2:WPP} illustrates an example of \ac{wpp} using at least five different threads. -Each square corresponds to a \ac{ctu} and the numbers correspond to the time instance when a \ac{ctu} starts being processed. Using this staggered start (which appears like a wavefront, as represented in Figure~\ref{Figure2:WPP}), the parallelisation may use as many threads as the number of \acs{ctu} rows available in the video frame. However, although the number of threads does not affect the coding efficiency, the required inter-process communication substantially increases. - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% SECTION %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -450,19 +448,19 @@ To improve the efficiency of angular prediction, when the reference samples need \subsubsection{Planar and DC} -\begin{figure}[tb] -\centering -\input{021_VideoCoding/Figures/IntraPredictionPlanar.tikz} -\caption{Example of Planar prediction for a $4\times4$ block.} -\label{Figure2:IntraModePlanar} -\end{figure} - The Planar and DC modes are particularly efficient in the prediction of smooth regions. The DC mode uses the average or the neighbouring reference samples to generate a constant prediction for the current \ac{pu} as a whole, i.e., all pixels are predicted from the same value. The Planar mode predicts the \ac{pu} through a linear interpolation from the four closest neighbouring reference pixels. Figure~\ref{Figure2:IntraModePlanar} shows the reference pixels (i.e., $p_1$, $p'_2$, $p_3$ and $p'_4$) and arrows pointing to the pixel being predicted. Since the right and bottom neighbourhood is not available (not coded yet), the same pixel $p_2$ is repeated to form a column of reference pixels, marked with an ellipse in Figure~\ref{Figure2:IntraModePlanar}. A similar approach is also used to create the bottom row of reference pixels from the pixel $p_4$ . %As the Planar mode used linear surface for prediction it prevents the discontinuities at \ac{pu} boundaries. +\begin{figure}[tb] + \centering + \input{021_VideoCoding/Figures/IntraPredictionPlanar.tikz} + \caption{Example of Planar prediction for a $4\times4$ block.} + \label{Figure2:IntraModePlanar} +\end{figure} + \subsubsection{Sample smoothing} @@ -525,6 +523,15 @@ Once a frame is marked as \emph{unused for reference} it is no longer used for m In \ac{h264} a sliding window approach is used to implicitly manage the reference picture list. This process discards a given frame whenever the \ac{dpb} has the number of defined reference frames (which is controlled by the encoder). Moreover, \ac{h264} uses an explicitly \ac{mmco} to send commands to the decoder and change the normal reference picture management process. +In the \ac{hevc} standard the status of the \ac{dpb} is encoded for every slice, instead of the implicit managing used in the past. +The most fundamental difference in \ac{rpset} concept compared to \ac{mmco}/sliding window of \ac{h264} is that each particular frame has a complete set of the reference frames that are used or will be used. +Thus, a complete set of all frames that must be kept in the \ac{dpb} is explicitly provided. +This is different from \ac{h264} where only relative changes to the \ac{dpb} are encoded. +With the \ac{rpset} concept, no information from earlier frames in decoding order is needed to maintain the correct status of the \ac{dpb}. +Table~\ref{Table2:ReferencePictureListExample} shows the \ac{rpset} for some frames illustrated in Figure~\ref{Figure2:LeadingTralingPics}. +As expected, for the \ac{cra} frame ($I_1$) no information is sent to the decoder because there is not inter-prediction and the \ac{dpb} should be empty. +For the remaining frames, two types of information are encoded: frame number and a binary flag to indicate whether it is currently used. This is required because any frame not listed in a given \ac{rpset} will be discarded by the decoder and then subsequent frames cannot use them as reference. + \begin{table}[tb] \centering \caption{Reference Picture Set example.} @@ -544,16 +551,6 @@ This process discards a given frame whenever the \ac{dpb} has the number of defi \end{tabular} \end{table} -In the \ac{hevc} standard the status of the \ac{dpb} is encoded for every slice, instead of the implicit managing used in the past. -The most fundamental difference in \ac{rpset} concept compared to \ac{mmco}/sliding window of \ac{h264} is that each particular frame has a complete set of the reference frames that are used or will be used. -Thus, a complete set of all frames that must be kept in the \ac{dpb} is explicitly provided. -This is different from \ac{h264} where only relative changes to the \ac{dpb} are encoded. -With the \ac{rpset} concept, no information from earlier frames in decoding order is needed to maintain the correct status of the \ac{dpb}. -Table~\ref{Table2:ReferencePictureListExample} shows the \ac{rpset} for some frames illustrated in Figure~\ref{Figure2:LeadingTralingPics}. -As expected, for the \ac{cra} frame ($I_1$) no information is sent to the decoder because there is not inter-prediction and the \ac{dpb} should be empty. -For the remaining frames, two types of information are encoded: frame number and a binary flag to indicate whether it is currently used. This is required because any frame not listed in a given \ac{rpset} will be discarded by the decoder and then subsequent frames cannot use them as reference. - - The \ac{rpset} concept provides a basic level of error robustness to the reference picture management. In \ac{h264}, whenever a reference frame is lost the decoder can look at the value of the \emph{FrameNum} (incremental value associated with each reference frame) to detect the loss event. However, as gaps in \emph{FrameNum} are allowed, the decoder might not be able to decide whether the missing frame was intentional or resulted from a transmission loss event. @@ -562,16 +559,6 @@ Using the \ac{rpset} concept, the decoder is always able to detect loss events a \subsubsection{Asymmetric block partitions} -\begin{figure}[tb] - \centering - \begin{tabular}{x{.8\columnwidth}x{.1\columnwidth}} - \input{\FigsPath/PUSymetric.tikz} & (a)\\ - \input{\FigsPath/PUAsymetric.tikz} & (b)\\ - \end{tabular} - \caption{Partition types of an inter coded CU into PUs~\cite{HEVCBlock2012}.} - \label{Figure2:InterPuPartitions} -\end{figure} - When inter prediction mode is selected a higher range of partitioning schemes is allowed, thus dividing the \ac{cu} into one, two or four \acs{pu}. The splitting into four \acs{pu} is only allowed when the \ac{cu} size is equal to the minimum. @@ -585,15 +572,18 @@ Finally, the $\frac{N}{2} \times \frac{N}{2}$ case results in four \acs{pu}. The partitions shown in Figure~\ref{Figure2:InterPuPartitions}~(b) correspond to the asymmetric partitioning, which is one of the main improvements introduced in \ac{hevc}, as it allows higher flexibility in motion estimation, leading to higher compression efficiency~\cite{HEVCBlock2012}. These partitions types are only allowed for \acs{cu} with $16\times16$ pixels or larger. +\begin{figure}[tb] + \centering + \begin{tabular}{x{.8\columnwidth}x{.1\columnwidth}} + \input{\FigsPath/PUSymetric.tikz} & (a)\\ + \input{\FigsPath/PUAsymetric.tikz} & (b)\\ + \end{tabular} + \caption{Partition types of an inter coded CU into PUs~\cite{HEVCBlock2012}.} + \label{Figure2:InterPuPartitions} +\end{figure} + \subsubsection{Merge mode} -\begin{figure}[tb] -\centering -\input{\FigsPath/MergeModeHEVC.tikz} -%\input{\FigsPath/HEVC/MergeModeHEVCTwoFrames.tikz} -\caption{Illustration of the MV prediction candidates in the AMVP mode.} -\label{Figure2:MVCandidates} -\end{figure} The Merge mode was introduced in \ac{hevc} as a new technique to derive motion information from spatial and temporal neighbouring blocks~\cite{MotionCodingHEVC2013}. This technique extends the concepts of the Direct and Skip modes used in \ac{h264}~\cite{H264OverviewJul2003}, using a more sophisticated approach with two key differences. Firstly, the Merge Mode allows for more \ac{mv} candidates than the Skip in \ac{h264}. @@ -610,6 +600,13 @@ The Merge Mode defines how to encode the \ac{mv} candidate and the residual info In \ac{hevc}, the Skip mode, i.e., transmitting only the \ac{mv} without residual information, is treated as a special case of the Merge Mode. In this case, only a skip flag is enabled and the corresponding merge index is transmitted. +\begin{figure}[tb] + \centering + \input{\FigsPath/MergeModeHEVC.tikz} + %\input{\FigsPath/HEVC/MergeModeHEVCTwoFrames.tikz} + \caption{Illustration of the MV prediction candidates in the AMVP mode.} + \label{Figure2:MVCandidates} +\end{figure} \subsubsection{Motion vector prediction} diff --git a/022_ErrorResilience/RobustTransmissionReview.tex b/022_ErrorResilience/RobustTransmissionReview.tex index d382fe4..3ecce61 100755 --- a/022_ErrorResilience/RobustTransmissionReview.tex +++ b/022_ErrorResilience/RobustTransmissionReview.tex @@ -95,7 +95,7 @@ Normally, such optimisation is equivalent to the minimisation of the Lagrangian \begin{equation} J = D + \lambda R, \end{equation} -where $D$ is the distortion of all pixels, $R$ the bitrate and $\lambda$ is the Lagrangian multiplier. +where $D$ is the distortion of all pixels, $R$ the bitrate and $\lambda$ is the Lagrangian multiplier~\cite{LagragianMultiplier1982}. Such optimisation only takes into account the coding distortion ($D$), which is only suitable for error-free environments. However, some alternative approaches with error resilient \ac{rd} optimisation take into consideration possible network losses~\cite{DistortionTrackingH264_ICIP2004}. Other advanced approaches can take advantage of a \ac{rope} of the end-to-end distortion at the encoder-side~\cite{ROPEJun2000}. @@ -245,8 +245,6 @@ In \cite{ResilienceDualFrameBuffer2004}, an optimisation algorithm was devised t The same method can also be used in combination with feedback information from the network to improve the references frame selection. In the decoder-side, an \ac{ec} method was later used to take advantage of such prediction structure \cite{ConcealmentDualFrameBuffer2005}. - - A feedback information from the network was also used in \cite{ErrorResilienceRPSFeb2009}, to reduce error propagation at end-user decoders, by dynamically selecting the reference frame, only from those correctly received. Figure~\ref{fig2:ReferencePictureSelection} shows an example of an error resilience transcoding scheme, where the original temporal predictions (represented by the solid arrows) are transcoded to use only correctly received frames as reference, i.e., prediction represented by the dashed arrow. This is done based on network feedback. A more advanced scheme may be considered, where only the regions affected by mismatch predictions are processed in the compressed domain, and subsequently transcoded to limit the dependencies from lost frames. diff --git a/031_ErrorResilienceEvaluation/DynamicTmvp/DynamicTMVP.tikz b/031_ErrorResilienceEvaluation/DynamicTmvp/DynamicTMVP.tikz index aabecdd..8bba7e9 100644 --- a/031_ErrorResilienceEvaluation/DynamicTmvp/DynamicTMVP.tikz +++ b/031_ErrorResilienceEvaluation/DynamicTmvp/DynamicTMVP.tikz @@ -8,7 +8,7 @@ matrix,shapes.symbols,plotmarks,decorations.markings,shadows,backgrounds} % \draw[draw=black] (0,0) rectangle ++(21.58cm,27.94cm); -\newcommand{\scale}{0.7} +\newcommand{\scale}{0.68} % \newcommand{\TikZyslant}{-0.2} \newcommand{\xslant}{0} \newcommand{\xframeshift}{6.5cm} diff --git a/031_ErrorResilienceEvaluation/DynamicTmvp/TableDynamicTMVPPSNR.tex b/031_ErrorResilienceEvaluation/DynamicTmvp/TableDynamicTMVPPSNR.tex index 331e5ee..463271e 100644 --- a/031_ErrorResilienceEvaluation/DynamicTmvp/TableDynamicTMVPPSNR.tex +++ b/031_ErrorResilienceEvaluation/DynamicTmvp/TableDynamicTMVPPSNR.tex @@ -11,37 +11,37 @@ & & & \textbf{1\%} & \textbf{5\%} \\ \midrule \multirow{\nlines}{*}{\vbox{Basketball Drill}} - & \TIDR~\cite{DynamicTMVP2011} & -0.011 & 0.092 & 0.365\\ - & \PROP & -0.054 & 0.218 & 0.823\\ + & \TIDR~\cite{DynamicTMVP2011} & -0.011 & 0.09 & 0.37\\ + & \PROP & -0.054 & 0.22 & 0.82\\ % & Without TMVP & -0.094 & 0.574 & 2.165\\ \hline \multirow{\nlines}{*}{\vbox{Book Arrival}} - & \TIDR~\cite{DynamicTMVP2011} & -0.003 & 0.099 & 0.428\\ - & \PROP & -0.012 & 0.359 & 1.436\\ + & \TIDR~\cite{DynamicTMVP2011} & -0.003 & 0.10 & 0.43\\ + & \PROP & -0.012 & 0.36 & 1.44\\ % & Without TMVP & -0.021 & 0.641 & 2.494\\\ \hline \multirow{\nlines}{*}{\vbox{BQSquare}} - & \TIDR~\cite{DynamicTMVP2011} & -0.005 & 0.418 & 1.572\\ - & \PROP & -0.032 & 0.539 & 1.967\\ + & \TIDR~\cite{DynamicTMVP2011} & -0.005 & 0.42 & 1.57\\ + & \PROP & -0.032 & 0.54 & 1.97\\ % & Without TMVP & -0.033 & 1.328 & 4.897\\ \hline \multirow{\nlines}{*}{\vbox{Kendo}} - & \TIDR~\cite{DynamicTMVP2011} & -0.008 & 0.150 & 0.618\\ - & \PROP & -0.031 & 0.380 & 1.539\\ + & \TIDR~\cite{DynamicTMVP2011} & -0.008 & 0.15 & 0.62\\ + & \PROP & -0.031 & 0.38 & 1.54\\ % & Without TMVP & -0.035 & 0.569 & 2.277\\ \hline \multirow{\nlines}{*}{\vbox{Race Horses}} - & \TIDR~\cite{DynamicTMVP2011} & -0.010 & 0.179 & 0.689\\ - & \PROP & -0.040 & 0.236 & 0.909\\ + & \TIDR~\cite{DynamicTMVP2011} & -0.010 & 0.18 & 0.69\\ + & \PROP & -0.040 & 0.24 & 0.91\\ % & Without TMVP & -0.050 & 0.776 & 2.796\\ \hline \multirow{\nlines}{*}{\vbox{Tennis}} - & \TIDR~\cite{DynamicTMVP2011} & -0.003 & 0.099 & 0.494\\ - & \PROP & -0.041 & 0.214 & 0.932\\ + & \TIDR~\cite{DynamicTMVP2011} & -0.003 & 0.10 & 0.49\\ + & \PROP & -0.041 & 0.21 & 0.93\\ % & Without TMVP & -0.035 & 0.599 & 2.488\\ \midrule \multirow{\nlines}{*}{\vbox{Average}} - & \TIDR~\cite{DynamicTMVP2011} & -0.006 & 0.171 & 0.695 \\ - & \PROP & -0.034 & 0.342 & 1.339 \\ + & \TIDR~\cite{DynamicTMVP2011} & -0.006 & 0.17 & 0.70 \\ + & \PROP & -0.034 & 0.34 & 1.34 \\ \bottomrule \end{tabular} diff --git a/031_ErrorResilienceEvaluation/ErrorResilienceEvaluation.tex b/031_ErrorResilienceEvaluation/ErrorResilienceEvaluation.tex index 0584c5b..e7f7d56 100644 --- a/031_ErrorResilienceEvaluation/ErrorResilienceEvaluation.tex +++ b/031_ErrorResilienceEvaluation/ErrorResilienceEvaluation.tex @@ -14,8 +14,8 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Introduction} -The use of \ac{hevc} in different type of application and video services over networks that are prone to errors and packet losses, requires mechanisms to minimise the effect o such probabilistic events. This chapter starts by presenting an evaluation study about the error resilience of \ac{hevc} in Section~\ref{Section3:ErrorResilienceEvaluation} , with the aim of defining the weak elements of coded streams and level of error robustness under different transmission loss conditions. The evaluation study covers different coding configuration to evaluate the individual impact of some new coding tools introduced, e.g., increased partition size, intra-refreshing, slice partitioning and advanced motion vector prediction. -In Section~\ref{Section3:DynamicMVRefreshHEVC} a novel method to increase the error robustness of the \ac{hevc} \ac{mv} coding is presented and evaluated against existing techniques. The method proposed introduces refresh point in the motion prediction used in the \ac{hevc}, which significant reduces the impact of mismatch \ac{mv} predictions. +The use of \ac{hevc} in different type of application and video services over networks that are prone to errors and packet losses, requires mechanisms to minimise the effect of such probabilistic events. This chapter starts by presenting an evaluation study about the error resilience of \ac{hevc} in Section~\ref{Section3:ErrorResilienceEvaluation} , with the aim of defining the weak elements of coded streams and the level of error robustness under different transmission loss conditions. The evaluation study covers different coding configuration to evaluate the individual impact of some new coding tools introduced, e.g., increased partition size, intra-refreshing, slice partitioning and advanced motion vector prediction. +In Section~\ref{Section3:DynamicMVRefreshHEVC} a novel method to increase the error robustness of the \ac{hevc} \ac{mv} coding is presented and compared to existing techniques. The proposed method introduces refresh point in the motion prediction used in the \ac{hevc}, which significantly reduces the impact of mismatch \ac{mv} predictions. Finally, Section~\ref{Section3:Summary} concludes the chapter. \clearpage @@ -34,23 +34,23 @@ Although the increased complexity may be compensated with more efficient algorit A critical aspect related to the performance of robust video streaming methods is the error detection accuracy. Since \ac{hevc} streaming is expected to use known transport technologies, such as RTP~\cite{HEVCStreamMay2012}, MPEG-2 TS~\cite{HEVCLayerIntegrationDez2012}, or more recent standards as MPEG-DASH~\cite{HEVCHTTPStreamAug2016} and MPEG Media Transport\cite{ATSCMMT2016}, the error detection capabilities of the underlying transport protocols have significant impact on the overall system performance. In general, the error detection operation at the transport layers is decoupled from the video coding layer. -To cope with transmission errors the encoding side implements robust coding methods, while the efficient recovery of lost video data is implemented in the decoder through error concealment algorithms. -Between them, signalling between different protocol layers ensures that the decoder is given the necessary information to identify the lost slices/frames in the video stream. +To cope with transmission errors the encoder implements robust coding methods, while the efficient recovery of lost video data is implemented in the decoder, through error concealment algorithms. +Between them, signalling that cope with different protocol layers ensures that the decoder is given the necessary information to identify the lost slices/frames in the video stream. Therefore, the error robustness of video streams can be investigated on its own, assuming any possible form of streaming technologies and error detection. This is the main focus of the study presented in this section. -There are some studies presented in the past regarding the error robustness of the \ac{hevc} standard which are worth to be mention as they provide relevant insights for the research of carried out in this research work. In~\cite{StudyHEVCErrorsDez2012,HEVCWireless_2016} both the coding efficiency and error robustness of the \ac{hevc} are evaluated and compared against the \ac{h264}. Experimental results confirm that \ac{hevc} has reduced error robustness despite its increased coding efficiency. +There are some studies presented in the past regarding the error robustness of the \ac{hevc} standard, which are worth to be mention as they provide relevant insights for the research of carried out in this research work. In~\cite{StudyHEVCErrorsDez2012,HEVCWireless_2016} both, the coding efficiency and error robustness of the \ac{hevc}, are evaluated and compared against the \ac{h264}. Experimental results confirm that \ac{hevc} has reduced error robustness despite its increased coding efficiency. A subjective evaluation study is presented in~\cite{SubjectiveEvalSep2013,QoEHEVCMay2014} revealing that packet loss ratios higher than $3\%$ have significant effect on the perceived video quality. %In both works it is concluded that the robustness of \ac{hevc} decreases for sequences complex motion. The vulnerability of \ac{mv} prediction was investigated and its impact on the error robustness was evaluated \cite{DynamicTMVP2011}. Moreover, a method to introduce \ac{mv} refresh points was proposed, achieving average \ac{psnr} gains of approximately 3~dB. -Summarising, the decrease in error robustness is mostly due to the strong data dependencies imposed by the highly complex prediction modes of \ac{hevc}. Since these are selected according to a rate distortion optimisation criterion, assuming error-free transmission, the decoder faces a different problem whenever errors or data loss occur in the transmission network \cite{ROPE2007}. +Summarising, the decrease in error robustness is mostly due to the strong data dependencies imposed by the highly complex prediction modes of \ac{hevc}. Since these are selected according to a rate distortion optimisation criterion that assumes error-free transmission, the decoder faces different problems whenever errors or data loss occur in the transmission network \cite{ROPE2007}. -The following sub-sections present an error robustness evaluation of \ac{hevc}, focused on the impact of the novel coding techniques introduced in the standard and extending the generic studies presented in previous works. This study provides relevant insights for research directions and motivation to investigate solutions for the error robustness problem in \ac{hevc}. +The following sub-sections present an error robustness evaluation of \ac{hevc} focused on the impact of the novel coding techniques introduced in the standard, extending the generic studies presented in previous works. This study provides relevant insights for research directions and motivation to investigate solutions for the error robustness problem in \ac{hevc}. The following case-studies are covered in this experimental evaluation: \begin{enumerate} \item different maximum \ac{cu} sizes to evaluate the impact of larger frame partitioning; % \item experiments with and without filter operations, i.e., deblocking filter and \ac{sao}, in order to evaluate their impact on decoding video quality; - \item different distances between intra frames to evaluate the impact of introducing different number of refresh points; + \item different distances between intra frames, to evaluate the impact of introducing different number of refresh points; \item different slice partitioning schemes; \item different \ac{mv} coding schemes using different types of \ac{mv} candidates, with analysis at the spatial and temporal level. \end{enumerate} @@ -60,16 +60,16 @@ The following case-studies are covered in this experimental evaluation: \input{031_ErrorResilienceEvaluation/TablesSequences.tex} -The experimental setup used in this study to evaluate the error robustness of the \ac{hevc} used thirteen test sequences, which were chosen to cover different types of motion and texture complexity. +The experimental setup used in this study to evaluate the error robustness of the \ac{hevc} is based on seventeen test sequences, which were chosen to cover different types of motion and texture complexity. % Each sequence comprises 240 frames and the whole set covers. -Table~\ref{TableTestSequences} presents a summary of the main characteristics of the test sequences. Appendix~\ref{Appen:Sequences} shows the first frame of each test sequence. -The spatial and temporal complexity of these video sequences was measured by using the following metrics \cite{ITUTP9112008}: +Table~\ref{TableTestSequences} presents a summary of the main characteristics of the test sequences. Appendix~\ref{Appen:Sequences} shows a single frame of each test sequence. +The spatial and temporal complexity of these video sequences was measured by using the following metrics \cite{ITUTP9102008}: \begin{itemize} - \item {\ac{si}} based on Sobel filter. Each video frame ($f_t$) is firstly filtered, then the standard deviation is computed. Finally, the maximum value over time is chosen to represent the \ac{si} metric. This process can be represented in the following equation: + \item {\ac{si}} based on Sobel filter. Each video frame ($f_t$) is firstly filtered, then the standard deviation is computed. Finally, the maximum value over time is chosen to represent the \ac{si} metric. This process can be represented by the following equation: \begin{equation} SI = max_{time}\Big\{ std_{space} \big( Sobel\left(f_t\right) \big) \Big\}. \end{equation} - \item {\ac{ti}} based upon the motion difference, which is given by the difference between the pixel values at the same spatial location but in consecutive time instances. \ac{ti} is computed as the maximum over time of the standard deviation over space. More motion in adjacent frames will result in higher values of \ac{ti}. This process can be represented by the following: + \item {\ac{ti}} based upon the motion difference, which is given by the difference between the pixel values at the same spatial location but in consecutive time instances. \ac{ti} is computed as the maximum displacement over time of the standard deviation over space. Larger displacements in adjacent frames will result in higher values of \ac{ti}. This process can be represented by the following: \begin{equation} TI = max_{time}\Big\{ std_{space} \big( f_{t}(x,y) - f_{t-1}(x,y) \big) \Big\}. \end{equation} @@ -79,7 +79,7 @@ The values of \ac{si} and \ac{ti} calculated for the test sequences are shown in For the simulation carried out in this study the HM reference software, version $16.2$, was used \cite{HEVCReferenceSoftware162}. The sequences were encoded with an \ac{idr} period of $16$ frames and all the coding modes enabled, following two recommended configurations: \ac{ld}, i.e., P-frames with 4 references frames, and \ac{ra}, i.e., B-frames with 2 reference frames in each list~\cite{HEVCCommonTests2012}. These prediction structures cover the use of P-frames and hierarchical B-frames~\cite{H264ScalableOverviewSep2007}, which are commonly used in HEVC streaming~\cite{RealTimeHEVC2016}. -In order to achieve high quality images for all coded sequences (i.e., \ac{psnr} around 40 dB) different bitrates were used, as listed in Table~\ref{TableTestSequences}. The filtering operations were disabled at slices boundaries in order to keep the slices self-contained. +In order to achieve high quality images for all coded sequences (i.e., \ac{psnr} around 40 dB) different bitrates were used, as listed in Table~\ref{TableTestSequences}. The filtering operations were disabled at slices boundaries, in order to keep the slices self-contained. Moreover, the ratio of inter-coded blocks of each coded sequence using the default coding parameters is also shown in the third column of the table to illustrate the predictions distribution. @@ -87,11 +87,11 @@ Moreover, the ratio of inter-coded blocks of each coded sequence using the defau % At the decoder-side, error concealment is based on motion compensation from previously decoded frames. % The motion field of a missing frame is obtained applying \ac{mv} extrapolation from the two closest neighbours. % Afterwards, the final \acs{mv} are selected based on the residual energy of their original prediction~\cite{HEVCMCResidueDec2013}. -To simulate the lossy transmission environment, each frame is encoded into several slices, each one packetized into one \ac{nal} unit, which are then transmitted as the payload of independent packets. +To simulate the lossy transmission environment, each frame is divided into several slices, each one encoded and packetized into one \ac{nal} unit, which are then transmitted as the payload of independent packets. In these simulations a whole packet is lost whenever an error occurs, originating a lost slice. Random packet loss was simulated using a two-state Markov model for \ac{plr} of 1\%, 3\%, 5\%, 10\%. For each test condition, 50 runs were performed and the average \ac{psnr} was measured. -The filtering operations were disabled at slices boundaries in order to keep the slices self-contained. The remaining configurations have been kept at their default values as given in the common test conditions~\cite{HEVCCommonTests2012}. +The remaining configurations have been kept at their default values, as given in the common test conditions~\cite{HEVCCommonTests2012}. %\subsection{Experimental results} @@ -100,9 +100,11 @@ The filtering operations were disabled at slices boundaries in order to keep the %The \ac{hevc} standard introduced new partitioning schemes to allow coding improvements in high resolution videos. These partition structures, named \glsfirst{cu}, are allowed to be as large as $64\times64$ pixels. In the first set of experiments the impact of the maximum \ac{cu} size in the decoded video quality is investigated. In this experiment the maximum \ac{cu} size is set to three different sizes, i.e., 16$\times$16, 32$\times$32 and 64$\times$64 pixels. The lower size is targeting the \ac{mb} size used in the \ac{h264}. -Table~\ref{Table3:Quality_BlockSize} shows the average \ac{psnr} obtained for the three test conditions and for four different packet loss ratios. Results for the error-free scenario shows a consistent quality increase as the maximum \ac{cu} size increases, up to a maximum of 1.41~dB for the Tennis sequence when comparing the maximum \ac{cu} size of $64\times64$ with $16\times16$. -This confirms the principle used by the \ac{hevc} standard, that allowing larger coding units lead to higher coding efficiency, achieving a maximum of 1.41~dB for the Tennis sequence which has the higher \ac{ti} parameter (see Table~\ref{TableTestSequences}). Moreover, it is also noticeable that sequences with higher amount of inter-coded blocks take less advantage of the larger \acs{cu}, by the results of the BQSquare sequence (i.e., highest ratio of inter-coded blocks and lowest quality gain in the error-free case). -Overall, comparing the results for the error-free and data loss cases it is noticeable that similar quality gains are obtained, which are achieved due to the superior coding efficiency of larger \acs{cu}. In most of the cases the quality gains slightly decrease for increasing \acs{plr}. +Table~\ref{Table3:Quality_BlockSize} shows the average \ac{psnr} obtained for the three test conditions and for four different packet loss ratios. Results for the error-free scenario shows a consistent quality increase as the maximum \ac{cu} size increases, +% up to a maximum of 1.41~dB for the Tennis sequence +when comparing the maximum \ac{cu} size of $64\times64$ with $16\times16$. +This confirms the principle used by the \ac{hevc} standard, that allowing larger coding units lead to higher coding efficiency, achieving a maximum of 1.41~dB for the Tennis sequence which has the higher \ac{ti} parameter (see Table~\ref{TableTestSequences}). Moreover, it is also noticeable that sequences with higher amount of inter-coded blocks take less advantage of the larger \acs{cu}, in the results of the BQSquare sequence (i.e., highest ratio of inter-coded blocks and lowest quality gain in the error-free case). +Overall, comparing the results for the error-free and data loss cases, it is noticeable that similar quality gains are obtained, which are achieved due to the superior coding efficiency of larger \acs{cu}. In most of the cases the quality gains slightly decrease for increasing \acs{plr}. Therefore, one may conclude that the error robustness of \ac{hevc} streams is not affected by limiting the maximum \ac{cu} size. %\todo{Complete discussion of partition unit size} @@ -120,7 +122,7 @@ Therefore, one may conclude that the error robustness of \ac{hevc} streams is no \end{table} Figure~\ref{Figure3:BlockPartitionBask} illustrates an example of the frame partitions for a region of the Basketball Drill sequence for two cases: (i) maximum \ac{cu} size of $64\times64$ and (i) maximum \ac{cu} size of $16\times16$. -As shown, in the moving regions, e.g., moving player, the partitions obtained for both cases have a similar pattern, mainly composed of \acs{cu} with small size. Larger \acs{cu} are only used in the floor which has a lower spatial complexity and suffers small changes between frames, therefore, easier to compress with $64\times64$ \acs{cu}. Moreover, those regions can be recovered more accurately using neighbouring information (spatial and temporal) correctly decoded, thus not incurring in severe error propagation. +As shown, in the moving regions, e.g., moving player, the partitions obtained for both cases have a similar pattern, mainly composed of \acs{cu} with small size. Larger \acs{cu} are only used in the floor, which has a lower spatial complexity and suffers small changes between frames, therefore, easier to compress with $64\times64$ \acs{cu}. Moreover, those regions can be recovered more accurately using neighbouring information correctly decoded (spatial and temporal), thus not incurring in severe error propagation. Therefore, the overall error robustness is not affected by reducing the maximum \ac{cu} size. One may conclude that the use of larger coding units is able to improve the overall \ac{hevc} efficiency in error-free and error prone applications. \begin{figure}[!t] @@ -171,19 +173,21 @@ This allows the decoder to recover from frame/slice loss and continue error-free Figure~\ref{Figure3:QualityvsIntra} shows the average decoded video quality (\ac{psnr}) for different distance of intra frames, covering \acs{plr} between 3\% and 5\%. Results in the figure indicate that as the distance between intra frames increases, the decoded video quality significantly decreases. The quality decreasing is especially noticeable for intra periods higher than 32 frames, indicating that temporal distances greater than approximately one second are not suitable for video streaming under error-prone conditions. -When a high temporal distance between intra frames is used, the quality decreasing is more noticeable in the People On Street and BQSquare sequences, which have higher spatial complexity (see values for \ac{si}), leading to a reduction of 13 dB and 14 dB, respectively. As spatial complexity increases the encoder rely more on temporal predictions making the bitstream more prone to error propagation. +When a high temporal distance between intra frames is used, the quality decreasing is more noticeable in the People On Street and BQSquare sequences, which have higher spatial complexity (see values for \ac{si}), leading to a reduction of 13 dB and 14 dB, respectively. As spatial complexity increases, the encoder relies more on temporal predictions, which increase the error propagation across temporal adjacent frames, reducing the video quality under errors. + %\todo{Complete discussion of intra refreshing} One should also note from the results of Figure~\ref{Figure3:QualityvsIntra} that using a small distance between intra frames is not always more efficient. Since intra frames require higher amount of bits, the overall coding efficiency is reduced, resulting in an overall quality that decreases even in data loss conditions. This is clear noticeable for the Four People sequence, where increasing the intra period from 8 to 16 leads to a quality increasing of 1 dB for 5\% of \ac{plr}. -For the remaining sequences it can be concluded that using sixteen frames (not higher than half a second) between refresh points (i.e., intra frames) achieves an acceptable efficiency under errors. This provides an efficient trade-off between compression efficiency and error robustness in case of data loss. +For the remaining sequences it can be concluded that using sixteen frames (not higher than half a second) between refresh points (i.e., intra frames) achieves an acceptable efficiency under errors. This provides a good trade-off between compression efficiency and error robustness in case of data loss. \subsection{Evaluation for using different slice partitioning schemes} -The partitioning of the \acs{ctu} into different slices increase the flexibility of video streams to be partitioned into different packets, thus adapting them to the video transmission system. -By partitioning the coded video frame into different slices spatial refresh points are introduced, limiting the error propagation across different \acs{ctu}. -In this sub-section the amount of bytes per slice is evaluated, in order to evaluate the influence of different schemes on the error robustness of \ac{hevc} streams. The quality obtained different mode is compared in order to find the most efficient that suits for video transmission under data loss conditions. +The partitioning of the frame into different slices increase the flexibility of video streams to be divided into different packets, thus adapting them to the video transmission system. +By partitioning the video frame into different slices spatial refresh points are introduced, limiting the error propagation across different \acs{ctu}. +In this sub-section the amount of bytes per slice is evaluated, in order to study the influence of different schemes on the error robustness of \ac{hevc} streams. +A comparison of the quality obtained for different modes is carried out, in order to find the most efficient mode for video transmission under data loss conditions. \begin{figure}[!t] \centering @@ -195,22 +199,22 @@ In this sub-section the amount of bytes per slice is evaluated, in order to eval \end{figure} Figure~\ref{Figure3:SlicePartitioning} shows the average \ac{psnr} for four difference slice partitioning modes and different \acs{plr}. -The first three modes are characterised by a different amount of bytes per slice (B/S), namely 1200, 2400 and 4800 bytes, respectively. In these cases each frame has a variable number of slices. +The first three modes are characterised by a different amount of bytes per slice (B/S), namely 1200, 2400 and 4800 bytes. In these cases each frame has a variable number of slices. The last mode uses a single slice per frame (referred to as \textit{SS}), corresponding to the case where slice partitioning is disabled. -Results in the figure reveals a clear impact of the slice partitioning mode on the error robustness of the \ac{hevc}, as the quality degradation for increasing \ac{plr} significantly changes for each mode. +Results in Figure~\ref{Figure3:SlicePartitioning} reveals a clear impact of the slice partitioning mode on the error robustness of the \ac{hevc}, as the quality degradation for increasing \ac{plr} significantly changes for each mode. Comparing the cases with fixed amount of bytes per slice, it is clearly noticeable that when higher amount of bytes are used the quality degradation increases. This is true for the results of most of the test sequences shown in Figure~\ref{Figure3:SlicePartitioning}. -Although the use of smaller slices increases the overhead used for slice headers, the superior error robustness of achieved with 1200 B/S is able to overcome the inherent degradation on coding efficiency. -This is due to the lack of refresh points within a frame, resulting in errors that affects larger regions of the frame which are propagated to the subsequent inter predicted frames. +Although the use of smaller slices increases the overhead used for slice headers, the superior error robustness achieved with 1200 B/S is able to overcome the inherent degradation on coding efficiency. +This is due to the lack of refresh points within a frame, resulting in errors that affects larger regions of the frame, which are propagated to the subsequent inter predicted frames. -The results for of \textit{SS} (slice partitioning disabled) also reveals that this approach also leads to lower error robustness when comparing with those cases where the frames are divided into multiple slices. Although higher coding efficiency is achieved in this mode the lower error robustness leads to an overall poor performance under frame or slice loss conditions. -Results for Kendo sequence does not follow the main trend. This can be explained by the low bitrate required to compress the video signal, which is the lowest comparing with the other test sequences (see \ref{TableTestSequences}). Therefore, most of the inter-coded frames are able to transmitted using a single slice even with 1200 bytes per slice, resulting in a similar partitioning for all tested modes, and thus similar error robustness. In this case, the higher coding efficiency achieved by the \textit{SS} case consequently leads to higher quality in case of errors. +The results for of \textit{SS} (slice partitioning disabled) also reveals that this approach also leads to lower error robustness when comparing with those cases where the frames are divided into multiple slices. Although higher coding efficiency is achieved in this mode, the lower error robustness leads to an overall poor performance under frame or slice loss conditions. +Results for Kendo sequence does not follow the main trend. This can be explained by the low bitrate required to compress the video signal, which is the lowest when compared with the other test sequences (see Table~\ref{TableTestSequences}). Therefore, most of the inter-coded frames can be transmitted using a single slice, even with 1200 bytes per slice, resulting in a similar partitioning for all tested modes, and thus similar error robustness. In this case, the higher coding efficiency achieved by the \textit{SS} case consequently leads to higher quality in case of errors. %\todo{Complete discussion of slice partitioning} \subsection{Motion vector coding impact on error propagation} -In \ac{hevc}, the new \ac{mv} prediction modes known as \ac{amvp} and Merge Mode~\cite{MotionCodingHEVC2011} may be significant contributors to poor performance under transmission errors. These modes are characterised by coding the motion information using previously encoded \acs{mv}, which obviously leads to prediction mismatches at the decoder-side when such neighbouring information is missing due to network losses. +In \ac{hevc}, the new \ac{mv} prediction modes known as \ac{amvp} and Merge Mode~\cite{MotionCodingHEVC2011}, may be significant contributors to the poor performance under transmission errors. These modes are characterised by coding the motion information using previously encoded \acs{mv}, which obviously leads to prediction mismatches at the decoder-side when such neighbouring information is missing due to network losses. Therefore, in this sub-section the impact of using spatial and temporal \ac{mv} candidates on the decoded video quality under errors is evaluated. \subsubsection{Spatial \ac{mv} candidates} @@ -229,7 +233,7 @@ Figure~\ref{Figure3:AvgPSNRMergeCandidates} shows the average quality results fo The results show that, besides the number of \ac{mv} candidates, similar quality decreasing is achieved as the \ac{plr} increases. Therefore, one may conclude that varying the number of available \ac{mv} candidate does not affect the error resilience of the \ac{hevc}. The occurrence rate for each spatial \ac{mv} candidate was analysed in order to check whether they are uniformly used. -Table~\ref{Table3:MergeIdxRatio} shows the usage percentage of each \ac{mv} candidate when three and five candidates are available, for the slice partitioning mode of 1200 bytes/slice. The results indicate that most predictions use the first candidate and minor differences occur by adding 2 or more \acs{mv}. +Table~\ref{Table3:MergeIdxRatio} shows the usage percentage of each \ac{mv} candidate when three and five candidates are available for the slice partitioning mode of 1200 bytes/slice. The results indicate that most predictions use the first candidate and minor differences occur by adding 2 or more \acs{mv}. Since the mostly used \ac{mv} candidates are the initial ones, changing the number of available candidates does not significantly affects the error resilience. Moreover, the slice partitioning mode used only 1200 bytes per slice, which introduces refresh points in each frame, reducing the spatial error propagation due to mismatched \ac{mv} predictions. @@ -278,11 +282,12 @@ In order to further evaluate the impact of the temporal \ac{mv} dependencies on Table~\ref{Table3:AvgPSNRWithoutTMVP} presents the average quality results, measured using the \ac{psnr}. As expected, the results indicate that in error-free conditions higher quality is achieved by enabling the \ac{tmvp} candidate, since higher compression efficiency is obtained because more \ac{mv} predictors are used. This is true for all both test conditions, \emph{i.e.}, both \ac{ld} and \ac{ra}. -However, in the presence of errors, the video quality significantly decreases due to low error robustness when temporal \ac{mv} candidates are used. Alternatively, average quality up to 5.17 dB of \ac{psnr} when the temporal \ac{mv} predictors are disabled is achieved in the \ac{ld} configuration. +However, in the presence of errors, the video quality significantly decreases due to low error robustness when temporal \ac{mv} candidates are used. +Alternatively, average quality up to 5.17 dB of \ac{psnr} is achieved when the temporal \ac{mv} predictors are disabled in the \ac{ld} configuration. The results also show that the negative impact of using temporal \ac{mv} dependencies is smaller when B-frames are used. For the Random-Access, the average gain of disabling the \ac{tmvp} is 0.78 dB. %This also confirms the previous results of Figure~\ref{Figure3:PSNRvsFrameErrorFreeConc}. A higher negative impact is obtained when only P-frames are used (\ac{ld} configuration), since subsequent frames are temporally closer, leading to more accurate temporal \ac{mv} candidates. -Moreover, the results also indicate that for higher loss ratios the negative impact of using the \ac{tmvp} does not increase as both configuration are subject to high quality degradation. +Moreover, the results also indicate that for higher loss ratios the negative impact of using the \ac{tmvp} does not increase, as both configuration are subject to high quality degradation. \begin{table}[!t] \centering @@ -294,15 +299,15 @@ Moreover, the results also indicate that for higher loss ratios the negative imp \subsection{Remarks} -Overall, the results presented in the previous sub-sections show that \ac{hevc} has poor robustness against transmission errors, resulting in significant quality degradation, though dependent still on the video content and coding options. +Overall, the results presented in the previous sub-sections show that \ac{hevc} has poor robustness against transmission errors, resulting in significant quality degradation, though depending on the video content and coding options. As shown, some coding options, such as slice partition and intra refreshing period, have high correlation with the decoded video quality when transmission errors affect the compressed streams. Therefore, these are important aspects to take into consideration in the design an implementation of broadcasting video services and applications. -One of the main improvements of the \ac{hevc} standard is the support for larger coding units up to $64\times64$, which does not have a negative impact the error robustness of coded video streams, indicating that they should be allowed to achieve higher coding performance. +One of the main improvements of the \ac{hevc} standard is the support for larger coding units up to $64\times64$, which does not have a negative impact on the error robustness of coded video streams, indicating that they should be allowed to achieve higher coding performance. Regarding the use of neighbouring information for \ac{mv} coding, on the one hand the spatial \ac{mv} candidates do not significantly decrease the error robustness. On the other hand, the use of temporal \ac{mv} candidates significantly contribute to increase the temporal dependencies, leading to more severe quality degradation in the presence of packet loss. Based on these evidences, the next section presents an efficient method to improve the error robustness of \ac{hevc}. -The proposed method is based on the underlying principle of reducing the mismatch of \ac{mv} predictions, by selectively disable some \ac{mv} predictions at the encoder-side, reducing the overall temporal dependencies. +The proposed method is based on the underlying principle of reducing the mismatch of \ac{mv} predictions, by selectively disabling some \ac{mv} predictions at the encoder-side, reducing the overall temporal dependencies. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -321,12 +326,12 @@ Based on this evidence, this section proposes a method to make intelligent use o \glsreset{rd} The new approach to deal with temporal motion vector dependencies is accomplished by modifying the \ac{rd} optimisation that is used to select the best motion vector for inter-prediction. -The objective is to increase the number of \acs{mv} that can be independently decoded to improve the error recovery capability after a frame loss event. +The objective is to increase the number of \acs{mv} that can be independently decoded, in order to improve the error recovery capability after a frame loss event. The proposed method also overcomes the limitation of the method presented in \cite{DynamicTMVP2011}, which break the motion information dependencies between frames. Instead of disabling the temporal motion candidate at the frame level, the proposed method aims to remove the dependencies at the \ac{cu} level. To achieve this goal, the temporal dependency of all \ac{mv} candidates is firstly analysed for each block, in order to select on the suitable candidates to be used as predictors for the current \ac{mv}. -Based on the analysis of the temporal dependency, some temporal candidates are marked as unsuitable predictors of the current \ac{mv}, and for this reason are not selected in the Merge mode. In the proposed approach, a temporal \ac{mv} candidate is marked as unsuitable based on the following criteria: +Based on the analysis of the temporal dependency, some temporal candidates are marked as unsuitable predictors of the current \ac{mv}, and for this reason they are not selected in for \ac{mv} prediction. In the proposed approach, a temporal \ac{mv} candidate is marked as unsuitable, based on the following criteria: \begin{enumerate} \item if it is encoded based on another temporal \ac{mv} candidate from a previously encoded frame; \item if it is predicted using a spatial neighbour that was previously encoded using a temporal \ac{mv} candidate. @@ -357,15 +362,16 @@ Moreover, the block corresponding to the arrow (3) cannot use the temporal \ac{m \end{figure} -The performance of the proposed scheme (\PROP) was evaluated against two other approaches: reference \ac{hevc} with TMVP enabled and the \TIDR method as proposed in \cite{DynamicTMVP2011}. To evaluate the proposed method the same experimental setup as presented in Section \ref{Section3:ErrorResilienceEvaluation} was used. +The performance of the proposed scheme (\PROP) was evaluated against two other approaches: reference \ac{hevc} with TMVP enabled and the \TIDR method proposed in \cite{DynamicTMVP2011}. +% To evaluate the proposed method, the same experimental setup as presented in Section \ref{Section3:ErrorResilienceEvaluation} was used. \subsubsection{Error propagation under single loss events} Firstly, the performance of the proposed method was measured under a single loss event (i.e., only one frame is affected by errors). Figure \ref{Figure3:ProposedMethodEvaluationSingle} shows the error propagation for the different methods. -The results show a significant quality difference between the proposed method, the \TIDR method, and the reference \ac{hevc}. -When the temporal \ac{mv} candidate is disabled (proposed and \TIDR method) more error robustness can be achieved. -The results also show the relevance of using the proposed method, as the \TIDR method is only able to recover from the frame loss after the refreshing frame, \emph{i.e.}, frame \#8, especially for the BQSquare sequence +The results show a significant quality difference between the proposed method, the \TIDR method and the reference \ac{hevc}. +When the temporal \ac{mv} candidate is disabled (proposed and \TIDR method) a higher error robustness is achieved. +The results also show the relevance of using the proposed method, as the \TIDR method is only able to recover from the frame loss after the refreshing frame, \emph{i.e.}, frame \#8, especially for the BQSquare sequence. \subsubsection{Quality evaluation under random errors} @@ -380,8 +386,8 @@ The results also show the relevance of using the proposed method, as the \TIDR m Secondly, further simulations were performed to evaluate the effectiveness of the proposed error resiliency method under realistic packet loss patterns. %As in previous experiments, each coded frame is transmitted in one packet. Table~\ref{Table3:AverageStdPSNR} illustrates the average standard deviation of the PSNR, for three of the test sequences. -The results show that increasing the \ac{plr} leads to higher quality deviations, and the impact of errors in the subjective quality experience is higher. -However, reducing the temporal dependencies of the \acs{mv} using the proposed method decreases the quality differences variation, achieving the lowest value for all scenarios tested. The proposed method is able to reduce the quality difference variations up to 0.94 dB in Kendo sequence (3$\%$ of packet loss) compared to the~\TIDR~method. +The results show that increasing the \ac{plr} leads to higher quality deviations and that the impact of errors in the subjective quality experience is higher. +However, reducing the temporal dependencies of the \acs{mv} using the proposed method decreases the quality differences variation, achieving the lowest value for all tested scenarios. The proposed method is able to reduce the quality difference variations up to 0.94 dB for Kendo sequence (3$\%$ of packet loss) compared to the~\TIDR~method. Since the proposed method achieves the lowest \ac{psnr} standard deviation, one may conclude that it is able to reduce the quality variations leading to a better visual quality. %\HIGHLIGHT{vantagem do std} @@ -395,9 +401,11 @@ Since the proposed method achieves the lowest \ac{psnr} standard deviation, one Table~\ref{Table3:AverageResultsProposed} shows the Bjontegaard's average \ac{psnr} increase \cite{BJResults2001}. The results are obtained taking as reference the standard \ac{hevc} encoder. % The results are obtained taking as reference the standard \ac{hevc} encoder, in order to evaluate the quality difference when temporal \ac{mv} candidates are disabled in both error free and under error-prone conditions. The results presented in Table~\ref{Table3:AverageResultsProposed} show that the proposed method presents practically the same rate-distortion performance when compared to \TIDR method. -In general, the average quality, in an error-free scenario, is only decreased by 0.028 dB in comparison to the \TIDR method and by 0.034 dB in comparison to the reference encoder. +In general, the average quality, in an error-free scenario, only decreases 0.028 dB in comparison to the \TIDR method and 0.034 dB in comparison to the reference encoder. However, the proposed method widely outperforms the reference \TIDR technique~\cite{DynamicTMVP2011} in terms of error resiliency performance, achieving in average higher overall quality under error-prone conditions. -The effectiveness of the proposed method increases at higher packet loss rates (\emph{e.g.},~$5\%$), achieving an average gain of 0.573 dB, and a maximum gain of 1 dB (PSNR) for the Book Arrival sequence, when compared to the \TIDR technique. Higher gains are achieved when compared with the reference \ac{hevc} encoder, as shown in Table~\ref{Table3:AverageResultsProposed}. +The effectiveness of the proposed method increases at higher packet loss rates (\emph{e.g.},~$5\%$), achieving an average gain of 0.64 dB ($1.34 - 0.70$), and a maximum gain of 1 dB ($1.44-0.43$) for the Book Arrival sequence , when compared to the \TIDR technique. Higher gains are achieved when compared with the reference \ac{hevc} encoder, as shown in Table~\ref{Table3:AverageResultsProposed}. + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % SECTION @@ -406,7 +414,7 @@ The effectiveness of the proposed method increases at higher packet loss rates ( \label{Section3:Summary} In this chapter, the error resilience performance of \ac{hevc} was studied in detail under error prone conditions. -The simulation results revealed that new coding tools introduced in \ac{hevc} to improve coding efficiency are also responsible for higher error propagation. +The simulation results revealed that new coding tools introduced in \ac{hevc} to improve coding efficiency are partially responsible for higher error propagation. This motivates further research on new techniques to be developed for highly efficient encoders and decoders, in order to increase error resiliency and to improve the overall performance of video broadcast. Then, a new approach to deal with the weak robustness of \ac{mv} coding was proposed, addressing \ac{mv} dependencies at \ac{cu} level. The proposed method selectively disables the temporal \ac{mv} candidates, in order to break the dependencies across more than one frame. The experimental evaluation was able to demonstrate that the proposed method increases the error robustness and outperforms existing state-of-the-art methods and the reference codec. diff --git a/031_ErrorResilienceEvaluation/QualityEvaluation/TableMVPs.tex b/031_ErrorResilienceEvaluation/QualityEvaluation/TableMVPs.tex index 31fd01a..dba2c2a 100644 --- a/031_ErrorResilienceEvaluation/QualityEvaluation/TableMVPs.tex +++ b/031_ErrorResilienceEvaluation/QualityEvaluation/TableMVPs.tex @@ -130,7 +130,7 @@ \multirow{2}{*}{\centering\textbf{Sequence}} & \multirow{2}{*}{\vbox{\centering\textbf{TMVP}}} & \multirow{2}{*}{\vbox{\centering\textbf{Error Free}}} & \multicolumn{3}{c}{\textbf{\TABLEPLRLABEL}} \\ & & & \textbf{1\%} & \textbf{5\%} & \textbf{10\%} \\ \hline - \multicolumn{6}{c}{Low-Delay configuration} \\ + \multicolumn{6}{c}{Low-delay configuration (LD)} \\ \hline \multirow{\nlines}{*}{\vbox{Basket Drill}} & Enabled & 38.69 & 34.73 & 27.92 & 25.41 \\ @@ -170,7 +170,7 @@ \multicolumn{2}{c|}{\textbf{Average difference}} & \textbf{-0.04} & \textbf{+3.04} & \textbf{+5.32} & \textbf{+5.17} \\ \midrule \midrule - \multicolumn{6}{c}{Random-Access configuration} \\ + \multicolumn{6}{c}{Random-access configuration (RA)} \\ \hline \multirow{\nlines}{*}{\vbox{Basket Drill}} & Enabled & 39.48 &36.84 & 30.50 & 27.15 \\ diff --git a/031_ErrorResilienceEvaluation/TablesSequences.tex b/031_ErrorResilienceEvaluation/TablesSequences.tex index c7d7d45..69bcd42 100644 --- a/031_ErrorResilienceEvaluation/TablesSequences.tex +++ b/031_ErrorResilienceEvaluation/TablesSequences.tex @@ -41,6 +41,7 @@ {Kimono \newline $1920\times1080@24Hz$} & 23.4 / 32.5 & 83.0 & 8.00 & Capture of a women moving in a forest with moderate motion \\ \hline {Kristen and Sara \newline $1280\times720@60Hz$} & 25.6 / 6.30 & 93.1 & 15.00 & Two persons talking to each other with moderate motion \\ \hline {Park Scene \newline $1920\times1080@24Hz$} & 31.3 / 11.6 & 92.0 & 10.00 & Moderate motion with cyclists passing across the scene \\ \hline +{Party Scene \newline $832\times480@50Hz$} & 52.8 / 11.4 & 89.8 & 4.50 & \\ \hline {People on Street \newline $2560\times1600@24Hz$} & 40.0 / 25.4 & 87.4 & 12.00 & With point capture of people moving; high motion and texture complexity \\ \hline {Race Horses \newline $832\times480@30Hz$} & 43.7 / 24.4 & 79.7 & 8.00 & High motion with several horse riders \\ \hline {Tennis \newline $1920\times1080@30Hz$} & 20.3 / 45.3 & 76.2 & 5.00 & High motion with one moving person in the scene \\ \hline diff --git a/041_ImprovedErrorResilience/ImprovedErrorResilience.tex b/041_ImprovedErrorResilience/ImprovedErrorResilience.tex index eb6c3ca..71d9e0d 100644 --- a/041_ImprovedErrorResilience/ImprovedErrorResilience.tex +++ b/041_ImprovedErrorResilience/ImprovedErrorResilience.tex @@ -3,7 +3,7 @@ \graphicspath{{\ImprovedErrorResilience/Results/}} -\chapter{A Two-stage Approach for Robust Coding and Streaming \VERSION{1}} +\chapter{A Two-stage Approach for Robust Coding and Streaming \VERSION{2}} % \chapter{Error Resilience Techniques for \ac{hevc} Standard} %\chapter{Two-stage Robust Video Coding} \label{Chapter:ErrorResilienceTechniques} @@ -13,6 +13,8 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Introduction} +\glsreset{pu} +\glsreset{ctu} \glsreset{mv} \glsreset{rd} @@ -20,10 +22,10 @@ \glsreset{ld} %The increased compression ratios achieved by the \ac{hevc} standard lead to reduced robustness of coded streams, with increased susceptibility to network errors and consequent video quality degradation, as shown in Chapter~\ref{Chapter:HEVCErrorResilience}. -Therefore, this chapter proposes a coding method, based on a two-stage approach, to improve the error robustness of \ac{hevc} streaming, by reducing temporal error propagation in case of frame loss. -This is accomplished by reducing the prediction mismatch that occurs at the decoder after frame loss through the following two stages: (i) at the encoding stage, the reference pictures are dynamically selected based on constraining conditions and Lagrangian optimisation, which distributes the use of reference pictures throughout each frame, by reducing the number of \acs{pu} that depend on a single reference; (ii) at the streaming stage, a \ac{mv} prioritisation algorithm, based on spatial dependencies, selects an optimal sub-set of \acs{mv} to be transmitted, redundantly, as side information to reduce mismatched \ac{mv} predictions at the decoder. +This chapter proposes a coding method, based on a two-stage approach, to improve the error robustness of \ac{hevc} streaming, by reducing temporal error propagation in case of frame loss. +This is accomplished by reducing the prediction mismatch that occurs at the decoder after frame loss, through the following two stages: (i) at the encoding stage, the reference pictures are dynamically selected based on constraining conditions and Lagrangian optimisation, which distributes the use of reference pictures throughout each frame, by reducing the number of \acs{pu} that depend on a single reference; (ii) at the streaming stage, a \ac{mv} prioritisation algorithm, based on spatial dependencies, selects an optimal sub-set of \acs{mv} to be transmitted, redundantly, as side information to reduce mismatched \ac{mv} predictions at the decoder. -This chapter is organized as follows. Section~\ref{Section4:Problem} presents the problem definition and motivation for the method proposed in this chapter. Section~\ref{Section4:Architecture} provides an overview of the proposed method, describing the functional blocks that compose the two-stage approach for robust coding and streaming. Section~\ref{Section4:RefPicSel} describes the encoding stage of the proposed method, that is used to select the optimal reference picture for inter-prediction. Section~\ref{Section4:MVSelection} describes the streaming stage used to select a sub-set of \acs{mv} to reduce the mismatch motion predictions. Section~\ref{Section4:Performance} provides a performance evaluation of the proposed method, illustrating the advantages of each stage and how they are combined to achieve superior error robustness in \ac{hevc} standard. Finally, Section~\ref{Section4:Summary} concludes the chapter. +This chapter is organized as follows. Section~\ref{Section4:Problem} presents the problem definition and motivation for the method proposed in this chapter. Section~\ref{Section4:Architecture} provides an overview of the proposed method, describing the functional blocks that compose the two-stage approach for robust coding and streaming. Section~\ref{Section4:RefPicSel} describes the encoding stage of the proposed method, that is used to select the optimal reference picture for inter-prediction. Section~\ref{Section4:MVSelection} describes the streaming stage where a sub-set of \acs{mv} are selected to reduce the mismatch motion predictions. Section~\ref{Section4:Performance} provides a performance evaluation of the proposed method, illustrating the advantages of each stage and how they are combined to achieve superior error robustness in \ac{hevc} standard. Finally, Section~\ref{Section4:Summary} concludes the chapter. \clearpage %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -33,8 +35,8 @@ This chapter is organized as follows. Section~\ref{Section4:Problem} presents th \label{Section4:Problem} -As mentioned before \ac{hevc} bitstreams subject to transmission losses result in significant degradation of both objective and subjective quality. -This is mostly due to the strong decoding dependencies imposed by the highly complex prediction modes, which are selected according to a \ac{rd} optimisation criteria, assuming error-free transmission~\cite{ROPE2007}. +As previously mentioned,\ac{hevc} bitstreams subject to transmission losses result in significant degradation of both objective and subjective quality. +This is mostly due to the strong decoding dependencies imposed by the highly complex prediction modes, which are selected according to a \ac{rd} optimisation criteria that assumes error-free transmission~\cite{ROPE2007}. Therefore, high compression efficiency is achieved, but resilience to transmission errors is penalised. \begin{figure}[tb] @@ -44,20 +46,21 @@ Therefore, high compression efficiency is achieved, but resilience to transmissi \label{FIG4:ReferenceUsageRatio} \end{figure} -Highly efficient video encoders support the use of multiple reference frames for inter-frame prediction, which are selected based on a \ac{rd} cost which may lead to an unbalance distribution. -In order to show evaluate the unbalanced is the reference frame selection attained by the \ac{rd} implemented in the reference \ac{hevc} encoder, different test sequences are encoded using two reference frames, referred to as $r_1$ and $r_2$, and its selection ratios are analysed. In this study, reference $r_1$ corresponds to the closest neighbouring frame and reference $r_2$ the second closest. +Highly efficient video encoders support the use of multiple reference frames for inter-frame prediction, which are selected based on a \ac{rd} cost that may lead to an unbalance distribution. +In order to evaluate the reference frame selection method attained by the \ac{rd} implemented in the reference \ac{hevc} encoder, different test sequences are encoded using two reference frames, referred to as $r_1$ and $r_2$, and its selection ratios are analysed. In this study, reference $r_1$ corresponds to the closest neighbouring frame and reference $r_2$ the second closest. Figure~\ref{FIG4:ReferenceUsageRatio} illustrates the average usage percentage of reference $r_1$ for different sequences. -The remaining corresponds to those cases where reference $r_2$ were selected. +The remaining corresponds to those cases where reference $r_2$ is selected. These results show that, in general, reference $r_1$ is selected more often than $r_2$. -This is mainly true for sequences with higher motion. For those sequences with lower motion but high spatial complexity, e.g., BQSquare (see \ac{si} in Table~\ref{TableTestSequences}), both reference frames equally (approximately) selected for temporal predictions, with $r_1$ being used for 58\% of cases and $r_2$ for 42\%. -This reveals that even with a configuration with two references the encoder will mainly use the temporally closer one as the reference for inter-frame predictions. +This is mainly true for sequences with higher motion. +For those sequences with lower motion, but high spatial complexity, e.g., BQSquare (see \ac{si} in Table~\ref{TableTestSequences}), both reference frames are equally (approximately) selected for temporal predictions, with $r_1$ being used by 58\% of cases and $r_2$ by 42\%. +This reveals that even with a configuration using only two references the encoder mainly uses the temporally closer one as the reference for inter-frame predictions. Therefore, if such reference frame is lost, a higher number of mismatched predictions will occur, inevitabely leading to higher error propagation. - Another technique that contributes to increased error propagation is the use of predictions in \ac{mv} coding~\cite{MotionCodingHEVC2011}, which contributes to increase the spatial and temporal dependencies. Although the spatial \ac{mv} candidates are used more often, temporally predicted \acs{mv} are responsible for a greater impact on error propagation, as they propagate errors in the \ac{mv} decoding across different time instances. -To overcome these issues, in the next sections a two-fold approach is described to increase the error robustness in video streaming by jointly considering two different stages: (i) while encoding live video, by selecting robust coding modes and (ii) after encoding, by adding robust features to the compressed streams. While in the former this is accomplished by optimising coding parameters and decisions to increase robustness, in the latter some type of compressed domain processing is used to increase error robustness of pre-encoded streams, e.g., error resilient transcoding. Inevitably, in both cases this is achieved at the expense of some loss in coding efficiency, therefore the challenge is to find an optimum trade-off between robustness and bitrate overhead. In this chapter a two-fold approach is used to overcome the two problems mentioned above. +To overcome these issues, in the next sections a two-fold approach is described to increase the error robustness in video streaming by jointly considering two different stages: (i) while encoding live video, by selecting robust coding modes and (ii) after encoding, by adding robust features to the compressed streams. While in the former this is accomplished by optimising coding parameters and decisions to increase robustness, in the latter some type of compressed domain processing is used to increase error robustness of pre-encoded streams, e.g., error resilient transcoding. Inevitably, in both cases this is achieved at the expense of some loss in coding efficiency, therefore the challenge is to find an optimum trade-off between robustness and bitrate overhead. +%In this chapter a two-fold approach is used to overcome the two problems mentioned above. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% SECTION %% @@ -74,9 +77,10 @@ D_t = \tilde f_t - \hat f_t, \text{when } \tilde f_{t-1} \neq \hat f_{t-1}, where $\hat f_t$ and $\tilde f_t$ are the encoded and decoded frames, respectively, at instant $t$. Figure \ref{fig:proposedMethod} illustrates the block diagram of the two-stage architecture proposed in this work. -At the encoding stage, a reference frame selection mechanism is used for each \ac{pu} within a coding tree unit (\ac{ctu}) forcing the use of different reference frames in adjacent \acs{ctu}. The decision criterion contributes to reduce the amount of predictions from a single reference frame, and forces to interleave different reference frames along all encoded \acs{pu}, based on \ac{rd} optimisation. +At the encoding stage, a reference frame selection mechanism is used for each \ac{pu} within a \ac{ctu}, by forcing the use of different reference frames for adjacent \acs{ctu}. +The decision criterion contributes to reduce the amount of predictions from a single reference frame and forces to interleave different reference frames along all encoded \acs{pu}, based on \ac{rd} optimisation. At the streaming stage, the coded stream is parsed to extract the \ac{mv} information, which allows ranking \acs{mv} according to a relevance criterion. Then, a sub-set of these \acs{mv} is selected to be transmitted as side information. The amount of selected \acs{mv} is not fixed and can be optimised for different content and network characteristics. -Note that the streaming stage is an independent and complementary subsystem to the encoder. Thus, it is able to operate at network nodes, including streaming servers delivering pre-encoded streams. +Note that the streaming stage is an independent and complementary subsystem of the encoder. Thus, it is able to operate at network nodes, including streaming servers delivering pre-encoded streams. \begin{figure}[tb] \centering @@ -86,8 +90,8 @@ Note that the streaming stage is an independent and complementary subsystem to t \label{fig:proposedMethod} \end{figure} -In case of frame loss these two stages have the common objective of helping the decoder to recover from mismatched predictions at the expense of a small increase in bitrate. -This is equivalent to reducing the error propagation by using two techniques: (i) reducing the mismatch of inter-frame predictions, by encoding each \ac{pu} from a different reference frame and (ii) reducing the mismatch of \ac{mv} predictions by sending the most important \acs{mv} as side information. These are the two stages of the proposed method described in the following sections. +In case of frame loss, these two stages have the common objective of helping the decoder to recover from mismatched predictions at the expense of a small increase in bitrate. +This is equivalent to reduce the error propagation by using two techniques: (i) reducing the mismatch of inter-frame predictions, by encoding each \ac{pu} from a different reference frame and (ii) reducing the mismatch of \ac{mv} predictions by sending the most important \acs{mv} as side information. These are the two stages of the proposed method described in the following sections. @@ -96,14 +100,14 @@ This is equivalent to reducing the error propagation by using two techniques: (i The reference picture selection mechanism attempts to uniformly distribute the use of different reference pictures across the \ac{ctu} of a coded video frame. -In case of frame loss, the error propagation in the decoder is reduced because the number of \acs{ctu} predicted from the lost frame decreases and thus error concealment benefits as more data is correctly decoded from other frames. +In case of frame loss, the error propagation in the decoder is reduced because the number of \acs{ctu} predicted from the lost frame decreases and thus error concealment benefits as more data is correctly decoded from other reference frames. The underlying principle of this method is to minimise the probability of using the same reference picture for neighbouring \acs{ctu}. %For instance, In a coding structure with two reference frames, as shown in Figure~\ref{fig:checkerboardRefSelection}, the reference frames $r_{1}$ and $r_{2}$ are used to predict the same number of \acs{ctu} in current frame~($C$), resulting in a checkerboard structure, where a different reference frame is used for predicting every other \ac{ctu} within the current frame. If each reference frame is used to predict half of the pixels in the current frame, when any of these references is lost, the subsequent predicted frame is only partially distorted by mismatched predictions. This is because only half of its predictions depend on the missing reference frame, which limits the overall error propagation. -Moreover, since the motion information of the predicted frame is encoded with not only reference to the missing frame but also to the past ones, those \acs{mv} that cross over a missing reference frame, pointing to the previous ones, are still useful for reconstructing correct \acs{mv} and also for error concealment. +Moreover, since the motion information of the predicted frame is encoded using as reference not only the missing frame but also the past ones, those \acs{mv} that cross over a missing reference frame, pointing to the previous ones, are still useful for reconstructing correct \acs{mv} and also for error concealment. In the limit, a straightforward implementation of the previous example leads to a simple interleaved uniform distribution of the reference frames over all \acs{ctu} in the current frame, forcing the checkerboard structure shown in Figure \ref{fig:checkerboardRefSelection}. In the case of two reference frames, 50\% of the \acs{ctu} would use one reference frame, while the other 50\% would use the other reference. However, such solution would not take into consideration coding efficiency, since the selection process of the reference frame would not be \ac{rd} optimised for each \ac{pu} within a \ac{ctu}. @@ -144,7 +148,7 @@ The global and local deviations, $\Delta_G (r_\phi)$ and $\Delta_L (r_\phi)$, r \begin{equation}\label{eq:KFactorXValue} \Delta_\zeta(r_{\phi}) = \mathbf{N}_\zeta(r_\phi) - \frac{1}{S} \sum_{i=1}^{S}\mathbf{N}_\zeta(r_i), \hspace{2mm} \zeta=G,L. \end{equation} -For $\zeta=G$, function $\Delta_G(r_\phi)$ measures the difference between the number of times that reference frame $r_\phi$ was used and the global average use of all $r_i \in F$ in the \acs{pu} of $C$ that were encoded before the current \ac{pu}. $\mathbf{N}_G(r_i)$ is the number of times that each reference frame $r_i$ was used across all previously encoded \acs{pu}. For $\zeta=L$, function $\Delta_L(r_\phi)$ only considers the three top-left neighbouring \acs{ctu} for counting the number of times each reference frame was used, which is expressed by $\mathbf{N}_L(r_i)$. Overall, Equation (\ref{eq:KFactorXValue}) is used to adjust the penalty weight defined by Equation (\ref{eq:KFactor}) in order to achieve an approximately uniform use of all possible reference frames. This corresponds to the general objective of minimising the values of $\Delta_\zeta(r_{\phi})$. +For $\zeta=G$, function $\Delta_G(r_\phi)$ measures the difference between the number of times that reference frame $r_\phi$ was used and the global average use of all $r_i \in F$ in the \acs{pu} of $C$ that were encoded before the current \ac{pu}. $\mathbf{N}_G(r_i)$ is the number of times that each reference frame $r_i$ was used across all previously encoded \acs{pu}. For $\zeta=L$, function $\Delta_L(r_\phi)$ only considers the three top-left neighbouring \acs{ctu} for counting the number of times each reference frame was used, which is expressed by $\mathbf{N}_L(r_i)$. Overall, Equation (\ref{eq:KFactorXValue}) is used to adjust the penalty weight defined by Equation (\ref{eq:KFactor}), in order to achieve an approximately uniform use of all possible reference frames. This corresponds to the general objective of minimising the values of $\Delta_\zeta(r_{\phi})$. The optimum is reached when all reference frames are used to encode the same amount of \acs{pu} (i.e., $\Delta_G(r_{\phi})=\Delta_L(r_{\phi})=0$), and the original Lagrangian cost is not affected, i.e., $e^{W(r_{\phi})}=1$ in Equation (\ref{eq:Lagrangian}). Note that an exponential cost increase is used in Equation (\ref{eq:Lagrangian}) in order to increase the penalty associated to any reference frame that tends to be used much more often than the average. @@ -183,7 +187,7 @@ For instance, for $\gamma=5$, when a reference frame $r_\phi$ is used to predict \FIGSVSPACE \end{figure*} -Figure~\ref{fig:RefPicSelectionExample} illustrates the distribution of reference frames achieved by the proposed method across different \acs{pu}. This result is compared against a fixed checkerboard approach (\CHKB) and the reference \ac{hevc} (\REF). The dark-gray and light-gray squares indicate the reference frame in use, either $r_1$ or $r_2$, respectively. The white squares indicate intra-coded \acs{pu}. Below each method, the percentages of the image areas predicted by each reference frame are shown. As shown in this figure, the proposed method is able to distribute the use of the reference frames closely to the \CHKB method, i.e., $r_2$ is used as reference for approximately the same amount of \acs{pu} as $r_1$ (see use percentages of the predicted image). However, the predicted regions in the proposed method do not exhibit the same regular pattern as in \CHKB method. +Figure~\ref{fig:RefPicSelectionExample} illustrates the distribution of reference frames achieved by the proposed method across different \acs{pu}. This result is compared against a fixed checkerboard approach (\CHKB) and the reference \ac{hevc} (\REF). The dark-gray and light-gray squares indicate the reference frame in use, either $r_1$ or $r_2$, respectively. The unfilled squares indicate intra-coded \acs{pu}. Below each method, the percentages of the image areas predicted by each reference frame are shown. As shown in this figure, the proposed method is able to distribute the use of the reference frames closely to the \CHKB method, i.e., $r_2$ is used as reference for approximately the same amount of \acs{pu} as $r_1$ (see use percentages of the predicted image). However, the predicted regions in the proposed method do not exhibit the same regular pattern as in \CHKB method. It is noticeable in Figure~\ref{fig:RefPicSelectionExample} that for several \acs{ctu} the \PROP method is able to keep the same partitions and reference frames when compared to the optimal encoding (\REF). This can be observed, for example in the small partitions on the left, where the \PROP method uses the same reference frame as \REF. Thus, the proposed method is expected to achieve better coding efficiency than \CHKB, since more optimal coding modes may be chosen. % TID aqui? @@ -212,7 +216,7 @@ In this figure, each block corresponds to a \ac{pu}, which has an associated \ac While the \ac{mv} of \ac{pu} \MVDEPA is used to predict a total of four other \acs{mv}, the \ac{mv} of \ac{pu} \MVDEPB is only used to predict one single \ac{mv}. Thus, in case of data loss (e.g., frame $f_{-1}$), the \ac{mv} of \ac{pu} \MVDEPA has more impact on error propagation to the frame $f_{0}$ and consequently quality degradation than the \ac{mv} of \ac{pu} \MVDEPB, because of its higher number of dependent \acs{mv}. For this reason, in the \ac{mv} selection process, the proposed method assigns higher importance to the \ac{mv} of \ac{pu} \MVDEPA than \ac{pu} \MVDEPB. Moreover, in Figure~\ref{fig:mvdependencies}, it can be observed that although the number of \acs{mv} predicted from the \acs{mv} of \ac{pu} \MVDEPC is higher than \ac{pu} \MVDEPA (6 and 4 \acs{mv}, respectively), -the image area that is dependent from the former is smaller that the latter. This is due to the variable size of \acs{pu}. +the image area that depends on the former is smaller that the latter. This is due to the variable size of \acs{pu}. Therefore, the image area covered by all dependent \acs{pu} is separately considered in the \ac{mv} selection process. \begin{figure}[tb] @@ -242,9 +246,9 @@ where $R_U$ is the amount of bits required to encode the $n$ \acs{mv} of $U$ and \begin{equation} A_{D}(i) = \sum_{j=1}^{DV_i} ( w_j\times h_j ),\hspace{2mm} i = 1, 2 \cdots s, \end{equation} -where $DV_i$ is the number of \acs{mv} dependent from $MV_i$ and $w_j$ and $h_j$ are the width and height of the corresponding \ac{pu}. +where $DV_i$ is the number of \acs{mv} dependent from $MV_i$, and $w_j$ and $h_j$ are the width and height of the corresponding \ac{pu}. A weighting factor is used to control the amount of bitrate overhead ($R_U$), by increasing the cost of the number of encoded bits based on the duration of the error propagation. -It is given by the ratio between the distance from the current frame ($t_c$) to the next refresh frame ($t_I$) and the \ac{idr} period ($T_{I}$), combined with the control parameter $\alpha$. +This duration is given by the ratio between the distance from the current frame ($t_c$) to the next refresh frame ($t_I$) and the \ac{idr} period ($T_{I}$), combined with the control parameter $\alpha$. This weight varies in the range $\left[0;1 \right]$, achieving the lowest value for intra-coded frames and the maximum for the frame located immediately before an intra-coded one. In the proposed approach, for higher values of $\alpha$, less redundant \acs{mv} are selected. As pointed out before, this streaming stage operates on coded data and may be implemented at any point of the network, to increase robustness without fully decoding the stream. Note that the parsing operation represented in Figure~\ref{fig:proposedMethod} does not include decoding of the video frames. Furthermore, only one frame delay is introduced because the \ac{mv} selection process is performed on a frame-by-frame basis. @@ -281,7 +285,7 @@ The evaluation of the encoding-stage is carried out separately from the streamin \subsection{Encoding stage} -The performance of the encoding stage is evaluated on its own in order to only determine the improvements achieved by the dynamic reference frame selection method. +The performance of the encoding stage is evaluated on its own, in order to only determine the improvements achieved by the dynamic reference frame selection method. In this case, the reference frames were reconstructed with distortion, as a result of non-perfect error concealment. Since the encoding stage does not deal with errors in temporal \ac{mv} predictions (this is handled by the streaming-stage), in this evaluation the temporal \ac{mv} predictor is disabled. This is necessary to avoid masking the results with the errors caused by wrong \ac{mv} predictions. @@ -311,9 +315,9 @@ This value was chosen to allow increasing the Lagrangian cost by about $50\%$, \label{fig:RecoveredExample} \end{figure} -The error robustness achieved by the encoding-stage was firstly evaluated in regards to the error propagation resulting from a single loss event in the \ac{ld} configuration. +The error robustness achieved by the encoding-stage was firstly evaluated in regards to the error propagation, resulting from a single loss event in the \ac{ld} configuration. Figure~\ref{fig:RecoveredExample} shows the visual impact of error propagation on a region of the decoded Frame \#10 when Frame \#9 is affected by errors, for Basketball Drill and Race Horses sequences (the \ac{psnr} corresponds to the entire frame). -The proposed method is compared with the method~in~\cite{ROPERefGenJan2010} as both aim at reducing the error propagation. +The proposed method is compared with the method~in~\cite{ROPERefGenJan2010}, as both aim at reducing the error propagation. The method~in~\cite{ROPERefGenJan2010} uses filtered frames as reference for predictions, therefore, in case of errors, the effects of mismatch predictions are significantly reduced by the filtering operation (see Sub-Section~\ref{SECTION2:LeakyPred}). As shown in this figure, the proposed method is able to reduce the impact of mismatch decoding in comparison with the method~in~\cite{ROPERefGenJan2010}. Although both methods still reveal some predictions mismatch leading to inaccurate reconstructed of the objects contours, the proposed method is able to achieve a smoother reconstruction, which leads to higher quality in terms of \ac{psnr}. This is because, in frame \#10, the predictions depending on the missing frame \#9 are not used throughout the entire frame, thus, approximately half of the predictions are not affected by errors. In contrast, the method~in~\cite{ROPERefGenJan2010} requires several filtering operations to be applied (i.e, different reference frames need to be filtered) in order to reduce the effect of mismatch predictions. Summarising, the reconstructed frames illustrated in Figure~\ref{fig:RecoveredExample} reveal the higher efficiency achieved by distributing the use of the references frames. @@ -348,7 +352,7 @@ In \cite{ROPERefGenJan2010}, the use of interpolated references in the encoding The proposed method is also able to outperform the \ac{hevc} reference software when an hierarchical coding structure is used (see results for \ac{ra} configuration in Table~\ref{tab:AverageQualityCHKBEXPRandomAccess}), which implicitly limits the error propagation. In comparison to the reference \ac{hevc}, quality improvements up to $1.42$~dB at PLR=$10\%$ are obtained for Kendo sequence.%, while the average gain across all test sequences is 1~dB. -When comparing results for both test cases, it is noticeable that the proposed method is able to outperform the reference methods both when \ac{idr} frame loss is allowed or not (\LOSTALL and \KEEPINTRA, respectively). As the \ac{plr} increases, the gains of the proposed method decrease in comparison with the case where the \ac{idr} frames are delivered error-free (i.e., case \KEEPINTRA), due to the higher error propagation of the missing \ac{idr} frame. Moreover, the quality gains are lower in the \LOSTALL case when comparing with \KEEPINTRA for the same \ac{plr}, for both the \ac{ld} and \ac{ra}. +When comparing results for both test cases, it is noticeable that the proposed method is able to outperform the reference methods for both cases, when \ac{idr} frame loss is allowed or not (\LOSTALL and \KEEPINTRA, respectively). As the \ac{plr} increases, the gains of the proposed method decrease in comparison with the case where the \ac{idr} frames are delivered error-free (i.e., case \KEEPINTRA), due to the higher error propagation of the missing \ac{idr} frame. Moreover, the quality gains are lower in the \LOSTALL case when comparing with \KEEPINTRA for the same \ac{plr}, for both the \ac{ld} and \ac{ra}. Taking into account the above results and the spatio-temporal information shown in Table~\ref{TableTestSequences}, one can observe that the performance of the proposed method is lower for sequences with high spatial details and low temporal activity (e.g., BQSquare and Park Scene), which indicates higher effectiveness for video content with higher motion activity. %\HIGHLIGHT{complete with analysis of both cases} @@ -359,7 +363,7 @@ Taking into account the above results and the spatio-temporal information shown %\includegraphics[width=\FIGSIZE,page=1]{\ImprovedErrorResilience/Results/PSNRversusGama} %\includegraphics[width=\FIGSIZE,page=2]{\ImprovedErrorResilience/Results/PSNRversusGama} \input{./041_ImprovedErrorResilience/Results/PSNRversusGama.tex} - \caption{Influence of the $\gamma$ parameter in the average quality gains, compared with \REF, for different \acs{plr}.} + \caption{Influence of the $\gamma$ parameter in the average quality gains, comparing the proposed method with \REF, for different \acs{plr}.} \label{fig:QualityVsGamma} \end{figure} @@ -371,7 +375,7 @@ The influence of the $\gamma$ parameter used in Equation (\ref{eq:KFactor}) on t Figure \ref{fig:QualityVsGamma} shows the average quality gains of the proposed method in comparison to the reference \ac{hevc} (\REF) across all test sequences, for different values of $\gamma$. For the error-free case (PLR=0\%), the results in this figure show that increasing $\gamma$ leads to a decrease in the coding efficiency, especially in the \ac{ld} configuration. The reason is that higher values of $\gamma$ lead to higher values of $W(r_{\phi})$, therefore the reference picture selection cost is severely constrained by the exponential weights. -Since $T_{ID}$ is constant for all frames in the \ac{ld}, higher weights are used for all frames ($T_{ID}$ is used to reduce the weights in case of hierarchical coding) and the encoder is not able to select the best reference frame in \c{rd} sense. +Since $T_{ID}$ is constant for all frames in the \ac{ld}, higher weights are used for all frames ($T_{ID}$ is used to reduce the weights in case of hierarchical coding) and the encoder is not able to select the best reference frame in the \ac{rd} sense. In the case where packet loss occurs, higher values of $\gamma$ lead to improved error resilience. Since higher weights are used in the \ac{rd} cost, the encoder is constrained to distribute the use of the reference frames of different \acs{pu}, reducing the error propagation. For very high values (e.g., $\gamma=1000$) the encoder is forced to uniformly select the reference frames, resulting in a fixed checkerboard pattern. @@ -422,7 +426,7 @@ The relative complexity increase of the robust encoder using \PROP, \CHKB and th As shown in this table, the method presented in \cite{ROPERefGenJan2010} is the most time consuming because it requires post-processing of the encoded frames in order to interpolate new references. -The proposed scheme, using a reference picture selection, presents a lower complexity increase than \cite{ROPERefGenJan2010}, while the fixed checkerboard scheme (\CHKB) presents a slightly lower complexity \PROP method. +The proposed scheme, using a reference picture selection, presents a lower complexity increase than \cite{ROPERefGenJan2010}, while the fixed checkerboard scheme (\CHKB) presents a slightly lower complexity than \PROP method. This is due to the fact that in the \CHKB method there is no \ac{rd} optimisation process for the reference frame selection (fixed pattern is used), thus reducing the overall computational complexity. @@ -453,7 +457,14 @@ Different values of $\alpha$ are used to achieve different overhead ratios. All \subsubsection{Dynamic MV selection performance} -\begin{figure}[!b] +Firstly the quality obtained by the proposed method, which dynamically selects the amount of redundant \acs{mv}, is compared to cases where a fixed amount of \acs{mv} per frame are transmitted (i.e., the most important 10\%, 30\% and 50\% $\ac{mv} \in V$). This cased are referred to as "\DYN" and "\FIXED", respectively. + +%In the case where variable redundancy is allowed, \acs{mv} are selected using the proposed dynamic method (Dyn) and a fixed approach (Fixed). +Figure~\ref{fig:QualityVsRedundancyMVSelection} illustrates the relation between the quality obtained (\ac{psnr}) and the amount of redundancy used. +The results indicate that for approximately the same amount of redundant bits are used in both cases, however by using the proposed method to dynamically select the \acs{mv} to be used as side-information (\DYN) is able to outperform the fixed case for all test sequences. +Results also show that for both approaches the decoded video quality increases as the redundancy of the side-information increases, since a higher number of mismatch \ac{mv} predictions are able to be recovered. + +\begin{figure}[tb] \centering \newcommand{\CurrFigSize}{0.49\columnwidth} \includegraphics[width=\CurrFigSize,page=1]{\ImprovedErrorResilience/Results/PSNRvsRedundancy.pdf} @@ -462,19 +473,13 @@ Different values of $\alpha$ are used to achieve different overhead ratios. All \includegraphics[width=\CurrFigSize,page=4]{\ImprovedErrorResilience/Results/PSNRvsRedundancy.pdf} \includegraphics[width=\CurrFigSize,page=5]{\ImprovedErrorResilience/Results/PSNRvsRedundancy.pdf} \includegraphics[width=\CurrFigSize,page=6]{\ImprovedErrorResilience/Results/PSNRvsRedundancy.pdf} - \caption{Decoded video quality for different amounts of redundancy, selected by using a fixed approach and the proposed method.} + \caption{Decoded video quality for different amounts of redundancy, selected by using a fixed approach and the proposed method (\DYN).} \label{fig:QualityVsRedundancyMVSelection} \end{figure} -Firstly the quality obtained by the proposed method, which dynamically selecting the amount of redundant \acs{mv}, is compared to cases where a fixed amount of \acs{mv} per frame are transmitted (i.e., the most important 10\%, 30\% and 50\% $\ac{mv} \in V$). This cased are referred to as "\DYN" and "\FIXED", respectively. - -%In the case where variable redundancy is allowed, \acs{mv} are selected using the proposed dynamic method (Dyn) and a fixed approach (Fixed). -Figure~\ref{fig:QualityVsRedundancyMVSelection} illustrates the relation between the quality obtained (\ac{psnr}) and the amount of redundancy used. -The results indicate that for approximately the same amount of redundant bits are used in both cases, however by using the proposed method to dynamically select the \acs{mv} to be used as side-information (\DYN) is able to outperform the fixed case for all test sequences. -Results also show that for both approaches the decoded video quality increases as the redundancy of the side-information increases, since a higher number of mismatch \ac{mv} predictions are able to be recovered. - -It is noticeable in Figure~\ref{fig:QualityVsRedundancyMVSelection} that for higher \acs{plr}, the proposed method is able to achieve higher gains. This reveals that for increasing data loss it is more important optimise the amount of \acs{mv} selected per frame in order to use more \acs{mv} in those frames which have a higher impact of the error propagation. -For instance, the proposed method is able to gain up to $1.5$~dB for the BQSquare sequence for a PLR=10\$. +It is noticeable in Figure~\ref{fig:QualityVsRedundancyMVSelection} that for higher \acs{plr}, the proposed method is able to achieve higher gains. +This reveals that when data loss increases it is more important optimise the amount of \acs{mv} selected per frame, in order to use more \acs{mv} in those frames that have a higher impact on the error propagation. +For instance, the proposed method is able to gain up to $1.5$~dB for the BQSquare sequence subject to a PLR=10\%. For lower \acs{plr}, since fewer frames are affected by data losses, the use of a fixed approach achieves similar performance as the proposed method (\DYN). @@ -482,13 +487,13 @@ For lower \acs{plr}, since fewer frames are affected by data losses, the use of \subsubsection{Quality evaluation} -Table~\ref{tab:AverageQualityRedundancies} presents the average \ac{psnr} of decoded video for different \ac{plr} (columns~4~to~8) and for various percentages of \ac{mv} redundancy (third column). The absolute quality values are shown for the reference case (\NOREDUND) and \ac{psnr} gains are shown for thee different levels of redundancy introduced by the proposed method (\DYN). -This study also conducted for the two different cases, with and without \ac{idr} loss. +Table~\ref{tab:AverageQualityRedundancies} presents the average \ac{psnr} of decoded video for different \ac{plr} (columns~4~to~8) and for various percentages of \ac{mv} redundancy (third column). The absolute quality values are shown for the reference case (\NOREDUND) and \ac{psnr} gains are shown for three different levels of redundancy introduced by the proposed method (\DYN). +This study was also conducted for the two different cases, with and without \ac{idr} loss. -It can be confirmed from the results of Table~\ref{tab:AverageQualityRedundancies} that, for each sequence, as $\alpha$ decreases more redundant \acs{mv} are used leading to higher overhead rations. This results in higher objective video quality for all tested sequences. +It can be confirmed from the results of Table~\ref{tab:AverageQualityRedundancies} that, for each sequence, as $\alpha$ decreases more redundant \acs{mv} are used, leading to higher overhead rations. This results in higher objective video quality for all tested sequences. This confirms that redundant \acs{mv} are able to minimise the error propagation, which is accomplished at a cost of an acceptable increase in the bitrate, since only a sub-set of \acs{mv} is transmitted. -The use of redundant \acs{mv} yields better video quality for \ac{plr} as low as $1\%$, achieving higher quality gains when \ac{idr} frames are not lost (\KEEPINTRA). This is because of the higher quality degradation when \ac{idr} frames are lost, which is not due to mismatched \ac{mv} predictions and thus cannot be reduced by transmitting extra \acs{mv} as side-information. -The use the proposed method achieves higher quality for sequences with higher motion activity and which makes use of inter-prediction more often, i.e., BQSquare and Traffic sequences (see inter ratio in Table~\ref{TableTestSequences}), leading to a maximum gain of $3.93$~dB for \LOSTALL ($7.82$~dB for \KEEPINTRA). +The use of redundant \acs{mv} yields better video quality for \ac{plr} as low as $1\%$, achieving higher quality gains when \ac{idr} frames are not lost (\KEEPINTRA). This is because of the higher quality degradation when \ac{idr} frames are lost, which is not due to mismatched \ac{mv} predictions, and thus cannot be reduced by transmitting extra \acs{mv} as side-information. +The use the proposed method also achieves higher quality for sequences with higher motion activity that makes use of inter-prediction more often, i.e., BQSquare and Traffic sequences (see Inter ratio in Table~\ref{TableTestSequences}), leading to a maximum gain of $3.93$~dB for \LOSTALL ($7.82$~dB for \KEEPINTRA). \begin{table}[!t] \centering @@ -508,12 +513,12 @@ Thus, using the proposed two-stage approach to recover temporal predictions cons In this chapter a two-stage approach was proposed to increase the error robustness of \ac{hevc} streaming and reduce the error propagation in case of packet loss. A constrained coding approach was devised to select reference frames and dynamically distribute temporal dependencies. -This is jointly used with a controlled amount of side information in coded streams, comprising a small set of the most relevant \acs{mv}, to minimise \ac{mv} mismatch at the decoder in the presence of frame loss. +This is jointly used with a controlled amount of side information in coded streams, comprising a small set of the most relevant \acs{mv}, in order to minimise \ac{mv} mismatch at the decoder in the presence of frame loss. As can be concluded from the results, this method contributes to reduce the temporal dependencies with consistent quality gains for different \ac{plr} and coding configurations, only incurring in a small drop of coding efficiency. -Overall, the proposed approach is an effective method for coping with video transmission over error-prone networks. - - - +Overall, the proposed approach is an effective method to cope with video transmission over error-prone networks. + + +\todo{Papers here??} diff --git a/042_ConcealmentAwareEncoding/ConcealmentAwareEncoding.tex b/042_ConcealmentAwareEncoding/ConcealmentAwareEncoding.tex index 25029ee..5429d06 100644 --- a/042_ConcealmentAwareEncoding/ConcealmentAwareEncoding.tex +++ b/042_ConcealmentAwareEncoding/ConcealmentAwareEncoding.tex @@ -4,7 +4,7 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % CHAPTER %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\chapter{Error Concealment-Aware Video Encoding \VERSION{1}} +\chapter{Error Concealment-Aware Video Encoding \VERSION{2}} \label{Chapter:ConcealmentAwareTechniques} %\vspace{-6mm} %\clearpage @@ -19,12 +19,13 @@ \glsreset{ld} %\glsreset{rd} -In this chapter an error concealment-aware encoding scheme is proposed to improve the quality of decoded video in broadcast environments prone to transmission errors and data loss. +In this chapter an error concealment-aware encoding scheme is proposed to improve the quality of decoded video in broadcast environments prone to transmission errors and data loss. The method aims to enhance the reconstruction of recovered lost frames by optimising the efficiency of the \ac{ec}. The proposed scheme is based on a scalable coding approach where the best \ac{ec} methods to be used at the decoder are optimally determined at the encoder and signalled through \ac{sei} messages. Such optimal \ac{ec} modes are found by simulating transmission losses followed by a Lagrangian optimisation of the \textit{signalling rate - \ac{ec} distortion} cost. A generalised saliency-weighted distortion is used and the residue between coded frames and their EC substitutes is encoded using a rate-controlled enhancement layer. When data loss occurs the decoder uses the signalling information to improve the reconstruction quality. -This chapter is organized as follows. Section~\ref{Section5:Problem} presents the problem formulation and motivation for the method proposed in this chapter. In Section~\ref{Section5:ECCandidates} does an initial evaluation of different error concealment schemes in order to find the relevant ones to be used in the proposed error concealment-aware coding scheme. -Section~\ref{Section5:Architecture} provides an overview of the architecture of the proposed method followed by a detailed description in Section~\ref{Section5:ProposedMethod}. +This chapter is organized as follows. Section~\ref{Section5:Problem} introduces the problem definition and motivation for the method proposed in this chapter. +Section~\ref{Section5:ECCandidates} presents an initial evaluation of different error concealment schemes in order to find the relevant ones to be used in the proposed error concealment-aware coding scheme. +Section~\ref{Section5:Architecture} provides an overview of the proposed method architecture followed by a detailed description in Section~\ref{Section5:ProposedMethod}. Sections~\ref{Section5:ECSignallingPerformance}~and~\ref{Section5:OverallPerformance} present the performance results and discussion of the proposed \ac{ec} optimisation and signalling. Finally, Section~\ref{Section5:Summary} concludes the chapter. @@ -32,29 +33,29 @@ Finally, Section~\ref{Section5:Summary} concludes the chapter. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% SECTION %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\section{Problem formulation} +\section{Problem definition} \label{Section5:Problem} \glsreset{mve} \glsreset{mc} %\glsunset{mb} -In Chapter~\ref{Chapter:ErrorResilienceReview} different \ac{ec} algorithms that can effectively reconstruct lost video were described, though not all of them exhibit the same accuracy for every lost frame or slice. +In Chapter~\ref{Chapter:ErrorResilienceReview} different \ac{ec} algorithms that can effectively reconstruct lost video were described, though not all of them exhibit the same accuracy for every lost frame or slice. Moreover, it was also shown that combining different \ac{ec} approaches at the \ac{mb}/\ac{pu} level to improve the reconstruction accuracy is not straightforward. In the past, hybrid \ac{ec} schemes were proposed to improve the recovery quality of lost frames by either combining spatial and temporal \ac{ec} algorithms~\cite{HybridConcTB2008} or by optimising the \ac{mve} at the pixel and block levels~\cite{HybridConcealmentTB2008,2DConcHybridMotion2010}. Regarding the \ac{hevc}, existing algorithms also aim to improve the reconstruction accuracy of motion-based recovery approaches by using the information of correctly received neighbours, e.g., block partitions~\cite{HEVCMCBlockAug2013} and prediction residue~\cite{HEVCMCResidueDec2013}. Although such methods are able to reduce the reconstruction artefacts and improve the overall video quality, decoder-based decisions are still not fully accurate, as they only have limited information to be used as reference in the decision process. -Therefore, higher reconstructed quality can be achieved by estimating the best \ac{ec} techniques at the encoding-side based on the original video signal. +Therefore, higher reconstructed quality can be achieved by estimating the best \ac{ec} techniques at the encoding-side, based on the original video signal. %Such approach not only improves quality but also reduces the complexity of the video decoders. %In this chapter a robust coding driven by \ac{ec} methods is developed with the objective of enhancing the quality of reconstructed video at decoders receiving erroneous streams from the transmission network. The proposed approach combines error resilience tools at the encoder-side with \ac{ec} at the decoder-side. -Different approaches were proposed in the past to address the problem of \ac{ec}-aware video coding~\cite{ConcealmentDrivenSliceOrdering2008,ConcealmentAwareME2006,ErrorResilienceModeHEVC2016}. -Extra information was also used to aid the \ac{ec} operation at the decoder-side, either by sending redundant information \cite{ResilienceRECAP_ICASSP2009,SaliencyErrorConcealment_TM2013} or by embedding additional coded data into the bitstream \cite{ConcealmentIntraDataHidng2009}. +Different approaches were proposed in the past to address the problem of \ac{ec}-aware video coding~\cite{ConcealmentDrivenSliceOrdering2008,ConcealmentAwareME2006,ErrorResilienceModeHEVC2016}. +Extra information was also used to aid the \ac{ec} operation at the decoder-side, either by sending redundant information \cite{ResilienceRECAP_ICASSP2009,SaliencyErrorConcealment_TM2013} or by embedding additional coded data into the bitstream \cite{ConcealmentIntraDataHidng2009}. Although these methods facilitate the \ac{ec} performance either through slice reordering or based on \acs{mv}, they always rely on the assumption that some fixed \ac{ec} method is used at the decoder. % The work presented in \cite{ConcealmentSignalling2008,SignallingRobustScalable2015} proposes testing several methods with transmission of extra symbols to indicate the best method to be applied by the decoder. Although such approaches achieves reasonably good performance, it relies on the spatial neighbouring information or multi-layer video, which may not be available in all cases. -To advance one step further, this chapter presents n investigation on concealment-aware video coding and proposes a new scheme to achieve high decoding flexibility in terms of the \ac{ec} approaches, leading to better video quality. +To advance one step further, this chapter presents an investigation on concealment-aware video coding and proposes a new scheme to achieve high decoding flexibility in terms of the \ac{ec} approaches, leading to better video quality. This is accomplished by selecting, at the encoder, among several \ac{ec} algorithms with different characteristics, the one that yields the lowest reconstruction distortion at the decoder and also minimises the \ac{rd} cost considering the necessary signalling rate. Thus, the proposed approach differs from similar previous methods \cite{ConcealmentAwareME2006,ErrorResilienceModeHEVC2016} by selecting the best error concealment method without affecting the encoder optimisation. To further improve the quality of recovered frames, an enhancement layer is encoded with the mismatch residue between the transmitted and recovered frames. This is a dynamic optimisation process, which is more efficient than conventional approaches based on redundant pictures \cite{RedudantPicsJan2009,VPxResiliencePCS2016}, which transmit the whole frame as redundancy. -In contrast with the previous work presented in Chapter~\ref{Chapter:ErrorResilienceTechniques}, which addressed the error resilience problem by optimising the coding dependencies, the approach followed in this chapter considers both \ac{ec} performance and the coded rate required for signalling the best \ac{ec} mode to the decoder. +In contrast with the previous work presented in Chapter~\ref{Chapter:ErrorResilienceTechniques}, which addressed the error resilience problem by optimising the coding dependencies, the approach followed in this chapter considers both, \ac{ec} performance and the coded rate required for signalling the best \ac{ec} mode to the decoder. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -64,7 +65,7 @@ In contrast with the previous work presented in Chapter~\ref{Chapter:ErrorResili \label{Section5:ECCandidates} -In order to proposed a novel error concealment-aware technique different algorithms were taken into consideration. +In order to propose a novel error concealment-aware technique different algorithms were taken into consideration. This section presents a description and evaluation of the most relevant \ac{ec} algorithms used in the proposed method. Firstly, a technical description of each method is provided followed by a performance comparison between them. @@ -93,8 +94,8 @@ x^{'} &= x - v_{0x}, \\ y^{'} &= y - v_{0y}. \end{align} \end{enumerate} -This method is illustrated in Figure~\ref{FIG5:MotionVectorExtrapolation} by the \ac{mv} $v^{2}_{0}$ which results from the extrapolation of the \ac{mv} $v^{2}_{-1}$, and is referred to as \glsfirst{mve}. -One should note that these methods may not result in a complete motion field for the entire frame, resulting in an incomplete reconstruction. For those regions the average of the three top-left neighbouring \acs{mv} are used to complete the motion field. +This method is illustrated in Figure~\ref{FIG5:MotionVectorExtrapolation} by the \ac{mv} $v^{2}_{0}$, which results from the extrapolation of the \ac{mv} $v^{2}_{-1}$, and is referred to as \glsfirst{mve}. +One should note that these methods may not result in a complete motion field for the entire frame, resulting in an incomplete reconstruction. For those regions the average of the three top-left neighbouring \acs{mv} are used to complete the motion field. %\todo{Grid-aligment! Incomplete!} \begin{figure}[tb] @@ -104,7 +105,7 @@ One should note that these methods may not result in a complete motion field for \label{FIG5:MotionVectorExtrapolation} \end{figure} -Finally, as a base for comparison the default \ac{ec} in the reference \ac{hevc} implementation the \ac{fc} algorithm is also evaluated. This method consists in replacing the lost frame with a copy of the previous decoded one, which can also be described as a motion compensated reconstruction using only zero \acs{mv}. +Finally, as a base for comparison, the default \ac{ec} in the reference \ac{hevc} implementation the \ac{fc} algorithm is also evaluated. This method consists in replacing the lost frame with a copy of the previous decoded one, which can also be described as a motion compensated reconstruction using only zero \acs{mv}. \subsection{Algorithms based on motion estimation} @@ -115,11 +116,11 @@ Typically, optical flow estimation algorithms are used to estimate a 2-D motion \begin{equation} E(x,y) = \sum_{x} \sum_{y} \bigg| f_{0}\big(x,y\big) - f_{1}\big( x + v_x(x,y), y+v_y(x,y) \big) \bigg|. \end{equation} -Besides a full search algorithm where a block-based approach is used to search for the best \acs{mv} that minimises the sum of absolute errors, three other approaches were tested to evaluate their effectiveness in \ac{ec} algorithms. These three methods are the following: +Besides a full search algorithm, where a block-based approach is used to search for the best \acs{mv} that minimises the sum of absolute errors, three other approaches were tested to evaluate their effectiveness in \ac{ec} algorithms. These three methods are the following: \begin{enumerate} \item a method based on the total variation using the minimization of the \mbox{L-1} norm~\cite{DualFlow2016}; \item a method which approximates the neighbourhood of each pixel by quadratic polynomials on both frames~\cite{PolyFlow2003}; - \item a method based on a combination of features matching and total variations~\cite{DeepFlow2013}. \HERE + \item a method based on a combination of feature matching and total variation~\cite{DeepFlow2013}. \todo{check here!} \end{enumerate} \subsubsection{Motion estimation based on total variation and regularisation (\textit{DualFlow})} @@ -142,7 +143,7 @@ f(\mathbf{p}) \sim \mathbf{p}\mathbf{A}_1\mathbf{p}^T+\mathbf{b}_1\mathbf{p}^T+C \end{equation} where $\mathbf{p} = [x\ y]$, $\mathbf{A_1}$ is a symmetric matrix, $\mathbf{b_1}$ is a row vector and $C_1$ is a scalar. The coefficients are estimated using weighted least squares fit to the signal values in the neighbourhood. -Since the result of polynomial expansion is that each neighbourhood is approximated by a polynomial, we start by analysing what happens if a polynomial undergoes an ideal translation. Let's consider the signal $f_1(\mathbf{p})$ represented by Equation (\ref{EQ5:PolyFlow}) and a signal $f_2$ which corresponds to a displacement of $f_1$ given by $\mathbf{d}=[v_x \ v_y]$. This can be expressed by the following: +Since the result of a polynomial expansion is such that each neighbourhood is approximated by a polynomial, it is analysed what happens if a polynomial undergoes an ideal translation. Let's consider the signal $f_1(\mathbf{p})$ represented by Equation (\ref{EQ5:PolyFlow}) and a signal $f_2$ which corresponds to a displacement of $f_1$, given by $\mathbf{d}=[v_x \ v_y]$. This can be expressed by the following: \begin{align} f_2(\mathbf{p}) &= f_1(\mathbf{p}-\mathbf{d}) \nonumber \\ @@ -163,15 +164,14 @@ This allows to find the displacement $\mathbf{d}$ for any signal dimensions by s %\todo{Completar o Deep flow} -In this method the motion field is estimated based on extension of the total variational methods using descriptor (feature) matching. +In this method the motion field is estimated based on extension of the total variation methods using descriptor (feature) matching. This allows the optical flow estimation to accurately find large displacements as it is not bound by constrains, such as the Horn \& Such presented in Equation~(\ref{EQ5:DualFlow})\cite{LargeDisplacementOptFlow_TPAMI2011}. Moreover, the correspondences between descriptions are used to apply a coarse-to-fine wrapping, thus avoiding local minimum values. The combination of both approaches increases the matching accuracy. -This was further exploited by introducing deep convolutional networks~\cite{DeepFlow2013}. -This was also exploited in \cite{DeepFlow2013} with the following extensions: (i) use of description matching in the minimisation problem; (ii) introduction of a normalisation parameter to decrease the impact of regions with high spatial changes; (iii) use of different weights for each layer optimisation. +This was also exploited in \cite{DeepFlow2013} with the following extensions: (i) use of description matching in the minimisation problem; (ii) introduction of a normalisation parameter to decrease the impact of regions with high spatial changes; (iii) use of different weights for each layer optimisation. Figure~\ref{FIG5:DeepFlowDiagram} shows the blocks that are included in the description matching process. The matching algorithm is built upon a multi-stage architecture with six layers with different patches sizes, interleaving convolutions and max-pooling, which is similar to deep convolutional networks \cite{GradientBasedConvNN_ProcIEEE1998}. -As shown in the figure a multi-size response levels are generated from the reference and target image using convolutions with different patches sizes. This method uses bottom-up approach, i.e., starting at a fine level and moving towards the coarser levels (larger patches) which are built as an aggregation of responses of smaller patches. This results in a multi-size response pyramid. +As shown in Figure~\ref{FIG5:DeepFlowDiagram}, a multi-size response levels are generated from the reference and target image using convolutions with different patches sizes. This method uses a bottom-up approach, i.e., starting at a fine level and moving towards the coarser levels (larger patches), which are built as an aggregation of responses of smaller patches. This results in a multi-size response pyramid. Subsequently, a local maximum is extracted from each level to achieve a more accurate motion field (quasi-dense correspondence). Finally, an initial motion field is extracted, referred to as $v'$ . @@ -183,26 +183,26 @@ Finally, an initial motion field is extracted, referred to as $v'$ . \FIGSVSPACE \end{figure} -Subsequently, the final optical flow is obtained by minimising an energy function, which can be described by the following: +Subsequently, the final optical flow is obtained by minimising an energy function, which can be described by the following equation: \begin{equation} E(v) = \sum_{\mathbf{p} \in \Omega} \Big( E_D(\mathbf{p}) + \alpha E_S(\mathbf{p}) + \beta E_M(\mathbf{p}) \Big), \end{equation} where $E_D$ is the data term, $E_S$ is a smoothing term and $E_M$ is the matching term. The data term is obtained from the difference between matching pixels in both video frames. -The smoothness term is a robust penalisation of the gradient of the flow as used in the Equation (\ref{EQ5:DualFlow}), i.e., $E_S(\mathbf{p})=|\nabla v(\mathbf{p})|$. Finally, the matching term ($E_M$) is used to encourage the flow estimation to be similar to the precomputed motion field~($v'$). +The smoothness term is a robust penalisation of the gradient of the flow, similarly to Equation (\ref{EQ5:DualFlow}), i.e., $E_S(\mathbf{p})=|\nabla v(\mathbf{p})|$. Finally, the matching term ($E_M$) is used to encourage the flow estimation to be similar to the precomputed motion field~($v'$). \subsection{Experimental evaluation} -In this section a performance evaluation of the different \ac{ec} schemes previously described is carried out. This evaluation aims at finding the suitable methods to be used for efficiently reconstruct the missing frames in case of data loss. -The two \ac{ec} methods based on the correctly received \acs{mv} are tested, i.e., \ac{mc} and \ac{mve}, using the \ac{fc} method is used as reference for comparison. +In this section a performance evaluation of the different \ac{ec} schemes previously described is carried out. This evaluation aims at finding the suitable methods to be used for efficiently reconstruct the missing frames in case of data loss. +The two \ac{ec} methods based on the correctly received \acs{mv} are tested, i.e., \ac{mc} and \ac{mve}, using the \ac{fc} method is used as reference for comparison. Moreover, the four different approaches to estimate the motion field for the missing frame are compared: (i) full search based on the minimisation of the sum of absolute errors (\FULLSEARCH), (ii) optical flow based on the duality between total variation and smoothness term (\DUALFLOW), (iii) optical flow based on polynomial approximations (\POLYFLOW) and (iv) optical flow based on deep matching (\DEEPFLOW). -Table~\ref{TAB5:ECPerformaceComparison} shows the average quality (\ac{psnr}) obtained for the different methods under investigation. +Table~\ref{TAB5:ECPerformaceComparison} shows the average quality (\ac{psnr}) obtained for the different methods under investigation. The absolute value of \ac{psnr} is shown for the \FC method, while the differential values are shown for the remaining methods. -The results shown in the table reveal that methods \MC and \MVE are both able to overcome \FC, achieving average quality gains of up to 1.41 dB and 1.46 dB, respectively. Moreover, by extrapolating the \acs{mv} from the correctly receiving frame to the lost one (\MVE), it is also possible to outperform motion-copy (\MC). -This can be explained by the objects' trajectories of objects which are preserved in the \MVE method (assuming constant translational motion), in contrast with the \MC method, which assumes that neighbouring objects have parallel motion which may result in inaccurate estimations. +The results shown in the table reveal that methods \MC and \MVE are both able to overcome \FC, achieving average quality gains of up to 1.41 dB and 1.46 dB, respectively. Moreover, by extrapolating the \acs{mv} from the correctly receiving frame to the lost one (\MVE), it is also possible to outperform motion-copy (\MC). +This can be explained by the objects' trajectories of objects which are preserved in the \MVE method (assuming constant translational motion), in contrast with the \MC method, which assumes that neighbouring objects have parallel motion which may result in inaccurate estimations. %\HERE @@ -215,17 +215,17 @@ This can be explained by the objects' trajectories of objects which are preserve \end{table} -According to the results of Table~\ref{TAB5:ECPerformaceComparison} (columns 5 to 8) the \ac{ec} methods based on motion estimation achieve an overall superior performance when compared with methods which rely of correctly received \acs{mv} (i.e., \MC and \MVE). -Results for \FULLSEARCH method reveal that only minimising the sum of absolute errors between two consecutive frames might not always be directly related with objects' motions, which results in inaccurate motion field to be used in the reconstruction of lost frames. -Finally, results from Table~\ref{TAB5:ECPerformaceComparison} reveal that the \DEEPFLOW algorithm leads to the most accurate motion field, in comparison with the other methods. -This is able to achieve an average quality gain of 1.79 dB, and up to 3.39 dB for Book Arrival sequence, where \POLYFLOW only achieves 3.05 dB. +According to the results of Table~\ref{TAB5:ECPerformaceComparison} (columns 5 to 8) the \ac{ec} methods based on motion estimation achieve an overall superior performance when compared with methods which rely on correctly received \acs{mv} (i.e., \MC and \MVE). +Results for \FULLSEARCH method reveal that only minimising the sum of absolute errors between two consecutive frames might not always be directly related with objects' motions, which results in inaccurate motion field to be used in the reconstruction of lost frames. +Finally, results from Table~\ref{TAB5:ECPerformaceComparison} reveal that the \DEEPFLOW algorithm leads to the most accurate motion field, in comparison with the other methods. +It is able to achieve an average quality gain of 1.79 dB, and up to 3.39 dB for Book Arrival sequence, where \POLYFLOW only achieves 3.05 dB. Since \POLYFLOW combines different techniques also used by other algorithms in study, e.g., total variation also used by \DUALFLOW, it is expected to achieve accurate estimations and consequently higher \ac{ec} reconstruction quality. Moreover, using descriptor matching in combination with smoothing conditions, the \DEEPFLOW algorithm is able to correctly estimate large displacements, which results in an improved performance for video signals with higher motion, e.g., Tennis sequence. \subsection*{Remarks} -Summarising, the analysis of the previous results indicates that all methods are able to cope with lost frames and manage to recover the missing data with acceptable quality. -Nevertheless, it is noticeable that lost frames recovered with an estimated motion field result in higher average quality, especially when using the \DEEPFLOW method. However, as the other methods tested are also able to achieve acceptable video quality, they shall not be neglected, as they provide alternative approaches for lost frame recovery with lower computational complexity (i.e., they not require motion estimation). -Thus, in order to achieve higher reconstruction quality different approaches shall be considered, aiming at balancing the overall complexity with the recovery quality. +Summarising, the analysis of the previous results indicates that all methods are able to cope with lost frames and manage to recover the missing data with acceptable quality. +Nevertheless, it is noticeable that lost frames recovered with an estimated motion field result in higher average quality, especially when using the \DEEPFLOW method. However, as the other methods tested are also able to achieve acceptable video quality, they shall not be neglected, as they provide alternative approaches for lost frame recovery with a lower computational complexity (i.e., they not require motion estimation). +Thus, in order to achieve higher reconstruction quality, different approaches shall be considered, aiming at balancing the overall complexity with the recovery quality. %\HERE @@ -235,9 +235,9 @@ Thus, in order to achieve higher reconstruction quality different approaches sha \section{Architecture for the EC-aware video encoding} \label{Section5:Architecture} -%\glsreset{ec} +\glsreset{el} -This section presents the general architecture proposed for \ac{ec}-aware video encoding and describes its main the functional blocks, also providing an introduction for the subsequent detailed descriptions. +This section presents the general architecture proposed for \ac{ec}-aware video encoding, describing its main functional blocks, and provides an introduction for the subsequent detailed descriptions. Figure~\ref{FIG5:BlockDiagram} illustrates the architecture of the proposed \ac{ec}-aware encoding scheme. After the video encoder, it includes data loss simulation at the \ac{nal} for every slice. Subsequently, \ac{ec} is applied to the simulated losses in order to find the best methods that should be used to reconstruct the lost slices in case of transmission errors. Saliency-weighted \ac{ec} mode decision is used to select the optimal \ac{ec} mode from the best trade-off between \ac{ec} distortion, using the original input video~($f$) as reference, and the number of bits required for signalling. @@ -247,8 +247,8 @@ For the \ac{ec} mode decision optimization the missing slices are reconstructed, In this process, each \ac{ctu} is partitioned to form a quadtree structure of \ac{ecu} that are used to test the different \ac{ec} candidate modes. Then, the best trade-off between \ac{ecu} partition and signalling is found through \ac{rd} optimisation. In order to achieve an efficient use of the signalling overhead, a saliency-weighted procedure is embedded in the \ac{rd} optimisation based on a spatio-temporal saliency, where more signalling bits are allocated to regions with higher saliency values. -Finally, the signalling information is transmitted to the decoder by using the \ac{sei} \acs{nalu} type~\cite{HEVCHighLevelReferenceDez2012}. -Since in general, the optimal \ac{ec} mode is still not able to correctly reconstruct all the missing regions, extra residual information is multiplexed in the stream as a scalable \ac{el}. +Finally, the signalling information is transmitted to the decoder by using the \ac{sei} \acs{nal} units~\cite{HEVCHighLevelReferenceDez2012}. +Since, in general, the optimal \ac{ec} mode is still not able to perfectly reconstruct all the missing regions, extra residual information is multiplexed in the stream as a scalable \ac{el}. This residual information contains the difference between the compressed ($\hat f_t$) and the \ac{ec} frames ($\tilde f$). \begin{figure}[tb] @@ -272,15 +272,16 @@ The remaining of this section describes in detail the building blocks of the pro %\section{Error concealment mode decision} \label{Section5:ProposedMethod} -In this section the proposed saliency-weighted \ac{ec} mode decision algorithm is described. Firstly, the list of \ac{ec} candidates is provided based on the previously described methods. -Then, the \ac{rd} optimisation is proposed using a saliency region in each frame to decrease the overall bitrate without compromising the reconstruction quality. -The signalling coding strategy is also described. -Finally, the introducing of \ac{ec} residue as auxiliary information to improve the reconstruction quality is described. +In this section the proposed saliency-weighted \ac{ec} mode decision algorithm is described. +Firstly, the list of \ac{ec} candidates is provided based on the previously described methods. +Then, the \ac{rd} optimisation is performed using a saliency region in each frame, in order to decrease the overall bitrate without compromising the reconstruction quality. +The signalling coding strategy is also described. +Finally, the \ac{ec} residue is introduced as auxiliary information to improve the reconstruction quality is described. \subsection{\ac{ec} candidates} -A set of four \ac{ec} candidate modes (M1...M4) is used in the optimisation process that selects one of them as the best for each particular \ac{ecu}. Each \ac{ec} mode corresponds to a different \ac{ec} method, as shown in Figure~\ref{FIG5:concealmentcandidates}, namely: +A set of four \ac{ec} candidate modes (M1...M4) is used in the optimisation process that selects one of them as the best match for each particular \ac{ecu}. Each \ac{ec} mode corresponds to a different \ac{ec} method, as shown in Figure~\ref{FIG5:concealmentcandidates}, namely: \begin{itemize} \item M1, M2: These two methods are based on extrapolation of an estimated motion field; \item M3: This method is based on \ac{mv} extrapolation of previously received \acs{mv}; @@ -296,17 +297,18 @@ A set of four \ac{ec} candidate modes (M1...M4) is used in the optimisation pro \FIGSVSPACE \end{figure} -The first two methods M1, M2 rely on an estimated motion field, using the method \DEEPFLOW \cite{DeepFlow2013}, to recover the lost frame. Then, such motion field is extrapolated at the pixel level, i.e., one \ac{mv} is assigned to each pixel, and \ac{pu} level, i.e., one \ac{mv} is assigned to the entire unit. +The first two methods, M1 and M2 rely on an estimated motion field, using the method \DEEPFLOW \cite{DeepFlow2013}, to recover the lost frame. +Such motion field is extrapolated at the pixel level, i.e., one \ac{mv} is assigned to each pixel, and \ac{pu} level, i.e., one \ac{mv} is assigned to the entire unit. This results in two different reconstructions of the missing frame, where the former may increase the accuracy of the pixel extrapolation, but the latter has the advantage of keeping the block structure and generate a smoother reconstruction. -The method M3 is based on a convention \ac{mve}, and finally M4 reconstructs the missing frames using the \ac{mc} algorithm. +The method M3 is based on a conventional \ac{mve}, and finally M4 reconstructs the missing frames using the \ac{mc} algorithm. \subsection{Optimal \ac{ec} mode selection} As previously described in the sub-section~\ref{Section5:ECCandidates}, the proposed method allows to choose between four \ac{ec} candidates, which result in different recovered frames for each lost frame (simulated). The lost frame is partitioned into quadtree structures, each one forming a set of variable size \acs{ecu}. -Then, the process of finding the optimal \ac{ec} method for each \ac{ecu} is formulated as a rate-distortion cost minimisation. To solve such problem, a Lagrangian optimisation is used~\cite{LagragianMultiplier1982} to achieve the best trade-off between reconstruction quality and signalling overhead. +Then, the process of finding the optimal \ac{ec} method for each \ac{ecu} is formulated as a rate-distortion cost minimisation. To solve such problem, a Lagrangian optimisation is used to achieve the best trade-off between reconstruction quality and signalling overhead. Furthermore, image saliency driven by visual attention modelling is used in the optimisation process to weight the cost of the overhead information of each \ac{ecu}, according to the visual relevance of its content. % \HIGHLIGHT{% @@ -327,7 +329,7 @@ Furthermore, image saliency driven by visual attention modelling is used in the % \label{eq:Lagrangian} % \end{align} -The optimal \ac{ec} mode $m_{l,i}^*$, for the $i_{th}$ \ac{ecu} of size defined by the quadtree partitioning level $l$, is obtained by minimising the following lagrangian cost: +The optimal \ac{ec} mode $m_{l,i}^*$, for the $i_{th}$ \ac{ecu} of size defined by the quadtree partitioning level $l$, is obtained by minimising the following Lagrangian cost: \begin{equation}\label{EQ6:OptimalDepth} \small \newcommand{\argmin}{\operatornamewithlimits{arg\ min}} @@ -335,28 +337,28 @@ The optimal \ac{ec} mode $m_{l,i}^*$, for the $i_{th}$ \ac{ecu} of size defined % l^* = \argmin_{l=1..3} \left\{ D(l) + \lambda \left(1-\frac{t_I-t_c}{T_{\ac{ird}}}\right) R(l) \right\}, m_{l,i}^* = \argmin\limits_{\footnotesize \substack{l\in\left\{0...3\right\} \\ i\in\left\{1...4^l\right\}}}\left\{ D(m_{l,i}) + \left(1+\frac{t_C-t_I}{T_{I}}\right) \lambda R(m_{l,i}) \right\}, \end{equation} -where $R(m_{l,i})$ represents the number of overhead bits required to encode the \ac{ec} mode, and $D(m_{l,i})$ is sum of absolute error of the \ac{ecu}. +where $R(m_{l,i})$ represents the number of overhead bits required to encode the \ac{ec} mode, and $D(m_{l,i})$ is the sum of absolute error of the \ac{ecu}. -In equation \ref{EQ6:OptimalDepth}, besides the parameter $\lambda$ used to trade-off distortion and overhead rate in the minimisation process, there is also a weighting factor to control the cost of $R(m_{l,i})$ according to the duration of the error propagation. As in the method proposed in the Chapter~\ref{Chapter:ErrorResilienceTechniques} this method uses the ratio between the temporal distance from the current frame ($t_C$) to the next refresh frame ($t_I$) and the period of refresh frames ($T_{I}$). +In equation \ref{EQ6:OptimalDepth}, besides the parameter $\lambda$ used to trade-off distortion and overhead rate in the minimisation process, there is also a weighting factor to control the cost of $R(m_{l,i})$, according to the duration of the error propagation. As in the method proposed in the Chapter~\ref{Chapter:ErrorResilienceTechniques}, this method uses the ratio between the temporal distance from the current frame ($t_C$) to the next refresh frame ($t_I$) and the period of refreshing frames ($T_{I}$). %This weight varies between $\left[0;1 \right]$, achieving the lowest value for intra-coded frames and the maximum for the frame located immediately before an intra-coded one. This behaviour follows the fact that when a lost frame is closer to the next intra-coded frame, error propagation is lower. Thus, it is not worthwhile to spend too many overhead bits to reduce it. This is accomplished by increasing the cost of such bits according to the temporal distance between the missing frame and the next I frame. -Moreover, a dynamic value for $\lambda$ is also used to adjust the amount of overhead within the frame, according to the visual relevance of each image region given by a saliency map. +Moreover, a dynamic value for $\lambda$ is also used to adjust the amount of overhead within the frame, according to the visual relevance of each image region, determined using a saliency map. -The algorithm described above results in \acs{ecu} with variable size, which is defined by the depth of the quad-tree structure, i.e., level $l$. The partition size is jointly optimised along with the best \ac{ec} candidate method using Equation~\ref{EQ6:OptimalDepth}. Alternatively, a fixed \ac{ecu} size can also be used by defining a fixed depth for all quad-tree structures, i.e., constant $l$ for the entire frame. This can be achieved by using Equation~\ref{EQ6:OptimalDepth} to solely optimise the \ac{ec} methods for each \ac{ecu}. +The algorithm previously described results in \acs{ecu} with variable size, which is defined by the depth of the quad-tree structure, i.e., level $l$. The partition size is jointly optimised along with the best \ac{ec} candidate method using Equation~\ref{EQ6:OptimalDepth}. Alternatively, a fixed \ac{ecu} size can also be used by defining a fixed depth for all quad-tree structures, i.e., constant $l$ for the entire frame. This can be achieved by using Equation~\ref{EQ6:OptimalDepth} to solely optimise the \ac{ec} methods for each \ac{ecu}. Although this reduces the overall complexity of the proposed method, it leads to a non-optimal solution which may required additional overhead. In Section~\ref{Section5:ECSignallingPerformance} a comparison between a dynamic and fixed approach is provided. \subsection{Saliency detection} -The saliency maps were computed based on the well-known Itti's attention model \cite{SaliencyItti1998}, which applies a hierarchical decomposition based on a set of spatial features and then combines them with center-surround weighting to obtain the saliency map. -Since the Itti's model only produces saliency maps for still images, in this work it is further combined with a temporal feature. This is obtained by estimating the optical flow between two consecutive frames, based on the algorithm presented in \cite{HornSchunckOpticalFlow1981}. The final saliency map is obtained by combining the spatial and temporal components, $S_{s}$ and $S_{t}$ respectively, as follows, +The saliency maps are computed based on the well-known Itti's attention model \cite{SaliencyItti1998} that applies a hierarchical decomposition, based on a set of spatial features, which are combined with a center-surround weighting to obtain the saliency map. +Since the Itti's model only produces saliency maps for still images, in this work it is further combined with a temporal feature. This is obtained by estimating the optical flow between two consecutive frames, based on the algorithm presented in \cite{HornSchunckOpticalFlow1981}. The final saliency map is achieved by combining the spatial and temporal components, $S_{s}$ and $S_{t}$ respectively, as follows, \begin{equation}\label{eq:saliency} S = \rho S_{t} + (1-\rho) S_{s} \end{equation} -The parameter $\rho$ is used to give higher relevance to the temporal component, since motion is correlated with error propagation, producing longer artefacts and consequently higher impact in visual attention. In this work the temporal component was given weight slightly higher than 50\%, i.e. $\rho=0.6$. +The parameter $\rho$ is used to give higher relevance to the temporal component, since motion is correlated with error propagation, producing longer artefacts and consequently higher impact in visual attention. In this work the temporal component was given a weight slightly higher than 50\%, i.e. $\rho=0.6$. -On the one hand, higher values of saliency (i.e. regions with higher visual relevance) should result in lower values of $\lambda$, which tend to increase the overhead rate value on those regions, thus reducing \ac{ec} distortion at the decoder in case of loss. On the other hand, higher values of $\lambda$ should reduce the overhead, allowing higher \ac{ec} distortion at the decoder in case of loss. In order to achieve the aforementioned goal the following definition for $\lambda$ is used: +On the one hand, higher values of saliency (i.e. regions with higher visual relevance) should result in lower values of $\lambda$, which tend to increase the overhead rate value on those regions, thus reducing the \ac{ec} distortion at the decoder, in case of loss. On the other hand, higher values of $\lambda$ should reduce the overhead, allowing higher \ac{ec} distortion at the decoder. In order to achieve the aforementioned goal, the following definition for $\lambda$ is used: \begin{equation}\label{eq:lambdasaliency} % \lambda = \lambda_{0} - \frac{S_{\ac{ctu}} - \mean S}{\Delta S}, \Delta S > 0, % \lambda = \lambda_{0} + \frac{\Delta S}{S_{\ac{ctu}} - \mean S}, @@ -367,7 +369,7 @@ On the one hand, higher values of saliency (i.e. regions with higher visual rele \end{cases} \end{equation} where $s$ is the saliency value of the current \ac{ctu}, $\mean S$ is the average saliency value and $\Delta S$ is the difference between the maximum and minimum. -One should note that the method is not dependent on the existence of a saliency map. If the saliency map is constant or non-existent a fixed value of $\lambda$ is used, which means that no distinction is made across image regions. +One should note that this method does not depend on the existence of a saliency map. If the saliency map is constant or non-existent, a fixed value of $\lambda$ is used (i.e., $\lambda_0$) defined at the encoder, which means that no distinction is made across image regions. \subsection{Signalling the optimal EC modes} @@ -402,17 +404,17 @@ One should note that the method is not dependent on the existence of a saliency Figure~\ref{FIG5:signalling} illustrates the structure of the signalling information for each \ac{ctu} comprising a quadtree of \acs{ecu}. In this structure, one bit is used for the $split$ flag and two bits for the \ac{ec} mode associated to each \ac{ecu} ($ecm \in \{M1, M2, M3, M4\}$). The $split$ flag indicates whether the \ac{ecu} is further split into the next~level~($split=1$) or \ac{ecu} partitioning stops at the current level ($split=0$) and the corresponding $ecm$ modes are inserted. -Since no split is necessary at the highest level, then $split=1$ followed by the four $ecm$ modes for each \ac{ecu}. +Since no split is necessary at the deepest level, then $split=1$ followed by the four $ecm$ modes for each \ac{ecu}. This structure allows dynamic selection of different values for the level of the quad-tree partitioning ($l$) within each frame. -Adaptive arithmetic coding~\cite{ArithmeticCodingJun1994} is used to efficiently encode both the $split$ and $ecm$ symbols and further reduce the overhead. Note that the \ac{sei} information uses much less bitrate than the video signal, thus it is very unlikely to be hit during transmission. +Adaptive arithmetic coding~\cite{ArithmeticCodingJun1994} is used to efficiently encode both the $split$ and $ecm$ symbols, further reducing the overhead. Note that the \ac{sei} information uses much less bitrate than the video signal, thus it is very unlikely to be hit during transmission. \subsection{Enhancement-layer: \ac{ec} residue coding} -As described earlier, in order to allow further improvement of recovered slices, besides the best \ac{ec} mode, the proposed encoding scheme also allows encoding a controlled amount of \ac{ec} residue using the scalable extension of \ac{hevc} (see Figure~\ref{FIG5:BlockDiagram}). -The enhancement layer encodes the difference between the coded frame ($\hat f$) and its counterpart recovered by using the optimal \ac{ec} mode ($\tilde f$). +As described earlier in this section, in order to allow further improvement of recovered slices, besides the best \ac{ec} mode, the proposed encoding scheme also allows encoding a controlled amount of \ac{ec} residue using the scalable extension of \ac{hevc} (see Figure~\ref{FIG5:BlockDiagram}). +The enhancement layer module encodes the difference between the coded frame ($\hat f$) and its counterpart recovered by using the optimal \ac{ec} mode ($\tilde f$). Note that, the higher the accuracy of the best \ac{ec} mode, the lower the -amount of bits spent in the enhancement layer. +amount of bits spent by the enhancement layer. At the decoder-side, the reconstruction of a missing frame ($\tilde f$) follows three steps: \begin{enumerate} \item the missing frame is reconstructed using the optimal \ac{ec} methods for each \ac{ecu} $\tilde f'$ received from the encoder; @@ -426,7 +428,7 @@ At the decoder-side, the reconstruction of a missing frame ($\tilde f$) follows The additional residue decoded from the enhancement layer is particularly useful to improve the quality of those \acs{ctu} where the \ac{ec} strategies are not able to produce very accurate reconstruction. Moreover, since the enhancement layer only carries residual information the overhead is affordable. -Note that the generated bitstream is compliant with the standard, as the \ac{ec} signalling is encapsulated in \ac{sei} \ac{nalu}, while the error concealment residue is carried in \acs{nalu} related with the scalable extension. Then, an adapted decoder, capable of decoding both the \ac{sei} \acs{nalu} and the scalable \acs{nalu} is also able to take full benefit from the proposed method. Nevertheless, any standard \ac{hevc} decoder is also able to reconstruct the video, because it simply ignores the extra \acs{nalu}. +Note that the generated bitstream is compliant with the standard, as the \ac{ec} signalling is encapsulated in \ac{sei} \acs{nal}, while the error concealment residue is carried in \acs{nal} related with the scalable extension. Then, an adapted decoder, capable of decoding both the \ac{sei} and the scalable \ac{nal} units is also able to take full benefit from the proposed method. Nevertheless, any standard \ac{hevc} decoder is also able to reconstruct the video, because it simply ignores the extra \ac{nal}. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -436,48 +438,27 @@ Note that the generated bitstream is compliant with the standard, as the \ac{ec} \label{Section5:ECSignallingPerformance} This section presents the performance of the proposed \ac{ec}-aware optimisation scheme using the \ac{hevc} reference encoder as the basis of the encoding framework. -Two different types of performance evaluation are presented. -In the first one, only robust \ac{ec} of intra-frames is evaluated, while in the second one the proposed \ac{ec}-aware optimisation is applied to all frames corresponding to a generic robust video transmission using optimal \ac{ec}. +Two different types of performance evaluation are presented. +In the first one, only robust \ac{ec} of intra-frames is evaluated, while in the second one the proposed \ac{ec}-aware optimisation is applied to all frames, corresponding to a generic robust video transmission using optimal \ac{ec}. +For comparison, it is used the \ac{psnr} obtained from the reference \ac{hevc} decoder using motion-copy (\MC) and frame-copy (\REF) for \ac{ec} of the lost frame. \subsection{Intra-frame EC optimisation} \label{SEC4:IntraPerformance} -In this section the performance of the proposed method is evaluated only for intra frames to demonstrate its efficiency in reducing error propagation. +In this section the performance of the proposed method is evaluated only for intra frames, in order to demonstrate its efficiency in reducing error propagation. Since intra \acs{cu} result in higher amount of bits, they also require a higher number of packets, making them more prone to transmission errors and losses. -Results indicate that for an intra-period of 16 frames, approximately 42\% of the packets correspond to intra coded slices, which is a non-negligible probability of one of then being hit by transmission errors. +Results indicate that for an intra-period of 16 frames, approximately 42\% of the packets correspond to intra coded slices, which is a non-negligible probability of one of them being hit by transmission errors. Moreover, by limiting the proposed method to intra frames, the amount of required overhead is reduced. +Since a relevant performance indicator is the error propagation over temporally predicted frames, this was evaluated using a single intra-frame loss. +Figures \ref{FIG5:singlelosslowdelay} and \ref{FIG5:singlelossramdon} show the \ac{psnr} results when frame Intra-frame $\#16$ is missing, for \ac{ld} and \ac{ra} encoding configurations, respectively. +These figures show the results for the proposed method (\PROP), the motion-copy method (\MC) and also an alternative proposed method using fixed \ac{ecu} size of $16\times16$ pixels. +These results indicate that the proposed method (\PROP) outperforms the reference one and it is able to achieve quality gains up to {2 dB} for \ac{ld} configuration (see Figure~\ref{FIG5:singlelosslowdelay}), decrease the error propagation and increase the quality of the frames affected from the loss of the intra frame, by up to {3 dB}. +The use of \ac{ra} configuration leads to higher quality degradation than LD, due the higher temporal distance of the reference frame used for \ac{ec} (Frame $\#8$ is used to recover the lost Frame~$\#16$). Note that when Intra-frame \#16 is lost, all frames within the range \#9 to \#31 (i.e., next I-frame) are affected by error propagation. +Nevertheless, the proposed method still achieves similar quality gains (approximately 2 dB). -% \begin{table}[tb] -% \newcommand{\somespaces}{} -% \centering -% \caption{Usage ratio of each error concealment candidate.} \label{tab:useratio} -% \TABLESVSPACE -% \begin{tabular}{x{2cm}|x{.8cm}|x{.7cm}|x{.7cm}|x{.7cm}|x{.7cm}} -% \toprule -% \multirow{2}{*}{\vbox{\centering \textbf{Sequence}}} & -% \multirow{2}{*}{\vbox{\centering \textbf{Avg. Depth}}} & -% \multicolumn{4}{c}{\textbf{Avg. usage ratio (\%)}} \\ -% & & M1 & M2 & M3 & M4 \\ -% \hline -% Basketball Drill & 0.60 & 42.00 & 27.27 & 17.93 & 12.80 \\ \hline -% Kendo & 0.31 & 38.69 & 36.63 & 17.20 & 7.48 \\ \hline -% Park Scene & 0.25 & 40.66 & 31.99 & 20.46 & 6.89 \\ \hline -% Traffic & 0.13 & 49.93 & 27.32 & 15.99 & 6.76 \\ \hline -% Jockey & 0.19 & 41.38 & 20.02 & 22.51 & 16.09 \\ -% \bottomrule -% \end{tabular} -% \end{table} - -% Table \ref{tab:useratio} shows the average depth selected for \acs{ctu} and the usage ratio of each error concealment candidate. -% It is noticeable from the results that the proposed method leads to low average depth values (i.e., less than 1), which implicitly results in less signalling information. This also justifies the lower overhead obtained for the \PROP method shown in Table~\ref{tab:redundancy}. -% These results show that all error concealment candidates are used, which indicates that all of them are found relevant by the proposed method to recover the missing frames. -% The candidate methods based on the estimated motion field (i.e., M1, M2) are selected more often because they provide more accurate clues about the scene's motion than the others (i.e., M3, M4). - -%\subsubsection{Quality evaluation} - -\begin{figure}[!t] +\begin{figure}[tb] \centering \input{./042_ConcealmentAwareEncoding/Results/IntraEC_QualityVsFrameLowDelay.tex} \caption{Error propagation using \ac{ld} for the Basketball Drill sequence.} @@ -489,21 +470,16 @@ Moreover, by limiting the proposed method to intra frames, the amount of require \FIGSVSPACE \end{figure} - -Since a relevant performance indicator is the error propagation over temporally predicted frames, this was evaluated using a single intra-frame loss. -Figures \ref{FIG5:singlelosslowdelay} and \ref{FIG5:singlelossramdon} show the \ac{psnr} results when frame Intra-frame $\#16$ is missing, for \ac{ld} and \ac{ra} encoding configurations, respectively. These Figures show the results for the proposed method (\PROP), the motion-copy method (\MC), and also an alternative proposed method using fixed \ac{ecu} size of $16\times16$ pixels. -These results indicate that the proposed method (\PROP) outperforms the reference one and it is able to achieve quality gains up to \HIGHLIGHT{2 dB} for \ac{ld} configuration (see Figure~\ref{FIG5:singlelosslowdelay}), decreasing the error propagation and increasing the quality of the frames affected from the loss of the intra frame, by up to \HIGHLIGHT{3 dB}. -The use of \ac{ra} configuration leads to higher quality degradation than LD, due the higher temporal distance of the reference frame used for \ac{ec} (Frame $\#8$ is used to recover the lost Frame~$\#16$). Note that when Intra-frame \#16 is lost, all frames within the range \#9 to \#31 (i.e., next I-frame) are affected by error propagation. -Nevertheless, the proposed method still achieves similar quality gains (approximately 2 dB). - Further tests were performed to evaluate the effectiveness of the proposed method under different loss rates. In these experiments the packets corresponding to intra frames were randomly discarded to simulate loss events, at different \acs{plr} rates with an average burst length of 5 packets. -For each test condition 25 trials were performed and the average quality of the frames affected by errors (the lost frame and dependent ones) is presented in Table~\ref{tab:randomloss}. The table also shows the \ac{psnr} variance value in parentheses and the difference to the \ac{psnr} obtained with a reference \ac{hevc} decoder. +Table~\ref{tab:randomloss} presents the average quality of the frames affected by errors (the lost frame and dependent ones). +This table also shows the \ac{psnr} variance value in parentheses and the difference to the \ac{psnr} obtained with a reference \ac{hevc} decoder. % The absolute \ac{psnr} value is shown for the reference case (\MC), while the \ac{psnr} difference is presented for the proposed method. -The results confirm the superiority of the proposed method, outperforming the reference \ac{hevc} for both low and high \ac{plr}. Using the \ac{ld} coding configuration, the proposed method is able to achieve quality gains of \HIGHLIGHT{0.88 dB} for 3\% of \ac{plr} and \HIGHLIGHT{1.50 dB} for 10\% of \ac{plr}. In case of RA, higher quality gains are achieved, leading to an average improvement of \HIGHLIGHT{3.44 dB} for 10\% of \ac{plr}. +The results confirm the superiority of the proposed method, outperforming the reference \ac{hevc} for both low and high \ac{plr}. Using the \ac{ld} coding configuration, the proposed method is able to achieve quality gains of 0.88 dB for 3\% of \ac{plr} and 1.50 dB for 10\% of \ac{plr}. +In case of RA, higher quality gains are achieved, leading to an average improvement of 2.14 dB for 3\% of \ac{plr} and 3.44 dB for 10\% of \ac{plr}. It is also worthwhile to notice that the \ac{psnr} variance obtained with the \PROP method is lower, which indicates lower quality variations in the video segments affected by errors. %The quality gains achieved by the proposed method are similar to those achieved by previous works~\cite{ConcealmentIntraDataHidng2009,ConcealmentSignalling2008} for the same \acs{plr}. However, these require a higher amount of overhead (approximately $3\%$), thus the proposed method achieves a better trade-off between quality and overhead. -\begin{table}[tbp] +\begin{table}[!t] \newcommand{\somespaces}{} \centering \caption{Average quality (\ac{psnr}) of the frames affected by errors and its variance under random packet loss.} @@ -518,7 +494,7 @@ It is also worthwhile to notice that the \ac{psnr} variance obtained with the \multirow{2}{*}{\vbox{\centering \textbf{Sequence}}} & \multicolumn{3}{c|}{\textbf{PLR=3\%}} & \multicolumn{2}{c}{\textbf{PLR=10\%}}\\ & \MC & \PROP & $\Delta$PSNR& \MC & \PROP & $\Delta$PSNR \\ \midrule - \multicolumn{7}{c}{Low-delay configuration} \\ [2pt] + \multicolumn{7}{c}{Low-delay configuration (LD)} \\ [2pt] \hline Basketball Drill & 33.15 (0.42) & 34.26 (0.24) & \optbold{+1.11} & 32.97 (0.47) & 35.90 (0.27) & \optbold{+2.93}\\ \hline Race Horses & 30.78 (1.32) & 31.55 (0.94) & \optbold{+0.77} & 30.26 (1.55) & 31.12 (1.20) & \optbold{+0.86}\\ \hline @@ -529,7 +505,7 @@ It is also worthwhile to notice that the \ac{psnr} variance obtained with the Jockey & 36.00 (1.14) & 37.20 (1.05) & \optbold{+1.20} & 35.44 (1.21) & 36.74 (1.18) & \optbold{+1.30}\\ \hline \textbf{Average} & \textbf{34.37 (0.73)} & \textbf{35.25 (0.60)} & \textbf{+0.88} & \textbf{33.64 (0.79)} & \textbf{35.14 (0.65)} & \textbf{+1.50} \\ \midrule - \multicolumn{7}{c}{Random-access configuration} \\ [2pt] + \multicolumn{7}{c}{Random-access configuration (RA)} \\ [2pt] \hline Basketball Drill & 30.22 (8.46) & 30.81 (7.66) & \optbold{+0.59} & 29.19 (7.60) & 29.84 (6.88) & \optbold{+0.65} \\ \hline Race Horses & 27.35 (8.02) & 29.92 (5.89) & \optbold{+2.57} & 25.75 (7.76) & 28.61 (6.14) & \optbold{+2.86} \\ \hline @@ -546,12 +522,12 @@ It is also worthwhile to notice that the \ac{psnr} variance obtained with the %\subsubsection{Overhead analysis} -Subsequently, the percentage of overhead bitrate introduced by the proposed method is compared against fixed \ac{ecu} sizes of $32\times32$ and $16\times16$, i.e., $Level=1$ and $Level=2$. -These results are presented in Table \ref{TAB6:RedundancyIntra} and were obtained for a total bitrate as shown in Table~\ref{TableTestSequences}. +Subsequently, the percentage of overhead bitrate introduced by the proposed method is compared against fixed \ac{ecu} sizes of $32\times32$ and $16\times16$, i.e., $Level=1$ and $Level=2$. +These results are presented in Table \ref{TAB6:RedundancyIntra} and were obtained for a total bitrate, as shown in Table~\ref{TableTestSequences}. It is noticeable from the results that reducing the \ac{ecu} size (see results for $32\times32$ and $16\times16$) increases the overhead ratios as more symbols are transmitted (one for each \ac{ecu}). -While the maximum overhead of these fixed partitions is \HIGHLIGHT{$1.81\%$} (Traffic) the proposed dynamic partitioning method is able to reduce the overhead to a maximum of \HIGHLIGHT{$0.19\%$} (Kendo). -Moreover, comparing the results of Table \ref{TAB6:RedundancyIntra} with the video quality results obtained in case of packet losses reveals that, in the proposed method, only a small reduction in the reconstruction quality even with a significantly lower overhead. -This indicates that using dynamic partitioning allows to achieve a better trade-off between the amount of overhead and the \c{ec} performance. +While the maximum overhead of these fixed partitions is $1.81\%$ (Traffic), the proposed dynamic partitioning method is able to reduce the overhead to a maximum of $0.19\%$ (Kendo). +Moreover, comparing the results of Table \ref{TAB6:RedundancyIntra} with the video quality results obtained in case of packet losses reveals in the proposed method only a small reduction in the reconstruction quality, even with a significantly lower overhead. +This indicates that using dynamic partitioning allows to achieve a better trade-off between the amount of overhead and the \ac{ec} performance. In summary, the proposed technique is able to enhance the performance of the standard decoding of intra coded frames by finding the best error concealment method at the encoder and sending such information with a small amount of signalling overhead. \begin{table}[tbp] @@ -590,7 +566,7 @@ In summary, the proposed technique is able to enhance the performance of the sta % \subsection{Overall performance evaluation} \label{SEC4:OverallPerformance} -In this section the proposed \ac{ec}-aware optimisation scheme is evaluated for a generalised robust video transmission of both intra and inter coded frames. +In this section the proposed \ac{ec}-aware optimisation scheme is evaluated for a generalised robust video transmission of both intra and inter coded frames. The experimental results presented in this section were obtained by applying the proposed technique to all video frames. This section is organised in the following subsections: \begin{itemize} @@ -607,43 +583,43 @@ This section is organised in the following subsections: The \ac{ec} mode usage distribution is an indicator of the usefulness of each \ac{ec} mode. Table \ref{tab:useratio} shows the average $Level$ selected for the \ac{ecu} quadtree and the usage percentage of each \ac{ec} mode. -It is noticeable from these results that the proposed method leads to low average $Level$ values (lower than 1), resulting in larger \acs{ecu}, which requires a lower amount of \ac{ecu} to be transmitted than if higher values of $Level$ were chosen. This implicitly results in low signalling information. +It is noticeable from these results that the proposed method leads to low average $Level$ values (lower than 1), resulting in larger \acs{ecu}, which requires a lower amount of \ac{ecu} to be transmitted than if higher values of $Level$ were chosen. This implicitly results in low signalling information. This also justifies the low overhead shown in Table~\ref{tab:redundancy_signalling}. -\begin{table}[b] -\newcommand{\somespaces}{} -\centering\small -\caption{Average Level and usage ratio of each \ac{ec} mode.} \label{tab:useratio} -\TABLESVSPACE -\footnotesize -\begin{tabular}{p{3.2cm}|x{1.5cm}|x{1.5cm}|x{1.5cm}|x{1.5cm}|x{1.5cm}} -\toprule -\multirow{2}{*}{\vbox{\centering \textbf{Sequence}}} & -\multirow{2}{*}{\vbox{\centering \textbf{Avg. Level}}} & -\multicolumn{4}{c}{\textbf{Avg. usage ratio (\%)}} \\ - & & M1 & M2 & M3 & M4 \\ \hline -Basketball Drill & 0.81 & 59.61 & 16.62 & 14.40 & 9.37 \\ \hline -Book Arrival & 0.34 & 66.77 & 18.79 & 7.15 & 7.29 \\ \hline -BQSquare & 0.41 & 15.23 & 0.64 & 72.97 & 11.16 \\ \hline -Four People & 0.17 & 85.84 & 3.22 & 8.09 & 2.86 \\ \hline -Kimono & 0.88 & 33.76 & 23.87 & 26.03 & 16.35 \\ \hline -Park Scene & 0.69 & 39.34 & 13.58 & 34.19 & 12.89 \\ \hline -People on Street & 1.51 & 31.17 & 34.39 & 16.15 & 18.29 \\ \hline -Race Horses & 1.62 & 34.05 & 29.89 & 17.06 & 19.01 \\ \hline -Tennis & 1.17 & 25.27 & 30.03 & 23.22 & 21.48 \\ %\hline -\bottomrule -\end{tabular} -\end{table} - The results in Table \ref{tab:useratio} also show that all \ac{ec} modes are effectively used, which indicates that all of them are found relevant to recover the missing data. The \ac{ec} candidate methods based on motion field estimation (i.e., M1, M2) are selected more often because they provide more accurate representation of the scene's motion than the others (i.e., M3, M4). +\begin{table}[tb] + \newcommand{\somespaces}{} + \centering\small + \caption{Average Level and usage ratio of each \ac{ec} mode.} \label{tab:useratio} + \TABLESVSPACE + \footnotesize + \begin{tabular}{p{3.2cm}|x{1.5cm}|x{1.5cm}|x{1.5cm}|x{1.5cm}|x{1.5cm}} + \toprule + \multirow{2}{*}{\vbox{\centering \textbf{Sequence}}} & + \multirow{2}{*}{\vbox{\centering \textbf{Avg. Level}}} & + \multicolumn{4}{c}{\textbf{Avg. usage ratio (\%)}} \\ + & & M1 & M2 & M3 & M4 \\ \hline + Basketball Drill & 0.81 & 59.61 & 16.62 & 14.40 & 9.37 \\ \hline + Book Arrival & 0.34 & 66.77 & 18.79 & 7.15 & 7.29 \\ \hline + BQSquare & 0.41 & 15.23 & 0.64 & 72.97 & 11.16 \\ \hline + Four People & 0.17 & 85.84 & 3.22 & 8.09 & 2.86 \\ \hline + Kimono & 0.88 & 33.76 & 23.87 & 26.03 & 16.35 \\ \hline + Park Scene & 0.69 & 39.34 & 13.58 & 34.19 & 12.89 \\ \hline + People on Street & 1.51 & 31.17 & 34.39 & 16.15 & 18.29 \\ \hline + Race Horses & 1.62 & 34.05 & 29.89 & 17.06 & 19.01 \\ \hline + Tennis & 1.17 & 25.27 & 30.03 & 23.22 & 21.48 \\ %\hline + \bottomrule + \end{tabular} +\end{table} \subsubsection{Evaluation of optimal \ac{ec} mode decision} \label{sec:ECModeSelectionPerformance} -The evaluation of the proposed saliency-weighted \ac{ec} mode decision (\DYNLAMBDA) was carried out under random loss events and compared with the reference methods. The video quality was evaluated by using two quality metrics: \ac{psnr} and a \ac{fsim}~\cite{FSIM_TIP2011} in order to validate the performance of the proposed method in a consolidated manner. -Realistic conditions were used for transmission, by allowing independent losses for any of type of \acs{nal}, hence there is no guarantee that the decoder conditions are always equal to those at the encoder, which means that sub-optimal \ac{ec} may be used at the decoder. +The evaluation of the proposed saliency-weighted \ac{ec} mode decision (\DYNLAMBDA) was carried out under random loss events and it was compared with the reference methods. +The video quality was evaluated by using two quality metrics: \ac{psnr} and a \ac{fsim}~\cite{FSIM_TIP2011}, in order to validate the performance of the proposed method in a consolidated manner. +Realistic conditions were used for transmission, by allowing independent losses for any type of \acs{nal}, hence there is no guarantee that the decoder conditions are always equal to those at the encoder, which means that sub-optimal \ac{ec} may be used at the decoder. The results obtained without saliency weighting are also shown for comparison (\FIXEDLAMBDA). In this case a constant $\lambda_0=10$ is used. Tables~\ref{TAB4:SignallingPSNR}~and~\ref{TAB4:SignallingFSIM} show the average quality under different \acs{plr} for the \ac{ld} configuration. @@ -651,48 +627,41 @@ Table~\ref{TAB4:SignallingPSNR} shows the \ac{psnr} and weighted \ac{psnr} (\ac{ The \ac{mse} weights used in the \ac{wpsnr} are defined by the saliency values~\cite{SaliencyQualityMetric2011}. Table~\ref{TAB4:SignallingFSIM} shows the results obtained for the \ac{fsim} quality metric. Note that, the absolute value is shown for the reference case (\REF), while the differential values are shown for the remaining methods. - -\input{\ConcealmentAwareDir/Results/TableSignallingPerformance.tex} - -From the \ac{psnr} results shown in Table~\ref{TAB4:SignallingPSNR}, one may conclude that the proposed method (\DYNLAMBDA) consistently outperforms the reference ones for both low and high \acs{plr}. Average \ac{psnr} gains up to 2.95~dB for PLR=3\% and 2.58~dB for PLR=10\% are achieved. It is also worthwhile to notice that higher performance is obtained for sequences with high motion, such as Basketball Drill, which leads to \ac{psnr} gains up 4.82~dB. +From the \ac{psnr} results shown in Table~\ref{TAB4:SignallingPSNR}, one may conclude that the proposed method (\DYNLAMBDA) consistently outperforms the reference ones for both low and high \acs{plr}. Average \ac{psnr} gains up to 2.95~dB for PLR=3\% and 2.58~dB for PLR=10\% are achieved. It is also worthwhile to notice that higher performance is obtained for sequences with high motion, such as Basketball Drill, which results in \ac{psnr} gains up 4.82~dB. Moreover, the results of Table~\ref{TAB4:SignallingFSIM} confirm the quality improvement achieved by the proposed method, leading to an increase of \ac{fsim} up to 4.32, which indicates that the proposed method is able to recover important image features with higher accuracy than the others. -Table~\ref{tab:redundancy_signalling} shows the percentage of overhead in the total rate with and without saliency-weighted optimisation, i.e., \FIXEDLAMBDA and \DYNLAMBDA, respectively. -As shown in the Table, the saliency-weighted optimisation reduces the amount of overhead by dynamically assigning unequal number of bits to image regions of different visual importance. -These results show that using an adaptive value of $\lambda$, based on the saliency values, leads to an average overhead reduction of 28\% in comparison with the case where no saliency is used, i.e., constant $\lambda$. +\input{042_ConcealmentAwareEncoding/Results/TableSignallingPerformance.tex} -It is worth to note that using the saliency-weighted optimisation to reduce the overhead does not compromise the video quality, as can be seen in the results shown in Tables~\ref{TAB4:SignallingPSNR}~and~\ref{TAB4:SignallingFSIM}. The \ac{psnr} values for \FIXEDLAMBDA and \DYNLAMBDA are very close, but in overhead savings are significant for most sequences. +Table~\ref{tab:redundancy_signalling} shows the percentage of overhead in the total rate with and without saliency-weighted optimisation, i.e., \FIXEDLAMBDA and \DYNLAMBDA, respectively. +As shown in this table, the saliency-weighted optimisation reduces the amount of overhead by dynamically assigning unequal number of bits to image regions of different visual importance. +These results show that using an adaptive value of $\lambda$, based on the saliency values, leads to an average overhead reduction of 28\% in comparison with the case where no saliency is used, i.e., constant $\lambda$. +It is worth to note that using the saliency-weighted optimisation to reduce the overhead does not compromise the video quality, as can be seen in the results shown in Tables~\ref{TAB4:SignallingPSNR}~and~\ref{TAB4:SignallingFSIM}. +The \ac{psnr} values for \FIXEDLAMBDA and \DYNLAMBDA are very close, but in terms of overhead savings the results are significant for most sequences. The achieved \ac{wpsnr} and \ac{fsim} results further demonstrate the effectiveness of the saliency-based optimisation, because the lower overhead does not affect the most relevant image regions, i.e., those with higher saliency values. Thus, the proposed method using a adaptive $\lambda$ (i.e., using saliency) is able to not only achieve higher \ac{ec} quality than the reference methods, but also higher quality gains than using a constant $\lambda$ (i.e., without saliency). -This confirms the two-fold superiority of adaptive $\lambda$, i.e. not only the total overhead is reduced but also higher quality gains are achieved. +This confirms the two-fold superiority of adaptive $\lambda$, i.e. not only the total overhead is reduced but also higher quality gains are achieved. +%\todo{\HERE} \subsubsection{Error propagation evaluation} -In this section the error propagation is evaluated using single loss events and compared against the reference methods. In this simulation a whole frame loss is enforced in order to assess the impact of error propagation in the worst case scenarios. Experimental evaluations were performed for both intra and inter-coded frame loss. -Figure \ref{FIG5:singlelossInter} shows the \ac{psnr} over a \ac{gop} with an \ac{idr} period of 16 frames, whole frame \#6 is missing in sequences Basketball Drill and People On Street. -The figure shows the results obtained by decoding the stream using the proposed method with adaptive $\lambda$ but without any information sent in the enhancement layer. For comparison, the \ac{psnr} obtained from the reference \ac{hevc} decoder using \MC and \REF for \ac{ec} of the lost frame. +In this section the error propagation is evaluated using single loss events and compared against the reference methods. +In this simulation a whole frame loss is enforced in order to assess the impact of error propagation in the worst case scenario. +Experimental evaluations were performed for both intra and inter-coded frame loss. +Figure \ref{FIG5:singlelossInter} shows the \ac{psnr} over a \ac{gop} with an \ac{idr} period of 16 frames, where the whole frame \#6 is missing in sequences Basketball Drill and People On Street. +%The figure shows the results obtained by decoding the stream using the proposed method with adaptive $\lambda$ but without any information sent in the enhancement layer. +Figure \ref{FIG5:singlelossIntra} shows the \ac{psnr} for the same conditions but with a loss event on the intra-coded Frame \#16, in sequences Kimono and Tennis. -\input{\ConcealmentAwareDir/Results/ECMQualitySingleloss.tex} +\input{042_ConcealmentAwareEncoding/Results/ECMQualitySingleloss.tex} -Figure \ref{FIG5:singlelossIntra} shows the \ac{psnr} for the same conditions but with a loss event on the intra-coded Frame \#16, in sequences Kimono and Tennis. These results reveal that the proposed method is able to improve the reconstruction of inter-coded frames and also outperforms the existing techniques whenever a intra-coded frame is missing. -These results also indicate that the proposed method outperforms both reference methods since the time instant when the loss occurs. The lost frame itself is recovered with much higher quality than using the reference \ac{ec} methods. This is due to the use of the optimal \ac{ec} mode to recover each \ac{ecu}, following the \ac{sei} information received from the encoder. -In this case, the proposed method is able to achieve quality gains up to \HIGHLIGHT{5~dB}, decreasing the error propagation and increasing the \ac{psnr} of affected frames by up to \HIGHLIGHT{6~dB}. - -The visual impact of using the proposed \ac{ec}-aware encoding can be evaluated by observing the recovered frame (i.e., frame \#6) of Basketball Drill as an example. Figure~\ref{FIG5:RecoveredExample} shows that higher visual quality and less reconstruction artefacts are obtained in comparison with the \MC method. It is worthwhile to note that the proposed method is able to reconstruct the object edges with higher accuracy than the reference \MC. +These results reveal that the proposed method is able to improve the reconstruction of inter-coded frames and also outperforms the existing techniques, whenever a intra-coded frame is missing. +These results also indicate that the proposed method outperforms both reference methods since the time instant when the loss occurs. The lost frame itself is recovered with much higher quality than using the reference \ac{ec} methods. +This is due to the use of the optimal \ac{ec} mode to recover each \ac{ecu}, benefiting from the \ac{sei} information received from the encoder. +In this case, the proposed method is able to achieve quality gains up to 5~dB, decreasing the error propagation and increasing the \ac{psnr} of affected frames by up to 6~dB. +The visual impact of using the proposed \ac{ec}-aware encoding can be evaluated by observing the recovered frame (i.e., frame \#6) of Basketball Drill, as an example. Figure~\ref{FIG5:RecoveredExample} shows that higher visual quality and less reconstruction artefacts are obtained in comparison with the \MC method. It is worthwhile to note that the proposed method is able to reconstruct the object edges with higher accuracy than the reference \MC. -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% SECTION -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%\section{\HIGHLIGHT{Extensions to the \ac{ec} optimization}} -% -% -%\subsection{\HIGHLIGHT{Increased number of \ac{ec} candidates}} -% -%\subsection{\HIGHLIGHT{\ac{ec} signalling using motion vector differences}} - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % SECTION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -707,12 +676,12 @@ In this experiment both layers, i.e., video stream and enhancement layer with th \subsection{Quality evaluation} -\input{\ConcealmentAwareDir/Results/TableOveralPerformance.tex} - Tables~\ref{tab:concealmentResidueRandomLoss_PLR3}~and~\ref{tab:concealmentResidueRandomLoss_PLR10} present the average \ac{psnr} of decoded video for different \acs{plr} and different percentages of total overhead (i.e., signalling rate plus enhancement layer rate). The absolute \ac{psnr} value is shown for the reference case, while the \ac{psnr} difference is presented for the remaining methods. These results show that transmitting the \ac{ec} residue in the enhancement layer further improves the reconstruction quality obtained when only the optimal \ac{ec} method is used (see previous section). By only using 10\% of the total bit rate, the proposed \ac{ec}-aware coding scheme is able to outperform the reference \ac{hevc}, the \MC and the method proposed in \cite{ROPERefGenJan2010} for both \ac{ld} and \ac{ra} configurations. -Using 20\% of the total bitrate the quality gains increase up to \HIGHLIGHT{6.90~dB} for the Basketball Drill sequence when comparing with the reference \ac{hevc}, achieving an average gain of \HIGHLIGHT{3.79~dB} for the \ac{ld} configuration (\HIGHLIGHT{1.33}~dB for the \ac{ra}). +Using 20\% of the total bitrate the quality gains increase up to 6.90~dB for the Basketball Drill sequence when comparing with the reference \ac{hevc}, achieving an average gain of 3.79~dB for the \ac{ld} configuration (1.33~dB for the \ac{ra}). + +\input{042_ConcealmentAwareEncoding/Results/TableOveralPerformance.tex} When comparing the results of Tables~\ref{tab:concealmentResidueRandomLoss_PLR3}~and~\ref{tab:concealmentResidueRandomLoss_PLR10} with the spatial and temporal information of each sequence (SI/TI in Table~\ref{TableTestSequences}) it is noticeable that higher quality gains are achieved for sequences with higher motion information, i.e., Basketball~Drill and Tennis sequences. Moreover, for sequences with higher spatial information (e.g., BQSquare and People on Street) considerable quality gains are also achieved. @@ -725,23 +694,26 @@ To provide an informal subjective quality comparison between the proposed method The visible artefacts demonstrate how the decoder is able to recover from whole frame loss in both methods, and also the impact of error propagation. Figure~\ref{FIG5:ReconstructedFrames} shows that the proposed method clearly improves the reconstructed quality in comparison with \MC. -\begin{figure}[!t] +\begin{figure}[t] \centering - \includegraphics[width=\textwidth]{\ConcealmentAwareDir/Figures/ReconstructedFrames} + \includegraphics[width=\textwidth]{042_ConcealmentAwareEncoding/Figures/ReconstructedFrames} \caption{Crop of the decoded video frame for the Race Horses and Kimono sequences (Loss event at Frame \#6)} \label{FIG5:ReconstructedFrames} \FIGSVSPACE \end{figure} -A closer look at the Race Horses sequence reveals that the horse rider is not correctly reconstructed by the \MC method (highlighted by the circles and ellipses). As shown in the figure, this not only results in a more accurate reconstruction of the lost frame, but also increases the visual quality of the leading frames. In the Kimono sequence, some artefacts are also noticeable in the \MC case, but not visible in the proposed method (highlighted with circles). Moreover, the edges of the women's kimono (highlighted with ellipses) are also improved by the proposed method, resulting in a smooth reconstruction without error propagation. From the results discussed above it is clearly observed that the proposed method is able to reconstruct the contours of the moving parts more accurately than traditional \ac{ec} algorithms. +A closer look at the Race Horses sequence reveals that the horse rider is not correctly reconstructed by the \MC method (highlighted by the circles and ellipses). As shown in the figure, this not only results in a more accurate reconstruction of the lost frame, but also increases the visual quality of the subsequent frames. +In the Kimono sequence, some artefacts are also noticeable in the \MC case, but not visible when the proposed method is used (highlighted with circles). +Moreover, the edges of the women's kimono (highlighted with ellipses) are also improved by the proposed method, resulting in a smooth reconstruction without error propagation. +From the results discussed above, it is clearly observed that the proposed method is able to reconstruct the contours of the moving parts more accurately than traditional \ac{ec} algorithms. \subsection{Comparison with previous works} -The results were compared with previous works where fair comparisons could be made. +The achieved results were compared with previous works, where fair comparisons could be made. In \cite{ConcealmentSignalling2008} a method was proposed to improve the recovery quality by signalling the suitable \ac{mv} to be used for \ac{ec}. -The proposed \ac{ec}-aware scheme of Figure \ref{FIG5:BlockDiagram} is able to achieve similar quality gains with less amounts of redundancy achieving a better trade-off between quality and overhead. -In comparison with the work described in \cite{SignallingRobustScalable2015}, the proposed method is able to select among more complex \ac{ec} methods which allows for higher quality gains. +The proposed \ac{ec}-aware scheme of Figure \ref{FIG5:BlockDiagram} is able to achieve similar quality gains with less amounts of redundancy, allowing a better trade-off between quality and overhead. +In comparison with the work described in \cite{SignallingRobustScalable2015}, the proposed method is able to select among more complex \ac{ec} methods, which allows for higher quality gains. Both of the above mentioned methods search for the optimal \ac{ec} method at the encoder-side, which results in similar complexity as the proposed method. @@ -751,17 +723,19 @@ Since the proposed \ac{ec}-aware scheme is able to achieve higher quality withou An advantage of using a feedback channel is the low extra complexity required to implement robust coding because the encoder receives specific information about transmission errors. This allows straightforward spatio-temporal localization of the lost data without computational effort. -Table~\ref{tab:overall_gain_ratio} shows the average quality differences between the reference method (\REF) and the proposed one plus three other previous works. Two different test conditions are shown in the Table: error-free and PLR=10\%. Moreover, an efficiency measure $R$ is defined as the ratio between the quality gains obtained under packet loss and the quality decrease in the error-free case, i.e., +Table~\ref{tab:overall_gain_ratio} shows the average quality differences between the reference method (\REF) and the proposed one plus three other previous works. Two different test conditions are shown in the table: error-free and PLR=10\%. Moreover, an efficiency measure $R$ is defined, as the ratio between the quality gains obtained under packet loss and the quality decrease in the error-free case, i.e., \begin{equation} -R = \abs{\frac{\Delta PSNR(\ac{plr}=10\%)}{\Delta PSNR(Error\text{-}free)}}. +R = \frac{\Delta PSNR(\ac{plr}=10\%)}{-\Delta PSNR(Error\text{-}free)}. \end{equation} -The results shown in Table~\ref{tab:overall_gain_ratio}, demonstrate that the effectiveness of the \ac{ec}-aware coding scheme is higher than all other methods under comparison. In fact, not only the absolute \ac{psnr} difference (i.e., \ac{psnr} gain) is higher for the same \ac{plr}, but also the efficiency of the overhead is also higher. This means that the rate spent to encode the signalling information and the enhancement residue carry more useful information than the other methods. +The results shown in Table~\ref{tab:overall_gain_ratio}, demonstrate that the effectiveness of the \ac{ec}-aware coding scheme is higher than all other methods under comparison. In fact, not only the absolute \ac{psnr} difference (i.e., \ac{psnr} gain) is higher for the same \ac{plr}, but also the efficiency of the overhead is also higher. +This means that the overhead bits spent to encode the signalling information and the enhancement residue carry more useful information than the other methods. For instance, in comparison with the method in \cite{DualFrameME2015} the proposed method leads to higher quality degradation in the error-free case. However, for PLR=10\% it clearly outperforms the method in \cite{DualFrameME2015} with a much higher value of $R$, indicating a far superior efficiency. Results in the table~\ref{tab:overall_gain_ratio} also show that the small loss of coding efficiency in error-free transmission is clearly surpassed by the quality gains under error-prone transmission conditions. The methods in \cite{ROPERefGenJan2010,DualFrameME2015} are based on modified predictions, while the method in \cite{VPxResiliencePCS2016} uses redundant data without any further optimisation. -Both of these approaches require low additional computation complexity. However, as observed in the results shown in Table ~\ref{tab:overall_gain_ratio} the lower additional complexity also corresponds to lower quality gains in case of transmission errors. +Both of these approaches require low additional computational complexity. +However, as observed in the results shown in Table~\ref{tab:overall_gain_ratio}, the lower additional complexity also corresponds to lower quality gains in case of transmission errors. @@ -771,7 +745,7 @@ The proposed method uses \ac{ec} techniques with different levels of computati \begin{table}[t] \newcommand{\somespaces}{} \centering -\caption{Comparison against existing methods. \HIGHLIGHT{Sort methods}}\label{tab:overall_gain_ratio} +\caption{Comparison against existing methods.}\label{tab:overall_gain_ratio} \footnotesize % \resizebox{\columnwidth}{!}{ \begin{tabular}{p{2.4cm}x{2.4cm}x{2.4cm}x{2cm}} @@ -782,8 +756,8 @@ The proposed method uses \ac{ec} techniques with different levels of computati % \hline \midrule \AVG & -0.88 & 1.64 & 1.9 \\ \midrule %\hline -\textit{Ref~\cite{DualFrameME2015}} & -0.24 & 1.42 & 5.9 \\ \midrule %\hline \textit{Ref~\cite{VPxResiliencePCS2016}} & -0.37 & 2.03 & 5.5 \\ \midrule %\hline +\textit{Ref~\cite{DualFrameME2015}} & -0.24 & 1.42 & 5.9 \\ \midrule %\hline \PROP & -0.35 & 2.10 & 6.0 \\ %\hline \bottomrule \end{tabular} @@ -801,4 +775,4 @@ In this chapter an \ac{ec}-aware encoding scheme is proposed by incorporating lo % The proposed method relies on loss simulation at the encoder-side to optimise the error concealment proposed. Then, the optimal error concealment is signalled to the decoder. The novelty of this method is to include optimal \ac{ec} mode decision at the encoder, to be used by the decoder in case of packet loss, and also to allow encoding of the \ac{ec} residue using the enhancement layer of the \ac{hevc} standard. The overall results demonstrate that the proposed method is able to efficiently reconstruct lost frames and reduce the error propagation compared with other reference methods. -A consistent quality improvement achieved at the cost of low overhead, allows the use of this method in broadcasting video services and applications where packet loss probability is not negligible. +A consistent quality improvement achieved at the cost of low overhead allows the use of this method in broadcasting video services and applications where packet loss probability is not negligible. diff --git a/042_ConcealmentAwareEncoding/Results/IntraEC_QualityVsFrameLowDelay.tex b/042_ConcealmentAwareEncoding/Results/IntraEC_QualityVsFrameLowDelay.tex index 45db658..2f0572a 100644 --- a/042_ConcealmentAwareEncoding/Results/IntraEC_QualityVsFrameLowDelay.tex +++ b/042_ConcealmentAwareEncoding/Results/IntraEC_QualityVsFrameLowDelay.tex @@ -1,5 +1,5 @@ -\newcommand{\pltw}{0.75\columnwidth} -\newcommand{\plth}{0.3\textheight} +\newcommand{\pltw}{0.7\columnwidth} +\newcommand{\plth}{0.25\textheight} \begin{gnuplot}[terminal=epslatex,terminaloptions={monochrome font ",\PlotFont" size \convertlen{\pltw},\convertlen{\plth}}] load 'carreira_phd_thesis_gnuplot_template.cfg' set xlabel '\TitleFont Frame Number' diff --git a/042_ConcealmentAwareEncoding/Results/TableOveralPerformance.tex b/042_ConcealmentAwareEncoding/Results/TableOveralPerformance.tex index 43a6233..e42c991 100644 --- a/042_ConcealmentAwareEncoding/Results/TableOveralPerformance.tex +++ b/042_ConcealmentAwareEncoding/Results/TableOveralPerformance.tex @@ -19,7 +19,7 @@ % & \multirow{2}{*}{\vbox{\centering \AVG}} & \multicolumn{2}{c}{\PROP} \\ % & & & & $10\%$ & $20\%$ & & & & $10\%$ & $20\%$ \\ % \midrule -% & \multicolumn{10}{c}{Low-delay configuration} \\ [2pt] +% & \multicolumn{10}{c}{Low-delay configuration (LD)} \\ [2pt] % \hline % Basketball Drill & 33.31 & +2.10 & +3.86 & +4.62 & +4.56 & 28.22 & +2.34 & +5.32 & +6.26 & +6.90 \\ \hline % Book Arrival & 36.21 & +1.33 & +2.07 & +2.71 & +2.99 & 31.01 & +2.48 & +4.49 & +5.60 & +6.31 \\ \hline @@ -33,7 +33,7 @@ % \textbf{Average} & \textbf{--} & \textbf{+1.55} & \textbf{+1.88} & \textbf{+3.10} & \textbf{+3.33} % & \textbf{--} & \textbf{+1.36} & \textbf{+1.96} & \textbf{+3.13} & \textbf{+3.79} \\ % \midrule -% & \multicolumn{10}{c}{Random-access configuration} \\ [2pt] +% & \multicolumn{10}{c}{Random-access configuration (RA)} \\ [2pt] % \hline % Basketball Drill & 35.40 & +0.17 & +0.20 & +1.39 & +1.53 & 29.92 & +0.14 & +1.45 & +1.84 & +2.42 \\ \hline % Book Arrival & 37.26 & +0.05 & +0.72 & +1.31 & +1.28 & 32.27 & +0.13 & +2.58 & +2.74 & +2.91 \\ \hline @@ -55,7 +55,7 @@ %% %% %% %% %% %% %% %% %% %% %% %% %% %% %% %% %% %% %% %% %% %% %% %% %% %% %% %% %% %% %% %% %% %% %% %% %% %% %% %% %% Split -\begin{table}[!t] +\begin{table}[t] \centering \caption{Average quality under 3\% of PLR for different methods and overhead ratios.} \label{tab:concealmentResidueRandomLoss_PLR3} @@ -68,7 +68,7 @@ & \multirow{2}{*}{\vbox{\centering \REF}} & \multirow{2}{*}{\vbox{\centering \MC}} & \multirow{2}{*}{\vbox{\centering \AVG}} & \multicolumn{2}{c}{\textit{Proposed}} \\ & & & & $10\%$ & $20\%$ \\ \midrule -& \multicolumn{5}{c}{Low-delay configuration} \\ [2pt] +\multicolumn{6}{c}{Low-delay configuration (LD)} \\ [2pt] \hline Basketball Drill & 33.31 & +2.10 & +3.86 & +4.62 & +4.56 \\ \hline Book Arrival & 36.21 & +1.33 & +2.07 & +2.71 & +2.99 \\ \hline @@ -81,7 +81,7 @@ Race Horses & 29.08 & +2.34 & +4.52 & +5.35 & +6.02 \\ \hline Tennis & 32.71 & +1.32 & +3.13 & +3.81 & +4.97 \\ \hline \textbf{Average} & \textbf{--} & \textbf{+1.55} & \textbf{+1.88} & \textbf{+3.10} & \textbf{+3.33} \\ \midrule -& \multicolumn{5}{c}{Random-access configuration} \\ [2pt] +\multicolumn{6}{c}{Random-access configuration (RA)} \\ [2pt] \hline Basketball Drill & 35.40 & +0.17 & +0.20 & +1.39 & +1.53 \\ \hline Book Arrival & 37.26 & +0.05 & +0.72 & +1.31 & +1.28 \\ \hline @@ -98,7 +98,7 @@ Tennis & 33.86 & +0.16 & +0.18 & +0.98 & +1.48 \\ \hline \end{table} -\begin{table}[!t] +\begin{table}[t] \centering \caption{Average quality under 10\% of PLR.} \label{tab:concealmentResidueRandomLoss_PLR10} @@ -111,7 +111,7 @@ Tennis & 33.86 & +0.16 & +0.18 & +0.98 & +1.48 \\ \hline & \multirow{2}{*}{\vbox{\centering \REF}} & \multirow{2}{*}{\vbox{\centering \MC}} & \multirow{2}{*}{\vbox{\centering \AVG}} & \multicolumn{2}{c}{\textit{Proposed}} \\ & & & & $10\%$ & $20\%$\\ \midrule -& \multicolumn{5}{c}{Low-delay configuration} \\ [2pt] +\multicolumn{6}{c}{Low-delay configuration (LD)} \\ [2pt] \hline Basketball Drill & 28.22 & +2.34 & +5.32 & +6.26 & +6.90 \\ \hline Book Arrival & 31.01 & +2.48 & +4.49 & +5.60 & +6.31 \\ \hline @@ -124,7 +124,7 @@ Race Horses & 24.19 & +0.63 & +2.53 & +2.75 & +3.74 \\ \hline Tennis & 27.08 & +1.30 & +3.51 & +4.58 & +6.61 \\ \hline \textbf{Average} & \textbf{--} & \textbf{+1.36} & \textbf{+1.96} & \textbf{+3.13} & \textbf{+3.79} \\ \midrule -& \multicolumn{5}{c}{Random-access configuration} \\ [2pt] +\multicolumn{6}{c}{Random-access configuration (RA)} \\ [2pt] \hline Basketball Drill & 29.92 & +0.14 & +1.45 & +1.84 & +2.42 \\ \hline Book Arrival & 32.27 & +0.13 & +2.58 & +2.74 & +2.91 \\ \hline diff --git a/043_EndToEndRobustSystem/EndToEndRobustSystem.tex b/043_EndToEndRobustSystem/EndToEndRobustSystem.tex index 74d734a..376f611 100644 --- a/043_EndToEndRobustSystem/EndToEndRobustSystem.tex +++ b/043_EndToEndRobustSystem/EndToEndRobustSystem.tex @@ -1,7 +1,7 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % CHAPTER %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\chapter{Adaptive Error Robustness for Highly Efficient Video Coding} +\chapter{Adaptive Error Robustness for Highly Efficient Video Coding \VERSION{1}} \label{Chapter:EndToEndRobustSystem} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -9,109 +9,142 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Introduction} -The effectiveness of the error resilience techniques varies depending on the video content, as well as, the transmitted bitrate and network conditions. -Therefore, it is not straightforward to select a single technique which achieves high efficiency for every scenario. -Thus, in this chapter a novel adaptive error robustness method is proposed in order to optimise the techniques previously described in Chapter~\ref{Chapter:ErrorResilienceTechniques}~and~\ref{Chapter:ConcealmentAwareTechniques}. -At the encoder-side different video streams are generated with different levels compression efficiency and error robustness. Then, a pre-training \ac{nn} is used to predict which video stream will achieve the highest decoded video quality for a particular scenario. The selection is based on different input parameters which include information from the video signal, the coded stream and the transmission network. Using this approach the overall performance of the proposed method significantly increases by achieving a better trade-off between compression efficient and error robustness. +\glsunset{hevc} +\glsunset{ec} +\glsreset{nn} + +The effectiveness of different error resilience techniques is rather variable depending on the video content, the transmitted bitrate, network conditions, among others. +Therefore, it is not straightforward to select a single technique which achieves the highest efficiency for every possible scenario and also for the whole range of networking conditions. +This chapter addresses this problem by proposing an adaptive network which optimises the efficiency of the techniques previously described in Chapter~\ref{Chapter:ErrorResilienceTechniques}~and~\ref{Chapter:ConcealmentAwareTechniques} +At the encoder-side different video streams are generated with different levels of compression efficiency and error robustness. +Then, a pre-trained neural network is used to predict which video stream will achieve the highest decoded video quality for a particular loss case. +The selection is based on different input parameters which include information from the video signal, the coded stream and the transmission network. Using this approach the overall performance of the proposed adaptive method significantly increases yielding a better trade-off between compression efficiency and error robustness. This chapter is organised as follows. -Section~\ref{Section6:Problem} presents the problem formulation and preliminary results which serve as motivation for the method proposed in this chapter. -Section~\ref{Section6:ProposedMethod} provides an overview of the proposed method architecture and Section~\ref{Section6:OptimisationMethod} describes the method in detail. -Section~\ref{Section6:ExperimentalResults} shows the experimental evaluation of the proposed approach. Finally, Section~\ref{Section6:Summary} concludes this chapter. +Section~\ref{Section6:Problem} presents the problem addressed in this chapter and experimental evidence as motivation for the method investigated. +Section~\ref{Section6:ProposedMethod} provides an overview of architecture that supports the implementation of the proposed method and Section~\ref{Section6:OptimisationMethod} describes the technical details. +Section~\ref{Section6:ExperimentalResults} presents the performance evaluation and a discussion of results. +Finally, Section~\ref{Section6:Summary} concludes the chapter. \clearpage %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% SECTION %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\section{Problem formulation} +\section{The problem of adaptive error robustness} \label{Section6:Problem} -In this research work different robust coding techniques were proposed to increase the overall performance of video transmission under error-prone conditions. -Difference algorithms are used in the proposed methods, such as, reference frame selection, motion vector redundancies and error concealment signalling. -In previous chapters, these methods were evaluated against existing techniques revealing their superior performance and efficiency to deal with error robustness problems in high efficient video coding. -The evaluation of these methods revealed that they can efficiently increase the robustness against transmission errors and losses, leading to higher decoded video quality. Results in Chapter~\ref{Chapter:ErrorResilienceTechniques} show that the proposed reference frame selection algorithm introduces low overhead in comparison with existing techniques. However, the method proposed in Chapter~\ref{Chapter:ConcealmentAwareTechniques} achieves higher quality gains at cost of slightly higher bitrate increase. -Therefore, one may conclude that each method can be optimised for different applications, video characteristics and network conditions. +In the scope of this thesis different robust coding techniques were investigated to increase the overall performance of video transmission under error-prone conditions. +Different algorithms were devised in the proposed methods, such as, reference frame selection, motion vector redundancies and error concealment signalling. +In previous chapters, these methods were evaluated against existing techniques, revealing superior performance and better efficiency to deal with error robustness problems in high efficient video coding. -To advance one step forward, a joint robust coding method using different techniques can be used to increase the decoder video quality across difference conditions, by taking into consideration the input contents, the network information to optimise the robust coder to each scenario. -%In order to overcome the above problem, a joint evaluation study is necessary to identify the most efficient techniques across different conditions. +Overall, the performance results of these methods have demonstrated that they can efficiently increase the robustness of video streams against transmission errors and losses, leading to higher decoded video quality. +However, each method on its own does not adapt to different conditions. +While the reference frame selection algorithm presented in Chapter~\ref{Chapter:ErrorResilienceTechniques} introduces low overhead in comparison with existing techniques, the method proposed in Chapter~\ref{Chapter:ConcealmentAwareTechniques} achieves higher quality gains at cost of slightly higher bitrate increase. +Therefore, one may conclude that each method may be further optimised for different applications, video characteristics and network conditions. +This chapter advances one step forward , by investigating a joint robust coding method using different techniques to optimise the robust coder across different conditions, such as, the input content and the network information. +This scheme can be used in transmission systems where different video bitstreams are available at the encoder-side and can selected based on the current conditions. \subsection{Comparison of the proposed methods} -In order to develop a joint robust coder to cope with transmission errors a comparison study was carried out, to compare the error robustness performance of the proposed methods for different conditions. -%This study extends the previous evaluations presented in Chapter~\ref{Chapter:ErrorResilienceTechniques}~and~\ref{Chapter:ConcealmentAwareTechniques}, as they target a wider range of test material and network conditions. -The experimental evaluation carried out in this section follows the same condition described in Section~\ref{Section3:ErrorResilienceEvaluation}. +In order to address the above problem of adaptive robust coding, a simulation study was carried out to compare the error robustness performance of the previously proposed methods for different conditions. +This study extends the previous evaluations presented in Chapter~\ref{Chapter:ErrorResilienceTechniques}~and~\ref{Chapter:ConcealmentAwareTechniques}, as they target a wider range of test material and network conditions. +Moreover, it aims at comparing the performance of different techniques across a variety of video contents, bitrates and loss conditions, in order to find relevant insights which affect the decoded video quality. Consequently, these relevant insights may be used to develop an adaptive robust coding method. + %In order to perform a wider evaluation different bitrate and \acs{plr} were used. Table~\ref{Table6:TestVariables} illustrates the selected configurations. As shown in the table a total of 15 test sequences were used encoder using 5 different target bitrates. One should note that the main bitrate varies based on the test sequence and it is shown in third column of Table~\ref{TableTestSequences}. Different network conditions were evaluated using a total of 13 different \acs{plr}, with higher special focus on lower loss ratios, which are more relevant to modern video streaming applications. -The following methods are evaluated, namely: +The following methods are evaluated in the simulation study, namely: \begin{itemize} \item the default \ac{hevc} decoder with frame-copy \ac{ec} (\REF), as reference method; + \item the default \ac{hevc} encoder without robust coding-techniques and motion vector extrapolation \ac{ec} (\MVE); \item the proposed reference frame selection scheme (\EXP); - \item the \EXP method in combination with an \ac{ec} optimisation with 10\% of bitrate on the scalable enhancement layer (\EXPELTEN); - \item the same as above, with 20\% of bitrate on the scalable enhancement layer (\EXPELTWEN). + \item the \EXP method in combination with an \ac{ec} optimisation with 10\% of bitrate allocate for the scalable enhancement layer (\EXPELTEN); + \item the same as above, with 20\% of bitrate allocate for the scalable enhancement layer (\EXPELTWEN). \end{itemize} +These methods were selected as they are the main techniques proposed within this research work and cover two aspects of a robust video transmission: (i) robust video encoding by dynamically select the reference frames and (ii) robust video decoding by improving the error concealment performance. +\input{043_EndToEndRobustSystem/Results/AdaptiveSequenceList.tex} + +Table~\ref{Table6:TestMaterialCharacteristics} presents the list of test sequences used. These sequences were selected to cover a wide range of video content, with different levels of spatial and temporal complexity, as demonstrated by the values of \ac{si} and \ac{ti}, respectively. +Moreover, from the bitstream encoded with the reference implementation of the \ac{hevc} encoder, the percentage of the inter-coded blocks and the average \ac{mv} magnitude was extracted and presented in the table (columns 4 and 5, respectively). These values were extracted to compare them against the performance obtained with the proposed robust coding methods. +The remaining configuration were kept as described in Section~\ref{Section3:ErrorResilienceEvaluation}. +%The experimental methodology carried out in this section follows the same conditions described in Section~\ref{Section3:ErrorResilienceEvaluation}. + +\subsubsection{Simulation results and discussion} \begin{figure}[!t] -\centering -\input{043_EndToEndRobustSystem/Results/Quality_PLR_Methods.tex} -\vspace{-4mm} -\caption{Average decoded video quality using the main target bitrate.} -\label{Figure6:AverageQualityMain} + \centering + \input{043_EndToEndRobustSystem/Results/Quality_PLR_Methods.tex} + \vspace{-4mm} + \caption{Average decoded video quality for the bitstreams encoded with the main bitrate (bps).} + \label{Figure6:AverageQualityMain} \end{figure} -\subsubsection{Experimental results and discussion} -Figures~\ref{Figure6:AverageQualityMain}~and~\ref{Figure6:AverageQualityReduction} shows the average decoded video quality obtained from 50 trials, measured with the \ac{psnr} quality metric, for different loss conditions. -Figure~\ref{Figure6:AverageQualityMain} shows the results obtained with the test sequence encoded using a constant target bitrate listed in the third column of Table~\ref{TableTestSequences}. Results on Figure~\ref{Figure6:AverageQualityReduction} were obtained using a lower amount of coded bits, corresponding to a 40\% reduction of the main target bitrate. Comparing both results aims at finding the impact of the video signal and network bitrate on the performance of the proposed methods. +Figures~\ref{Figure6:AverageQualityMain}~and~\ref{Figure6:AverageQualityReduction} shows the average decoded video quality \ac{psnr} obtained from 50 trials, for different loss conditions. +Figure~\ref{Figure6:AverageQualityMain} shows the results obtained with the test sequence encoded using a constant target bitrate listed in Table~\ref{Table6:TestMaterialCharacteristics}, referred to as main bitrate. +Results on Figure~\ref{Figure6:AverageQualityReduction} were obtained by reducing the main bitrate by 40\%. This is used to evaluate the impact of the network bitrate on the decoded video quality. The results shown in the figures corresponds to the same test sequences, in order to carry out an accurate comparison. \begin{figure}[!t] \centering \input{043_EndToEndRobustSystem/Results/Quality_PLR_Methods_Reduced.tex} \vspace{-4mm} -\caption{Average decoded video quality using a 40\% reduction of the main target bitrate} +\caption{Average decoded video quality using a 40\% reduction of the main bitrate (bps).} \label{Figure6:AverageQualityReduction} \end{figure} -Results of both figures show that the proposed methods (\EXP, \EXPELTEN and \EXPELTWEN) are all able to outperform the reference \ac{hevc} for high \acs{plr}. In case of the proposed reference frame selection method (\EXP), quality gains in comparison with the \REF case are achieved for lower loss ratio, i.e., \acs{plr} as low as 2\% for all test conditions. -Comparing the results for both target bitrates also shows that the proposed methods are able to achieve higher quality gains for higher bitrates. Therefore, the for a lower bitrate (see results of Figure~\ref{Figure6:AverageQualityReduction}) the proposed methods only outperform the reference case for slightly higher \acs{plr}. This is more noticeable in the \EXPELTWEN case. +Firstly, comparing the results for different bitrates, it is noticeable that lower quality is obtained for the lower bitrates, which results from the higher compression ratios used. It is also noticed that lower quality gains, when comparing with the reference \ac{hevc} encoder (\REF), are obtained for the video streams encoded with a 40\% reduction of bitrate. This indicates that for lower bitrates the performance of the proposed methods is decreased, especially for the \EXPELTWEN case where 20\% of the bitrate is allocated for the enhancement layer. Therefore, for lower bitrates, using methods that have a lower impact on the coding efficiency (e.g., \EXP) or even disable the robust coding techniques (\MVE) may lead to higher performance. -Summarising, the performance of the proposed methods is not similar across different video content and target bitrate, which impose a challenge on which method should be applied to achieve the highest decoded video quality in case of transmission errors. In order to achieve increased efficiency and higher video quality, the optimal trade-off between auxiliary information and video bitrate should be obtained by selecting the optimal robust coding algorithm. +Secondly, comparing the results across different video content, i.e., different test sequences, one can notice that the performance of the different methods is not consistent. +For instance, in the result of Figure~\ref{Figure6:AverageQualityMain}, for Tennis sequence the \EXPELTWEN clearly outperforms the remaining methods, however, for the BQSquare sequence higher performance is achieved by using less bitrate allocated for the \ac{el} (i.e., 10\%). This is a consequence of the higher quality degradation due to higher motion in Tennis sequence (see results for TI and \ac{mv} size in Table~\ref{Table6:TestMaterialCharacteristics}) which required higher redundant information to increase the overall quality. +%\HIGHLIGHT{Mention SI!!} + +Finally, comparing the results for all test sequences and both bitrates it is clearly noticed that the \acs{plr} has a significant impact on the performance of the error robustness techniques. In case of the proposed reference frame selection method (\EXP), quality gains in comparison with the \REF case are achieved for lower loss ratio, i.e., \acs{plr} as low as 2\% for all test conditions. For the \EXPELTWEN case higher \acs{plr} are required to be able to outperform both the reference \ac{hevc} and the \ac{mve} method. + +Summarising, the performance of the proposed methods is not similar across different video content and bitrates, opening research to adaptively choose the best method that should be applied to achieve the highest decoded video quality. +In order to achieve increased efficiency and higher video quality, the best trade-off between auxiliary information and video bitrate should be found by selecting the optimal robust coding algorithm. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% SECTION %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\section{Proposed architecture} +\section{Architecture for adaptive error robustness} \label{Section6:ProposedMethod} -This section provides an overview of the proposed method, which aims at obtaining the optimal error robustness method for different streaming scenarios, i.e., video content and network conditions. -The main advantage of using the proposed algorithm is that it leads to an optimal trade-off between error robustness tools and coding efficiency. -This scheme can be used in transmission systems where different video bitstreams are available at the encoder-side and can selected based on the current conditions. -This architecture is suitable for dynamic streaming technologies, e.g., HTTP streaming based on MPEG-DASH~\cite{HEVCHTTPStreamAug2016} or content delivery over heterogeneous networks using the \ac{mmt}~\cite{ATSCMMT2016}. -In the proposed method, firstly the input signals are coded using different levels of error protections. Subsequently, an optimisation algorithm is used to decide which bitstream should be transmitted at any given instant, based on different parameters. The selected stream is expected to obtain the highest quality at the decoder-side for the given conditions. +This section describes the proposed method, which aims at obtaining optimal error robustness for different streaming scenarios, characterised by different video content and network conditions. +The main objective of this robust coding scheme it to achieve an optimal trade-off between error robustness tools and coding efficiency. \begin{figure}[tb] -\centering -%\includegraphics[width=.9\columnwidth]{\ConcealmentAwareDir/Figures/BlockDiagram} -\input{043_EndToEndRobustSystem/Figures/JointlyRobustnessDiagram.tikz} -\caption{Architecture of the proposed scheme.} -\label{FIG6:BlockDiagram} -\FIGSVSPACE + \centering + %\includegraphics[width=.9\columnwidth]{\ConcealmentAwareDir/Figures/BlockDiagram} + \input{043_EndToEndRobustSystem/Figures/JointlyRobustnessDiagram.tikz} + \caption{Adaptive error robustness architecture for 4 streams (S1...S4).} + \label{Figure6:BlockDiagram} + \FIGSVSPACE \end{figure} -Figure~\ref{FIG6:BlockDiagram} illustrates the architecture of the proposed encoding scheme. -Firstly, a reference video coder is used to compress the bitstream using highly efficient coding techniques in order to obtain the best \ac{rd} performance for error-free environments. -This is used as the reference bitstream in the proposed approach. -Subsequently, a transcoding operation is applied to the reference bitstream aided by the input video signal to efficiently select the reference frames used for inter prediction. The reference frame selection is applied as proposed in Chapter~\ref{Chapter:ErrorResilienceTechniques}. -Moreover, loss simulation and a saliency-based \ac{ec} optimisation is applied on the robust bitstream. This is used to select the optimal \ac{ec} algorithm which should be applied at the decoder. -Finally, since the optimal \ac{ec} mode might not be able to correctly reconstruct all the missing regions, extra residual information is multiplexed in the stream as a scalable \ac{el} using two different bitrates, i.e., 10\% and 20\% of the total bitrate, providing two different levels of error robustness. -The \ac{ec} optimisation and \ac{el} coding is performed as proposed in Chapter~\ref{Chapter:ConcealmentAwareTechniques}. -The proposed approach results in four different bitstreams with different characteristics: (i) reference stream without error robust coding techniques; (ii) robust video coding using a reference frame selection algorithm which leads to lower error propagation in case of data-loss; (iii) robust video coding using selective reference frames and optimal \ac{ec} method signalling plus 10\% of bitrate allocated for the scalable enhancement layer \ac{ec} residue; (iv) same as the previous bitstream but with 20\% bitrate allocated for the scalable \ac{el}. These bitstreams are referred to as "S1" to "S4", respectively, as shown in Figure~\ref{FIG6:BlockDiagram}. +Figure~\ref{Figure6:BlockDiagram} illustrates the proposed architecture. +Firstly, the input signals are coded using different levels of error protections. Then, an optimisation algorithm is used to decide which bitstream should be transmitted at any given instant, based on different parameters. The selected stream is expected to obtain the highest quality at the decoder-side for the given conditions. +A reference video coder is used to compress the video signal using highly efficient coding techniques, obtaining the best \ac{rd} performance for error-free environments. +This is used as the reference bitstream. +Subsequently, a transcoding operation is applied to this reference bitstream aided by the input video signal to efficiently select the reference frames used for inter prediction. +The reference frame selection mechanism proposed in Chapter~\ref{Chapter:ErrorResilienceTechniques} is used for this purpose. +Moreover, loss simulation and a saliency-based \ac{ec} optimisation are also used in the robust coding process, which enables the selection of the optimal \ac{ec} algorithm to be applied at the decoder. +Finally, since the optimal \ac{ec} mode might not be able to correctly reconstruct all the missing regions, extra residual information is multiplexed in the stream as a scalable \ac{el} using two different bitrates. In this case 10\% and 20\% of the total bitrate were chosen, providing two different levels of error robustness. +The \ac{ec} optimisation and \ac{el} coding is performed as described in Chapter~\ref{Chapter:ConcealmentAwareTechniques}. +The proposed approach results in four different bitstreams with different characteristics (referred to as "S1" to "S4", respectively, as shown in Figure~\ref{Figure6:BlockDiagram}): +(i) S1: reference stream without error robust coding; +(ii) S2: robust video coding using reference frame selection; +(iii) S3: robust video coding using selective reference frames and optimal \ac{ec} method signalling plus 10\% of bitrate allocated for the scalable enhancement layer \ac{ec} residue; +(iv) S4: same as the previous bitstream but with 20\% bitrate allocated for the scalable \ac{el}. + +Finally, the video stream with the optimal error robustness is selected using an algorithm based on different parameters extracted from the video signal, the compressed bitstream and feedback from the transmission channel. +From the input video signal, relevant information regarding the spatial and temporal complexity is computed using existing metrics. Moreover, further information is also extracted from the coded bitstream using a stream parser. +Finally, the loss ratio of the transmission channel is also used. +These parameters are fed into the optimisation block to select the best bitstream for transmission. +The optimisation process is described in detail in the following section. + +The main purpose of this architecture is to allow dynamic stream switching during real time transmission. +To accomplish that without causing drift at the decoder, the switching procedure should take place at refresh points, i.e., \ac{idr} and \ac{cra} frames, which correspond to clean random access points. In the proposed scheme, \ac{idr} frames are introduced every 16 frames, resulting in between 1 to 3 switching points every second, depending on the frame rate of the video signal. -Finally, the video stream with the optimal error robustness is selected using an algorithm based on different parameters extracted from the video signal, the compressed bitstream and from the transmission channel. -From the input video signal relevant information regarding the spatial and temporal complexity is computed using existing metrics. Moreover, further information is also extracted from the coded bitstream using a stream parser. -%the predictions used by the video encoder as well as the target bitrate are extracted using a stream parser. -Finally, a parameter regarding the transmission channel is also used to predict the data loss. -These parameters are fed into the error robustness optimisation block to select the suitable bitstream which should be transmitted to obtain the highest video quality. The optimisation process is described in detail in the following section. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -120,51 +153,112 @@ These parameters are fed into the error robustness optimisation block to select \section{Error robustness selection method} \label{Section6:OptimisationMethod} -In this section the optimisation method used to select a robust highly efficiently coded stream is presented. -The proposed scheme aims at selecting the best method which should be used for transmission, that achieves the highest quality in error-prone scenarios. +In this section the optimisation method used to select a robust video stream is presented. The selection method is based on a shallow neural network which predicts the optimal stream based on different parameters. -This section describes of both the input parameters and the neural network used in the proposed scheme. +This section describes both the input parameters and the neural network used in the optimal stream selection process. Moreover, a description data set used to train and evaluate the neural network used is also provided + +\subsection{Data set} + +%\def\NumCases{845\xspace} +\def\NumCases{910\xspace} + + +The proposed method includes an optimisation stage, which used a neural network classifier in order to select the optimal stream to be used for transmission. +This stream is able to obtain the highest quality for particular transmission scenario. +Therefore, several test cases were simulated in order to obtain results for a wide range of conditions. These tests are mainly characterised by three elements: +\begin{enumerate} + \item Video signal; + \item Target bitrate; + \item Packet loss ratio. +\end{enumerate} + +To obtain the data set 14 different test sequences with different scene content, listed in Table~\ref{Table6:TestMaterialCharacteristics}. Those sequences were encoded with the main bitrate (see Table~\ref{Table6:TestMaterialCharacteristics}), as well as four different others obtained by reducing the main bitrate by 10\%, 20\%, 30\% and 40\%. +Then, the following \acs{plr} were used to cover a wide range of loss ratios giving more detail to low \acs{plr}: 0\%, 0.5\%, 1.0\%, 1.2\%, 1.6\%, 2.0\%, 2.2\%, 2.4\%, 2.6\%, 2.8\%, 3.0\%, 5.0\% and 10.0\%. +This results in a total of \NumCases test conditions. \subsection{Input parameters} \glsreset{si} \glsreset{ti} -A set of different parameters are used to predict the optimal approach that achieves the highest quality in specific network conditions. Based on these inputs the proposed scheme is able to select the appropriate robust coding scheme which should be used. These parameters aim at covering three different aspects of the video transmission: two parameters from the input video, three parameters from the video stream and one parameter from the transmission network. +A set of different parameters is used to predict the optimal stream that achieves the highest quality in specific network conditions. +Based on these inputs the proposed scheme is able to select the appropriate robust coding scheme which should be used. +These parameters aim at characterise three different aspects of the video transmission system; (i) input video (two parameters), (ii) video stream (three parameters) and (iii) transmission network (one parameter). +%These parameters aim at covering three different aspects of the video transmission: two parameters from the input video, three parameters from the video stream and one parameter from the transmission network. +From the input video the two parameters are measured in a frame by frame basis, while for the video stream information a stream parser is applied to the reference bitstream that was compressed only based optimal \ac{rd} optimisation without considering any robust coding techniques, as shown in Figure~\ref{Figure6:BlockDiagram}. Finally, the parameter related with the transmission network can be obtained using feedback information from the decoder. -To characterise the input video signal the following parameters are used: \ac{si} and \ac{ti}~\cite{ITUTP9112008}. -These parameters are obtained as described in Chapter~\ref{Chapter:HEVCErrorResilience}, and aim at evaluating the spatial complexity and motion complexity of the video scenes, which have relevant impact on the error robustness of the coded streams. -As shown in the results of Figures~\ref{Figure6:AverageQualityMain}~and~\ref{Figure6:AverageQualityReduction}, test material with higher \ac{si} or \ac{ti} suffer from higher quality degradation as the \ac{plr} increases, e.g., Book Arrival and Tennis sequences. +%From the coded video streams complementary information to characterise the streaming content is also extracted. A stream parser is applied to the reference bitstream without error robustness techniques. Therefore, the prediction information extracted is related to a stream coded based on optimal \ac{rd} optimisation which was not affected by robust coding techniques. The following is extracted: -From the coded video streams complementary information to characterise the streaming content is also extracted. A stream parser is applied to the reference bitstream without error robustness techniques. Therefore, the prediction information extracted is related to a stream coded based on optimal \ac{rd} optimisation which was not affected by robust coding techniques. The following is extracted: +The characterisation of these three aspects of the video transmission result in a total of six parameters: \begin{itemize} -\item \textit{Inter(\%)}: the relation between the ratio of the image which is coded based on intra and inter frame predictions, indication the distribution of spatial and temporal dependencies. -This is expressed by the ratio of blocks coded using inter frame predictions. + +\item \textit{\ac{si}}: parameter expressing the amount of spatial detail, which consequently affects the error recovery operations, leading to higher quality degradation~\cite{ITUTP9102008}. + +\item \textit{\ac{ti}}: parameter expressing the amount of difference between temporally adjacent frames~\cite{ITUTP9102008}. This has a direct impact on the impact of errors, and thus the performance of the error resilience techniques as shown in the results of Figures~\ref{Figure6:AverageQualityMain}~and~\ref{Figure6:AverageQualityReduction}, which were discussed in Section~\ref{Section6:Problem}. + +\item \textit{Inter (percentage)}: the percentage of the image that is compressed using inter-frame prediction techniques. +This is an indication of the distribution of spatial and temporal dependencies. +This is calculated as the ratio of inter-coded blocks over intra-coded ones. Normally, coded streams with higher number of temporal dependencies are more prone to error propagation, thus higher number of bits should be allocated for error protection \cite{UEPScalable_TCSVT2010}. -\item \textit{AVG\_MV}: from those regions coded using inter frame prediction, the motion information is analysed and the average \ac{mv} size is used to provide information regarding the motion intensity. As shown in previous studies, motion based \ac{ec} algorithms are less efficient for video signals with higher motion intensity as \acs{mv} are less predictable using algorithms such as \ac{mc} or \ac{mve} \cite{HybridConcealmentTB2008}. +\item \textit{AVG\_MV}: for the inter-coded regions, the motion information is analysed and the average \ac{mv} magnitude is calculated to provide information about the motion intensity. +As shown in previous studies, motion-based \ac{ec} algorithms are less efficient for video signals with higher motion intensity, as \acs{mv} are less predictable using algorithms such as \ac{mc} or \ac{mve} \cite{HybridConcealmentTB2008}. + +\item \textit{Bitrate}: information regarding the average bit allocation per frames is extracted, since it will affect the video quality and the amount of bits that can be available for auxiliary information. This value is expressed in Mbps, as illustrated in Table~\ref{Table6:TestMaterialCharacteristics}. + +\item \textit{\ac{plr}:} feedback information from the network to characterise the transmission losses, expressed by the percentage of packets loss. This is used since for higher the loss rations there is a clear increase in the quality degradation which affect the performance of the robust coding techniques. +Transmission networks with higher loss ratios require a higher bit allocation for robust techniques, therefore the error resilience technique should adapt based on the value of the \ac{plr}. + -\item \textit{Bitrate}: information regarding the bit allocation is extracted, since it will affect the video quality and the amount of bits that can be available for auxiliary information. \end{itemize} -Finally, since the amount of data loss affects the decoded video quality the transmission network \ac{plr} is also used as input parameter. Transmission networks with higher loss ratios require a higher bit allocation for robust techniques, therefore the error resilience technique should adapt based on the value of the \ac{plr}. + +\begin{table}[tb] + \centering + \caption{Pearson correlation coefficient between the different parameters and the optimal robust coding techniques (optimal stream).} + \label{Table6:Correlation} + \TABLESVSPACE + \renewcommand{\arraystretch}{1.2} + \begin{tabular}{p{4cm}x{4cm}} + \toprule + Parameter & Absolute pearson coefficient \\ \hline +% \textit{SI} & -0.1553 \\ \hline +% \textit{TI} & 0.6079 \\ \hline +% \textit{Inter (percentage)} & -0.6487 \\ \hline +% \textit{OPT\_FLOW} & 0.6953 \\ \hline +% \textit{AVG\_MV} & 0.4647 \\ \hline +% \textit{Bitrate} & 0.3580 \\ \hline +% \textit{PLR} & 0.5755 \\ \hline + + \textit{SI} & 0.3953 \\ \hline + \textit{TI} & 0.6079 \\ \hline + \textit{Inter (percentage)} & 0.6487 \\ \hline + \textit{OPT\_FLOW} & 0.1553 \\ \hline + \textit{AVG\_MV} & 0.4647 \\ \hline + \textit{Bitrate} & 0.3580 \\ \hline + \textit{PLR} & 0.5755 \\ \hline + \end{tabular} +\end{table} + + +%To characterise the input video signal the following parameters are used: \ac{si} and \ac{ti}~\cite{ITUTP9102008}. +%These parameters are obtained as described in Chapter~\ref{Chapter:HEVCErrorResilience}, and aim at evaluating the spatial complexity and motion complexity of the video scenes, which have relevant impact on the error robustness of the coded streams. +%As shown, test material with higher \ac{si} or \ac{ti} suffer from higher quality degradation as the \ac{plr} increases, e.g., Book Arrival and Tennis sequences. + +These parameters were compared against the optimal stream which should be selected (S1...S4). +This aims at finding the correlation between the input parameters and the output variable, i.e., target stream. +In this study the streams are characterised by a number between 1 and 4, respectively. +Table~\ref{Table6:Correlation} shows the absolute person correlation coefficient obtained across all sequences, bitrates and \acs{plr}. +The table shows the results for the parameters previously described, as well as, a new parameter obtained from the average magnitude of the optical flow measured using the method in~\cite{DeepFlow2013} (\textit{OPT\_FLOW}). +Results in Table~\ref{Table6:Correlation} show that the selected parameters are all related with the optimal streams, with the ratio of inter-coded blocks achieving the highest correlation. Moreover, one can also notice that the parameters related with the motion activity, i.e., \ac{ti} and \textit{AVG\_MV}, are also correlated with the output variable. As both \textit{AVG\_MV} and \textit{OPT\_FLOW} represent similar information (motion insensitive), only \textit{AVG\_MV} was used in the proposed method as it achieves a higher person correlation coefficient. % Podia se citar este paper % \cite{IntraRefreshICIP2009} - +%\HERE \subsection{Neural network} \glsreset{nn} -\begin{figure}[tb] - \centering - %\includegraphics[width=.9\columnwidth]{\ConcealmentAwareDir/Figures/BlockDiagram} - \input{043_EndToEndRobustSystem/Figures/NeuralNetwork.tikz} - \caption{Representation of the neural network used in the proposed method.} - \label{FIG6:NeuralNetwork} - \FIGSVSPACE -\end{figure} - A \ac{nn} is a computational model based on the structure and functions of biological neural networks. %In terms of computer science, \acs{nn} work similarly to a human nervous system for receiving, processing, and transmitting information between neurons. Mainly, a \ac{nn} consists of three different layers: the input layer which receives data from an external environment, the hidden layer which process the inputs and an output layer~\cite{NeuralNetworks1994}. @@ -178,82 +272,27 @@ Subsequently, the network transforms the input data through a series of neurons The output layer comprises four neurons corresponding to each available video stream from S1 to S4 (different error resilience techniques). Finally, the output with the highest value is selected and the corresponding stream is used for transmission, since it is the one expected to achieve the highest video quality for a particular scenario. +\begin{figure}[tb] + \centering + %\includegraphics[width=.9\columnwidth]{\ConcealmentAwareDir/Figures/BlockDiagram} + \input{043_EndToEndRobustSystem/Figures/NeuralNetwork.tikz} + \caption{Representation of the neural network used in the proposed method.} + \label{FIG6:NeuralNetwork} + \FIGSVSPACE +\end{figure} + In the proposed approach a shallow \ac{nn} is used for simplicity and to avoid over-fitting due to the limited test cases. By avoiding over-fitting, it is guaranteed that the proposed method would continue to work in future test conditions not used for the network training. However, different network topologies with different number of neurons in each layer could also be used to predict between different error resilience techniques, as in the proposed method. - -\section{Experimental evaluation} -\label{Section6:ExperimentalResults} - -\def\NumCases{845\xspace} - -In this section the experimental results obtained with the proposed method are presented and discussed. -The error resilience techniques used in the proposed method are used in the context of the \ac{hevc} standard and compared with the reference implementation (\REF). -%The experimental results were obtained with the methodology described in Section~\ref{ExperimentalTestSetup}. -To demonstrate the effectiveness of the proposed optimal error robustness scheme several test cases were used. -In this experimental evaluation 13 test sequences were used, encoded using at 5 different bitrates. -Moreover, the following \acs{plr} were used to cover a wide range of loss rations giving more detail to low \acs{plr}: 0\%, 0.5\%, 1.0\%, 1.2\%, 1.6\%, 2.0\%, 2.2\%, 2.4\%, 2.6\%, 2.8\%, 3.0\%, 5.0\% and 10.0\%. -This results in a total of \NumCases test conditions. - -The performance evaluation of the proposed method is carried out using two different approaches. -In the former, a description of the \ac{nn} training is presented along with the validation results. -In the latter, the quality obtained with the proposed optimal error robustness scheme is evaluated and compared with the reference methods. - -%\begin{table}[t] -% \centering -% \caption{List of the test conditions tested.} -% \label{Table6:TestVariables} -% \TABLESVSPACE -% \begin{tabular}{m{4cm}|y{4cm}|y{6cm}} -% \toprule -% \textbf{Sequence} & \textbf{Bitrate} & \textbf{\ac{plr}} \\ \midrule -% Basketball Drill & Main (see Table~\ref{TableTestSequences}) & Error-free \\ -% Basketball Drive & 10\% reduction & 0.5\% \\ -% Book Arrival & 20\% reduction & 1.0\% \\ -% BQSquare & 30\% reduction & 1.2\% \\ -% Cactus & 40\% reduction & 1.6\% \\ -% Four People & 50\% reduction & 2.0\% \\ -% Kendo & & 2.2\% \\ -% Kimono & & 2.4\% \\ -% Kristen and Sara & & 2.6\% \\ -% Park Scene & & 2.8\% \\ -% People on Street & & 3.0\% \\ -% Race Horses & & 5.0\% \\ -% Tennis & & 10.0\% \\ -% Traffic & & \\ -% \bottomrule -% \end{tabular} -%\end{table} - - -\subsection{Network training and validation} +\subsubsection{Training and validation} %As mentioned before a total of \NumCases test cases are used for the evaluation of the proposed method. -To effectively train and validate the \ac{nn} used in the proposed method the data set is randomly divided based on the following: 70\% of the test cases are used for training and 30\% for validation. +To effectively train and validate the \ac{nn} the data set is randomly in three different groups: (i) 55\% of the test cases are used for training, (ii) 15\% for validation and (iii) 30\% for testing the \ac{nn} performance. The \ac{nn} supervised training uses 591 test conditions and a scaled conjugate gradient algorithm~\cite{NNScaledConjugateTraining_1993}. -The remaining 273 conditions are used to evaluate the accuracy of the proposed method after training using different conditions. +The remaining 254 conditions are used to evaluate the accuracy of the proposed method after training using different conditions. From this test one video sequences was left out, to be used in the performance evaluation of the proposed method. -\begin{table}[tb] - \centering - \caption{Confusion matrix of the training test cases.} - \label{Table6:ConfusionTraining} - \TABLESVSPACE - \renewcommand{\arraystretch}{1.2} - \begin{tabular}{x{.5cm}x{1cm}|x{1.3cm}|x{1.3cm}|x{1.3cm}|x{1.3cm}} - & & \multicolumn{4}{c}{Target} \\ - \multirow{4}{*}{\rotatebox[origin=c]{90}{\parbox[c]{3.8cm}{\centering Selected}}} - & & S1 & S2 & S3 & S4 \\ \hline - & S1 & 122 & 17 & 3 & 0 \\ - \cline{2-6} & S2 & 13 & 80 & 19 & 2 \\ - \cline{2-6} & S3 & 0 & 12 & 96 & 9 \\ - \cline{2-6} & S4 & 0 & 4 & 11 & 202 \\ - \hline - \multicolumn{2}{x{1.7cm}|}{Accuracy} & 90.3\% & 70.8\% & 74.4\% & 94.8\% \\ - \end{tabular} -\end{table} - Table~\ref{Table6:ConfusionTraining} shows the confusion matrix of the \ac{nn} training phase. In this matrix each column corresponds to the target result, i.e., the cases where the coded streams S1 to S4 would lead to the highest decoded video quality, respectively. Similarly, each row corresponds to the \ac{nn} selected by the trained networks. @@ -261,12 +300,31 @@ Thus, those cases where the horizontal and vertical labels match, indicate that The last line shows the accuracy for each target output. These results correspond to the dataset used to train the \ac{nn}. +\begin{table}[tb] + \centering + \caption{Confusion matrix of the training and validation test cases.} + \label{Table6:ConfusionTraining} + \TABLESVSPACE + \renewcommand{\arraystretch}{1.2} + \begin{tabular}{x{.5cm}x{1cm}|x{1.3cm}|x{1.3cm}|x{1.3cm}|x{1.3cm}} + & & \multicolumn{4}{c}{Target} \\ + \multirow{4}{*}{\rotatebox[origin=c]{90}{\parbox[c]{3.8cm}{\centering Selected}}} + & & S1 & S2 & S3 & S4 \\ \hline + & S1 & 122 & 17 & 3 & 0 \\ + \cline{2-6} & S2 & 13 & 80 & 19 & 2 \\ + \cline{2-6} & S3 & 0 & 12 & 96 & 9 \\ + \cline{2-6} & S4 & 0 & 4 & 11 & 202 \\ + \hline + \multicolumn{2}{x{1.7cm}|}{Accuracy} & 90.3\% & 70.8\% & 74.4\% & 94.8\% \\ + \end{tabular} +\end{table} + Results in Table~\ref{Table6:ConfusionTraining} shows that streams S1 (i.e., without robust coding techniques) and S4 (i.e., using optimal \ac{ec} with 20\% of bitrate in the \ac{el}) lead to the highest quality in the majority of the test cases (are selected more often). -The \ac{nn} is able to achieve a high accuracy for S1 and S4 streams, correctly selecting the output stream in more than 90\% of cases. Regarding the remaining robust streams (i.e., S2 and S3) an acceptable accuracy of 70.8\% and 74.4\% is achieved, respectively. This reveals that the \ac{nn} used in the proposed method is able to correctly predict the coded stream which leads to the highest video quality across different conditions. +The \ac{nn} is able to achieve a high accuracy for S1 and S4 streams, correctly selecting the output stream in more than 90\% of cases. Regarding the remaining robust streams (i.e., S2 and S3) an acceptable accuracy of 70.8\% and 74.4\% is achieved, respectively. This reveals that the \ac{nn} used in the proposed method is able to predict the coded stream which leads to the highest video quality across different conditions with acceptable accuracy. \begin{table}[tb] \centering - \caption{Confusion matrix of the validation test cases.} + \caption{Confusion matrix of the test cases not used for testing.} \label{Table6:ConfusionTest} \TABLESVSPACE \renewcommand{\arraystretch}{1.2} @@ -284,20 +342,22 @@ The \ac{nn} is able to achieve a high accuracy for S1 and S4 streams, correctly \end{tabular} \end{table} -To further evaluate the performance of the \ac{nn}, the confusion matrix of the validation set is shown in the Table~\ref{Table6:ConfusionTest}. This table shows the same results as Table~\ref{Table6:ConfusionTraining} but for different test cases, which were not used in the training phase. +To further evaluate the performance of the \ac{nn}, the confusion matrix of the data set usef for testing is shown in the Table~\ref{Table6:ConfusionTest}. This table shows the same results as Table~\ref{Table6:ConfusionTraining} but for different test cases, which were not used in the training phase. % Therefore, the trained network is not aware of the test cases used for validation. Results show that the proposed \ac{nn} is able to achieve an accuracy of at least 62.2\% with a maximum value of 89.6\% when the S4 is the target stream. Although a lower accuracy is obtained using the validation test cases, the overall accuracy is still acceptable, since it allows to select the optimal robust coding technique (i.e., S1 to S4) for the majority of the conditions. In summary, the results presented in this sub-section reveal that the input parameters used in the proposed \ac{nn} are correlated with the decoded video quality, as they can effectively be used to perform data categorisation used in the selection of the optimal error robustness coding technique for the \ac{hevc} standard. +\section{Performance evaluation} +\label{Section6:ExperimentalResults} +In this section the performance of the proposed method is evaluated and discussed. +The overall goal of the proposed method is to achieve improved quality using a combination of different robust coding techniques adaptively selected using a feed-forward \ac{nn}. +The error resilience techniques used in the proposed method are used in the context of the \ac{hevc} standard and compared with the reference implementation (\REF). +The quality obtained with the proposed optimal error robustness scheme (\PROP) is compared against the reference \ac{hevc} (\REF) and the methods used to generate the streams S1 to S4. -\subsection{Quality evaluation} - -The overall goal of the proposed method is to achieve improved quality using a combination of different robust coding techniques adaptively selected using a feed-forward \ac{nn}. In this sub-section the quality obtained with the proposed method (\PROP) is compared against the reference \ac{hevc} (\REF) and the methods used to generate the streams S1 to S4. - -\begin{figure}[!t] +\begin{figure}[!t] \centering \input{043_EndToEndRobustSystem/Results/PlotQualty_vs_PLR_Predicted.tex} \vspace{-2mm} @@ -305,12 +365,16 @@ The overall goal of the proposed method is to achieve improved quality using a c \label{Figure6:ProposedQuality} \end{figure} -Figure~\ref{Figure6:ProposedQuality} shows the quality obtained for the proposed method and the \REF case for the main target bitrate shown in Table~\ref{TableTestSequences}. Moreover, the quality obtained with the target stream (\BEST) is also shown. One should note that the \BEST case corresponds to the optimal selection which can only be performed after quality evaluation at the decoder, therefore not suitable for real time applications and it is only used to illustrate the optimal scenario. +Figure~\ref{Figure6:ProposedQuality} shows the quality obtained for the proposed method and the \REF case for the main target bitrate shown in Table~\ref{TableTestSequences}. Moreover, the quality obtained with the target stream (\BEST) is also shown. +One should note that the \BEST case corresponds to the optimal selection which can only be performed after quality evaluation at the decoder, therefore not suitable for real time applications. +It is only used to establish the optimal case for comparison. The results in the figure allows to evaluate the impact in the decoded quality of the selection used in the proposed method and compare it with the optimal case. -As shown in the Figure~\ref{Figure6:ProposedQuality} the proposed method clearly outperforms the reference \ac{hevc} for all \acs{plr}. Moreover, in the error-free case (\ac{plr}=0) it does not lead to quality reduction since the proposed approach is able to select the optimal stream, thus disabling any robust coding technique when the transmission network does not have packet losses. In case of data loss results show that the proposed method is able to match the quality obtained by the \BEST case in most of the cases, revealing that the proposed method is able to efficiently select the optimal stream for transmission. +As shown in Figure~\ref{Figure6:ProposedQuality} the proposed method clearly outperforms the reference \ac{hevc} for all \acs{plr}. +Moreover, in the error-free case (\ac{plr}=0) it leads to imperceptible quality reduction since the proposed approach is able to select the optimal stream, thus disabling any robust coding technique when the transmission network does not have packet losses. +In case of data loss, the results show that the proposed method is able to match the quality obtained by the \BEST case in most cases, revealing that the proposed method is able to efficiently select the optimal stream for transmission. -\begin{table}[tbp] +\begin{table}[tb] \centering \caption{Average quality gains ($\Delta$PSNR) in comparison with the reference \ac{hevc} across different bitrates and loss ratios.} \label{Table6:AverageGains} @@ -321,7 +385,7 @@ As shown in the Figure~\ref{Figure6:ProposedQuality} the proposed method clearly \multirow{2}{*}{\vbox{\centering \textbf{Sequence}}} & \multicolumn{5}{c}{\textbf{Robust coded stream}} \\ & S1 & S2 & S3 & S4 & \PROP \\ \hline Basketball Drill & +1.61 & +2.66 & +2.48 & +2.44 & +2.75 \\ \hline -Basketball Drive & +2.17 & +3.46 & +3.22 & +3.63 & +3.69 \\ \hline +%Basketball Drive & +2.17 & +3.46 & +3.22 & +3.63 & +3.69 \\ \hline Book Arrival & +0.96 & +1.66 & +1.43 & +1.59 & +1.74 \\ \hline BQSquare & +0.92 & +0.96 & +0.80 & +0.62 & +1.09 \\ \hline Cactus & +1.28 & +2.04 & +1.89 & +1.96 & +2.09 \\ \hline @@ -330,17 +394,18 @@ Kendo & +0.81 & +0.78 & +0.20 & +0.61 & +1.02 \\ \hline Kimono & +1.65 & +3.04 & +3.26 & +3.27 & +3.41 \\ \hline Kristen Sara & +0.36 & +0.15 & -0.33 & -0.50 & +0.38 \\ \hline Park Scene & +1.64 & +2.18 & +1.88 & +2.02 & +2.25 \\ \hline +Party Scene & +0.21 & +0.20 & -0.07 & -0.24 & +0.29 \\ \hline People on Street & +1.00 & +1.27 & +0.91 & +1.49 & +1.63 \\ \hline Race Horses & +1.93 & +3.89 & +4.06 & +4.30 & +4.39 \\ \hline Tennis & +1.15 & +2.24 & +2.17 & +3.12 & +3.18 \\ \hline -\textbf{Average} & \textbf{+1.21} & \textbf{+1.86} & \textbf{+1.62} & \textbf{+1.81} & \textbf{+2.15} \\ +\textbf{Average} & \textbf{+1.06} & \textbf{+1.60} & \textbf{+1.37} & \textbf{+1.51} & \textbf{+1.88} \\ \bottomrule \end{tabular} \begin{tikzpicture}[overlay] -\draw[red, line width=1.2pt] (1.8,4.65) ellipse (3.5cm and 0.3cm); -\draw[red, line width=1.2pt] (3,3.05) ellipse (2.3cm and 0.3cm); +\draw[red, line width=1.2pt] (1.8,5.2) ellipse (3.5cm and 0.3cm); +\draw[red, line width=1.2pt] (3,3.6) ellipse (2.3cm and 0.3cm); \draw[blue, line width=1.2pt] (6.7,1.45) ellipse (.85cm and 0.25cm); -\draw[blue, line width=1.2pt] (6.7,6.75) ellipse (.85cm and 0.25cm); +\draw[blue, line width=1.2pt] (6.7,4.10) ellipse (.85cm and 0.25cm); \end{tikzpicture} \end{table} @@ -349,9 +414,27 @@ Subsequently, a comparison between the different methods is performed, in order Table~\ref{Table6:AverageGains} shows the average quality gains in comparison with the reference \ac{hevc} obtained with the proposed scheme and the four different techniques used in selection method, i.e., methods used in the streams S1 to S4. The average quality gains are measured across all test cases, i.e., different bitrates and different loss ratios. Results in Table~\ref{Table6:AverageGains} shows that the robust coded streams S1 to S4 are able to achieve acceptable average quality gains up to 1.86 dB (see results for S2). -However, since the introduction of robust coding techniques decreases the coding efficiency it may lead to lower quality than the reference \ac{hevc}. This is noticeable in the results obtained for the Four People sequence in the streams S2 to S4 and for the Kristen and Sara sequence and in the streams S3 and S4 (see red ellipses). This reveals that the overall performance of such methods is not suitable for transmission networks subject to low \acs{plr}, e.g., lower than 3\% (higher number of conditions have \acs{plr} lower than 3\%). -On contrary, the proposed method is always able to outperform the reference \ac{hevc} and achieve quality gains of at least 0.25 dB for the Four People sequence. Moreover, for the Basketball Drive and Race Horses sequences it is able to achieve the highest quality gains of up 3.69 dB and 4.39 dB, respectively (see blue ellipses). Summarising, by adaptively selecting the video stream, and consequently the robust coding technique, the proposed method is able to achieve a better trade-off between coding efficiency and error robustness achieving an average quality gains across different bitrates and \acs{plr} of 2.15 dB. +However, since the implementation of robust coding techniques decreases the coding efficiency, it also leads to lower quality than the reference \ac{hevc}. This is noticeable in the results obtained for the Four People sequence in the streams S2 to S4 and for the Kristen and Sara sequence in the streams S3 and S4 (see red ellipses). +The overall performance of such methods reveals that they are not suitable for transmission conditions with low \acs{plr}, e.g., lower than 3\% (higher number of conditions have \acs{plr} lower than 3\%). +On the contrary, the proposed method is always able to outperform the reference \ac{hevc} and achieve quality gains of at least 0.25 dB for the Four People sequence. Moreover, for the Kimono and Race Horses sequences it is able to achieve the highest quality gains of up 3.41 dB and 4.39 dB, respectively (see blue ellipses). Summarising, by adaptively selecting the video stream, and consequently the robust coding technique, the proposed method is able to achieve a better trade-off between coding efficiency and error robustness achieving an average quality gain across different bitrates and \acs{plr} of 1.88 dB. +Finally, in order the performance evaluation of the proposed method is evaluated for a video sequence, which was not fed into the \ac{nn} training phase. This study aims at finding the accuracy of the optimal stream selection in case of new video content. For this purpose the Basketball Drive sequence was not used in the previous simulations. Table~\ref{Table6:AverageGainBasketBallDrive} shows the average quality results obtained with this sequence, similarly as Table~\ref{Table6:AverageGains}. These results confirm that the proposed method is able to select the optimal robust stream to be used for transmission, even when new video content is transmitted. The proposed method achieves a quality gain of 3.55 dB in comparison with the reference \ac{hevc}, outperforming the quality achieved with the stream S4 (i.e., 3.45 dB). +This confirms the advantage of the proposed method to adaptively select among different stream with different levels of error protections. + +\begin{table}[tb] + \centering + \caption{Average quality gain ($\Delta$PSNR) in comparison with the reference \ac{hevc} for the Basketball Drive sequence.} + \label{Table6:AverageGainBasketBallDrive} + \TABLESVSPACE + \newcommand{\colwidth}{1.7cm} + \begin{tabular}{p{3cm}|x{\colwidth}|x{\colwidth}|x{\colwidth}|x{\colwidth}|x{\colwidth}} + \toprule + \multirow{2}{*}{\vbox{\centering \textbf{Sequence}}} & \multicolumn{5}{c}{\textbf{Robust coded stream}} \\ + & S1 & S2 & S3 & S4 & \PROP \\ \hline + Basketball Drive & +2.10 & +2.68 & +3.36 & +3.45 & +3.55 \\ + \bottomrule + \end{tabular} +\end{table} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% SECTION %% @@ -359,8 +442,8 @@ On contrary, the proposed method is always able to outperform the reference \ac{ \section{Summary} \label{Section6:Summary} -In this chapter an adaptive error robustness method is proposed based on reference frame selection and \ac{ec}-aware optimisation. By adaptively select a different error robustness technique at the encoder-side using a pre-trained \ac{nn}, higher quality gains are achieved when comparing against the reference techniques. +In this chapter an adaptive error robustness method is proposed based on reference frame selection and \ac{ec}-aware optimisation. By adaptively selecting a different error robustness technique at the encoder-side using a pre-trained \ac{nn}, higher quality gains are achieved when comparing against the reference techniques. %Moreover, the proposed method is able to outperform those cases where a single error resilience technique is used. -The overall results demonstrate that the proposed method is able to increase the reconstruction video quality in case of errors, and by adapting the transmitted stream to the network conditions a better trade-off between coding efficiency and error robusntess is achieved. +The overall results demonstrate that the proposed method is able to increase the reconstruction video quality in case of errors, and by adapting the transmitted stream to the network conditions a better trade-off between coding efficiency and error robustness is achieved. The consistent quality improvement achieved, allows the use of this method in dynamic broadcasting video services where network feedback is available and where packet loss probability is not negligible. - +This architecture is suitable for dynamic streaming technologies, e.g., HTTP streaming based on MPEG-DASH~\cite{HEVCHTTPStreamAug2016} or content delivery over heterogeneous networks using the \ac{mmt}~\cite{ATSCMMT2016}. diff --git a/043_EndToEndRobustSystem/Figures/JointlyRobustnessDiagram.tikz b/043_EndToEndRobustSystem/Figures/JointlyRobustnessDiagram.tikz index d570540..a4ce646 100644 --- a/043_EndToEndRobustSystem/Figures/JointlyRobustnessDiagram.tikz +++ b/043_EndToEndRobustSystem/Figures/JointlyRobustnessDiagram.tikz @@ -1,4 +1,4 @@ - + \usetikzlibrary{arrows,matrix} \usetikzlibrary{fit} \usetikzlibrary{intersections} @@ -115,7 +115,7 @@ % % %% TS Mux and output \path (Encoder.south) -- (Encoder |- ConcOpt.north) node[midway] (middleRef) {}; % Find middle ref -\node [propBlock, right=9 of middleRef, text width=5.5cm, rotate=-90, anchor=center, minimum height=1.1cm] (Mux) {Error robustness optimisation}; +\node [propBlock, right=9 of middleRef, text width=5.5cm, rotate=-90, anchor=center, minimum height=1.1cm] (Mux) {Optimal stream selection}; \node [right of=Mux, node distance=2.8cm, coordinate] (Out) {}; \tikzstyle{OutputLabels} = [pos=1, anchor=south east, text width=2cm, align=right] diff --git a/043_EndToEndRobustSystem/Results/AdaptiveSequenceList.tex b/043_EndToEndRobustSystem/Results/AdaptiveSequenceList.tex new file mode 100644 index 0000000..07c2623 --- /dev/null +++ b/043_EndToEndRobustSystem/Results/AdaptiveSequenceList.tex @@ -0,0 +1,31 @@ +\begin{table}[t] + \centering + \caption{Test material used in the experimental simulation and its characteristics.} + \label{Table6:TestMaterialCharacteristics} + \TABLESVSPACE + \newcommand{\colsize}{1.3cm} + \begin{tabular}{m{4cm}|x{\colsize}|x{\colsize}|x{\colsize}|x{2.2cm}|x{2.8cm}} + \toprule + \centering\let\newline\\\arraybackslash\hspace{0pt}\textbf{Sequence} + & \textbf{SI} + & \textbf{TI} + & \textbf{Inter (\%)} + & \textbf{MV Magnitude} + & \textbf{Main bitrate (Mbps)} \\ \hline + Basketball Drill & 33.4 & 14.4 & 88.1 & 6.40 & 4.50 \\ \hline + Basketball Drive & 33.0 & 15.2 & 85.0 & 27.4 & 15.00 \\ \hline + Book Arrival & 28.4 & 21.7 & 90.7 & 4.67 & 1.50 \\ \hline + BQSquare & 63.2 & 11.5 & 93.7 & 1.51 & 4.00 \\ \hline + Cactus & 30.5 & 11.4 & 89.7 & 5.90 & 20.00 \\ \hline + Four People & 31.3 & 6.90 & 93.3 & 0.76 & 2.00 \\ \hline + Kendo & 19.6 & 16.1 & 88.0 & 9.85 & 0.60 \\ \hline + Kimono & 23.4 & 32.5 & 83.0 & 14.8 & 8.00 \\ \hline + Kristen and Sara & 25.6 & 6.30 & 93.1 & 1.75 & 15.00 \\ \hline + Park Scene & 31.3 & 11.6 & 92.0 & 7.26 & 10.00 \\ \hline + Party Scene & 52.6 & 11.4 & 89.8 & 3.42 & 4.50 \\ \hline + People on Street & 40.0 & 25.4 & 87.4 & 7.80 & 12.00 \\ \hline + Race Horses & 43.7 & 24.4 & 79.7 & 22.5 & 8.00 \\ \hline + Tennis & 20.3 & 45.3 & 76.2 & 91.0 & 5.00 \\ + \bottomrule + \end{tabular} +\end{table} diff --git a/043_EndToEndRobustSystem/Results/Quality_PLR_Methods.bash b/043_EndToEndRobustSystem/Results/Quality_PLR_Methods.bash new file mode 100644 index 0000000..9f3de98 --- /dev/null +++ b/043_EndToEndRobustSystem/Results/Quality_PLR_Methods.bash @@ -0,0 +1,1317 @@ +#!/bin/bash +gnuplot << _EOF +set terminal pdfcairo mono \ +font 'TimesNewRoman,14' + +set datafile missing '-' + +set grid +#set size square {1,.5} + +set title center offset character 0, -.9 + +set xlabel center +set ylabel center offset character 1, 0 + +set key spacing 1 width 0 + +set style line 4 lc 1 lt 1 lw 2 pt 2 ps 1 +set style line 2 lc 2 lt 2 lw 2 pt 3 ps 1 +set style line 3 lc 3 lt 4 lw 2 pt 4 ps 1 +set style line 1 lc 4 lt 4 lw 2 pt 10 ps 1 +set style line 5 lc 7 lt 3 lw 2 pt 6 ps 1 +set style line 6 lc 8 lt 6 lw 2 pt 8 ps 1 +set style line 7 lc 2 lt 7 lw 2 pt 8 ps 1 +set style line 8 lc 3 lt 8 lw 2 pt 9 ps 1 +set style line 9 lc 4 lt 9 lw 2 pt 10 ps 1 + +set style line 100 lc 1 lw 3 +set style line 101 lc 4 lw 3 +set style line 102 lc 2 lw 3 +set style line 103 lc 3 lw 3 + +#set rmargin 1 + + +# Extra template +set xlabel 'Packet Loss Ratio [%]' +set ylabel 'Packet Loss Ratio [%]' +set key bottom left Left reverse +set output 'lowdelay_P_4R_slice_1200B_seq_basketball_drill_rate_single.pdf' +set title 'Basketball Drill - Main rate' +plot '-' using 2:3 w lp ls 1 title 'FC', '-' using 2:3 w lp ls 2 title 'MC', '-' using 2:3 w lp ls 3 title 'EXP+EMVE', '-' using 2:3 w lp ls 4 title 'EL10', '-' using 2:3 w lp ls 5 title 'EL20' +"EF" 0.0 39.900 +"0.5%" 0.5 38.057 +"1.0%" 1.0 36.949 +"2.0%" 2.0 35.157 +"2.6%" 2.6 33.890 +"2.8%" 2.8 33.513 +"3.0%" 3.0 33.305 +"5.0%" 5.0 31.385 +e +"EF" 0.0 39.900 +"0.5%" 0.5 38.854 +"1.0%" 1.0 38.079 +"2.0%" 2.0 36.974 +"2.6%" 2.6 36.173 +"2.8%" 2.8 35.783 +"3.0%" 3.0 35.546 +"5.0%" 5.0 33.776 +e +"EF" 0.0 39.600 +"0.5%" 0.5 38.847 +"1.0%" 1.0 38.305 +"2.0%" 2.0 37.178 +"2.6%" 2.6 36.436 +"2.8%" 2.8 36.267 +"3.0%" 3.0 36.137 +"5.0%" 5.0 34.691 +e +"EF" 0.0 39.480 +"0.5%" 0.5 39.191 +"1.0%" 1.0 38.973 +"2.0%" 2.0 38.385 +"2.6%" 2.6 38.093 +"2.8%" 2.8 37.790 +"3.0%" 3.0 37.929 +"5.0%" 5.0 37.015 +e +"EF" 0.0 38.880 +"0.5%" 0.5 38.729 +"1.0%" 1.0 38.550 +"2.0%" 2.0 38.208 +"2.6%" 2.6 37.956 +"2.8%" 2.8 37.846 +"3.0%" 3.0 37.863 +"5.0%" 5.0 37.186 +e + +set output 'lowdelay_P_4R_slice_1200B_seq_basketball_drill_rate_single_60pc.pdf' +set title 'Basketball Drill - 40% Reduction ' +plot '-' using 2:3 w lp ls 1 title 'FC', '-' using 2:3 w lp ls 2 title 'MC', '-' using 2:3 w lp ls 3 title 'EXP+EMVE', '-' using 2:3 w lp ls 4 title 'EL10', '-' using 2:3 w lp ls 5 title 'EL20' +"EF" 0.0 37.570 +"0.5%" 0.5 36.658 +"1.0%" 1.0 35.927 +"2.0%" 2.0 34.683 +"2.6%" 2.6 33.776 +"2.8%" 2.8 33.730 +"3.0%" 3.0 33.583 +"5.0%" 5.0 31.726 +e +"EF" 0.0 37.570 +"0.5%" 0.5 37.067 +"1.0%" 1.0 36.571 +"2.0%" 2.0 35.863 +"2.6%" 2.6 35.256 +"2.8%" 2.8 35.199 +"3.0%" 3.0 35.111 +"5.0%" 5.0 33.670 +e +"EF" 0.0 37.120 +"0.5%" 0.5 36.831 +"1.0%" 1.0 36.405 +"2.0%" 2.0 35.895 +"2.6%" 2.6 35.391 +"2.8%" 2.8 35.375 +"3.0%" 3.0 35.099 +"5.0%" 5.0 34.150 +e +"EF" 0.0 36.940 +"0.5%" 0.5 36.737 +"1.0%" 1.0 36.569 +"2.0%" 2.0 36.357 +"2.6%" 2.6 36.072 +"2.8%" 2.8 36.029 +"3.0%" 3.0 35.991 +"5.0%" 5.0 35.431 +e +"EF" 0.0 36.130 +"0.5%" 0.5 36.038 +"1.0%" 1.0 35.975 +"2.0%" 2.0 35.749 +"2.6%" 2.6 35.627 +"2.8%" 2.8 35.561 +"3.0%" 3.0 35.617 +"5.0%" 5.0 35.114 +e + +set output 'lowdelay_P_4R_slice_1200B_seq_basketball_drive_rate_single.pdf' +set title 'Basketball Drive - Main rate' +plot '-' using 2:3 w lp ls 1 title 'FC', '-' using 2:3 w lp ls 2 title 'MC', '-' using 2:3 w lp ls 3 title 'EXP+EMVE', '-' using 2:3 w lp ls 4 title 'EL10', '-' using 2:3 w lp ls 5 title 'EL20' +"EF" 0.0 38.470 +"0.5%" 0.5 36.114 +"1.0%" 1.0 34.743 +"2.0%" 2.0 32.612 +"2.6%" 2.6 31.746 +"2.8%" 2.8 31.541 +"3.0%" 3.0 31.189 +"5.0%" 5.0 29.464 +e +"EF" 0.0 38.470 +"0.5%" 0.5 37.389 +"1.0%" 1.0 36.546 +"2.0%" 2.0 35.163 +"2.6%" 2.6 34.483 +"2.8%" 2.8 34.152 +"3.0%" 3.0 33.831 +"5.0%" 5.0 31.865 +e +"EF" 0.0 38.100 +"0.5%" 0.5 37.353 +"1.0%" 1.0 36.695 +"2.0%" 2.0 35.356 +"2.6%" 2.6 34.719 +"2.8%" 2.8 34.648 +"3.0%" 3.0 34.420 +"5.0%" 5.0 32.685 +e +"EF" 0.0 38.280 +"0.5%" 0.5 37.928 +"1.0%" 1.0 37.626 +"2.0%" 2.0 36.795 +"2.6%" 2.6 36.337 +"2.8%" 2.8 36.368 +"3.0%" 3.0 36.040 +"5.0%" 5.0 34.351 +e +"EF" 0.0 38.040 +"0.5%" 0.5 37.835 +"1.0%" 1.0 37.601 +"2.0%" 2.0 37.020 +"2.6%" 2.6 36.564 +"2.8%" 2.8 36.508 +"3.0%" 3.0 36.405 +"5.0%" 5.0 34.887 +e + +set output 'lowdelay_P_4R_slice_1200B_seq_basketball_drive_rate_single_60pc.pdf' +set title 'Basketball Drive - 40% Reduction ' +plot '-' using 2:3 w lp ls 1 title 'FC', '-' using 2:3 w lp ls 2 title 'MC', '-' using 2:3 w lp ls 3 title 'EXP+EMVE', '-' using 2:3 w lp ls 4 title 'EL10', '-' using 2:3 w lp ls 5 title 'EL20' +"EF" 0.0 37.340 +"0.5%" 0.5 35.557 +"1.0%" 1.0 34.518 +"2.0%" 2.0 32.703 +"2.6%" 2.6 31.689 +"2.8%" 2.8 31.447 +"3.0%" 3.0 31.231 +"5.0%" 5.0 29.515 +e +"EF" 0.0 37.340 +"0.5%" 0.5 36.549 +"1.0%" 1.0 36.021 +"2.0%" 2.0 34.997 +"2.6%" 2.6 34.267 +"2.8%" 2.8 33.982 +"3.0%" 3.0 33.784 +"5.0%" 5.0 32.369 +e +"EF" 0.0 36.730 +"0.5%" 0.5 36.177 +"1.0%" 1.0 35.732 +"2.0%" 2.0 34.927 +"2.6%" 2.6 34.475 +"2.8%" 2.8 34.359 +"3.0%" 3.0 34.131 +"5.0%" 5.0 32.929 +e +"EF" 0.0 36.990 +"0.5%" 0.5 36.660 +"1.0%" 1.0 36.431 +"2.0%" 2.0 35.862 +"2.6%" 2.6 35.465 +"2.8%" 2.8 35.428 +"3.0%" 3.0 35.317 +"5.0%" 5.0 34.106 +e +"EF" 0.0 36.570 +"0.5%" 0.5 36.371 +"1.0%" 1.0 36.236 +"2.0%" 2.0 35.815 +"2.6%" 2.6 35.657 +"2.8%" 2.8 35.523 +"3.0%" 3.0 35.399 +"5.0%" 5.0 34.647 +e + +set output 'lowdelay_P_4R_slice_1200B_seq_book_arrival_c6_rate_single.pdf' +set title 'Book Arrival - Main rate' +plot '-' using 2:3 w lp ls 1 title 'FC', '-' using 2:3 w lp ls 2 title 'MC', '-' using 2:3 w lp ls 3 title 'EXP+EMVE', '-' using 2:3 w lp ls 4 title 'EL10', '-' using 2:3 w lp ls 5 title 'EL20' +"EF" 0.0 40.280 +"0.5%" 0.5 39.122 +"1.0%" 1.0 38.578 +"2.0%" 2.0 37.584 +"2.6%" 2.6 36.699 +"2.8%" 2.8 35.703 +"3.0%" 3.0 36.206 +"5.0%" 5.0 34.396 +e +"EF" 0.0 40.280 +"0.5%" 0.5 39.471 +"1.0%" 1.0 39.127 +"2.0%" 2.0 38.514 +"2.6%" 2.6 37.941 +"2.8%" 2.8 37.139 +"3.0%" 3.0 37.505 +"5.0%" 5.0 36.119 +e +"EF" 0.0 39.970 +"0.5%" 0.5 39.391 +"1.0%" 1.0 39.053 +"2.0%" 2.0 38.419 +"2.6%" 2.6 37.928 +"2.8%" 2.8 37.366 +"3.0%" 3.0 37.719 +"5.0%" 5.0 36.705 +e +"EF" 0.0 40.030 +"0.5%" 0.5 39.788 +"1.0%" 1.0 39.716 +"2.0%" 2.0 39.339 +"2.6%" 2.6 39.088 +"2.8%" 2.8 38.949 +"3.0%" 3.0 38.918 +"5.0%" 5.0 38.348 +e +"EF" 0.0 39.790 +"0.5%" 0.5 39.679 +"1.0%" 1.0 39.517 +"2.0%" 2.0 39.416 +"2.6%" 2.6 39.125 +"2.8%" 2.8 39.151 +"3.0%" 3.0 39.193 +"5.0%" 5.0 38.781 +e + +set output 'lowdelay_P_4R_slice_1200B_seq_book_arrival_c6_rate_single_60pc.pdf' +set title 'Book Arrival - 40% Reduction ' +plot '-' using 2:3 w lp ls 1 title 'FC', '-' using 2:3 w lp ls 2 title 'MC', '-' using 2:3 w lp ls 3 title 'EXP+EMVE', '-' using 2:3 w lp ls 4 title 'EL10', '-' using 2:3 w lp ls 5 title 'EL20' +"EF" 0.0 38.920 +"0.5%" 0.5 38.641 +"1.0%" 1.0 37.769 +"2.0%" 2.0 36.545 +"2.6%" 2.6 36.302 +"2.8%" 2.8 36.515 +"3.0%" 3.0 36.189 +"5.0%" 5.0 35.001 +e +"EF" 0.0 38.920 +"0.5%" 0.5 38.736 +"1.0%" 1.0 38.174 +"2.0%" 2.0 37.237 +"2.6%" 2.6 37.134 +"2.8%" 2.8 37.221 +"3.0%" 3.0 36.922 +"5.0%" 5.0 36.287 +e +"EF" 0.0 38.400 +"0.5%" 0.5 38.253 +"1.0%" 1.0 37.711 +"2.0%" 2.0 37.137 +"2.6%" 2.6 37.037 +"2.8%" 2.8 36.572 +"3.0%" 3.0 37.005 +"5.0%" 5.0 36.027 +e +"EF" 0.0 38.460 +"0.5%" 0.5 38.305 +"1.0%" 1.0 38.169 +"2.0%" 2.0 37.780 +"2.6%" 2.6 37.651 +"2.8%" 2.8 37.596 +"3.0%" 3.0 37.582 +"5.0%" 5.0 36.977 +e +"EF" 0.0 37.830 +"0.5%" 0.5 37.715 +"1.0%" 1.0 37.487 +"2.0%" 2.0 37.469 +"2.6%" 2.6 37.419 +"2.8%" 2.8 37.328 +"3.0%" 3.0 37.321 +"5.0%" 5.0 36.980 +e + +set output 'lowdelay_P_4R_slice_1200B_seq_bqsquare_rate_single.pdf' +set title 'BQSquare - Main rate' +plot '-' using 2:3 w lp ls 1 title 'FC', '-' using 2:3 w lp ls 2 title 'MC', '-' using 2:3 w lp ls 3 title 'EXP+EMVE', '-' using 2:3 w lp ls 4 title 'EL10', '-' using 2:3 w lp ls 5 title 'EL20' +"EF" 0.0 39.300 +"0.5%" 0.5 38.381 +"1.0%" 1.0 37.908 +"2.0%" 2.0 36.716 +"2.6%" 2.6 35.946 +"2.8%" 2.8 35.576 +"3.0%" 3.0 35.639 +"5.0%" 5.0 34.289 +e +"EF" 0.0 39.300 +"0.5%" 0.5 38.873 +"1.0%" 1.0 38.552 +"2.0%" 2.0 37.882 +"2.6%" 2.6 37.351 +"2.8%" 2.8 37.163 +"3.0%" 3.0 37.101 +"5.0%" 5.0 36.155 +e +"EF" 0.0 39.150 +"0.5%" 0.5 38.735 +"1.0%" 1.0 38.522 +"2.0%" 2.0 37.747 +"2.6%" 2.6 37.252 +"2.8%" 2.8 36.924 +"3.0%" 3.0 36.985 +"5.0%" 5.0 35.971 +e +"EF" 0.0 38.750 +"0.5%" 0.5 38.558 +"1.0%" 1.0 38.371 +"2.0%" 2.0 37.981 +"2.6%" 2.6 37.673 +"2.8%" 2.8 37.640 +"3.0%" 3.0 37.652 +"5.0%" 5.0 36.734 +e +"EF" 0.0 38.160 +"0.5%" 0.5 38.015 +"1.0%" 1.0 37.897 +"2.0%" 2.0 37.652 +"2.6%" 2.6 37.447 +"2.8%" 2.8 37.372 +"3.0%" 3.0 37.411 +"5.0%" 5.0 36.765 +e + +set output 'lowdelay_P_4R_slice_1200B_seq_bqsquare_rate_single_60pc.pdf' +set title 'BQSquare - 40% Reduction ' +plot '-' using 2:3 w lp ls 1 title 'FC', '-' using 2:3 w lp ls 2 title 'MC', '-' using 2:3 w lp ls 3 title 'EXP+EMVE', '-' using 2:3 w lp ls 4 title 'EL10', '-' using 2:3 w lp ls 5 title 'EL20' +"EF" 0.0 36.780 +"0.5%" 0.5 36.370 +"1.0%" 1.0 36.129 +"2.0%" 2.0 35.480 +"2.6%" 2.6 34.912 +"2.8%" 2.8 34.873 +"3.0%" 3.0 34.947 +"5.0%" 5.0 33.946 +e +"EF" 0.0 36.780 +"0.5%" 0.5 36.567 +"1.0%" 1.0 36.448 +"2.0%" 2.0 36.048 +"2.6%" 2.6 35.715 +"2.8%" 2.8 35.698 +"3.0%" 3.0 35.807 +"5.0%" 5.0 35.108 +e +"EF" 0.0 36.610 +"0.5%" 0.5 36.340 +"1.0%" 1.0 36.261 +"2.0%" 2.0 35.839 +"2.6%" 2.6 35.513 +"2.8%" 2.8 35.581 +"3.0%" 3.0 35.547 +"5.0%" 5.0 34.913 +e +"EF" 0.0 36.230 +"0.5%" 0.5 36.135 +"1.0%" 1.0 36.021 +"2.0%" 2.0 35.787 +"2.6%" 2.6 35.586 +"2.8%" 2.8 35.602 +"3.0%" 3.0 35.569 +"5.0%" 5.0 35.200 +e +"EF" 0.0 35.700 +"0.5%" 0.5 35.627 +"1.0%" 1.0 35.560 +"2.0%" 2.0 35.399 +"2.6%" 2.6 35.297 +"2.8%" 2.8 35.236 +"3.0%" 3.0 35.258 +"5.0%" 5.0 34.891 +e + +set output 'lowdelay_P_4R_slice_1200B_seq_cactus_rate_single.pdf' +set title 'Cactus - Main rate' +plot '-' using 2:3 w lp ls 1 title 'FC', '-' using 2:3 w lp ls 2 title 'MC', '-' using 2:3 w lp ls 3 title 'EXP+EMVE', '-' using 2:3 w lp ls 4 title 'EL10', '-' using 2:3 w lp ls 5 title 'EL20' +"EF" 0.0 38.000 +"0.5%" 0.5 37.133 +"1.0%" 1.0 36.510 +"2.0%" 2.0 35.505 +"2.6%" 2.6 34.986 +"2.8%" 2.8 34.829 +"3.0%" 3.0 34.785 +"5.0%" 5.0 33.677 +e +"EF" 0.0 38.000 +"0.5%" 0.5 37.653 +"1.0%" 1.0 37.316 +"2.0%" 2.0 36.773 +"2.6%" 2.6 36.351 +"2.8%" 2.8 36.327 +"3.0%" 3.0 36.216 +"5.0%" 5.0 35.151 +e +"EF" 0.0 37.740 +"0.5%" 0.5 37.507 +"1.0%" 1.0 37.213 +"2.0%" 2.0 36.809 +"2.6%" 2.6 36.429 +"2.8%" 2.8 36.367 +"3.0%" 3.0 36.278 +"5.0%" 5.0 35.387 +e +"EF" 0.0 37.840 +"0.5%" 0.5 37.753 +"1.0%" 1.0 37.624 +"2.0%" 2.0 37.375 +"2.6%" 2.6 37.149 +"2.8%" 2.8 37.134 +"3.0%" 3.0 37.093 +"5.0%" 5.0 36.273 +e +"EF" 0.0 37.650 +"0.5%" 0.5 37.571 +"1.0%" 1.0 37.499 +"2.0%" 2.0 37.259 +"2.6%" 2.6 37.105 +"2.8%" 2.8 37.003 +"3.0%" 3.0 36.937 +"5.0%" 5.0 36.089 +e + +set output 'lowdelay_P_4R_slice_1200B_seq_cactus_rate_single_60pc.pdf' +set title 'Cactus - 40% Reduction ' +plot '-' using 2:3 w lp ls 1 title 'FC', '-' using 2:3 w lp ls 2 title 'MC', '-' using 2:3 w lp ls 3 title 'EXP+EMVE', '-' using 2:3 w lp ls 4 title 'EL10', '-' using 2:3 w lp ls 5 title 'EL20' +"EF" 0.0 37.130 +"0.5%" 0.5 36.267 +"1.0%" 1.0 35.582 +"2.0%" 2.0 34.475 +"2.6%" 2.6 33.934 +"2.8%" 2.8 33.655 +"3.0%" 3.0 33.502 +"5.0%" 5.0 32.178 +e +"EF" 0.0 37.130 +"0.5%" 0.5 36.753 +"1.0%" 1.0 36.471 +"2.0%" 2.0 35.935 +"2.6%" 2.6 35.510 +"2.8%" 2.8 35.401 +"3.0%" 3.0 35.202 +"5.0%" 5.0 34.377 +e +"EF" 0.0 36.780 +"0.5%" 0.5 36.524 +"1.0%" 1.0 36.349 +"2.0%" 2.0 35.789 +"2.6%" 2.6 35.516 +"2.8%" 2.8 35.389 +"3.0%" 3.0 35.291 +"5.0%" 5.0 34.573 +e +"EF" 0.0 36.880 +"0.5%" 0.5 36.791 +"1.0%" 1.0 36.701 +"2.0%" 2.0 36.469 +"2.6%" 2.6 36.319 +"2.8%" 2.8 36.282 +"3.0%" 3.0 36.235 +"5.0%" 5.0 35.723 +e +"EF" 0.0 36.560 +"0.5%" 0.5 36.494 +"1.0%" 1.0 36.431 +"2.0%" 2.0 36.265 +"2.6%" 2.6 36.145 +"2.8%" 2.8 36.100 +"3.0%" 3.0 36.097 +"5.0%" 5.0 35.670 +e + +set output 'lowdelay_P_4R_slice_1200B_seq_four_people_rate_single.pdf' +set title 'Four People - Main rate' +plot '-' using 2:3 w lp ls 1 title 'FC', '-' using 2:3 w lp ls 2 title 'MC', '-' using 2:3 w lp ls 3 title 'EXP+EMVE', '-' using 2:3 w lp ls 4 title 'EL10', '-' using 2:3 w lp ls 5 title 'EL20' +"EF" 0.0 40.130 +"0.5%" 0.5 39.933 +"1.0%" 1.0 39.775 +"2.0%" 2.0 39.507 +"2.6%" 2.6 39.205 +"2.8%" 2.8 39.176 +"3.0%" 3.0 39.161 +"5.0%" 5.0 38.544 +e +"EF" 0.0 40.130 +"0.5%" 0.5 40.034 +"1.0%" 1.0 39.953 +"2.0%" 2.0 39.806 +"2.6%" 2.6 39.625 +"2.8%" 2.8 39.617 +"3.0%" 3.0 39.634 +"5.0%" 5.0 39.292 +e +"EF" 0.0 39.770 +"0.5%" 0.5 39.686 +"1.0%" 1.0 39.622 +"2.0%" 2.0 39.529 +"2.6%" 2.6 39.411 +"2.8%" 2.8 39.380 +"3.0%" 3.0 39.391 +"5.0%" 5.0 39.147 +e +"EF" 0.0 39.800 +"0.5%" 0.5 39.760 +"1.0%" 1.0 39.717 +"2.0%" 2.0 39.680 +"2.6%" 2.6 39.632 +"2.8%" 2.8 39.592 +"3.0%" 3.0 39.565 +"5.0%" 5.0 39.470 +e +"EF" 0.0 39.250 +"0.5%" 0.5 39.223 +"1.0%" 1.0 39.207 +"2.0%" 2.0 39.165 +"2.6%" 2.6 39.127 +"2.8%" 2.8 39.116 +"3.0%" 3.0 39.099 +"5.0%" 5.0 38.981 +e + +set output 'lowdelay_P_4R_slice_1200B_seq_four_people_rate_single_60pc.pdf' +set title 'Four People - 40% Reduction ' +plot '-' using 2:3 w lp ls 1 title 'FC', '-' using 2:3 w lp ls 2 title 'MC', '-' using 2:3 w lp ls 3 title 'EXP+EMVE', '-' using 2:3 w lp ls 4 title 'EL10', '-' using 2:3 w lp ls 5 title 'EL20' +"EF" 0.0 36.080 +"0.5%" 0.5 36.020 +"1.0%" 1.0 35.942 +"2.0%" 2.0 35.809 +"2.6%" 2.6 35.726 +"2.8%" 2.8 35.744 +"3.0%" 3.0 35.690 +"5.0%" 5.0 35.469 +e +"EF" 0.0 36.080 +"0.5%" 0.5 36.045 +"1.0%" 1.0 35.983 +"2.0%" 2.0 35.914 +"2.6%" 2.6 35.864 +"2.8%" 2.8 35.874 +"3.0%" 3.0 35.849 +"5.0%" 5.0 35.718 +e +"EF" 0.0 35.350 +"0.5%" 0.5 35.340 +"1.0%" 1.0 35.315 +"2.0%" 2.0 35.269 +"2.6%" 2.6 35.251 +"2.8%" 2.8 35.246 +"3.0%" 3.0 35.244 +"5.0%" 5.0 35.142 +e +"EF" 0.0 35.790 +"0.5%" 0.5 35.778 +"1.0%" 1.0 35.763 +"2.0%" 2.0 35.731 +"2.6%" 2.6 35.705 +"2.8%" 2.8 35.692 +"3.0%" 3.0 35.688 +"5.0%" 5.0 35.624 +e +"EF" 0.0 35.610 +"0.5%" 0.5 35.603 +"1.0%" 1.0 35.590 +"2.0%" 2.0 35.567 +"2.6%" 2.6 35.561 +"2.8%" 2.8 35.533 +"3.0%" 3.0 35.544 +"5.0%" 5.0 35.479 +e + +set output 'lowdelay_P_4R_slice_1200B_seq_kendo_c3_rate_single.pdf' +set title 'Kendo - Main rate' +plot '-' using 2:3 w lp ls 1 title 'FC', '-' using 2:3 w lp ls 2 title 'MC', '-' using 2:3 w lp ls 3 title 'EXP+EMVE', '-' using 2:3 w lp ls 4 title 'EL10', '-' using 2:3 w lp ls 5 title 'EL20' +"EF" 0.0 41.150 +"0.5%" 0.5 40.679 +"1.0%" 1.0 39.544 +"2.0%" 2.0 38.271 +"2.6%" 2.6 37.512 +"2.8%" 2.8 36.995 +"3.0%" 3.0 37.349 +"5.0%" 5.0 34.856 +e +"EF" 0.0 41.150 +"0.5%" 0.5 40.852 +"1.0%" 1.0 40.082 +"2.0%" 2.0 39.122 +"2.6%" 2.6 38.690 +"2.8%" 2.8 38.217 +"3.0%" 3.0 38.537 +"5.0%" 5.0 36.565 +e +"EF" 0.0 40.270 +"0.5%" 0.5 40.009 +"1.0%" 1.0 39.304 +"2.0%" 2.0 38.638 +"2.6%" 2.6 38.516 +"2.8%" 2.8 38.231 +"3.0%" 3.0 38.401 +"5.0%" 5.0 37.110 +e +"EF" 0.0 40.730 +"0.5%" 0.5 40.427 +"1.0%" 1.0 40.156 +"2.0%" 2.0 39.319 +"2.6%" 2.6 39.305 +"2.8%" 2.8 38.770 +"3.0%" 3.0 38.692 +"5.0%" 5.0 37.258 +e +"EF" 0.0 40.260 +"0.5%" 0.5 40.065 +"1.0%" 1.0 39.801 +"2.0%" 2.0 39.492 +"2.6%" 2.6 39.238 +"2.8%" 2.8 39.172 +"3.0%" 3.0 38.950 +"5.0%" 5.0 38.358 +e + +set output 'lowdelay_P_4R_slice_1200B_seq_kendo_c3_rate_single_60pc.pdf' +set title 'Kendo - 40% Reduction ' +plot '-' using 2:3 w lp ls 1 title 'FC', '-' using 2:3 w lp ls 2 title 'MC', '-' using 2:3 w lp ls 3 title 'EXP+EMVE', '-' using 2:3 w lp ls 4 title 'EL10', '-' using 2:3 w lp ls 5 title 'EL20' +"EF" 0.0 38.730 +"0.5%" 0.5 38.365 +"1.0%" 1.0 37.714 +"2.0%" 2.0 36.762 +"2.6%" 2.6 36.695 +"2.8%" 2.8 35.899 +"3.0%" 3.0 35.859 +"5.0%" 5.0 34.589 +e +"EF" 0.0 38.730 +"0.5%" 0.5 38.466 +"1.0%" 1.0 38.034 +"2.0%" 2.0 37.402 +"2.6%" 2.6 37.279 +"2.8%" 2.8 36.751 +"3.0%" 3.0 36.538 +"5.0%" 5.0 35.744 +e +"EF" 0.0 37.550 +"0.5%" 0.5 37.280 +"1.0%" 1.0 37.189 +"2.0%" 2.0 36.823 +"2.6%" 2.6 36.388 +"2.8%" 2.8 36.455 +"3.0%" 3.0 36.283 +"5.0%" 5.0 35.449 +e +"EF" 0.0 38.080 +"0.5%" 0.5 37.819 +"1.0%" 1.0 37.382 +"2.0%" 2.0 36.767 +"2.6%" 2.6 36.901 +"2.8%" 2.8 36.967 +"3.0%" 3.0 36.804 +"5.0%" 5.0 35.920 +e +"EF" 0.0 37.260 +"0.5%" 0.5 37.147 +"1.0%" 1.0 36.921 +"2.0%" 2.0 36.588 +"2.6%" 2.6 36.552 +"2.8%" 2.8 36.316 +"3.0%" 3.0 36.383 +"5.0%" 5.0 35.746 +e + +set output 'lowdelay_P_4R_slice_1200B_seq_kimono_rate_single.pdf' +set title 'Kimono - Main rate' +plot '-' using 2:3 w lp ls 1 title 'FC', '-' using 2:3 w lp ls 2 title 'MC', '-' using 2:3 w lp ls 3 title 'EXP+EMVE', '-' using 2:3 w lp ls 4 title 'EL10', '-' using 2:3 w lp ls 5 title 'EL20' +"EF" 0.0 42.880 +"0.5%" 0.5 40.547 +"1.0%" 1.0 39.019 +"2.0%" 2.0 37.479 +"2.6%" 2.6 36.643 +"2.8%" 2.8 36.385 +"3.0%" 3.0 36.193 +"5.0%" 5.0 34.604 +e +"EF" 0.0 42.880 +"0.5%" 0.5 41.665 +"1.0%" 1.0 40.699 +"2.0%" 2.0 39.153 +"2.6%" 2.6 37.937 +"2.8%" 2.8 37.643 +"3.0%" 3.0 37.622 +"5.0%" 5.0 35.445 +e +"EF" 0.0 42.600 +"0.5%" 0.5 41.650 +"1.0%" 1.0 41.121 +"2.0%" 2.0 39.675 +"2.6%" 2.6 38.961 +"2.8%" 2.8 38.645 +"3.0%" 3.0 38.491 +"5.0%" 5.0 36.605 +e +"EF" 0.0 42.720 +"0.5%" 0.5 42.313 +"1.0%" 1.0 41.996 +"2.0%" 2.0 40.649 +"2.6%" 2.6 39.681 +"2.8%" 2.8 39.435 +"3.0%" 3.0 39.280 +"5.0%" 5.0 36.611 +e +"EF" 0.0 42.540 +"0.5%" 0.5 42.187 +"1.0%" 1.0 41.936 +"2.0%" 2.0 40.747 +"2.6%" 2.6 40.183 +"2.8%" 2.8 39.813 +"3.0%" 3.0 39.665 +"5.0%" 5.0 36.513 +e + +set output 'lowdelay_P_4R_slice_1200B_seq_kimono_rate_single_60pc.pdf' +set title 'Kimono - 40% Reduction ' +plot '-' using 2:3 w lp ls 1 title 'FC', '-' using 2:3 w lp ls 2 title 'MC', '-' using 2:3 w lp ls 3 title 'EXP+EMVE', '-' using 2:3 w lp ls 4 title 'EL10', '-' using 2:3 w lp ls 5 title 'EL20' +"EF" 0.0 42.070 +"0.5%" 0.5 39.871 +"1.0%" 1.0 38.394 +"2.0%" 2.0 36.475 +"2.6%" 2.6 35.665 +"2.8%" 2.8 35.391 +"3.0%" 3.0 35.102 +"5.0%" 5.0 33.411 +e +"EF" 0.0 42.070 +"0.5%" 0.5 41.097 +"1.0%" 1.0 40.226 +"2.0%" 2.0 38.742 +"2.6%" 2.6 38.046 +"2.8%" 2.8 37.839 +"3.0%" 3.0 37.529 +"5.0%" 5.0 35.479 +e +"EF" 0.0 41.640 +"0.5%" 0.5 40.969 +"1.0%" 1.0 40.533 +"2.0%" 2.0 39.207 +"2.6%" 2.6 38.533 +"2.8%" 2.8 38.588 +"3.0%" 3.0 38.227 +"5.0%" 5.0 36.521 +e +"EF" 0.0 41.890 +"0.5%" 0.5 41.503 +"1.0%" 1.0 41.238 +"2.0%" 2.0 40.550 +"2.6%" 2.6 40.104 +"2.8%" 2.8 39.691 +"3.0%" 3.0 39.645 +"5.0%" 5.0 37.736 +e +"EF" 0.0 41.680 +"0.5%" 0.5 41.458 +"1.0%" 1.0 41.292 +"2.0%" 2.0 40.671 +"2.6%" 2.6 40.028 +"2.8%" 2.8 39.892 +"3.0%" 3.0 39.903 +"5.0%" 5.0 38.453 +e + +set output 'lowdelay_P_4R_slice_1200B_seq_kristen_sara_rate_single.pdf' +set title 'Kristen Sara - Main rate' +plot '-' using 2:3 w lp ls 1 title 'FC', '-' using 2:3 w lp ls 2 title 'MC', '-' using 2:3 w lp ls 3 title 'EXP+EMVE', '-' using 2:3 w lp ls 4 title 'EL10', '-' using 2:3 w lp ls 5 title 'EL20' +"EF" 0.0 40.500 +"0.5%" 0.5 40.319 +"1.0%" 1.0 40.165 +"2.0%" 2.0 39.834 +"2.6%" 2.6 39.683 +"2.8%" 2.8 39.572 +"3.0%" 3.0 39.544 +"5.0%" 5.0 38.968 +e +"EF" 0.0 40.500 +"0.5%" 0.5 40.414 +"1.0%" 1.0 40.342 +"2.0%" 2.0 40.171 +"2.6%" 2.6 40.149 +"2.8%" 2.8 40.071 +"3.0%" 3.0 40.060 +"5.0%" 5.0 39.712 +e +"EF" 0.0 40.120 +"0.5%" 0.5 40.049 +"1.0%" 1.0 39.986 +"2.0%" 2.0 39.913 +"2.6%" 2.6 39.814 +"2.8%" 2.8 39.760 +"3.0%" 3.0 39.763 +"5.0%" 5.0 39.541 +e +"EF" 0.0 40.240 +"0.5%" 0.5 40.199 +"1.0%" 1.0 40.178 +"2.0%" 2.0 40.110 +"2.6%" 2.6 40.050 +"2.8%" 2.8 40.033 +"3.0%" 3.0 40.003 +"5.0%" 5.0 39.889 +e +"EF" 0.0 39.970 +"0.5%" 0.5 39.935 +"1.0%" 1.0 39.888 +"2.0%" 2.0 39.867 +"2.6%" 2.6 39.831 +"2.8%" 2.8 39.815 +"3.0%" 3.0 39.791 +"5.0%" 5.0 39.696 +e + +set output 'lowdelay_P_4R_slice_1200B_seq_kristen_sara_rate_single_60pc.pdf' +set title 'Kristen Sara - 40% Reduction ' +plot '-' using 2:3 w lp ls 1 title 'FC', '-' using 2:3 w lp ls 2 title 'MC', '-' using 2:3 w lp ls 3 title 'EXP+EMVE', '-' using 2:3 w lp ls 4 title 'EL10', '-' using 2:3 w lp ls 5 title 'EL20' +"EF" 0.0 39.040 +"0.5%" 0.5 38.938 +"1.0%" 1.0 38.819 +"2.0%" 2.0 38.659 +"2.6%" 2.6 38.445 +"2.8%" 2.8 38.467 +"3.0%" 3.0 38.383 +"5.0%" 5.0 38.029 +e +"EF" 0.0 39.040 +"0.5%" 0.5 39.000 +"1.0%" 1.0 38.928 +"2.0%" 2.0 38.845 +"2.6%" 2.6 38.765 +"2.8%" 2.8 38.751 +"3.0%" 3.0 38.725 +"5.0%" 5.0 38.573 +e +"EF" 0.0 38.440 +"0.5%" 0.5 38.415 +"1.0%" 1.0 38.369 +"2.0%" 2.0 38.323 +"2.6%" 2.6 38.258 +"2.8%" 2.8 38.257 +"3.0%" 3.0 38.243 +"5.0%" 5.0 38.087 +e +"EF" 0.0 38.290 +"0.5%" 0.5 38.256 +"1.0%" 1.0 38.223 +"2.0%" 2.0 38.171 +"2.6%" 2.6 38.141 +"2.8%" 2.8 38.115 +"3.0%" 3.0 38.114 +"5.0%" 5.0 37.980 +e +"EF" 0.0 36.380 +"0.5%" 0.5 36.360 +"1.0%" 1.0 36.337 +"2.0%" 2.0 36.303 +"2.6%" 2.6 36.285 +"2.8%" 2.8 36.279 +"3.0%" 3.0 36.284 +"5.0%" 5.0 36.189 +e + +set output 'lowdelay_P_4R_slice_1200B_seq_park_rate_single.pdf' +set title 'Park Scene - Main rate' +plot '-' using 2:3 w lp ls 1 title 'FC', '-' using 2:3 w lp ls 2 title 'MC', '-' using 2:3 w lp ls 3 title 'EXP+EMVE', '-' using 2:3 w lp ls 4 title 'EL10', '-' using 2:3 w lp ls 5 title 'EL20' +"EF" 0.0 39.470 +"0.5%" 0.5 38.067 +"1.0%" 1.0 36.969 +"2.0%" 2.0 35.555 +"2.6%" 2.6 34.863 +"2.8%" 2.8 34.589 +"3.0%" 3.0 34.545 +"5.0%" 5.0 32.923 +e +"EF" 0.0 39.470 +"0.5%" 0.5 38.965 +"1.0%" 1.0 38.381 +"2.0%" 2.0 37.537 +"2.6%" 2.6 36.963 +"2.8%" 2.8 36.761 +"3.0%" 3.0 36.738 +"5.0%" 5.0 35.165 +e +"EF" 0.0 38.900 +"0.5%" 0.5 38.528 +"1.0%" 1.0 38.113 +"2.0%" 2.0 37.380 +"2.6%" 2.6 37.064 +"2.8%" 2.8 36.909 +"3.0%" 3.0 36.846 +"5.0%" 5.0 35.771 +e +"EF" 0.0 39.160 +"0.5%" 0.5 38.957 +"1.0%" 1.0 38.779 +"2.0%" 2.0 38.212 +"2.6%" 2.6 37.920 +"2.8%" 2.8 37.964 +"3.0%" 3.0 37.767 +"5.0%" 5.0 36.847 +e +"EF" 0.0 38.820 +"0.5%" 0.5 38.681 +"1.0%" 1.0 38.589 +"2.0%" 2.0 38.127 +"2.6%" 2.6 37.869 +"2.8%" 2.8 37.901 +"3.0%" 3.0 37.693 +"5.0%" 5.0 36.777 +e + +set output 'lowdelay_P_4R_slice_1200B_seq_park_rate_single_60pc.pdf' +set title 'Park Scene - 40% Reduction ' +plot '-' using 2:3 w lp ls 1 title 'FC', '-' using 2:3 w lp ls 2 title 'MC', '-' using 2:3 w lp ls 3 title 'EXP+EMVE', '-' using 2:3 w lp ls 4 title 'EL10', '-' using 2:3 w lp ls 5 title 'EL20' +"EF" 0.0 37.810 +"0.5%" 0.5 36.969 +"1.0%" 1.0 36.189 +"2.0%" 2.0 35.190 +"2.6%" 2.6 34.477 +"2.8%" 2.8 34.028 +"3.0%" 3.0 34.091 +"5.0%" 5.0 32.873 +e +"EF" 0.0 37.810 +"0.5%" 0.5 37.511 +"1.0%" 1.0 37.109 +"2.0%" 2.0 36.703 +"2.6%" 2.6 36.252 +"2.8%" 2.8 35.948 +"3.0%" 3.0 36.012 +"5.0%" 5.0 35.173 +e +"EF" 0.0 37.230 +"0.5%" 0.5 37.020 +"1.0%" 1.0 36.750 +"2.0%" 2.0 36.361 +"2.6%" 2.6 36.002 +"2.8%" 2.8 35.964 +"3.0%" 3.0 35.951 +"5.0%" 5.0 35.174 +e +"EF" 0.0 37.460 +"0.5%" 0.5 37.289 +"1.0%" 1.0 37.189 +"2.0%" 2.0 36.905 +"2.6%" 2.6 36.740 +"2.8%" 2.8 36.747 +"3.0%" 3.0 36.517 +"5.0%" 5.0 36.009 +e +"EF" 0.0 37.010 +"0.5%" 0.5 36.903 +"1.0%" 1.0 36.868 +"2.0%" 2.0 36.625 +"2.6%" 2.6 36.501 +"2.8%" 2.8 36.395 +"3.0%" 3.0 36.354 +"5.0%" 5.0 35.955 +e + +set output 'lowdelay_P_4R_slice_1200B_seq_people_rate_single.pdf' +set title 'People - Main rate' +plot '-' using 2:3 w lp ls 1 title 'FC', '-' using 2:3 w lp ls 2 title 'MC', '-' using 2:3 w lp ls 3 title 'EXP+EMVE', '-' using 2:3 w lp ls 4 title 'EL10', '-' using 2:3 w lp ls 5 title 'EL20' +"EF" 0.0 35.900 +"0.5%" 0.5 33.738 +"1.0%" 1.0 32.546 +"2.0%" 2.0 30.711 +"2.6%" 2.6 29.942 +"2.8%" 2.8 29.719 +"3.0%" 3.0 29.479 +"5.0%" 5.0 27.770 +e +"EF" 0.0 35.900 +"0.5%" 0.5 34.590 +"1.0%" 1.0 33.780 +"2.0%" 2.0 32.097 +"2.6%" 2.6 31.417 +"2.8%" 2.8 31.237 +"3.0%" 3.0 31.104 +"5.0%" 5.0 28.863 +e +"EF" 0.0 34.970 +"0.5%" 0.5 34.074 +"1.0%" 1.0 33.432 +"2.0%" 2.0 32.157 +"2.6%" 2.6 31.646 +"2.8%" 2.8 31.461 +"3.0%" 3.0 31.369 +"5.0%" 5.0 29.743 +e +"EF" 0.0 35.380 +"0.5%" 0.5 34.610 +"1.0%" 1.0 34.107 +"2.0%" 2.0 33.082 +"2.6%" 2.6 32.416 +"2.8%" 2.8 31.950 +"3.0%" 3.0 32.117 +"5.0%" 5.0 29.939 +e +"EF" 0.0 34.810 +"0.5%" 0.5 34.418 +"1.0%" 1.0 34.077 +"2.0%" 2.0 33.289 +"2.6%" 2.6 32.871 +"2.8%" 2.8 32.593 +"3.0%" 3.0 32.557 +"5.0%" 5.0 30.851 +e + +set output 'lowdelay_P_4R_slice_1200B_seq_people_rate_single_60pc.pdf' +set title 'People - 40% Reduction ' +plot '-' using 2:3 w lp ls 1 title 'FC', '-' using 2:3 w lp ls 2 title 'MC', '-' using 2:3 w lp ls 3 title 'EXP+EMVE', '-' using 2:3 w lp ls 4 title 'EL10', '-' using 2:3 w lp ls 5 title 'EL20' +"EF" 0.0 33.230 +"0.5%" 0.5 32.010 +"1.0%" 1.0 31.419 +"2.0%" 2.0 29.977 +"2.6%" 2.6 29.311 +"2.8%" 2.8 29.090 +"3.0%" 3.0 28.889 +"5.0%" 5.0 27.509 +e +"EF" 0.0 33.230 +"0.5%" 0.5 32.475 +"1.0%" 1.0 32.143 +"2.0%" 2.0 31.069 +"2.6%" 2.6 30.581 +"2.8%" 2.8 30.357 +"3.0%" 3.0 30.220 +"5.0%" 5.0 28.946 +e +"EF" 0.0 32.040 +"0.5%" 0.5 31.566 +"1.0%" 1.0 31.307 +"2.0%" 2.0 30.577 +"2.6%" 2.6 30.199 +"2.8%" 2.8 29.993 +"3.0%" 3.0 29.898 +"5.0%" 5.0 28.964 +e +"EF" 0.0 32.560 +"0.5%" 0.5 31.977 +"1.0%" 1.0 31.727 +"2.0%" 2.0 30.743 +"2.6%" 2.6 30.357 +"2.8%" 2.8 30.141 +"3.0%" 3.0 30.224 +"5.0%" 5.0 29.111 +e +"EF" 0.0 31.730 +"0.5%" 0.5 31.474 +"1.0%" 1.0 31.292 +"2.0%" 2.0 30.753 +"2.6%" 2.6 30.416 +"2.8%" 2.8 30.208 +"3.0%" 3.0 30.284 +"5.0%" 5.0 29.347 +e + +set output 'lowdelay_P_4R_slice_1200B_seq_race_rate_single.pdf' +set title 'Race Horses - Main rate' +plot '-' using 2:3 w lp ls 1 title 'FC', '-' using 2:3 w lp ls 2 title 'MC', '-' using 2:3 w lp ls 3 title 'EXP+EMVE', '-' using 2:3 w lp ls 4 title 'EL10', '-' using 2:3 w lp ls 5 title 'EL20' +"EF" 0.0 39.870 +"0.5%" 0.5 35.527 +"1.0%" 1.0 33.448 +"2.0%" 2.0 30.742 +"2.6%" 2.6 29.755 +"2.8%" 2.8 29.231 +"3.0%" 3.0 29.082 +"5.0%" 5.0 26.981 +e +"EF" 0.0 39.870 +"0.5%" 0.5 36.995 +"1.0%" 1.0 35.462 +"2.0%" 2.0 32.993 +"2.6%" 2.6 32.041 +"2.8%" 2.8 31.617 +"3.0%" 3.0 31.471 +"5.0%" 5.0 28.718 +e +"EF" 0.0 39.250 +"0.5%" 0.5 37.371 +"1.0%" 1.0 35.972 +"2.0%" 2.0 33.958 +"2.6%" 2.6 32.988 +"2.8%" 2.8 32.808 +"3.0%" 3.0 32.431 +"5.0%" 5.0 30.051 +e +"EF" 0.0 39.360 +"0.5%" 0.5 38.191 +"1.0%" 1.0 37.495 +"2.0%" 2.0 35.867 +"2.6%" 2.6 35.199 +"2.8%" 2.8 34.740 +"3.0%" 3.0 34.431 +"5.0%" 5.0 32.030 +e +"EF" 0.0 38.820 +"0.5%" 0.5 38.161 +"1.0%" 1.0 37.732 +"2.0%" 2.0 36.272 +"2.6%" 2.6 35.635 +"2.8%" 2.8 35.377 +"3.0%" 3.0 35.106 +"5.0%" 5.0 32.759 +e + +set output 'lowdelay_P_4R_slice_1200B_seq_race_rate_single_60pc.pdf' +set title 'Race Horses - 40% Reduction ' +plot '-' using 2:3 w lp ls 1 title 'FC', '-' using 2:3 w lp ls 2 title 'MC', '-' using 2:3 w lp ls 3 title 'EXP+EMVE', '-' using 2:3 w lp ls 4 title 'EL10', '-' using 2:3 w lp ls 5 title 'EL20' +"EF" 0.0 37.590 +"0.5%" 0.5 34.817 +"1.0%" 1.0 33.087 +"2.0%" 2.0 30.779 +"2.6%" 2.6 29.742 +"2.8%" 2.8 29.288 +"3.0%" 3.0 29.214 +"5.0%" 5.0 27.179 +e +"EF" 0.0 37.590 +"0.5%" 0.5 35.844 +"1.0%" 1.0 34.645 +"2.0%" 2.0 32.860 +"2.6%" 2.6 32.052 +"2.8%" 2.8 31.613 +"3.0%" 3.0 31.569 +"5.0%" 5.0 29.399 +e +"EF" 0.0 36.910 +"0.5%" 0.5 35.765 +"1.0%" 1.0 34.811 +"2.0%" 2.0 33.397 +"2.6%" 2.6 32.733 +"2.8%" 2.8 32.256 +"3.0%" 3.0 32.528 +"5.0%" 5.0 30.556 +e +"EF" 0.0 37.140 +"0.5%" 0.5 36.365 +"1.0%" 1.0 35.903 +"2.0%" 2.0 34.706 +"2.6%" 2.6 34.058 +"2.8%" 2.8 33.845 +"3.0%" 3.0 33.565 +"5.0%" 5.0 31.996 +e +"EF" 0.0 36.640 +"0.5%" 0.5 36.172 +"1.0%" 1.0 35.803 +"2.0%" 2.0 34.910 +"2.6%" 2.6 34.685 +"2.8%" 2.8 34.420 +"3.0%" 3.0 33.957 +"5.0%" 5.0 33.076 +e + +set output 'lowdelay_P_4R_slice_1200B_seq_tennis_rate_single.pdf' +set title 'Tennis - Main rate' +plot '-' using 2:3 w lp ls 1 title 'FC', '-' using 2:3 w lp ls 2 title 'MC', '-' using 2:3 w lp ls 3 title 'EXP+EMVE', '-' using 2:3 w lp ls 4 title 'EL10', '-' using 2:3 w lp ls 5 title 'EL20' +"EF" 0.0 40.680 +"0.5%" 0.5 38.243 +"1.0%" 1.0 36.815 +"2.0%" 2.0 34.460 +"2.6%" 2.6 33.418 +"2.8%" 2.8 32.690 +"3.0%" 3.0 32.709 +"5.0%" 5.0 30.360 +e +"EF" 0.0 40.680 +"0.5%" 0.5 38.889 +"1.0%" 1.0 37.856 +"2.0%" 2.0 35.901 +"2.6%" 2.6 34.967 +"2.8%" 2.8 34.325 +"3.0%" 3.0 34.247 +"5.0%" 5.0 31.923 +e +"EF" 0.0 40.030 +"0.5%" 0.5 38.966 +"1.0%" 1.0 38.059 +"2.0%" 2.0 36.429 +"2.6%" 2.6 35.351 +"2.8%" 2.8 34.823 +"3.0%" 3.0 35.068 +"5.0%" 5.0 33.155 +e +"EF" 0.0 40.390 +"0.5%" 0.5 39.420 +"1.0%" 1.0 38.912 +"2.0%" 2.0 37.448 +"2.6%" 2.6 36.907 +"2.8%" 2.8 36.713 +"3.0%" 3.0 36.522 +"5.0%" 5.0 34.991 +e +"EF" 0.0 40.030 +"0.5%" 0.5 39.612 +"1.0%" 1.0 39.371 +"2.0%" 2.0 38.549 +"2.6%" 2.6 38.128 +"2.8%" 2.8 37.883 +"3.0%" 3.0 37.679 +"5.0%" 5.0 36.606 +e + +set output 'lowdelay_P_4R_slice_1200B_seq_tennis_rate_single_60pc.pdf' +set title 'Tennis - 40% Reduction ' +plot '-' using 2:3 w lp ls 1 title 'FC', '-' using 2:3 w lp ls 2 title 'MC', '-' using 2:3 w lp ls 3 title 'EXP+EMVE', '-' using 2:3 w lp ls 4 title 'EL10', '-' using 2:3 w lp ls 5 title 'EL20' +"EF" 0.0 39.020 +"0.5%" 0.5 37.569 +"1.0%" 1.0 36.453 +"2.0%" 2.0 34.685 +"2.6%" 2.6 33.662 +"2.8%" 2.8 33.320 +"3.0%" 3.0 33.442 +"5.0%" 5.0 31.232 +e +"EF" 0.0 39.020 +"0.5%" 0.5 37.958 +"1.0%" 1.0 37.021 +"2.0%" 2.0 35.698 +"2.6%" 2.6 34.791 +"2.8%" 2.8 34.513 +"3.0%" 3.0 34.600 +"5.0%" 5.0 32.544 +e +"EF" 0.0 38.170 +"0.5%" 0.5 37.482 +"1.0%" 1.0 36.874 +"2.0%" 2.0 35.711 +"2.6%" 2.6 35.236 +"2.8%" 2.8 35.002 +"3.0%" 3.0 34.863 +"5.0%" 5.0 33.289 +e +"EF" 0.0 38.580 +"0.5%" 0.5 37.739 +"1.0%" 1.0 37.295 +"2.0%" 2.0 36.384 +"2.6%" 2.6 35.732 +"2.8%" 2.8 35.556 +"3.0%" 3.0 35.538 +"5.0%" 5.0 34.074 +e +"EF" 0.0 37.960 +"0.5%" 0.5 37.569 +"1.0%" 1.0 37.403 +"2.0%" 2.0 36.903 +"2.6%" 2.6 36.413 +"2.8%" 2.8 36.403 +"3.0%" 3.0 36.227 +"5.0%" 5.0 35.540 +e + +_EOF +CONV_FILENAMES="lowdelay_P_4R_slice_1200B_seq_basketball_drill_rate_single.pdf lowdelay_P_4R_slice_1200B_seq_basketball_drill_rate_single_60pc.pdf lowdelay_P_4R_slice_1200B_seq_basketball_drive_rate_single.pdf lowdelay_P_4R_slice_1200B_seq_basketball_drive_rate_single_60pc.pdf lowdelay_P_4R_slice_1200B_seq_book_arrival_c6_rate_single.pdf lowdelay_P_4R_slice_1200B_seq_book_arrival_c6_rate_single_60pc.pdf lowdelay_P_4R_slice_1200B_seq_bqsquare_rate_single.pdf lowdelay_P_4R_slice_1200B_seq_bqsquare_rate_single_60pc.pdf lowdelay_P_4R_slice_1200B_seq_cactus_rate_single.pdf lowdelay_P_4R_slice_1200B_seq_cactus_rate_single_60pc.pdf lowdelay_P_4R_slice_1200B_seq_four_people_rate_single.pdf lowdelay_P_4R_slice_1200B_seq_four_people_rate_single_60pc.pdf lowdelay_P_4R_slice_1200B_seq_kendo_c3_rate_single.pdf lowdelay_P_4R_slice_1200B_seq_kendo_c3_rate_single_60pc.pdf lowdelay_P_4R_slice_1200B_seq_kimono_rate_single.pdf lowdelay_P_4R_slice_1200B_seq_kimono_rate_single_60pc.pdf lowdelay_P_4R_slice_1200B_seq_kristen_sara_rate_single.pdf lowdelay_P_4R_slice_1200B_seq_kristen_sara_rate_single_60pc.pdf lowdelay_P_4R_slice_1200B_seq_park_rate_single.pdf lowdelay_P_4R_slice_1200B_seq_park_rate_single_60pc.pdf lowdelay_P_4R_slice_1200B_seq_people_rate_single.pdf lowdelay_P_4R_slice_1200B_seq_people_rate_single_60pc.pdf lowdelay_P_4R_slice_1200B_seq_race_rate_single.pdf lowdelay_P_4R_slice_1200B_seq_race_rate_single_60pc.pdf lowdelay_P_4R_slice_1200B_seq_tennis_rate_single.pdf lowdelay_P_4R_slice_1200B_seq_tennis_rate_single_60pc.pdf " +gs -q -sPAPERSIZE=letter -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=Quality_PLR_Methods.pdf $CONV_FILENAMES +rm ${CONV_FILENAMES} diff --git a/043_EndToEndRobustSystem/Results/Quality_PLR_Methods.pdf b/043_EndToEndRobustSystem/Results/Quality_PLR_Methods.pdf new file mode 100644 index 0000000000000000000000000000000000000000..e797ec7ff497205276f886279e6c1a4409c3a58a GIT binary patch literal 575022 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 z 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 z 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%0D!F>l?X4f$8f$!ydZn!9mc$Zt{rkkIw- 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%0DQro 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 z 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

=dsLFSic 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