Graphics Reference
In-Depth Information
5.3.2.1
Complexity of HEVC Interpolation Filter
When evaluating the complexity of a video coding algorithm, several aspects, such
as memory bandwidth, number of operations and storage buffer size need to be
carefully considered.
In terms of memory bandwidth, utilizing longer tap filters in HEVC (7-8 tap
filter for luma sub-pixels and 4-tap filter for chroma sub-pixels) compared to
shorter filters in H.264/AVC (6-tap filter for luma sub-pixels and bilinear filter for
chroma) increases the amount of data that needs to be fetched from the reference
memory. The worst case happens when a small motion block is bi-predicted and its
corresponding motion vector points to a sub-pixel position where two-dimensional
filtering needs to be performed (such as position f 0,0 ). In order to reduce the worst
case memory bandwidth, HEVC introduces several restrictions. Firstly, the smallest
prediction block size is fixed to be 4 8 or 8 4, instead of 4 4. In addition, these
smallest block sizes of size 4 8 and 8 4 can only be predicted with uni-prediction.
With these restrictions in place, the worst-case memory bandwidth of HEVC
interpolation filter is around 51 % higher than that of H.264/AVC. The increase
in memory bandwidth is not very high for larger block sizes. For example, for a
32 32 motion block, HEVC requires around 13 % increased memory bandwidth
over H.264/AVC [ 17 ].
Similarly, the longer tap-length filters increase the number of arithmetic opera-
tions required to obtain the interpolated sample. If the complexity is measured by
the number of multiply-and-add operations (MACs), interpolation filter in HEVC
represents roughly a 20 % increase over H.264/AVC filter for 8-bit video.
The high-precision bi-directional averaging described in Sect. 5.3.1.2 increases
the size of intermediate storage buffers for storing the temporary uni-prediction
signals as each one of the prediction signals need to be stored at a higher bit-depth
compared to H.264/AVC before the bi-directional averaging takes place.
HEVC uses 7-tap FIR filter for interpolating samples at quarter-pixel locations,
which has an impact on motion estimation of a video encoder. An H.264/AVC
encoder could store only the integer and half-pel samples in the memory and
generate the quarter-pixels on-the-fly during motion estimation. This would be
significantly more costly in HEVC because of the complexity of generating each
quarter-pixel sample on-the-fly with a 7-tap FIR filter. Instead, an HEVC encoder
could store the quarter-pixel samples in addition to integer and half-pixel samples
and use those in motion estimation. Alternatively, an HEVC encoder could estimate
the values of quarter-pixel samples during motion estimation by low complexity
non-normative means.
5.3.2.2
Coding Efficiency of HEVC Interpolation Filter
In this section, the coding efficiency of interpolation filter design in HEVC is
analyzed. For this purpose, the H.264/AVC interpolation filter is first implemented
in version 6.0 of the HEVC test model and then run with the test conditions advised
by JCT-VC [ 4 ]. Same test model is also run with the HEVC interpolation filter
Search WWH ::




Custom Search