Opened 5 years ago

Closed 4 years ago

#405 closed defect (fixed)

JVET-O0366 - Simplified BCW inheritance assigns BCW index to non-bipred CUs

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

Description

The simplified BCW index inheritance for affine merge mode from JVET-O0366 can assign non-zero BCW index (bi-predcited CU weights) to CUs that are not actually bi-predicted.

Is this intentional?

For example, Section 8.5.5.6:

"The bi-prediction weight index bcwIdxConst1 is set equal to bcwIdxCorner[ 0 ]."

I understand the desire to make the inheritance simpler than the previous version, but it seems like at a minimum there should be a check for bi-prediction (availableFlagL0 == 1 && availableFlagL1 == 1) before assigning a bi-predicted weight.

Change history (3)

comment:1 Changed 5 years ago by naeri.park

As mentioned, bi-prediction should be checked before assigning the bcw index.
To fix the bug in SW,
"Fix the Ticket #405 : Simplified BCW inheritance assigns BCW index to non-bipred CUs" is requested to merge.

Also, to fix the spec text, follwoing changes are required for each affine constructed candidates (8.5.5.6).

[candidate1]
Before:
– The bi-prediction weight index bcwIdxConst1 is set equal to bcwIdxCorner[ 0 ].

After:
– The bi-prediction weight index bcwIdxConst1 is derived as follows:

– If both availableFlagL0 and availableFlagL1 are equal to 1, bcwIdxConst1 is set equal to bcwIdxCorner[ 0 ].
– Otherwise, bcwIdxConst1 is set equal to 0.

[candidate2]
Before:
– The bi-prediction weight index bcwIdxConst2 is set equal to bcwIdxCorner[ 0 ].

After:
– The bi-prediction weight index bcwIdxConst2 is derived as follows:

– If both availableFlagL0 and availableFlagL1 are equal to 1, bcwIdxConst2 is set equal to bcwIdxCorner[ 0 ].
– Otherwise, bcwIdxConst2 is set equal to 0.

[candidate3]
Before:
– The bi-prediction weight index bcwIdxConst3 is set equal to bcwIdxCorner[ 0 ].

After:
– The bi-prediction weight index bcwIdxConst3 is derived as follows:

– If both availableFlagL0 and availableFlagL1 are equal to 1, bcwIdxConst3 is set equal to bcwIdxCorner[ 0 ].
– Otherwise, bcwIdxConst3 is set equal to 0.

[candidate4]
Before:
– The bi-prediction weight index bcwIdxConst4 is set equal to bcwIdxCorner[ 0 ].

After:
– The bi-prediction weight index bcwIdxConst4 is derived as follows:

– If both availableFlagL0 and availableFlagL1 are equal to 1, bcwIdxConst4 is set equal to bcwIdxCorner[ 1 ].
– Otherwise, bcwIdxConst4 is set equal to 0.

[candidate5]
Before:
– The bi-prediction weight index bcwIdxConst5 is set equal to bcwIdxCorner[ 0 ].

After:
– The bi-prediction weight index bcwIdxConst5 is derived as follows:

– If both availableFlagL0 and availableFlagL1 are equal to 1, bcwIdxConst5 is set equal to bcwIdxCorner[ 0 ].
– Otherwise, bcwIdxConst5 is set equal to 0.

[candidate6]
Before:
– The bi-prediction weight index bcwIdxConst6 is set equal to bcwIdxCorner[ 0 ].

After:
– The bi-prediction weight index bcwIdxConst6 is derived as follows:

– If both availableFlagL0 and availableFlagL1 are equal to 1, bcwIdxConst6 is set equal to bcwIdxCorner[ 0 ].
– Otherwise, bcwIdxConst6 is set equal to 0.

comment:2 Changed 4 years ago by bbross

  • Version changed from VVC D6 vE to VVC D7 vC

comment:3 Changed 4 years ago by bbross

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

Thanks for reporting.

This will be fixed JVET-P2001-vD.

Note: See TracTickets for help on using tickets.