414 lines
39 KiB
TeX
414 lines
39 KiB
TeX
% Figure folders
|
|
|
|
\newcommand{\HEVCRobustnessEvaluation}{./031_ErrorResilienceEvaluation/QualityEvaluation}
|
|
\newcommand{\DynamicTMVP}{031_ErrorResilienceEvaluation/DynamicTmvp}
|
|
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
% CHAPTER
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
\chapter{Error robustness of HEVC - Evaluation and improvements}
|
|
\label{Chapter:HEVCErrorResilience}
|
|
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
%% SECTION %%
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
\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.
|
|
Finally, Section~\ref{Section3:Summary} concludes this chapter.
|
|
|
|
\clearpage
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
% SECTION
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
\section{Evaluation study of the error robustness of HEVC}
|
|
\label{Section3:ErrorResilienceEvaluation}
|
|
|
|
\subsection{Motivation and objectives}
|
|
|
|
As mentioned before the \ac{hevc} standard has improved its predecessor in terms of coding efficiency,
|
|
higher complexity and data dependencies, mostly resulting from advanced predictions 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 packet loss.
|
|
|
|
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.
|
|
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.
|
|
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}.
|
|
|
|
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 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 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}
|
|
|
|
\subsection{Characterisation of the experiments}
|
|
\label{ExperimentalTestSetup}
|
|
|
|
\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.
|
|
% 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}:
|
|
\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:
|
|
\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:
|
|
\begin{equation}
|
|
TI = max_{time}\Big\{ std_{space} \big( f_{t}(x,y) - f_{t-1}(x,y) \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} (see second column).
|
|
|
|
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.
|
|
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.
|
|
|
|
|
|
%The following bitrates were selected to achieve high quality (i.e., around 40 dB): 1.0 Mbits/s (Kendo), 1.5 Mbits/s (Book Arrival), 4.0 Mbits/s (BQSquare, Park Scene and Race Horses) and 12.0 Mbits/s (People on Street).
|
|
% 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.
|
|
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}.
|
|
|
|
%\subsection{Experimental results}
|
|
|
|
\subsection{Evaluation of the impact of the partition units size}
|
|
|
|
%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}.
|
|
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}
|
|
|
|
|
|
%Results for the case of data loss indicate that using larger coding units leads to higher video quality.
|
|
%
|
|
%that larger coding units should be maintained. Even though larger frame partitions lead to larger coding dependencies, it will not affect the robustness to packet loss and error propagation. This is mainly due to the fact that error propagation occurs mostly in complex and moving regions, which normally are coded using smaller partition units.
|
|
|
|
\begin{table}[!t]
|
|
\centering
|
|
\caption{Average \ac{psnr} for different maximum CU size.}
|
|
\label{Table3:Quality_BlockSize}
|
|
\TABLESVSPACE
|
|
\input{./031_ErrorResilienceEvaluation/QualityEvaluation/TableCUSizes.tex}
|
|
\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.
|
|
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]
|
|
\centering
|
|
\renewcommand{\FIGSIZE}{0.4\textwidth}
|
|
% \resizebox{\columnwidth}{!}{
|
|
\begin{tabular}{y{.45\columnwidth}y{.45\columnwidth}}
|
|
\small
|
|
\includegraphics[width=\FIGSIZE]{\HEVCRobustnessEvaluation/Bask_Partitions_16.png} &
|
|
\includegraphics[width=\FIGSIZE]{\HEVCRobustnessEvaluation/Bask_Partitions_64.png} \\
|
|
(a) $16\times16$ & (b) $64\times64$ \\
|
|
\end{tabular}
|
|
% }
|
|
\caption{Block partition and prediction mode for a region of the Basketball Drill sequence.}
|
|
\label{Figure3:BlockPartitionBask}
|
|
\end{figure}
|
|
|
|
% \subsection{Impact of filtering operation}
|
|
%
|
|
% The \ac{hevc} introduced new in-loop filter operations, extending the deblocking filter of the H.264/AVC. One of the filtering operations present in the standard is the \glsfirst{sao}. As mentioned before, the filter is able to reduce the reconstruction distortion by conditionally adding an offset value to each sample after the application of the deblocking filter. In this sub-section the impact of the \ac{sao} is evaluated, by comparing the quality obtained under packet loss with the filter enabled and disabled.
|
|
%
|
|
%
|
|
% \begin{table}[!t]
|
|
% \centering
|
|
% \caption{Average \ac{psnr} for different filtering configurations.}
|
|
% \label{TAB3:QualitySao}
|
|
% \input{\HEVCRobustnessEvaluation/TableFilters.tex}
|
|
% \end{table}
|
|
%
|
|
% Table~\ref{TAB3:QualitySao} shows the average decoded quality for the two tested scenario. The case where the filter is enabled is used as reference for comparison and the absolute value of the \ac{psnr} is shown. For the case where the \ac{sao} is disabled the quality differences are illustrated.
|
|
% Results confirm the superiority of enabling the the \ac{sao} both in error-free but also in data loss environments. Although only a small quality impact occurs in the case where the filter is disabled is,
|
|
|
|
|
|
\subsection{Evaluation of the impact of intra refreshing}
|
|
|
|
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 seamlessly.
|
|
|
|
\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 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.
|
|
\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.
|
|
|
|
\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 bits 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.
|
|
%As a reference for comparison a single slice per frame is also evaluated.
|
|
|
|
\begin{figure}[!t]
|
|
\centering
|
|
\input{./031_ErrorResilienceEvaluation/QualityEvaluation/PSNRvsSlices.tex}
|
|
\caption{Decoded video quality for different slice partitioning modes.}
|
|
%\input{./031_ErrorResilienceEvaluation/QualityEvaluation/PSNRvsSlices.tex}
|
|
%\caption{Decoded video quality for different slice partitioning schemes (Complementary results in Figure~\ref{Appendix:Figure3:SlicePartitioning}).}
|
|
\label{Figure3:SlicePartitioning}
|
|
\end{figure}
|
|
|
|
Figure~\ref{Figure3:SlicePartitioning} shows the average \ac{psnr} for three difference slice partitioning modes and different \acs{plr}.
|
|
The first mode uses a single slice per frame, corresponding to the case where slice partitioning is disabled.
|
|
The two remaining are characterised by a different amount of bits per slice, namely 1200 and 2400 bytes per slice, respectively. In these two cases each frame has a variable number of slices.
|
|
\todo{Complete discussion of slice partitioning}
|
|
|
|
Results reveals a clear impact of the slice partitioning on the error robustness of the \ac{hevc}, as the quality degradation as the \ac{plr} increases varies for each scheme.
|
|
Firstly it is clearly notice the disadvantage of using a single slice per frame as it leads to the lower quality when comparing the test cases studied. This is due to the lack of refresh points within a frame, resulting in loss events that affects the whole frame which will propagate to the subsequent inter predicted frames.
|
|
Secondly, comparing slices of different sizes, i.e., comparing the use of 1200 and 2400 bytes per slice, reveals that using small slices leads to higher quality which is able to overcome the inherent degradation on coding efficiency due to higher amount of slice headers.
|
|
|
|
|
|
\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.
|
|
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}
|
|
|
|
|
|
The first set of experiments aimed to investigate the impact of the amount of spatial \ac{mv} candidates in 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}.
|
|
|
|
\begin{figure}[!t]
|
|
\centering
|
|
\renewcommand{\FIGSIZE}{0.75\textwidth}
|
|
\input{031_ErrorResilienceEvaluation/QualityEvaluation/PSNRvsMergeCand.tex}
|
|
\caption{Average quality using different number of \ac{mv} candidates.}
|
|
\label{Figure3:AvgPSNRMergeCandidates}
|
|
\end{figure}
|
|
|
|
|
|
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, 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}.
|
|
|
|
\begin{table}[!t]
|
|
\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}
|
|
|
|
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}.
|
|
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.
|
|
|
|
|
|
\subsubsection{Temporal \ac{mv} candidates}
|
|
|
|
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 the effect of intra-refreshing period of 32 frames was used to evaluate a long error propagation period.
|
|
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.
|
|
% This is true even for sequences with low motion activity as per Table~\ref{tab:sequences}.
|
|
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 achieved. 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.
|
|
%This is more noticeable in the \ac{ld} configuration because more error propagation occurs in P-frames and several frames are affected until an intra frame is decoded (refresh point).
|
|
|
|
\begin{figure}[!t]
|
|
\centering
|
|
\renewcommand{\FIGSIZE}{0.76\textwidth}
|
|
% \includegraphics[width=\FIGSIZE,page=2]{\HEVCRobustnessEvaluation/PSNRvsFrameSingleFrameTMVP}
|
|
\input{./031_ErrorResilienceEvaluation/QualityEvaluation/PSNRvsFrameSingleFrameTMVP}
|
|
\caption{Error propagation for Kendo sequence when Frame~\#6 is lost for the \ac{ld} configuration.}
|
|
\label{Figure3:PSNRvsFrameErrorFreeConc}
|
|
\end{figure}
|
|
|
|
|
|
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 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.
|
|
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.
|
|
|
|
\begin{table}[!t]
|
|
\centering
|
|
%\caption{Average \ac{psnr} using different motion vector candidates.}
|
|
\caption{\ac{psnr} under random packet loss.} \label{Table3:AvgPSNRWithoutTMVP}
|
|
\TABLESVSPACE
|
|
\input{./031_ErrorResilienceEvaluation/QualityEvaluation/TableMVPs.tex}
|
|
\end{table}
|
|
|
|
\subsection{Discussion}
|
|
|
|
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.
|
|
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.
|
|
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.
|
|
|
|
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
% 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}
|
|
|
|
\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 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:
|
|
\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]{\DynamicTMVP/DynamicTMVP}
|
|
\input{./031_ErrorResilienceEvaluation/DynamicTmvp/DynamicTMVP.tikz}
|
|
\caption{Proposed approach to constrain the temporal \ac{mv} dependencies.}
|
|
\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 marked with the arrow (2) is not allowed, thus preventing 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, 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 different approaches tested in the \ac{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 as 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
|
|
|
|
|
|
\subsubsection{Quality evaluation under random errors}
|
|
|
|
\begin{table}[tbp]
|
|
\centering
|
|
\caption{Average standard deviation of the decoded video quality (PSNR).} \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 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.
|
|
|
|
\HIGHLIGHT{vantagem do std}
|
|
|
|
\begin{table}[tbp]
|
|
\centering
|
|
\caption{BD-PSNR (dB) differences for all sequences tested 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 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.
|
|
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}.
|
|
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
% SECTION
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
\section{Summary}
|
|
\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.
|
|
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.
|
|
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.
|