#1338 closed defect (fixed)

Use of sh_deblocking_filter_disabled_flag in 8.8.3.1

Reported by: bheng Owned by:
Priority: minor Milestone:
Component: spec Version: VVC D10 vE
Keywords: Cc: ksuehring, bbross, XiangLi, fbossen, jvet@…

Description

Subclause 8.8.3.1 and 8.8.3.2 specify the deblocking process on a picture basis.

Therefore, in 8.8.3.1, the following condition is incorrect:

"When sh_deblocking_filter_disabled_flag of the current slice is equal to 0, the following applies:"

This is a picture-level process, so the term "current slice" has no meaning here. Additionally, using any single slice to decide whether or not to run the picture level deblocking in Subclause 8.8.3.2, does not allow for slice-level deblocking control.

Therefore, the handling of sh_deblocking_filter_disabled_flag needs to be moved to a lower level, where the "current slice" can be determined from (xCb,yCb). For example, I would suggest using it to zero-out bS in Section 8.8.3.5.

Change history (1)

comment:1 Changed 14 months ago by bbross

  • Resolution set to fixed
  • Status changed from new to closed

Good catch, thanks! I would fix that in JVET-S2001-vH similar to how it is done in the HEVC spec, i.e. inside the CU loop:

"When slice_deblocking_filter_disabled_flag of the current slice is equal to 0, for each coding unit with luma coding block size log2CbSize and location of top-left sample of the luma coding block ( xCb, yCb ), the vertical edges are filtered by the following ordered steps:"

So in 8.8.3.2, I added the following:

"When sh_deblocking_filter_disabled_flag of the current slice is equal to 0, for each coding unit and each coding block per colour component of a coding unit indicated by the colour component index cIdx ranging from firstCompIdx to lastCompIdx, inclusive, with coding block width nCbW, coding block height nCbH and location of top-left sample of the coding block ( xCb, yCb ), when cIdx is equal to 0, or when cIdx is not equal to 0 and edgeType is equal to EDGE_VER and xCb % 8 is equal 0, or when cIdx is not equal to 0 and edgeType is equal to EDGE_HOR and yCb % 8 is equal to 0, the edges are filtered by the following ordered steps:"

Not ideal but at least equally flawed as the HEVC spec.

Note: See TracTickets for help on using tickets.