Opened 5 years ago

Closed 5 years ago

#809 closed defect (fixed)

Issue with derivation of maxFilterLengthPs on coding subblock boundaries

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

Description

In section 8.8.3.4, maxFilterLengthPs[x][y] is modified if left neighbor (vertical edge) or above neighbor (horizontal edge) is affine or in sub-block coding mode as per equations (8-1028) and (8-1040). The condition that enables this modification is written as follows, for example for vertical edge: "When inter_affine_flag[ xCb − 1 ][ yCb ] is equal to 1 or merge_subblock_flag[ xCb − 1 ][ yCb ] is equal to 1, the following applies ..."

It seems to me that this is incorrect and should be "inter_affine_flag[ xCb − 1 ][ yCb + y ]" and "merge_subblock_flag[ xCb − 1 ][ yCb + y ]" because a block can have multiple (and smaller in height) left neighboring blocks along side its vertical edge, and not necessarily all are coded in affine/sub-block mode.

Same can be said for horizontal edge. Change would be: "inter_affine_flag[ xCb + x ][ yCb − 1 ]" and "merge_subblock_flag[ xCb + x ][ yCb − 1 ]"

VTM software supports currently the proposed modification and is thus unaligned with the current spec.

Change history (4)

comment:1 Changed 5 years ago by emora

In section 8.8.3.4, maxFilterLengthPs[x][y] is modified if left neighbor (vertical edge) or above neighbor (horizontal edge) is affine or in sub-block coding mode as per equations (1218) and (1230). The condition that enables this modification is written as follows, for example for vertical edge: "When inter_affine_flag[ xCb − 1 ][ yCb ] is equal to 1 or merge_subblock_flag[ xCb − 1 ][ yCb ] is equal to 1, the following applies ..."

It seems to me that this is incorrect and should be "inter_affine_flag[ xCb − 1 ][ yCb + y ]" and "merge_subblock_flag[ xCb − 1 ][ yCb + y ]" because a block can have multiple (and smaller in height) left neighboring blocks along side its vertical edge, and not necessarily all are coded in affine/sub-block mode.

Same can be said for horizontal edge. Change would be: "inter_affine_flag[ xCb + x ][ yCb − 1 ]" and "merge_subblock_flag[ xCb + x ][ yCb − 1 ]"

VTM software supports currently the proposed modification and is thus unaligned with the current spec.

comment:2 Changed 5 years ago by Kenneth

Thank you! I agree with your suggestion.

comment:3 Changed 5 years ago by LiZhang

I also confirm the suggested changes are correct. Will be fixed in JVET-Q2001.

comment:4 Changed 5 years ago by bbross

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

Thanks for reporting.

This has been fixed in JVET-Q2001-v8.

Note: See TracTickets for help on using tickets.