Opened 5 years ago
Closed 4 years ago
#1037 closed defect (fixed)
Signalling of OLS DPB params and OLS HRD Idx in VPS
Reported by: | hendry197 | Owned by: | |
---|---|---|---|
Priority: | minor | Milestone: | |
Component: | spec | Version: | |
Keywords: | Cc: | ksuehring, bbross, XiangLi, fbossen, jvet@… |
Description
In the JVET-R2001-v7, the signalling for syntax elements for OLS DPB params (e.g., vps_ols_dpb_pic_width[ i ]) and OLS HRD idx in VPS are in the loop that ranges from 0 to NumMultiLayerOlss.
I think there is a bug related to this because they way these syntax elements are referred to in Annex A and Annex C. In those Annexes, these syntax elements are referred to using TargetOlsIdx.
TargetOlsIdx is an index into the list of OLSs which contains both OLSs with single layer and OLSs with multi layers and in the order as it is signalled in the VPS. However, the OLSs associated with the values of vps_ols_dpb_pic_width[], … vps_ols_dpb_param_idx[] are now not the same as the original OLSs. There should be conversion to get the right index into this list of OLSs with multi layer that corresponds to TargetOlsIdx.
Possible fix for this is to have that conversion specified in equation (41) as follows (see the array MultiLayeredOlsIdx[ i ]):
NumLayersInOls[ 0 ] = 1
LayerIdInOls[ 0 ][ 0 ] = vps_layer_id[ 0 ]
NumMultiLayerOlss = 0
for( i = 1; i < TotalNumOlss; i++ ) {
if( vps_each_layer_is_an_ols_flag ) {
NumLayersInOls[ i ] = 1
LayerIdInOls[ i ][ 0 ] = vps_layer_id[ i ] (41)
} else if( vps_ols_mode_idc = = 0 | | vps_ols_mode_idc = = 1 ) {
NumLayersInOls[ i ] = i + 1
for( j = 0; j < NumLayersInOls[ i ]; j++ )
LayerIdInOls[ i ][ j ] = vps_layer_id[ j ]
} else if( vps_ols_mode_idc = = 2 ) {
for( k = 0, j = 0; k <= vps_max_layers_minus1; k++ )
if( layerIncludedInOlsFlag[ i ][ k ] )
LayerIdInOls[ i ][ j++ ] = vps_layer_id[ k ]
NumLayersInOls[ i ] = j
}
if( NumLayersInOls[ i ] > 1 ) {
MultiLayeredOlsIdx[ i ] = NumMultiLayerOlss
NumMultiLayerOlss++
}
else
MultiLayeredOlsIdx[ i ] = −1
}
The array MultiLayeredOlsIdx[ i ] can be used to access the syntax elements for OLS DPB params and OLS HRD idx. For example: vps_ols_dpb_pic_width[ MultiLayeredOlsIdx[ TargetOlsIdx ] ] instead of vps_ols_dpb_pic_width[ TargetOlsIdx ]
Change history (1)
comment:1 Changed 4 years ago by yk
- Resolution set to fixed
- Status changed from new to closed
Good catch! Thanks! Will be fixed in JVET-R2001-v8.