Opened 6 years ago

Last modified 4 years ago

#251 new enhancement

HM-5.0 referencing structure

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

Description

It will be very difficult for a beginner to set the following referecing structure correctly. Such as
# Type POC QPoffset QPfactor temporal_id ref_buf_size ref_pic #ref_pics reference pictures predict deltaRIdx-1 deltaRPS #ref_idcs reference idcs
Frame1: B 8 1 0.442 0 4 1 4 -8 -10 -12 -16 0
Frame2: B 4 2 0.3536 0 2 1 3 -4 -6 4 1 0 4 5 1 1 0 0 1
Frame3: B 2 3 0.3536 0 2 1 4 -2 -4 2 6 1 0 2 4 1 1 1 1
Frame4: B 1 4 0.68 0 2 0 4 -1 1 3 7 1 0 1 5 1 0 1 1 1
Frame5: B 3 4 0.68 0 2 0 4 -1 -3 1 5 1 0 -2 5 1 1 1 1 0
Frame6: B 6 3 0.3536 0 2 1 4 -2 -4 -6 2 1 0 -3 5 1 1 1 1 0
Frame7: B 5 4 0.68 0 2 0 4 -1 -5 1 3 1 0 1 5 1 0 1 1 1
Frame8: B 7 4 0.68 0 2 0 4 -1 -3 -7 1 1 0 -2 5 1 1 1 1 0

It will be very difficult if a beginner wants to change the GOP size or the number of referenc frames.

It would be helpful if we keep two referencing structure setting methods, one is professional way, the other is simple way.
In the professinal way, the referencing structure is set as above.
In the simple way, the referencing structure is set by the parameters deleted in r1614, such as
RateGOPSize : 4 # GOP size used for QP assignment
NumOfReference : 4 # Number of reference frames
NumOfReferenceB_L0 : 2 # Number of reference frames for L0 for B-slices
NumOfReferenceB_L1 : 2 # Number of reference frames for L1 for B-slices
HierarchicalCoding : 0 # Hierarchical B coding ON/OFF
LowDelayCoding : 1 # Low-delay coding structure
GPB : 1 # Replace P-slice by B-slice using two same directions
NRF : 0 # Mark non-reference for highest temporal layer
BQP : 1 # Use hier-B style QP assignment for hier-P structure

And one more parameter which limits the max_num_ref_pics is required.

When setting the referencing structure in the simple way, the encoder will decide how to encode the whole sequences.

In JM, we have two ways to set the coding structure, in HM if we also have two ways to set the referencing structure, it will be helpful.

Change History (4)

comment:1 Changed 6 years ago by DefaultCC Plugin

  • Cc fbossen ksuehring davidf added

comment:2 Changed 6 years ago by ksuehring

  • Version changed from HM-5.0rc1 to HM-5.0

comment:3 Changed 6 years ago by davidf

  • Cc jct-vc@… added

comment:4 Changed 4 years ago by fbossen

  • Type changed from defect to enhancement
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

  • Bin Li(Reporter)
  • David Flynn(Subscriber, Participant, Always)
  • Frank Bossen(Subscriber, Participant)
  • jct-vc@…(Subscriber)
  • Karl Sharman(Always)
  • Karsten Suehring(Subscriber, Participant, Always)