US 12,341,972 B2
OLS for spatial and SNR scalability
Ye-Kui Wang, San Diego, CA (US)
Assigned to Huawei Technologies Co., Ltd., Shenzhen (CN)
Filed by Huawei Technologies Co., Ltd., Shenzhen (CN)
Filed on Mar. 22, 2022, as Appl. No. 17/701,428.
Application 17/701,428 is a continuation of application No. PCT/US2020/051605, filed on Sep. 18, 2020.
Claims priority of provisional application 62/905,128, filed on Sep. 24, 2019.
Prior Publication US 2022/0217357 A1, Jul. 7, 2022
Int. Cl. H04N 19/146 (2014.01); H04N 19/169 (2014.01); H04N 19/172 (2014.01); H04N 19/46 (2014.01)
CPC H04N 19/146 (2014.11) [H04N 19/172 (2014.11); H04N 19/188 (2014.11); H04N 19/46 (2014.11)] 12 Claims
OG exemplary drawing
 
1. A method implemented by a decoder, the method comprising:
receiving a bitstream comprising one or more layers of coded pictures and a video parameter set (VPS), wherein the VPS includes an output layer set (OLS) mode identification code (ols_mode_idc) specifying that a total number of OLSs specified by the VPS is equal to a number of layers specified by the VPS, wherein the VPS includes a VPS maximum layers minus one (vps_max_layers_minus1) plus one that specifies the number of layers specified by the VPS, which is a maximum allowed number of layers in each coded video sequence (CVS) referring to the VPS, and wherein a total number of OLSs (TotalNumOlss) is equal to vps_max_layers_minus1 plus one when the ols_mode_idc is equal to zero;
determining an output layer based on the ols_mode_idc in the VPS; and
decoding a coded picture from the output layer to produce a decoded picture,
wherein a number of layers in an i-th OLS (NumLayersInOls[i]), specifying the number of layers in the i-th OLS, and a layer identifier (ID) in an OLS (LayerIdInOLS[i][i]), specifying a network abstraction layer (NAL) unit header layer identifier (nuh_layer_id) value of a j-th layer in the i-th OLS, are derived as follows:
 
 
NumLayersInOls[ 0 ] = 1
 
LayerIdInOls[ 0 ][ 0 ] = vps_layer_id[ 0 ]
 
for( i = 1, i < TotalNumOlss; i++ ) {
 
if( each_layer_is_an_ols_flag ) {
 
NumLayersInOls[ i ] = 1
 
LayerIdInOls[ i ][ 0 ] = vps_layer_id[ i ]
 
} else if( ols_mode_idc = = 0 ∥ ols_mode_idc = = 1 ) {
 
NumLayersInOls[ i ] = i + 1
 
for( j = 0; j < NumLayersInOls[ i ]; j++ )
 
LayerIdInOls[ i ][ j ] = vps_layer_id[ j ],
 
wherein vps_layer_id[i] is an i-th VPS layer identifier, TotalNumOlss is the total number of OLSs specified by the VPS, and an each_layer_is_an_ols_flag is an each layer is an OLS flag that specifies whether at least one OLS contains more than one layer.