Graphics Reference
In-Depth Information
be obtained first by applying a 6-tap horizontal FIR filter and rounding the result to
input bit-depth, as shown in Eq. ( 5.6 ). The quarter-pixel sample a 0,0 is then obtained
by averaging the half-pixel sample, b 0,0 with the integer sample A 0,0 as shown in
Eq. ( 5.7 ). Because b 0,0 is first rounded back to input bit-depth, a rounding error of
33=128 is introduced to obtain a 0,0 [ 16 ].
b 0;0 D .A 2;0 5 A 1;0 C 20 A 0;0 C 20 A 1;0 5 A 2;0 C A 3;0 C 16/ >> 5
(5.6)
a 0;0 D .A 0;0 C b 0;0 C 1/ >> 1
(5.7)
Instead of using a two-stage cascaded filtering process, HEVC interpolation filter
computes the quarter-pixels directly using a 7-tap filter using the coefficients shown
in Sect. 5.3.1.1 , which significantly reduces the rounding error to 1=128.
The second reason for reduction of accuracy in H.264/AVC motion compensation
process is due to averaging in bi-prediction. In H.264/AVC, the prediction signal of
the bi-predictively coded motion blocks (denoted by S) is obtained by averaging
prediction signals from two prediction lists (denoted by S 1 and S 2 )asshownin
Eq. ( 5.8 ).
S D .S 1 C S 2 C 1/ >> 1
(5.8)
The averaging operation shown in Eq. ( 5.8 ) is done at the precision of input
bit-depth (i.e. S 1 and S 2 are 8-bit for an 8-bit video). If the motion vectors have
fractional pixel accuracy, then S 1 and S 2 are obtained using interpolation and the
intermediate values are rounded to input bit-depth. In HEVC, instead of averaging
each prediction signal at the precision of the bit-depth, they are averaged at a higher
precision if fractional motion vectors are used for the corresponding block [ 18 ].
This means that, if the motion vectors to obtain S 1 or S 2 have sub-pixel accuracy,
the interpolation process does not round the intermediate values to input-bit depth
prior to averaging, but keeps it at a higher precision. It should be noted that for
the cases where one of the prediction signal is obtained without interpolation (i.e.
the corresponding motion vector has an integer pixel accuracy) the bit-depth of the
corresponding prediction signal is first increased accordingly before bi-prediction
averaging so that both prediction signals are averaged at the same bit-depth.
This process is illustrated in Fig. 5.10 (a) for the case of H.264/AVC where
bi-prediction averages two prediction signals at input bit-depth and (b) for HEVC
where the averaging is performed at a higher bit-depth and intermediate rounding
step is not used.
5.3.1.3
Other Important Features
To make sure the intermediate values do not overflow the 16-bit registers, after
horizontal interpolation the intermediate values are shifted to the right by bit depth
minus 2. This means that when the bit depth of the video is more than 8 bits, the
Search WWH ::




Custom Search