Opened 5 years ago

Closed 5 years ago

#220 closed defect (fixed)

missing condition check for pruning process of IBC spatial merge candidates

Reported by: axink Owned by:
Priority: minor Milestone:
Component: spec Version: VVC D5 v4
Keywords: IBC Cc: ksuehring, bbross, XiangLi, fbossen, jvet@…

Description

Filed by Xiaozhong Xu:

When deriving B2 position for IBC merge candidate, the existing number of candidates in the list should be smaller than 4. This is aligned with inter merge candidate derivation. VTM software has implemented this but the correponding text is missing in the spec.

Current spec reads in 8.6.2.3 as:
– The variables availableFlagB2 and mvB2 are derived as follows:
– If one or more of the following conditions are true, availableFlagB2 is set equal to 0 and both components of mvB2 are 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.
– availableB1 is equal to TRUE and the luma locations ( xNbB1, yNbB1 ) and ( xNbB2, yNbB2 ) have the same motion vectors.
– availableB0 is equal to TRUE and the luma locations ( xNbB0, yNbB0 ) and ( xNbB2, yNbB2 ) have the same motion vectors.
– availableA0 is equal to TRUE and the luma locations ( xNbA0, yNbA0 ) and ( xNbB2, yNbB2 ) have the same motion vectors.
– Otherwise, availableFlagB2 is set equal to 1 and the following assignments are made:
mvB2 = MvL0[ xNbB2 ][ yNbB2 ] (8 983)

It should be:

– The variables availableFlagB2 and mvB2 are derived as follows:
– If one or more of the following conditions are true, availableFlagB2 is set equal to 0 and both components of mvB2 are 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.
– availableB1 is equal to TRUE and the luma locations ( xNbB1, yNbB1 ) and ( xNbB2, yNbB2 ) have the same motion vectors.
– availableB0 is equal to TRUE and the luma locations ( xNbB0, yNbB0 ) and ( xNbB2, yNbB2 ) have the same motion vectors.
– availableA0 is equal to TRUE and the luma locations ( xNbA0, yNbA0 ) and ( xNbB2, yNbB2 ) have the same motion vectors.


[added text here:]
– availableFlagA0 + availableFlagA1 + availableFlagB0 + availableFlagB1 is equal to 4.


– Otherwise, availableFlagB2 is set equal to 1 and the following assignments are made:
mvB2 = MvL0[ xNbB2 ][ yNbB2 ] (8 983)

Change history (4)

comment:1 Changed 5 years ago by bbross

  • Version changed from VVC D4 v5 to VVC D4 v6

comment:2 Changed 5 years ago by bbross

  • Version changed from VVC D4 v6 to VVC D4 v7

comment:3 Changed 5 years ago by bbross

  • Version changed from VVC D4 v7 to VVC D5 v4

comment:4 Changed 5 years ago by bbross

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

Fixed in D5 v5

Note: See TracTickets for help on using tickets.