Graphics Reference
In-Depth Information
Tabl e 7. 1 Boundary strength
( Bs ) derivation [ 37 ]
Conditions
Bs
At least one of the adjacent blocks is intra
2
At least one of the adjacent blocks has non-zero
transform coefficients
1
Absolute difference between the motion vectors that
belong to the adjacent blocks is greater than or
equal to one integer luma sample
1
Motion prediction in the adjacent blocks refers to
different reference pictures or number of motion
vectors is different
1
Otherwise
0
processed in parallel. This allows better parallelization which is addressed in more
detail in Sect. 7.4.1 . The parallelization of H.264/AVC deblocking filtering is more
complicated since filtering of a block boundary affects the deblocking decisions at
a parallel block boundary, and the vertical and horizontal filtering operations are
alternating.
A decision whether to filter a block boundary uses the bitstream information
such as prediction modes and motion vectors. Some coding conditions are more
likely to create strong block artifacts, which are represented by a so-called boundary
strength ( Bs ) variable that is assigned to every block boundary and is determined
as in Table 7.1 . The deblocking is only applied to the block boundaries with
Bs greater than zero for a luma component and Bs greater than 1 for chroma
components. Higher values of Bs enable stronger filtering by using higher clipping
parameter values. The Bs derivation conditions reflect the probability that the
strongest block artifacts appear at the intra-predicted block boundaries. The condi-
tions also enable luma deblocking when there is possibility of block artifacts caused
by quantization and by prediction from non-adjacent areas in a reference picture.
Not filtering block boundaries with Bs equal to zero avoids multiple repetitive
filtering of static areas where the samples are just copied from one picture to another.
In chroma deblocking, only the block boundaries adjacent to intra-predicted blocks
are filtered, which reduces the deblocking complexity while still removing the
strongest block artifacts. The algorithm for Bs derivation is explained in a flowchart
in Fig. 7.5 .
For luma block boundaries with non-zero Bs values, the signal on the sides of the
block boundary is evaluated to decide whether the deblocking should be applied.
For chroma block boundaries, no further evaluation is performed.
The deblocking decisions are made separately for each four-sample segment of
a block boundary (see Fig. 7.6 ). Since the deblocking needs to attenuate visible
artifacts in smooth areas, the deblocking decisions evaluate whether the signal at
the sides of the block boundary is smooth, i.e. if the signal is flat or has a shape of
an inclined plane (ramp) [ 36 , 37 , 43 ]. The deblocking filtering is applied to a block
boundary if the following expression is evaluated to be true:
 
Search WWH ::




Custom Search