Files
doc_phd_thesis/031_ErrorResilienceEvaluation/ErrorResilienceEvaluation.tex
T
2018-12-14 02:39:48 +00:00

434 lines
39 KiB
TeX

% Figure folders
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% CHAPTER
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\chapter[Error robustness of HEVC: evaluation and improvements]{Error robustness of HEVC:\\evaluation and improvements \VERSION{2}}
\label{Chapter:HEVCErrorResilience}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% SECTION %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\vspace*{\fill}
\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 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 in this standard, e.g., increased partition size, intra-refreshing, slice partitioning and advanced motion vector prediction.
Then, in Section~\ref{Section3:DynamicMVRefreshHEVC}, based on the results of the simulation study, a novel method to increase the error robustness of the \ac{mv} coding is presented and compared to existing techniques.
The proposed method introduces refresh points 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.
\vspace*{\fill}
\clearpage
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% SECTION
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Evaluation study of the error robustness}
\label{Section3:ErrorResilienceEvaluation}
\subsection{Motivation and objectives}
As mentioned before, the \ac{hevc} standard has improved over its predecessor in terms of coding efficiency, at cost of
higher complexity and data dependencies, mostly resulting from advanced prediction structures.
Although the increased complexity may be compensated with more efficient algorithms and faster hardware technologies, the impact of higher coding efficiency on reducing error robustness strongly affects the video quality under transmission losses.
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 encoder implements robust coding methods, while the efficient recovery of lost video data is implemented in the decoder, through \ac{ec} algorithms.
Interlayer communication must be used to cope with different protocol layers, ensuring that the video 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/transport 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 mentioned as they provide relevant insights for the research carried out in this work. In~\cite{StudyHEVCErrorsDez2012,HEVCWireless_2016} 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.
The vulnerability of \ac{mv} prediction is investigated and its impact on the error robustness is evaluated in \cite{DynamicTMVP2011}.
Moreover, in the same study, a method to introduce \ac{mv} refresh points is 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 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, 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 distances between intra frames, to evaluate the impact of introducing different number of refresh points;
\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 slice partitioning schemes;
\item different \ac{mv} coding schemes using different types of \ac{mv} candidates, with analysis at the spatial and temporal levels.
\end{enumerate}
\subsection{Characterisation of the experiments}
\label{ExperimentalTestSetup}
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.
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.
Considering a test sequence with $N$ frames $f(t)$ the pixel values (Luma component) of the frame at instant $t$, the spatial and temporal complexity of the video sequences was measured by using the following metrics \cite{ITUTP9102008}:
\begin{itemize}
\item {\ac{si}} based on Sobel filter. Each video frame is firstly filtered, then the standard deviation ($std$) of the pixel values is computed. Finally, the maximum value over time ($\maxop_{t\in [1..N]}$), is chosen to represent the \ac{si} metric. This process can be represented by the following equation:
\begin{equation}
% SI = max_{time}\Big\{ std \big( Sobel\left(f_t\right) \big) \Big\}.
SI = \maxop_{t\in [1..N]} \Big\{ std \big( sobel\left(f\left(t\right)\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 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 \big( f_t - f_{t-1} \big) \Big\}.
TI = \maxop_{t\in [2..N]} \Big\{ std \big( f\left(t\right) - f\left(t-1\right) \big) \Big\}.
\end{equation}
\end{itemize}
The values of \ac{si} and \ac{ti} calculated for the test sequences are shown in the Table~\ref{TableTestSequences} (second column).
The percentage of inter-coded blocks and the bitrates are also shown in the table and explained below.
\input{031_ErrorResilienceEvaluation/TablesSequences.tex}
For the simulation carried out in this study the \ac{hm} reference software, version $16.2$, was used \cite{HEVCReferenceSoftware162}.
The sequences were encoded with 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}. An \ac{idr} period of $16$ frames is used, derived from the recommended configurations. Further \ac{idr} periods are evaluated in Section~\ref{SEC3:IntraRefreshEvaluation}.
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 \acs{cu} of each coded sequence using the default coding parameters is also shown in the third column of the table since this is an important parameter to analyse error propagation.
\begin{table}[t]
\centering
\caption{Characteristics of the loss patterns used in the experimental simulations.}
\label{TAB3:LossPatterns}
\footnotesize
\begin{tabular}{ccc}
\toprule
\textbf{Packet Loss Ratio (PLR)} & \textbf{Average burst length} & \textbf{Maximum burst size} \\
\midrule
1\% & 1.24 & 2 \\ \hline
3\% & 1.47 & 3 \\ \hline
5\% & 1.83 & 5 \\ \hline
10\% & 2.05 & 7 \\
\bottomrule
\end{tabular}
\end{table}
To simulate the lossy transmission environment, each frame is divided into several slices and each slice 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.
\HIGHLIGHT{Random packet loss was simulated using a two-state Markov model, derived from the classical Gilbert-Elliot \cite{GilbertModel_1960, ElliotModel_1963}, which can be used to describe error patterns in real time video applications~\cite{GilbertElliotModelPlr_2008}. In this study a simplified version of the Gilbert-Elliot model was used by only defining the loss probability without control over burst loss events.
The application of this model results in loss patterns with approximately the same average burst loss as the ones provided in \cite{JCTVCLossSim_2012}.
For each test condition, 50 runs were performed and the average \ac{psnr} was measured. Four different \acs{plr} are used resulting in the characteristics presented in Table~\ref{TAB3:LossPatterns}.}
The remaining configurations have been kept at their default values, as given in the common test conditions~\cite{HEVCCommonTests2012}.
\subsection{Evaluation of the impact of the partition units size}
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}.
\begin{table}[!t]
\centering
\caption{Average \ac{psnr} (dB) for different maximum CU size.}
\label{Table3:Quality_BlockSize}
\TABLESVSPACE
\input{./031_ErrorResilienceEvaluation/QualityEvaluation/TableCUSizes.tex}
% \vspace{6mm}
\end{table}
Table~\ref{Table3:Quality_BlockSize} shows the average \ac{psnr} (dB) obtained for the three test conditions and for three 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, whereby larger coding units lead to higher coding efficiency.
For the Tennis sequence, which has the highest \ac{ti} parameter (see Table~\ref{TableTestSequences}), a maximum of 1.41~dB is achieved.
Moreover, it is also noticeable that sequences with higher amount of inter-coded blocks take less advantage of the larger \acs{cu}.
This is noticeable 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, mostly due to the superior coding efficiency of larger \acs{cu}.
In most 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.
\begin{figure}[!t]
\centering
\renewcommand{\FIGSIZE}{0.38\textwidth}
% \resizebox{\columnwidth}{!}{
\begin{tabular}{y{.45\columnwidth}y{.45\columnwidth}}
\small
\includegraphics[width=\FIGSIZE]{./031_ErrorResilienceEvaluation/QualityEvaluation/Bask_Partitions_16.png} &
\includegraphics[width=\FIGSIZE]{./031_ErrorResilienceEvaluation/QualityEvaluation/Bask_Partitions_64.png} \\
(a) $16\times16$ & (b) $64\times64$ \\
\end{tabular}
% }
\caption{Block partition and prediction mode for a region of Basketball Drill.}
\label{Figure3:BlockPartitionBask}
\end{figure}
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 (ii) 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 more accurately recovered, by 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 communications.
\subsection{Evaluation of the impact of intra refreshing}
\label{SEC3:IntraRefreshEvaluation}
In this sub-section the relation between the temporal distance of consecutive intra-coded frames, i.e., period of the intra frames, and the video quality under transmission errors is evaluated.
As the intra-coded frames have no dependencies to prior coded pictures, they introduce a refreshing point into the bitstream, which stops temporal error propagation along several frames or slices.
This allows the decoder to recover from frame/slice loss and continue error-free decoding in a seamless manner.
\begin{figure}[!t]
\centering
\input{./031_ErrorResilienceEvaluation/QualityEvaluation/PSNRvsIntra.tex}
\caption{Decoded video quality for different intra periods.}
% \caption{Decoded video quality for different intra periods, i.e., distance between intra-frames (Complementary results in Figure~\ref{Appendix:Figure3:QualityvsIntra}).}
\label{Figure3:QualityvsIntra}
\end{figure}
Figure~\ref{Figure3:QualityvsIntra} shows the average decoded video quality (\ac{psnr}) for different distances 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 prediction residue energy also increases, which leads to more erroneous information in case of data loss, reducing the video quality under errors.
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 lower overall quality in case of data loss, when comparing with other cases.
This is clearly noticeable for the Four People sequence, where replacing the intra period from 8 to 16 frames leads to a quality increase 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) yields an acceptable efficiency under errors.
This provides a good trade-off between compression efficiency and error robustness in case of data loss.
For this reason for the remaining experimental evaluation an \ac{idr} of 16 frame will be used.
\subsection{Evaluation for different slice partitioning schemes}
The partitioning of a frame into different slices increases the flexibility of video stream packetisation, along packets of different sizes, thus providing adequate adaptation of coded data units to different transport layers and networks.
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 effect of the slice size is evaluated, to study the influence of different slice partitioning schemes on the error robustness of \ac{hevc} streams.
A comparison of the quality obtained for different partition modes is also carried out, in order to find the most efficient mode for video transmission under data loss conditions.
\begin{figure}[!t]
\centering
\input{./031_ErrorResilienceEvaluation/QualityEvaluation/PSNRvsSlices.tex}
\caption{Decoded video quality for different slice partitioning modes.}
\label{Figure3:SlicePartitioning}
\end{figure}
Figure~\ref{Figure3:SlicePartitioning} shows the average \ac{psnr} for four different 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. 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.
The results shown in Figure~\ref{Figure3:SlicePartitioning} reveal a clear impact of the slice partitioning mode on the error robustness of \ac{hevc}, as the quality degradation for increasing \ac{plr} changes significantly for each mode.
Comparing the cases with fixed amount of bytes per slice, it is clearly noticeable that a higher amount of bytes also corresponds to a higher quality degradation.
This is true for the results of most test sequences shown in Figure~\ref{Figure3:SlicePartitioning}.
Although the use of smaller slices increases the overhead required 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 affect larger regions of the frame, which are propagated to the subsequent inter predicted frames.
The results for of \textit{SS} (slice partitioning disabled) 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.
It is worthwhile to notice that the results for Kendo sequence do 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 also leads to higher quality in case of errors.
\subsection{Motion vector coding impact on error propagation}
\label{Section3:MotionVectorCodingTests}
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}
\begin{figure}[!t]
\centering
\renewcommand{\FIGSIZE}{0.75\textwidth}
\input{031_ErrorResilienceEvaluation/QualityEvaluation/PSNRvsMergeCand.tex}
\caption{Average quality using different number of spatial MV candidates.}
\label{Figure3:AvgPSNRMergeCandidates}
\end{figure}
The first set of experiments aimed to investigate the impact of the amount of spatial \ac{mv} candidates on the video quality.
As mentioned before, \ac{hevc} allows up to five candidates to be used, which can be provided solely by spatial neighbours. In order to check the impact of the \ac{mv} candidates, different coding configurations were used, each one characterised by different amounts of spatial \ac{mv} candidates, i.e., 1, 3 and 5 \acs{mv}.
Figure~\ref{Figure3:AvgPSNRMergeCandidates} shows the average quality results for the Basketball Drill and People On Street sequences, under different packet loss conditions.
The results show that, for different 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 also 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 B/S. 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.
\begin{table}[tb]
\newcommand{\somespaces}{}
\newcommand{\colwidth}{1.8cm}
\centering
\caption{Relation between the number of available \ac{mv} candidates and its usage} \label{Table3:MergeIdxRatio}
\footnotesize
\TABLESVSPACE
\begin{tabular}{x{3.3cm}|x{\colwidth}|x{\colwidth}|x{\colwidth}|x{\colwidth}|x{\colwidth}}
\toprule
\multirow{2}{*}{\vbox{\centering \textbf{Max. number of candidates}}} & \multicolumn{5}{c}{\textbf{Candidate selected (ratio)}} \\
\cline{2-6}
& 1 & 2 & 3 & 4 & 5 \\
\hline
3 \acs{mv} & $66.17\%$ & 22.79$\%$ & 11.04$\%$ & - & - \\
\hline
5 \acs{mv} & 64.54$\%$ & 22.24$\%$ & 7.38$\%$ & 3.37$\%$ & 2.47$\%$ \\
\bottomrule
\end{tabular}
\end{table}
\subsubsection{Temporal \ac{mv} candidates}
\begin{figure}[!t]
\centering
\renewcommand{\FIGSIZE}{0.76\textwidth}
% \includegraphics[width=\FIGSIZE,page=2]{./031_ErrorResilienceEvaluation/QualityEvaluation/PSNRvsFrameSingleFrameTMVP}
\input{./031_ErrorResilienceEvaluation/QualityEvaluation/PSNRvsFrameSingleFrameTMVP}
\caption{Error propagation for Kendo sequence when Frame~\#6 is lost for the \ac{ld} configuration using different TMVP configurations.}
\label{Figure3:PSNRvsFrameErrorFreeConc}
\end{figure}
The second set of experiments aimed to find the influence of losing temporal motion predictors on the error resilience of \ac{hevc}.
In order to perform this test, a single frame loss in enforced, and the error propagation is evaluated for two configurations: (i) with the temporal \ac{mv} candidate enabled and (ii) disabled.
Figure~\ref{Figure3:PSNRvsFrameErrorFreeConc} illustrates the error propagation, when a single frame is lost. For this particular experiment an intra-refreshing period of 32 frames was used to evaluate the impact on long error propagation periods. This is commonly used in quality evaluation of erroneous video decoding and follows the reference conditions~\cite{HEVCCommonTests2012}.
The results show that when the \ac{tmvp} mode is enabled, the loss of Frame \#6 leads to significant reduction in the reconstruction quality of the subsequent frames.
On the contrary, when the temporal \ac{mv} candidate is disabled, the motion information on subsequent frames is not affected by the loss of a single frame and significantly higher quality is obtained.
This is the effect of breaking the temporal dependencies between \acs{mv}, which prevents erroneous \acs{mv} to propagate throughout the set of dependent frames.
\begin{table}[!t]
\centering
%\caption{Average \ac{psnr} using different motion vector candidates.}
\caption{Average PSNR (dB) under random losses for different TMVP configurations.} \label{Table3:AvgPSNRWithoutTMVP}
\TABLESVSPACE
\input{./031_ErrorResilienceEvaluation/QualityEvaluation/TableMVPs.tex}
\end{table}
In order to further evaluate the impact of the temporal \ac{mv} dependencies on the error propagation, the \ac{hevc} streams were subject to random packet losses.
Table~\ref{Table3:AvgPSNRWithoutTMVP} presents the average quality results, measured using the \ac{psnr}.
As expected, the results indicate that under 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 both test conditions, \emph{i.e.}, \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} 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.
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, these results also indicate that for higher \ac{plr} the negative impact of using the \ac{tmvp} does not increase, as both configurations are subject to high quality degradation.
\subsection*{Remarks on error robustness of HEVC}
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 configurations.
As shown, some coding configurations, 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 and implementation of video delivery services and applications over error-prone networks.
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 disabling some \ac{mv} predictions at the encoder-side in order to reduce the overall temporal dependencies.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% SECTION
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Dynamic motion vector refreshing}
\label{Section3:DynamicMVRefreshHEVC}
%\subsection{Problem formulation}
The aforementioned results revealed low error resilience in motion prediction because any error is easily propagated through several frames.
Based on this evidence, this section proposes a method to make intelligent use of temporal \ac{mv} candidates during the motion estimation process, in order to decrease the temporal dependency, and improve the error resiliency without penalising the \ac{rd} performance.
\subsection{Proposed method}
The new approach to dealing with temporal \ac{mv} dependencies is accomplished by modifying the \ac{rd} optimisation that is used to select the best \ac{mv} for inter-prediction.
The objective is to increase the number of \acs{mv} that can be independently decoded, in order to improve the error recovery capability after an arbitrary frame loss event.
The proposed method also overcomes the limitation of the method presented in \cite{DynamicTMVP2011}, which breaks the motion information dependencies between frames.
Instead of disabling the temporal motion candidates 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 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 they are not selected 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.
\end{enumerate}
\begin{figure}[t]
\centering
% \includegraphics[width=0.6\columnwidth]{./031_ErrorResilienceEvaluation/DynamicTmvp/DynamicTMVP}
\input{./031_ErrorResilienceEvaluation/DynamicTmvp/DynamicTMVP.tikz}
\caption{Proposed approach to constrain the temporal \ac{mv} dependencies (arrow point to the MV predictor).}
\label{ProposedDynamicMethod}
\FIGSVSPACE
\end{figure}
Figure~\ref{ProposedDynamicMethod} can be used to explain the proposed method, illustrating different blocks and different \ac{mv} dependencies represented with arrows. Note that the squares illustrate a generic block size; the representation of the temporal dependencies is simplified, and in some cases may not correspond to the exact co-located block in the previous frame. In frame $f_{t-1}$ there are several \acs{mv} encoded using spatial predictions and one \ac{mv} encoded using a temporal prediction (arrow pointing to $f_{t-2}$). In frame $f_{t}$, the \ac{mv} corresponding to the block (1) may use the temporal \ac{mv} candidate, since the co-located block in $f_{t-1}$ is not temporally dependent.
However, in the proposed scheme the \ac{mv} prediction identified with the arrow (2) is not allowed, which prevents the propagation of temporal dependencies.
Moreover, the block corresponding to the arrow (3) cannot use the temporal \ac{mv} candidate since it already depends on a \ac{mv} that was previously encoded using the temporal candidate. The proposed method reduces the temporal dependencies of the \glspl{mv} at the block level, providing improved error robustness to the encoded streams.
Using this approach, the dependencies are selectively removed, improving the error recovery accuracy, without fully disabling the temporal \gls{mv} candidates for a given frame.
Therefore, coding efficiency is not significantly penalised.
\subsection{Performance evaluation}
\label{sec:ProposedMethodEvaluation}
\begin{figure}[tb]
\centering
\input{031_ErrorResilienceEvaluation/DynamicTmvp/PSNRvsFrameSingle.tex}
\caption{Quality obtained with the proposed scheme, \TIDR and reference HEVC when the frame \#5 is missing for Kendo and BQSquare sequences.}
\label{Figure3:ProposedMethodEvaluationSingle}
\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 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) higher error robustness is attained.
The results also show the benefits of using the proposed method over the \TIDR method.
While 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 proposed method is able to recover right after the frame loss.
\subsubsection{Quality evaluation under random errors}
\begin{table}[tbp]
\centering
\caption{Average standard deviation of the PSNR (dB) for the proposed scheme, \TIDR and reference HEVC.} \label{Table3:AverageStdPSNR}
\TABLESVSPACE
\input{./031_ErrorResilienceEvaluation/DynamicTmvp/TableDynamicTMVPPSNRSTD.tex}
\end{table}
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 variations, thus 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 such quality variations, achieving the lowest variation value for all tested scenarios.
The proposed method is able to reduce the quality variations up to 0.94 dB for Kendo sequence (3$\%$ of packet loss) compared to the~\TIDR~method.
Therefore, since the proposed method achieves the lowest \ac{psnr} standard deviation, one may conclude that it is able to reduce the video quality variations leading to a better visual quality.
%\HIGHLIGHT{vantagem do std}
\begin{table}[tbp]
\centering
\caption{BD-PSNR (dB) differences for the proposed method and \TIDR at different frame loss conditions.} \label{Table3:AverageResultsProposed}
\input{031_ErrorResilienceEvaluation/DynamicTmvp/TableDynamicTMVPPSNR.tex}
\end{table}
Table~\ref{Table3:AverageResultsProposed} shows the Bjontegaard's average \ac{psnr} increase \cite{BJResults2001}.
The results are obtained taking the standard \ac{hevc} encoder as reference.
% 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 the \TIDR method.
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 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.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
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Summary}
\label{Section3:Summary}
In this chapter, the error resilience performance of \ac{hevc} was studied in detail under error prone conditions. This study was partially discussed and published in the paper~(\ref{Conf:ErrorResilience}).
The simulation results revealed that new coding tools introduced in \ac{hevc} to improve coding efficiency are partially responsible for higher error propagation.
This motivated further research on new techniques for highly efficient encoders and decoders, in order to increase error resiliency and to improve the overall performance of video delivery services and applications.
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. This method was proposed in the publication (\ref{Conf:DynamicTMVP}).
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.
The results also show that the proposed method is able to provide a good trade-off between coding efficiency and error resilience.
Overall, these new findings demonstrate that selective usage of temporal \ac{mv} candidates is an efficient approach to enhance error resilience in high efficiency video encoders.