Opened 12 months ago

Last modified 9 months ago

#1594 new defect

Mismatch between VVC spec and VTM for sample generation in CCLM process

Reported by: ankur Owned by:
Priority: major Milestone:
Component: spec Version: H.266/VVC v2
Keywords: Cc: ksuehring, bbross, XiangLi, fbossen, jvet@…

Description

The ticket is about the text in the VVC spec in section 8.4.5.2.14 on pages 226 and 227, just after the equation 359. The text after eqn 359 in the spec should be updated to make it clear that luma samples prior to the in-loop filtering process are being used; and not luma samples prior to the deblocking filter.

Specifically, in the text from the spec, the "prior to the deblocking filter" should be changed to "prior to the in-loop filter process" at three places in the spec. On checking the software code, the samples prior to the in-loop filter process are being used. But the spec mentions prior to the deblocking filter. Suggestion is to update this.

As an aside, the text preceding eqn. 316 lists: The refW + refH + 1 + ( 2 * refIdx ) neighbouring samples refUnfilt[ x ][ y ] that are constructed samples prior to the inloop filter process, ... which seems the correct way to describe the text following eqn 359 (note: text near eqn. 316 seems correct, no issues in that).

Text following eqn. 359:

  1. The collocated luma samples pY[ x ][ y ] with x = 0..nTbW * SubWidthC − 1, y= 0..nTbH * SubHeightC − 1

are set equal to the reconstructed luma samples prior to the deblocking filter process at the locations
( xTbY + x, yTbY + y ).

  1. The neighbouring luma samples pY[ x ][ y ] are derived as follows:

– When availL is equal to TRUE, the neighbouring luma samples pY[ x ][ y ] with
x = −3..−1, y = ( availT ? −1 : 0 )..SubHeightC * Max( nTbH, numSampL ) − 1, are set equal to the
reconstructed luma samples prior to the deblocking filter process at the locations ( xTbY + x, yTbY +y ).
– When availT is equal to FALSE, the neighbouring luma samples pY[ x ][ y ] with
x = −2..SubWidthC * nTbW − 1, y = −2..−1, are set equal to the luma samples pY[ x ][ 0 ]
– When availT is equal to TRUE, the neighbouring luma samples pY[ x ][ y ] with
x = ( availL ? −1 : 0 )..SubWidthC * Max( nTbW, numSampT ) − 1, y = −3..−1, are set equal to the
reconstructed luma samples prior to the deblocking filter process at the locations ( xTbY+ x, yTbY + y ).
– When availL is equal to FALSE, the neighbouring luma samples pY[ x ][ y ] with
x = −1, y = −2..SubHeightC * nTbH − 1, are set equal to the reconstructed luma samples pY[ 0 ][ y ].

Change history (4)

comment:1 Changed 9 months ago by bbross

Adding from JVET reflector email thread (23. April 2023):

Ankur et al,

There is a closely related issue with the beginning of subclause 8.8.1.

It currently says this:

8.8 In-loop filter process
8.8.1 General
The picture inverse mapping process with luma samples and the three in-loop filters, namely deblocking filter, sample adaptive offset and adaptive loop filter, are applied as specified by the following ordered steps:


The highlighted phrase implies that “the picture inverse mapping process with luma samples” is not an in-loop filter process, but it is specified in 8.8, which is the in-loop filter process section. So is that an in-loop filter process or not?

If it is an in-loop filter process, then that sentence should be changed to simply:

“The in-loop filter process is applied as specified by the following ordered steps:”

(Or the title of subclause 8.8 should be changed to “In-loop filter processes”, and the sentence should be changed to “The in-loop filter processes are applied as specified by the following ordered steps:”)

If it is not an in-loop filter process, then I think the title of 8.8 should be changed to “Picture inverse mapping process and in-loop filter process[es]”.

I think it is an in-loop filter process.

Best regards,

Gary Sullivan

comment:2 Changed 9 months ago by bbross

Adding from JVET reflector email thread (26. April 2023):

Thanks for the comments, Gary. Yes, my understanding is also that the inverse mapping process is an in-loop filter process.

Thanks,
Ankur

comment:3 Changed 9 months ago by bbross

To be fixed in v3 of VVC by always using "in-loop filter process" when referring to section 8.8 and changing the first sentence as suggested by Gary:
“The in-loop filter process is applied as specified by the following ordered steps:”

comment:4 Changed 9 months ago by bbross

  • Version changed from VTM-19.0 to H.266/VVC v2
Note: See TracTickets for help on using tickets.