Opened 9 years ago

Closed 9 years ago

#573 closed defect (invalid)

skip_flag context derivation issue

Reported by: zhyang123 Owned by:
Priority: minor Milestone: HM-7.0
Component: HM Version: HM-7.0
Keywords: Cc: fbossen, ksuehring, davidf, jct-vc@…

Description

According to Table 9-38, skip_flag uses left and above skip_flag to derive the context index for CABAC decoding. However, instead of storing the neighboring skip_flag, the current HM 7.0 uses the following condition to determine the value of the neighboring skip_flag

 if ( m_pcSlice->isIntra () )
  {
    return false;
  }
  return ( getMergeFlag( uiPartIdx ) && getPartitionSize( uiPartIdx ) == SIZE_2Nx2N && !getQtRootCbf( uiPartIdx ) );

On the other hand, the new cbf flag coding rules in HM 7.0 allows the top layer chroma cbf to be one while all child chroma cbf flags to be zero. Although the example may be useless for a smart encoder, if allowed, it will make the above mentioned condition no longer equivalent to skip_flag equal to one and hence cause inconsistency between HM and spec.

Suggested fix may be either fix the spec to disallow such cases or fix the HM to use the real neighboring skip_flag value to derive the context.

Change History (2)

comment:1 Changed 9 years ago by DefaultCC Plugin

  • Cc fbossen ksuehring davidf jct-vc@… added

comment:2 Changed 9 years ago by fbossen

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

I don't understand the issue. If the top layer chroma cbf is 1, then you're not using the skip mode, and !getQtRootCbf(uiPartIdx) will be false.

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)
  • Zhijie Yang(Reporter)