Graphics Reference
In-Depth Information
Fig. 8.24 Flow chart for
derivation of context
increment (ctxInc) for up to 8
different events b i
.0
Start 4x4 subblock
ctxInc = 1
b 0 =1
b 0 =0
i
7/ of ALG1 in a
b 1 =0
4
4 subblock
ctxInc = 0
ctxInc = 2
Any b i
(repeat up to i=7)
b 1 =0
b i =0
b i =1
ctxInc = 3
(repeat up to i=7)
End 4x4 subblock
and the context increment ctxInc(ALG1) for selecting one of this four models within
each set is quite similar to what is specified for the coding of the first bin of
the syntax element coeff_abs_level_minus1 in H.264/AVC (see [ 46 ]for
a motivation of this design choice):
ctxInc.ALG1/ D 0;
if NumG1 >0
;
1 C min.2; NumT1/;
otherwise
where NumT1 denotes the accumulated number of encoded/decoded trailing 1's,
i.e., absolute levels equal to 1, and NumG1 denotes the accumulated number of
encoded/decoded levels with absolute value greater than 1, both computed along
the reverse scanning pattern of the subblock up to (but not including) the current
scan position. Note that both NumT1 and NumG1 are initialized with the value of 0
at the beginning of the subblock scan of ALG1 flags. After each encoded/decoded
ALG1 flag with the value of 0, NumT1 is incremented by 1, while after each
encoded/decoded ALG1 flag with the value of 1, NumG1 is incremented by 1.
Figure 8.24 shows the flow chart for context increment computation of ALG1.
Since the statistics of trailing 1's may differ from subblock to subblock as well
as for subblocks belonging to different components or different locations within
the TB, different sets of context models are provided, both for ALG1 and ALG2,
as already mentioned above. For subblocks belonging to the luma component, 2
separate sets are used for subblocks containing the DC of the TB, i.e., for the top
left subblocks in a TB. Another two sets are given for luma subblocks containing
no DC as well as two additional sets for chroma subblocks. Depending on the value
of ctxInc(ALG1) for the last decoded ALG1 flag in the preceding subblock, the two
members of each of the relevant sets related to luma DC, luma non-DC, and chroma
are selected: One for the case of ctxInc(ALG1) D 0 and the other for the case of
ctxInc(ALG1) >0. Thus, a total number of 30 context models are used for coding
of ALG1 and ALG2: 6 4 D 24 for ALG1 and 6 for ALG2. Interestingly enough,
there was a 4 reduction (from 120 to 30) in the total number of contexts used for
coding of the ALG1 and ALG2 flags during the development from HM3.0 to HM6.0
at virtually no loss in coding efficiency.
Search WWH ::




Custom Search