MPEGGroup / CMAF

Official MPEG repository to discuss public issues on CMAF (ISO/IEC 23000-19)
2 stars 0 forks source link

CMAF Principal Header #2

Closed haudiobe closed 3 years ago

haudiobe commented 4 years ago

This is the second proposal from http://mpegx.int-evry.fr/software/ApplicationFormat/CMAF/issues/2

For quite many pipelines and for consistent signaling on manifest level, you want one header assigned to a CMAF Switching set, which is the CMAF Master Header. One CMAF header is identified to be the “CMAF Master Header” which has the highest decoding requirements and as such can initialize a media pipeline for decoding any other track in the Switching Set. This header referred as Master CMAF Header CH*.

Please check the input contribution and the draft in DASH-IF and you will find the master header quite often,

2) Add the concept of a CMAF Master Header in order to express the initialization of the media pipeline and also to permit using this header for consistent manifest parameters and capability checking.

cconcolato commented 4 years ago

Can you clarify how it compares to the notion of "Single initialization" ?

haudiobe commented 4 years ago

The difference is that I may still use the other headers at switch instance, but when I first initialize or when I do capability check, I use this master header. This determines my output video resolution, my buffers an so on. The real header may be different. Using a single header is quite constraining.

cconcolato commented 4 years ago

How would you phrase the constraints that the Master Header would have to follow?

haudiobe commented 4 years ago

There are two aspects:

cconcolato commented 4 years ago

We probably would need a brand to identify that type of header.

haudiobe commented 4 years ago

I am not sure we need a brand, it is really just a functional definitions for now. If you insist, please go ahead.

cconcolato commented 4 years ago

If you want to generate a manifest from a set of tracks, you may want to facilitate the work of that tool. I don't have a strong opinion.

Should we put that idea into TuC until we have the details of the structural requirements?

haudiobe commented 4 years ago

If you want to generate a manifest from a set of tracks, you may want to facilitate the work of that tool. I don't have a strong opinion.

Should we put that idea into TuC until we have the details of the structural requirements?

I am ok to put it into the TuC. It seems to be worthwhile to be done.

RufaelDev commented 4 years ago

I think we may want to reconsider the naming, "master" may have a negative perception/annotation, reference or main header ?

sdp198 commented 4 years ago

On the naming, I just got my thesaurus out. How about Principal Header?

sdp198 commented 4 years ago

In general though, is the expectation that this concept will be largely informative, or will every Switching Set be required to define one of these?

haudiobe commented 4 years ago

In general though, is the expectation that this concept will be largely informative, or will every Switching Set be required to define one of these?

A Switching Set may associate a Principal Header, it does not have to. However, there should be the possibility to construct such a header.

haudiobe commented 4 years ago

There is some discussion in m55285. Based on this discussion, it is proposed to do two things

  1. Add to definitions CMAF Principal Header: A CMAF Header that includes sufficient information to initialize the media decoder and decryption for all CMAF Tracks of the CMAF Switching Set

  2. Add a new clause 7.3.4.5 CMAF Principal Header

A CMAF Principal Header for a CMAF Switching Set conforms to the following constraints a) It shall conform to a CMAF Header b) The CMAF Header and the first sample entry shall contain parameters that are sufficient to enable a single initialization of media decoding, decryption and rendering systems to decode, decrypt and render all CMAF fragments in all CMAF Tracks of this CMAF Switching Set. c) If the CMAF Principal header requires sample entries with a decoder configuration record, as specified by a CMAF media profile, with decoding and rendering parameter limits, such as codec profile, level, image height, width, etc., then the first sample entry shall contain parameters equal or greater than the maximum values contained in all CMAF fragments in all CMAF track of the Switching Set to enable a initialization of media decoding and rendering systems to render all CMAF fragments in all CMAF tracks of the CMAF Switching. d) A media profile may define additional requirements for CMAF Master Headers

haudiobe commented 3 years ago

Can we change the name to CMAF Envelope Header to describe the "envelope" character?

cconcolato commented 3 years ago

@haudiobe There seems to be some agreement in this issue. Can you propose spec text?

sdp198 commented 3 years ago

A name change is fine, but I don't understand how "envelope" would apply? I'd either assume it was a container with routing information on (eg for email or post) or the shape of something like a waveform.

cconcolato commented 3 years ago

Text was added to the amendment and the group decided to keep the "Principal" name.