MPEGGroup / CMAF

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

Aligned Switching Sets too limited #7

Closed haudiobe closed 2 years ago

haudiobe commented 4 years ago

Here is some spec text on aligned switching sets with comments inline:

b) Aligned CMAF switching sets shall contain CMAF switching sets that are encoded from the same media stream.

In DASH we want to use aligned switching set to for example switch different viewpoints in a stadium. So everything is perfectly aligned in the encoding to do a seamless switch, but they do not come from the same encoding. This restriction is unnecessary and does not help functional requirements. It is proposed to removed.

d) Aligned CMAF switching sets shall contain the same number of CMAF fragments in every CMAF track.

Again the problem, if I would align with different CMAF Fragment durations, for example 2 seconds in one, and 1 second in the other one, I would not be able to declare alignment despite this is possible. Fragments are not the relevant issue here.

e) Aligned CMAF switching sets shall contain CMAF fragments in every CMAF track with matching baseMediaDecodeTime and duration, for each CMAF fragment in a CMAF track.

This relates to the comments above.

These issues should be solved in a revision of CMAF.

cconcolato commented 4 years ago

d) Aligned CMAF switching sets shall contain the same number of CMAF fragments in every CMAF track.

This seems to be covered in #4

b) Aligned CMAF switching sets shall contain CMAF switching sets that are encoded from the same media stream.

The question about this point is whether or not we want to relax the notion of "Aligned Switching Set" or defined a new one, without that restriction.

roger-on-github commented 4 years ago

If I recall correctly the "switch different viewpoints in a stadium" case is considered a CMAF Selection Set, not a Switching Set. You may want to ping Kilroy for further clarification.

haudiobe commented 4 years ago

If I recall correctly the "switch different viewpoints in a stadium" case is considered a CMAF Selection Set, not a Switching Set. You may want to ping Kilroy for further clarification.

The Selection Set does not help here, because you want to switch seamlessly, namely:

The restriction on the same content is in my opinion unnecessary from a functional point of view.

I might check with Kilroy on the Mexican beach.

roger-on-github commented 4 years ago

You can switch Selection Sets seamlessly at a defined media time; it just requires a bit more capability on the player side.

roger-on-github commented 4 years ago

The specific problem with removing the "same number of CMAF fragments" clause (which would also require the removal of the dependent "there shall be a CMAF fragment with the same decode time" clause) is that they are what enforce alignment across switching sets. If you remove them then there is nothing that guarantees that you can find a Segment in set B that starts at the point where another Segment in set A ends.

As I recall the language was set up this way because it was felt that encoding restrictions should be made in terms of Fragments, not Segments. But again, you'd need to track down Kilroy on his beach to verify that.

haudiobe commented 4 years ago

You can switch Selection Sets seamlessly at a defined media time; it just requires a bit more capability on the player side.

Agree, but this argument holds for any type of Switching. If you are in a dash.js + MSE environment, having this alignment is much better. However, there is no problem to not do it in CMAF, we will define this then in DASH-IF only and will create the test vectors and dash.js implementation. We can just not refer to CMAF constructs, because the definition of aligned Switching Sets is not providing the functionality.

haudiobe commented 4 years ago

The specific problem with removing the "same number of CMAF fragments" clause (which would also require the removal of the dependent "there shall be a CMAF fragment with the same decode time" clause) is that they are what enforce alignment across switching sets. If you remove them then there is nothing that guarantees that you can find a Segment in set B that starts at the point where another Segment in set A ends.

As I recall the language was set up this way because it was felt that encoding restrictions should be made in terms of Fragments, not Segments. But again, you'd need to track down Kilroy on his beach to verify that.

I agree on this one as well, so I would not remove this language, we just need to provide a bit more subtle language around this. This is similar to the discussion in issue #4

RufaelDev commented 4 years ago

we understood aligned switching sets to be analogous to adaptation set switching in DASH.

The main use cases being : switching between switching sets with different codecs (avc to hevc) switching between switching sets with different DRM/encryption level and license (SD,HD, UHD with different robustness)

This is also on page 24 of CMAF as example of aligned switching set,

With current definition in 7.3.4.4. we could neither detect if tracks belong to aligned switching sets and if it is possible to switch between them. For example aligned switching sets that only have a different content key id for case 1 or different codec with same media type for case 2. We communicated this to MPEG before.

It would already be helpful if section 7.3.4.4. could include statements to addressing atleast these two use cases targetted on page 24. for example we could be to copy table 11 and relax some of the requirements for aligned switching set, such as all boxes related to encryption and the sample entry stsd can be different. This way atleast the definition would be more explicit, allowing usage of this concept.

If this is agreeable I can make a first attempt on a modified table 11 working out details, otherwise i will await the discussion.

cconcolato commented 3 years ago

@haudiobe Can you propose a recommendation for this issue?

cconcolato commented 2 years ago

The current recommendation of the group is to leave this issue open for now. We will integrate the text of #4 in the specification as soon as possible (e.g. amd1 of the 3rd edition).

haudiobe commented 2 years ago

4 is implemented in https://dms.mpeg.expert/doc_end_user/documents/137_OnLine/wg11/m58936-v2-m58936-Issues-r1.zip.

Proposal: Close the issue. It seems that changing the term “Aligned Switching Set” in CMAF would cause to many complications.