Opened 10 years ago

Closed 10 years ago

#70 closed defect (fixed)

offsets not applied in TComDataCU::getBaseColCU()

Reported by: johnnyVidyo Owned by: Vadim
Priority: major Milestone: SHM-8.0
Component: SHM software Version: SHM-7.0
Keywords: Cc: Vadim, jct-vc@…

Description

Function TComDataCU::getBaseColCU() is called by TComPic::copyUpsampledMvField() to scale motion vectors from a base layer to an enhancement layer. It contains the following lines of code to translate base layer locations to the higher layer.

#if O0098_SCALED_REF_LAYER_ID
  Int leftStartL = baseColPic->getSlice(0)->getPPS()->getScaledRefLayerWindowForLayer(baseColPic->getSlice(0)->getVPS()->getRefLayerId(getSlice()->getLayerId(), refLayerIdc)).getWindowLeftOffset();
  Int topStartL  = baseColPic->getSlice(0)->getPPS()->getScaledRefLayerWindowForLayer(baseColPic->getSlice(0)->getVPS()->getRefLayerId(getSlice()->getLayerId(), refLayerIdc)).getWindowTopOffset();
....
#if REF_REGION_OFFSET
  const Window &windowRL = baseColPic->getSlice(0)->getPPS()->getRefLayerWindow(refLayerIdc);
  Int iBX = (((uiPelX - leftStartL)*g_posScalingFactor[refLayerIdc][0] + (1<<15)) >> 16) + windowRL.getWindowLeftOffset();
  Int iBY = (((uiPelY - topStartL )*g_posScalingFactor[refLayerIdc][1] + (1<<15)) >> 16) + windowRL.getWindowTopOffset();

The four window offsets in these calculations are always valued zero, even when nonzero offsets are signaled in the appropriate PPS.

This affects conformance bitstream RESPHASE_SAMSUNG_0. This bitstream appears to have been encoded with all the offsets set to zero, since the SHM currently decodes the bitstream without visible errors. Unfortunately, this is not compliant with the spec (H.8.1.4.2).

Attachments (1)

shm80-fix70.patch (6.7 KB) - added by tyamamoto 10 years ago.

Download all attachments as: .zip

Change history (4)

comment:1 Changed 10 years ago by DefaultCC Plugin

  • Cc Vadim jct-vc@… added

Changed 10 years ago by tyamamoto

comment:2 Changed 10 years ago by tyamamoto

We need to fix to use "PPS of current picture" instead of "PPS of baseColPic". Attached patch seems to fix the problem.

It seems to me, we can't access current picture PPS from this function since it is called as a method of scaled-ref layer picture which does not have an associated PPS.

comment:3 Changed 10 years ago by Vadim

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

fixed with rev 1030

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

  • Gerhard Tech(Always)
  • jct-vc@…(Subscriber)
  • johnnyVidyo(Reporter)
  • Karsten Suehring(Always)
  • Tomoyuki Yamamoto(Participant)
  • Vadim Seregin(Owner, Subscriber, Participant)