Opened 3 years ago

Closed 3 years ago

#75 closed defect (fixed)

Bottom and right boundary partition issue

Reported by: hangao Owned by: bbross
Priority: minor Milestone: VVC D2 v6
Component: spec Version: VVC D2 v5
Keywords: boundary partition Cc: ksuehring, bbross, XiangLi, fbossen, jvet@…

Description

Problem:
For bottom boundary ( y0 + cbHeight > pic_height_in_luma_samples, x0 + cbWidth <= pic_width_in_luma_samples) and cbSize is smaller then MinQTSizeY case:

allowSplitBtHor and allowSplitBtVer are both true, because of the the condition below in 6.4.1 is false:
-perpCbPos + perpCbSize is greater than perpMaxPicSize and cbSize is greater than MinQtSizeY

if both of allowSplitBtHor and allowSplitBtVer are true. mtt_split_cu_vertical_flag is present, which should not be present in this case. The same problem will happen in right boundary and cbSize is smaller then MinQTSizeY case.

Fix:
Reform the allowBtSplit conditions in 6.4.1 as follow to fix the problem and that make sure corner case is correct.

The variable allowBtSplit is derived as follows:
–If one or more of the following conditions are true, allowBtSplit is set equal to FALSE:

–cbSize is less than or equal to MinBtSizeY
–cbWidth is greater than MaxBtSizeY
–cbHeight is greater than MaxBtSizeY
–mttDepth is greater than or equal to MaxMttDepth + depthOffset
–perpCbPos + perpCbSize is greater than perpMaxPicSize and cbSize is greater than MinQtSizeY

–Otherwise if all of the following conditions are true, allowBtSplit is set equal to FALSE

–btSplit is equal to SPLIT_BT_VER
–x0 + cbWidth is greater than pic_width_in_luma_samples
–y0 + cbHeight is greater than pic_width_in_luma_samples

–Otherwise if all of the following conditions are true, allowBtSplit is set equal to FALSE:

–btSplit is equal to SPLIT_BT_VER
–y0 + cbHeight is greater than pic_height_in_luma_samples

–Otherwise if all of the following conditions are true, allowBtSplit is set equal to FALSE:

–btSplit is equal to SPLIT_BT_HOR
–x0 + cbWidth is greater than pic_width_in_luma_samples
–y0 + cbHeight is smaller than or equal to pic_height_in_luma_samples

–Otherwise if all of the following conditions are true, allowBtSplit is set equal to FALSE:

–mttDepth is greater than 0
–partIdx is equal to 1
–MttSplitMode[ x0 ][ y0 ][ mttDepth − 1 ] is equal to parallelTtSplit

–Otherwise, allowBtSplit is set equal to TRUE.

Change history (3)

comment:1 Changed 3 years ago by bbross

  • Version changed from VVC D2 v4 to VVC D2 v5

comment:2 Changed 3 years ago by bbross

  • Milestone set to VVC D2 v6
  • Owner set to bbross
  • Status changed from new to assigned

comment:3 Changed 3 years ago by bbross

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

Fixed in VVC D2 v6

Note: See TracTickets for help on using tickets.