Fix abreviations and equations referencing
This commit is contained in:
@@ -13,17 +13,12 @@
|
||||
\vspace*{\fill}
|
||||
\section{Introduction}
|
||||
|
||||
\glsunset{h264}
|
||||
\glsreset{hevc}
|
||||
|
||||
This chapter presents an overview of the \ac{hevc}~\cite{H265StandardFeb2018} standard, focusing on the most relevant features of the encoding algorithm, considering the scope of the work developed in this thesis.
|
||||
In short, the \ac{hevc} standard essentially aims to support all existing applications of \ac{h264}~\cite{H264AVCStandard2003}, while extending two keys aspects: increased video resolution with higher compression ratio and also more efficient use of parallel processing architectures.
|
||||
In order to increase the coding flexibility and higher video resolutions, the \ac{hevc} standard adopts a new block partition structure, as well as, new prediction modes.
|
||||
In this chapter the new data structures and coding techniques, specifically introduced to increase the coding efficiency, are described.
|
||||
Particular emphasis is given to those which may have a significant impact in the error robustness characteristics of \ac{hevc} streams.
|
||||
|
||||
\glsunset{hevc}
|
||||
|
||||
The chapter is organised as follows.
|
||||
Section~\ref{Section2:GeneraVideoSystem} introduces the functional blocks of a generic hybrid video coding system and Section~\ref{Section2:Overview} provides an overview of the \ac{hevc} standard.
|
||||
Then, Section~\ref{Section2:HighLevel} describes the high-level syntax elements, which are used to carry relevant information in coded streams.
|
||||
@@ -69,9 +64,9 @@ This is the reason why the coding scheme is called hybrid, as it combines quiet
|
||||
|
||||
In general, there are two kinds of redundancy in video signal: spatial and temporal.
|
||||
On the one hand, the spatial redundancy is exploited through intra frame prediction, where the underlying mechanism is to find the best matching block for the current one, by searching the neighbouring region.
|
||||
This is possible due to the existence of high correlation between neighbouring pixels within a frame.
|
||||
This is possible due to the existence of high correlation among neighbouring pixels within a frame.
|
||||
As result, when intra frame prediction is used, a block of pixels is reconstructed from the neighbouring blocks previously processed.
|
||||
On the other hand, inter frame prediction is designed to exploit the temporal redundancy that exists between consecutive frames, such as those temporally adjacent, e.g., the past frame or the future frame in regard to the current one.
|
||||
On the other hand, inter frame prediction is designed to exploit the temporal redundancy that exists among consecutive frames, such as those temporally adjacent, e.g., the past frame or the future frame in regard to the current one.
|
||||
Temporal redundancy is normally referred to as the correlation between two adjacent frames since they usually have quiet similar visual content, such as foreground objects and background.
|
||||
Thus, the purpose of inter-frame prediction is to search for the best matching block for the current one in a set of reference frames.
|
||||
|
||||
@@ -101,7 +96,7 @@ In the next section, the aforementioned blocks are described in the context of t
|
||||
|
||||
Similar to the previous coding standards developed by \ac{jctvc}, in \ac{hevc}~\cite{HEVCOverviewJul2012,HEVCOverviewDez2012,BookHEVC2014} only the
|
||||
coding syntax and semantics are standardised.
|
||||
The constrains and functionalities are defined through profiles and levels, while the semantic meaning of syntax elements define the decoding process, such that every decoder conforming to the standard generates the same output when given a complaint stream.
|
||||
The constrains and functionalities are defined through profiles and levels, while the semantic meaning of syntax elements define the decoding process, such that every decoder conforming to the standard generates the same output when given a conforming stream.
|
||||
Such delimitation of scope in the standard concede maximum freedom for developers and manufactures to develop proprietary optimisations, allowing to cope with various applications’ requirements (\emph{e.g.}, balancing the compression ratio and the coding complexity).
|
||||
Figure~\ref{fig:HEVCBlockDiagram} illustrates the block diagram of the \ac{hevc} encoder. It follows the same overall hybrid architecture as its predecessors starting from H.261.
|
||||
The encoder uses both intra- and inter-picture prediction to exploit spatial and temporal redundancies, respectively.
|
||||
@@ -119,7 +114,7 @@ Subsequently, the prediction residue is transformed by linear spatial transform
|
||||
However, there are some novelties introduced in the \ac{hevc} standard. As depicted in Figure~\ref{fig:HEVCBlockDiagram}, the encoding process follows a block-based approach, therefore each picture is partitioned into larger blocks, referred to as \acs{ctu}, with a maximum size of $64\times64$ pixels.
|
||||
Subsequently, a dynamic quad-tree partitioning is used to divide the picture into \acs{cu}.
|
||||
These units are introduced as the basic processing units for prediction, while for the transform and quantisation operations, \acs{tu} are used.
|
||||
In order to generate the prediction residue, the \ac{hevc} may use one of 34 intra-prediction modes or take advantage of symmetric and asymmetric partitions for motion estimation and inter-prediction.
|
||||
In order to generate the prediction residue, the \ac{hevc} may either use one of 34 intra-prediction modes or take advantage of symmetric and asymmetric partitions for motion estimation and inter-prediction.
|
||||
The motion estimation is performed in the pictures listed in the \ac{rpset}, which was introduced in the \ac{hevc} to increase the robustness to errors and data loss of reference picture management.
|
||||
To improve the overall quality of the reconstructed pictures and smooth the coding artefacts, \ac{hevc} not only uses a deblocking filter but also a \ac{sao} filter. Finally, the control data, quantised coefficients, prediction modes, motion vectors and filter information are compressed using the \ac{cabac}. The compressed bitstream is then allocated to various \ac{nal} units.
|
||||
|
||||
@@ -170,7 +165,7 @@ Figure~\ref{Figure2:NalHeader} shows the structure of the \ac{hevc} \ac{nal} uni
|
||||
|
||||
\glsreset{vps}
|
||||
|
||||
The encoder uses a set of signalling packets as a robust method to share data with the decoder, referred to as parameter set units. This information was introduced in previous standards to deal with vulnerabilities in the transport of signalling information between the encoder and decoder, which may compromise the streaming applications.
|
||||
The encoder uses a set of signalling packets as a robust method to share data with the decoder, referred to as parameter set units. This information was introduced in previous standards to deal with vulnerabilities in the transport of signalling information between the encoder and decoder.
|
||||
In this approach, such set of parameters is multiplexed in the bitstream and repeated as many times as required by the application, e.g., streaming, storage among others. In \ac{hevc}, this structure is inherited from \ac{h264}\cite{H264OverIPJul2003} with modifications to cope with new coding tools.
|
||||
The \ac{hevc} includes three sets of parameters, \ac{sps}, \ac{pps} and the newly introduced \ac{vps}\cite{HEVCHighLevelReferenceDez2012}.
|
||||
% \ac{sps} include sequence related information, that include the decoder operation point, flags to enable or disable certain tools within a given profile. \Gls{pps} include picture related information, that may change for every picture, e.g., \ac{qp} and tilling information.
|
||||
|
||||
Reference in New Issue
Block a user