Opened 4 weeks ago

Last modified 4 weeks ago

#698 new defect

Redundant TU condition when deriving bS for CIIP

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

Description

In 8.8.3.5, the bS derivation for the edge has one side is coded with CIIP is described as:

– The variable bS[ xDi ][ yDj ] is derived as follows:

...
– Otherwise, if the block edge is also a transform block edge and the sample p0 or q0 is in a coding block with ciip_flag equal to 1, bS[ xDi ][ yDj ] is set equal to 2.

The TU condition "the block edge is also a transform block edge" is redundant, it should be revised as:

– The variable bS[ xDi ][ yDj ] is derived as follows:

...
– Otherwise, if the block edge is also a transform block edge and the sample p0 or q0 is in a coding block with ciip_flag equal to 1, bS[ xDi ][ yDj ] is set equal to 2.

Change history (7)

comment:1 follow-up: Changed 4 weeks ago by bbross

Thanks for reporting. Why is it redundant?
Is there no case where you can have TU edges within a CIIP CU?

comment:2 Changed 4 weeks ago by bbross

  • Version changed from VVC D7 vC to VVC D7 vD

comment:3 in reply to: ↑ 1 Changed 4 weeks ago by chiaming

Yes, CIIP CU is no longer partitioned into subblocks with different combination weights. It should have the same bS derivation rules as intra CU:
"- Otherwise, if the sample p0 or q0 is in the coding block of a coding unit coded with intra prediction mode, bS[ xDi ][ yDj ] is set equal to 2."

comment:4 Changed 4 weeks ago by Kenneth

I agree with Chia-ming. It was used before to distinguish between CU and internal sub-block boundary but CIIP do not have any internal sub-blocks anymore which makes it obsolete.

comment:5 Changed 4 weeks ago by bbross

What about implicit split, i.e. when a CU is split into smaller TUs because of max trafo size?

comment:6 Changed 4 weeks ago by Kenneth

For the case of a max transform size of 64 it would have been fine to remove it since as far I know CIIP is only applied for CUs of size 64x64 or smaller but since max transform size can be smaller than 64 the correct modification should be:

Otherwise, if the block edge is also a coding block edge and the sample p0 or q0 is in a coding block with ciip_flag equal to 1, bS[ xDi ][ yDj ] is set equal to 2

comment:7 Changed 4 weeks ago by bbross

  • Version changed from VVC D7 vD to VVC D7 vE
Note: See TracTickets for help on using tickets.