Opened 9 years ago

Closed 9 years ago

#729 closed defect (fixed)

7.4.5.4: Unclear LumaWeightLX / ChromaWeightLX range

Reported by: AlexisLefebvre Owned by: bbross
Priority: minor Milestone:
Component: Text Version: D8 (J1003) d7
Keywords: Cc: bbross, wjhan, jct-vc@…

Description

Hi,
In chapter 8.5.2.2.3.2, weighted predictions is performed according to LumaWeightLX and ChromaWeightLX.

In chapter 7.4.5.4 those values are defined by:

"The variable LumaWeightL0[ i ] is specified by (1 << luma_log2_weight_denom ) + delta_luma_weight_l0[ i ]. When
luma_weight_l0_flag[ i ] is equal to 1, the value of delta_luma_weight_l0[ i ] shall be in the range of −128 to 127,
inclusive. When luma_weight_l0_flag[ i ] is equal to 0, LumaWeightL0[ i ] is inferred to be equal to 2luma_log2_weight_denom
for RefPicList0[ i ]."

I suspect a typo here. Is the following more accurate ? :

"The variable LumaWeightL0[ i ] is specified by (1 << luma_log2_weight_denom ) + delta_luma_weight_l0[ i ]. When
luma_weight_l0_flag[ i ] is equal to 1, the value of LumaWeightL0[ i ] shall be in the range of −128 to 127,
inclusive. When luma_weight_l0_flag[ i ] is equal to 0, LumaWeightL0[ i ] is inferred to be equal to 2luma_log2_weight_denom
for RefPicList0[ i ]."

Same remark for ChromaWeightLX definition.
Regards,
Alexis

Change History (5)

comment:1 Changed 9 years ago by DefaultCC Plugin

  • Cc bbross wjhan jct-vc@… added

comment:2 Changed 9 years ago by Tanizawa

This description is related to J221.
The signaling bit length of the weighting factor (delta_luma_weight_l0) is identical to the bit length of the weighting factor (luma_weight_l0) in AVC spec.

The delta_luma_weight_l0[ i ] shall be in the range of -128 to 127, inclusive (signed 8-bit).
Therefore, LumaWeightL0[ i ] shall be in the range of -128 to 255, inclusive (singed 9-bit).
For example, when luma_log2_weight_denom is equal to 7, LumaWeightL0[ i ] shall be in the range of 0 to 255, inclusive and when luma_log2_weight_denom is equal to 0, LumaWeightL0[ i ] shall be in the range of -128 to 127, inclusive.

Therefore, I think that the range of the weighting factor in subclause 7.4.5.4 is clear, same for delta_chroma_weight_l0[ i ][ j ].

comment:3 Changed 9 years ago by AlexisLefebvre

Hi thanks for replying.

In fact the range definition was clear but my question was motivated by the comparison with AVC spec where luma_weight_l0 was in the range -128 to 127 when luma_weight_l0_flag is 1 and equal to 128 when luma_weight_l0_flag is 0. So 8bits encoding + the flag.

In HEVC the difference is that weight can go from -128 to 255. So 9bits encoding since if for example luma_log2_weight_denom is equal to 6, LumaWeightL0[ i ] is in the range of -64 to 191.

Since I was not sure that having a weight above 128 was a new feature or just a missing sentence that states that in any case the weight is clipped between -128 and 128.

Regards,
Alexis

comment:4 Changed 9 years ago by Tanizawa

Hi.
In AVC spec, when luma_log2_weight_denom is 7, a weighting factor above 127 cannot be signaled to the decoder.
In order to improve coding efficiency, HEVC can use such value depending on the luma_log2_weight_denom.
Actually, HM sometimes use the weighting factor above 128. (although the calculation of the weighting factor and the offset is non-normative technique.)

I think that the current spec in subclause 7.4.5.4 can cover the above merit and we don't need to add a clip operation to a range of the weighting factor.

comment:5 Changed 9 years ago by AlexisLefebvre

  • Resolution set to fixed
  • Status changed from new to closed
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

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