Opened 4 months ago

Last modified 4 weeks ago

#344 new defect

spatial merge candidate derivation process with wrong prunings

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

Description

The pruning process is dependent on the enabling of triangular prediction mode which is not aligned with the SW.

8.5.2.3 Derivation process for spatial merging candidates

For the derivation of availableFlagB0, refIdxLXB0, predFlagLXB0 and mvLXB0 the following applies:
– …
– The variables availableFlagB0, refIdxLXB0, predFlagLXB0 and mvLXB0 are derived as follows:
– If one or more of the following conditions are true, availableFlagB0 is set equal to 0, both components of mvLXB0 are set equal to 0, refIdxLXB0 is set equal to −1 and predFlagLXB0 is set equal to 0, with X being 0 or 1, and bcwIdxB0 is set equal to 0:
– availableB0 is equal to FALSE.
– availableB1 is equal to TRUE and the luma locations ( xNbB1, yNbB1 ) and ( xNbB0, yNbB0 ) have the same motion vectors and the same reference indices.
availableA1 is equal to TRUE, the luma locations ( xNbA1, yNbA1 ) and ( xNbB0, yNbB0 ) have the same motion vectors and the same reference indices and MergeTriangleFlag[ xCb ][ yCb ] is equal to 1.
– Otherwise, availableFlagB0 is set equal to 1 and the following assignments are made:

For the derivation of availableFlagA0, refIdxLXA0, predFlagLXA0 and mvLXA0 the following applies:
– …
– The variables availableFlagA0, refIdxLXA0, predFlagLXA0 and mvLXA0 are derived as follows:
– If one or more of the following conditions are true, availableFlagA0 is set equal to 0, both components of mvLXA0 are set equal to 0, refIdxLXA0 is set equal to −1 and predFlagLXA0 is set equal to 0, with X being 0 or 1, and bcwIdxA0 is set equal to 0:
– availableA0 is equal to FALSE.
– availableA1 is equal to TRUE and the luma locations ( xNbA1, yNbA1 ) and ( xNbA0, yNbA0 ) have the same motion vectors and the same reference indices.
availableB1 is equal to TRUE, the luma locations ( xNbB1, yNbB1 ) and ( xNbA0, yNbA0 ) have the same motion vectors and the same reference indices and MergeTriangleFlag[ xCb ][ yCb ] is equal to 1.
availableB0 is equal to TRUE, the luma locations ( xNbB0, yNbB0 ) and ( xNbA0, yNbA0 ) have the same motion vectors and the same reference indices and MergeTriangleFlag[ xCb ][ yCb ] is equal to 1.
– Otherwise, availableFlagA0 is set equal to 1 and the following assignments are made:

For the derivation of availableFlagB2, refIdxLXB2, predFlagLXB2 and mvLXB2 the following applies:
– …
– The variables availableFlagB2, refIdxLXB2, predFlagLXB2 and mvLXB2 are derived as follows:
– If one or more of the following conditions are true, availableFlagB2 is set equal to 0, both components of mvLXB2 are set equal to 0, refIdxLXB2 is set equal to −1 and predFlagLXB2 is set equal to 0, with X being 0 or 1, and bcwIdxB2 is set equal to 0:
– availableB2 is equal to FALSE.
– availableA1 is equal to TRUE and the luma locations ( xNbA1, yNbA1 ) and ( xNbB2, yNbB2 ) have the same motion vectors and the same reference indices.
– availableB1 is equal to TRUE and the luma locations ( xNbB1, yNbB1 ) and ( xNbB2, yNbB2 ) have the same motion vectors and the same reference indices.
availableB0 is equal to TRUE, the luma locations ( xNbB0, yNbB0 ) and ( xNbB2, yNbB2 ) have the same motion vectors and the same reference indices and MergeTriangleFlag[ xCb ][ yCb ] is equal to 1.
availableA0 is equal to TRUE, the luma locations ( xNbA0, yNbA0 ) and ( xNbB2, yNbB2 ) have the same motion vectors and the same reference indices and MergeTriangleFlag[ xCb ][ yCb ] is equal to 1.
availableFlagA0 + availableFlagA1 + availableFlagB0 + availableFlagB1 is equal to 4 and MergeTriangleFlag[ xCb ][ yCb ] is equal to 0.
– Otherwise, availableFlagB2 is set equal to 1 and the following assignments are made:

Change history (6)

comment:1 Changed 4 months ago by bbross

  • Version changed from VVC D5 v9 to VVC D5 v10

comment:2 Changed 3 months ago by bbross

Does that issue still exists in VTM-6.0 and D6?
If so should the draft be modified to match VTM or vice-versa?

comment:3 Changed 3 months ago by bbross

  • Version changed from VVC D5 v10 to VVC D6 vD

comment:4 Changed 3 months ago by bbross

I would fix it by aligning the spec to VTM if no one objects.

comment:5 Changed 3 months ago by bbross

  • Version changed from VVC D6 vD to VVC D6 vE

comment:6 Changed 4 weeks ago by bbross

Ticket #547 has been marked as a duplicate of this ticket.

Note: See TracTickets for help on using tickets.