Opened 13 years ago Closed 13 years ago #292 closed defect (fixed)Chroma scan type in NxN intra prediction units
Description
The chroma scan type can be set incorrectly when all of the following are true:
The actual intra chroma prediction mode for the CU is determined from Luma Partition 0 only. See the following: if( uiChromaPredMode == DM_CHROMA_IDX ) { uiChromaPredMode = pcCU->getLumaIntraDir( 0 ); }
However, for purposes of scan type derivation (diagonal, horizontal, vertical), the HM software can end up using four independent chroma scan types per CU. It incorrectly uses the luma intra prediction mode from Luma Partition 0, Partition 1, Partition 2, and Partition 3.
The chroma scan type should based only on the actual chroma prediction mode used in each block. Therefore, the luma modes from Partitions 1-3 should not be used to determine the chroma scan type.
I believe the relevant code causing this behaviour is in TComDataCU::getCoefScanIdx if( uiDirMode == DM_CHROMA_IDX ) { uiDirMode = getLumaIntraDir(uiAbsPartIdx); } Change History (3)comment:1 Changed 13 years ago by DefaultCC Plugin
comment:2 Changed 13 years ago by bheng
comment:3 Changed 13 years ago by fbossen
Note: See
TracTickets for help on using
tickets. | This list contains all users that will be notified about changes made to this ticket. These roles will be notified: Reporter, Owner, Subscriber, Participant
|
The problem can be fixed by making the following change.
In TComDataCU::getCoefScanIdx( ). Replace this:
with this: