Opened 9 years ago

Closed 9 years ago

#687 closed defect (fixed)

Missing clip in 8.6.5 Picture construction process prior to in-loop filter process?

Reported by: agoudie Owned by: bbross
Priority: minor Milestone:
Component: Text Version: D9 (K1003) v10
Keywords: reconstructed clip Cc: bbross, wjhan, jct-vc@…

Description

In section 8.6.5 on "Picture construction process prior to in-loop filter process", either Inter or Intra predicted samples are added to residual samples to form reconstructed samples.

This process does not clip the reconstructed samples to be in the range 0 to (1<<BitDepth)-1. I can't see any subsequent stage which would clip the samples (where in-loop filter may not modify the samples) to ensure the reconstructed frames are clipped to the correct precision.

In the HM software, in TDecCu.cpp, for Inter data the function 'xReconInter' uses 'addClip' function, and for Intra data 'xReconIntraQT' calls 'xIntraLumaRecQT', which calls 'xIntraRecLumaBlk', which clips the luma samples (there is a similar function for chroma).

Unless I've a missed a clip operation somewhere else in the text, I beleive section 8.6.5 should be modified as follows;-

Depending on the colour component cIdx, the following assignments are made.
– If cIdx is equal to 0, recSamples corresponds to the reconstructed picture sample array SL, and the function Clip1 corresponds to Clip1y.
– Otherwise, if cIdx is equal to 1, recSamples corresponds to the reconstructed chroma sample array SCb, and the function Clip1 corresponds to Clip1c.
– Otherwise (cIdx is equal to 2), recSamples corresponds to the reconstructed chroma sample array SCr, and the function Clip1 corresponds to Clip1c.

The (nS)x(nS) block of the reconstructed sample array recSamples at location ( xB, yB ) is derived as follows.

recSamples[ xB+i ][ yB+j ] = Clip1(predSamples[ i ][ j ] + resSamples[ i ][ j ]), with i = 0..nS − 1, j = 0..nS − 1

Change History (7)

comment:1 Changed 9 years ago by DefaultCC Plugin

  • Cc bbross wjhan jct-vc@… added

comment:2 Changed 9 years ago by bbross

Ticket #807 has been marked as a duplicate of this ticket.

comment:3 Changed 9 years ago by bbross

Ticket #836 has been marked as a duplicate of this ticket.

comment:4 Changed 9 years ago by bbross

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

comment:5 Changed 9 years ago by bbross

  • Resolution fixed deleted
  • Status changed from closed to new

comment:6 Changed 9 years ago by bbross

  • Version changed from D8 (J1003) d7 to D9 (K1003) v10

comment:7 Changed 9 years ago by bbross

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

This has been fixed in JCTVC-K1003_v11.

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

  • Alistair Goudie(Reporter)
  • Benjamin Bross(Owner, Subscriber, Participant)
  • jct-vc@…(Subscriber)
  • karl.sharman@…(Always)
  • Karsten Suehring(Always)
  • Woo-Jin Han(Subscriber)