Graphics Reference
In-Depth Information
(i+3)>= i1
i>= i1
(i+2)>= i1
EOB
(i+1)>= i1
EOB
EOB
EOB
0
0
0
0
(i+3)< i1
i < i1
(i+1) < i1
(i+2)< i1
SIG(i)
SIG(i+1)
SIG(i+2)
SIG(i+3)
SIG(i+4)
0
0
0
1
1
1
1
LAST(i)
LAST(i)
LAST(i)
LAST(i)
1
1
1
EOB
EOB
EOB
Fig. 8.3
Context speculation required to achieve 5
parallelism when processing the sig-
nificance
map
in
H.264/AVC.
Notation:
i
=
coefficient
position;
i1
=
MaxNumCoeff
(BlockType)
1; EOB = end of block; SIG = significant_coeff_flag ;LAST= last_
significant_coeff_flag
Note that the feedback loops have different degrees of impact on throughput.
The range update (1) and context update (2) feedback loops are simpler than the
context modeling loops (3, 4) and thus do not affect throughput as severely. If the
context of a bin depends on the value of another bin being decoded in parallel,
then speculative computations are required, which increases area cost and critical
path delay [ 94 ]. The amount of speculation can grow exponentially with the number
of parallel bins, which limits the throughput that can be achieved [ 80 ]. Figure 8.3
shows an example of the speculation tree for significance map in H.264/AVC. Thus
the throughput bottleneck is primarily due to the context modeling dependencies.
8.3.3
Summary of Techniques for CABAC Throughput
Improvements
Several techniques were used to improve the throughput of CABAC in HEVC [ 88 ].
There was a lot of effort spent in determining how to use these techniques with
minimal coding loss. They were applied to various parts of entropy coding in HEVC
and will be referred to throughout the rest of this chapter.
8.3.3.1
Reduce Regular Coded Bins
The throughput is limited for regular coded bins due to the data dependencies
described in Sect. 8.3.2 . However, it is easier to process bypass coded bins in parallel
since they do not have the data dependencies related to context modeling (i.e.,
feedback loops 2, 3 and 4 in Fig. 8.2 ). In addition, arithmetic coding for bypass bins
is simpler as it only requires a right shift versus a table look up for regular coded
bins. Thus, the throughput can be improved by reducing the number of regular coded
bins and using bypass coded bins instead [ 16 , 54 , 58 , 59 ].
Search WWH ::




Custom Search