Graphics Reference
In-Depth Information
B 3
B 4
B 7
B 8
B 2
B 6
I 0
P 1
P 5
Fig. 2.16
Reference picture list construction example
When a slice header of a P or B slice has been decoded, the decoder sets up
reference picture lists for the current slice. There are two reference picture lists,
L0 and L1. L0 is used for both P and B slices while L1 is only used for B slices.
Figure 2.16 shows a reference picture list example for a picture B 7 that uses five
reference pictures for prediction.
First, temporary lists for L0 and L1 are constructed. Temporary list L0 starts
with the pictures in RPS list RefPicSetStCurrBefore sorted in descending POC value
order. These are all short-term pictures that are available for reference for the current
picture and have a POC value that is less than the POC value of the current picture.
The temporary list L0 for picture B 7 in Fig. 2.16 therefore starts with P 1 followed
by B 2 . These are followed by the pictures in the RPS list RefPicSetStCurrAfter
sorted in ascending POC value order, which are B 6 and P 5 in Fig. 2.16 . Finally,
the available long-term pictures are added, so picture I 0 is the last picture to be
added. The final temporary list L0 for picture B 7 is then f P 1 ,B 2 ,B 6 ,P 5 ,I 0 g .The
temporary list L1 is set up similar to L0, but the order of RefPicSetStCurrBefore and
RefPicSetStCurrAfter is swapped. The temporary list L1 for picture B 7 therefore
becomes f B 6 ,P 5, P 1 ,B 2 ,I 0 g .
The temporary lists are used for constructing the final L0 and L1 lists. The length
of L0 and L1 are signaled in the PPS, but can be overridden by optional codewords
in the slice header. The maximum list length is 15. If the specified length of L0 or
L1 is less than the length of the temporary lists L0 or L1, respectively, the final list
is constructed by truncating the corresponding temporary list. If the specified length
is greater than the length of the respective temporary list, the pictures are repeatedly
included from the temporary list. For example, L0 becomes equal to f P 1 ,B 2 g if the
length is 2 and equal to f P 1 ,B 2 ,B 6 ,P 5 ,I 0, P 1 ,B 2 ,B 6 ,P 5 g if the length is 9. The
reason for enabling a list that is longer than the temporary list is weighted prediction,
to enable different weighting factors to be applied to the same reference picture.
An alternative method to construct L0 and L1 from the temporary lists is through
explicit list signaling. In this case, there is a codeword for each entry in the list
that specifies which picture from the temporary list to use. So if the length of L0
is specified to be equal to three, there are three codewords for specifying L0. For
example, if those three codewords are equal to 1, 1, 0 the list L0 becomes f B 2 ,B 2 ,
P 1 g when P 1 is the first picture in temporary list L0 and B 2 is the second.
Search WWH ::




Custom Search