Opened 10 years ago

Closed 10 years ago

#1210 closed defect (invalid)

Mismatch between HM and Spec on clipping interpolated BiDir samples

Reported by: stevew Owned by:
Priority: minor Milestone: HM-13.0
Component: HM Version: HM-12.1
Keywords: mismatch, interpolation, bidir Cc: fbossen, ksuehring, davidf, jct-vc@…


In TComInterpolationFilter::filter(), when isLast is true, the interpolated samples are clipped with the following code:

if ( isLast )

val = ( val < 0 ) ? 0 : val;
val = ( val > maxVal ) ? maxVal : val;


This clipping operation is not in " Fractional sample interpolation process". In rare cases, an interpolated sample can be negative prior to the above clipping, due to negative filter coefficients.

In the case of uni-directional prediction, the above clipping is innocuous, because there is equivalent clipping specified during uni-directional weighting.

In the case of bi-directional prediction, 2 interpolated samples are added and the result is clipped; see " Weighted sample prediction process", expressions 8-239 and 8-252. If either interpolated sample is negative, there can be a different result depending on if the interpolated sample was clipped in filter() or not. If an encoder "pre-clips" and a decoder does not, there can be drift.

Change History (2)

comment:1 Changed 10 years ago by DefaultCC Plugin

  • Cc fbossen ksuehring davidf jct-vc@… added

comment:2 Changed 10 years ago by fbossen

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

In the bi-directional case isLast is always be false (no clipping).

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

  • David Flynn(Subscriber)
  • Frank Bossen(Subscriber, Participant)
  • jct-vc@…(Subscriber)
  • karl.sharman@…(Always)
  • Karsten Suehring(Subscriber, Always)
  • Stephen Wood(Reporter)