Guidelines for Implementation: DASH-IF Interoperability Points

Living Document,

This version:
https://dashif.org/guidelines/
Issue Tracking:
GitHub
Editors:
DASH Industry Forum

1. Document editing notes

Documentation: https://dashif.org/DocumentAuthoring/

Example document repository: https://dashif.org/DocumentAuthoring/

Live discussion in #document-authoring on Slack.

Scope Disclaimer

2. Introduction

This document defines DASH-IF’s InterOperability Points (IOPs). The document includes IOPs for only this version of the document. For earlier versions, please refer to version 1 [DASH-IF-IOP1] and version 2 [2] of this document. DASH-IF recommends to deprecate the IOPs in previous versions and deploy using one of the IOPs and extensions in this document.

As a historical note, the scope of the initial DASH-AVC/264 IOP, issued with version 1 of this document [1] was the basic support high-quality video distribution over the top. Both live and on-demand services are supported.

In the second version of this document [2], HD video (up to 1080p) extensions and several mul-tichannel audio extensions are defined.

In this third version of the DASH-IF IOP document, two new DASH-264/AVC IOPs are defined. Detailed refinements and improvements for DASH-IF live services and for ad insertion were added in these IOPs. One of these IOP is the superset of the simpler one. Additionally, two cor-responding IOPs are defined to also support HEVC [19]. In both cases, AVC and HEVC, the more advanced IOP adds additional requirements on the DASH client to support segment pars-ing to achieve enhancement of live services. This structuring separates the Media Profiles from DASH features.

In the fourth version, beyond minor improvements, corrections and alignment with MPEG-DASH third edition, the key additions are extensions for next generation audio and UHD/HDR video.

This document defines the IOPs in Table 1 and Extensions in Table 2. The Implementation Guideline’s version in which each IOP or Extension was added is also provided in the tables.

Note that all version 1 IOPs are also defined in version 2 and therefore referencing version [2] is sufficient.

DASH-IF Interoperability Points
DASH-IF Interoperability Point Identifier Version Reference
DASH-AVC/264 http://dashif.org/guidelines/dash264 1.0 [2], 6.3
DASH-AVC/264 SD http://dashif.org/guidelines/dash264#sd 1.0 [2], 7.3
DASH-AVC/264 HD http://dashif.org/guidelines/dash264#hd 2.0 [2], 8.3
DASH-AVC/264 main http://dashif.org/guidelines/dash264main 3.0 8.2
DASH-AVC/264 high http://dashif.org/guidelines/dash264high 3.0 8.3
DASH-IF IOP simple http://dashif.org/guidelines/dash-if-simple 3.0 8.4
DASH-IF IOP main http://dashif.org/guidelines/dash-if-main 3.0 8.5
DASH-IF IOP on-demand http://dashif.org/guidelines/dash-if-ondemand 4.3 3.10.3
DASH-IF IOP mixed on-demand http://dashif.org/guidelines/dash-if-mixed 4.3 3.10.4

Note that all extensions defined in version 2 of this document are carried over into version 3 without any modifications. In order to maintain a single document, referencing in Table 2 is restricted to this document.

DASH-IF Interoperability Point Extensions
Extension Identifier Version Section
DASH-IF multichannel audio extension with Enhanced AC-3 http://dashif.org/guidelines/dashif#ec-3 2.0 9.4.2.3
DASH-IF multichannel extension with Dolby TrueHD http://dashif.org/guidelines/dashif#mlpa 2.0 9.4.2.3
DASH-IF multichannel extension with AC-4 http://dashif.org/guidelines/dashif#ac-4 3.1 9.4.2.3
DASH-IF multichannel audio extension with DTS Digital Surround http://dashif.org/guidelines/dashif#dtsc 2.0 9.4.3.3
DASH-IF multichannel audio extension with DTS-HD High Resolu-tion and DTS-HD Mas-ter Audio http://dashif.org/guidelines/dashif#dtsh 2.0 9.4.3.3
DASH-IF multichannel audio extension with DTS Express http://dashif.org/guidelines/dashif#dtse 2.0 9.4.3.3
DASH-IF multichannel extension with DTS-HD Lossless (no core) http://dashif.org/guidelines/dashif#dtsl 2.0 9.4.3.3
DASH-IF multichannel audio extension with MPEG Surround http://dashif.org/guidelines/dashif#mps 2.0 9.4.4.3
DASH-IF multichannel audio extension with HE-AACv2 level 4 http://dashif.org/guidelines/dashif#heaac-mc51 2.0 9.4.5.3
DASH-IF multichannel audio extension with HE-AACv2 level 6 http://dashif.org/guidelines/dashif#heaac-mc71 2.0 9.4.5.3
DASH-IF multichannel audio extension with MPEG-H 3D Audio http://dashif.org/guidelines/dashif#mpeg-h-3da 4.2 9.4.6.3
DASH-IF audio exten-sion with USAC http://dashif.org/guidelines/dashif#cxha 4.3 9.4.7.3
DASH-IF UHD HEVC 4k http://dashif.org/guidelines/dash-if-uhd#4k 4.0 10.2
DASH-IF HEVC HDR PQ10 http://dashif.org/guidelines/dash-if-uhd#hdr-pq10 4.0 10.3
DASH-IF UHD Dual-Stream (Dolby Vision) http://dashif.org/guidelines/dash-if-uhd#hdr-pq10 4.1 10.4
DASH-IF VP9 HD http://dashif.org/guide-lines/dashif#vp9 4.1 11.3.1
DASH-IF VP9 UHD http://dashif.org/guidelines/dash-if-uhd#vp9 4.1 11.3.2
DASH-IF VP9 HDR http://dashif.org/guide-lines/dashif#vp9-hdr \n http://dashif.org/guidelines/dash-if-uhd#vp9-hdr 4.1 11.3.3

In addition to the Interoperability points in Table 1 and extensions in Table 2, this document also defines several other identifiers and other interoperability values for functional purposes as documented in Table 3.

Identifiers and other interoperability values defined in this Document
Identifier Semantics Type Section
http://dashif.org/identifiers/vast30 Defines an event for signalling events of VAST3.0 Event 5.6
http://dashif.org/guidelines/trickmode Defines a trick mode Adaptation Set. Functionality 3.2.9
http://dashif.org/guidelines/clearKey Defines name space for the Laurl element in W3C Namespace 7.6.2.4
e2719d58-a985-b3c9-781a-b030af78d30e UUID for W3C Clear Key with DASH Content Protection 7.6.2.4
http://dashif.org/guidelines/last-segment-number Signaling last segment number Functionality 4.4.3.6
http://dashif.org/guidelines/thumbnail_tile Signalling the availability of the thumbnail tile adaptation set Functionality 6.2.6

DASH-IF supports these guidelines with test and conformance tools:

Technologies included in this document and for which no test and conformance material is provided, are only published as a candidate technology and may be removed if no test material is provided before releasing a new version of this guidelines document.

3. References

See v4.3 references

4. Conventions, Context, Terms and Definitions

4.1. Relation to MPEG-DASH

4.2. Conventions

see v4.3 and bug filed by Sander

4.3. Abbreviations

see v4.3

4.4. Terms and Definitions

see v4.3 (may be hotlinked in bikeshed, auto generated)

5. General DASH Features

5.1. Architecture

Reference other DASH activities (Ingest, CPIX, SAND, etc.)

(re-use low-latency architecture)

5.2. Formats

(new clause with some usage from clause 3.2.1)

5.2.1. MPD

5.2.2. Segments

5.2.3. Segment Addressing Schemes

5.3. Protocol Considerations

See clause 3.4 in v4.3

5.4. Location and Reference Resolution

See clause 3.2.15 in v4.3

5.5. Client-Server Synchronization

See clause 3.5 and 4.7 in v4.3

https://dashif-documents.azurewebsites.net//DASH-IF-IOP/pull/210/DASH-IF-IOP.html#timing-sync

5.6. Client Reference Model

Refer to dash.js and MSE

(new clause) point to CTA WAVE Device Playback

5.7. Media Presentation Data Model

5.7.1. Timing Model

See 3.2.7 and document from Sander

https://dashif-documents.azurewebsites.net//DASH-IF-IOP/pull/210/DASH-IF-IOP.html#timing-period

https://dashif-documents.azurewebsites.net//DASH-IF-IOP/pull/210/DASH-IF-IOP.html#timing-representation

5.7.2. Content Annotation and Selection

See 3.9 and document from Sander

5.7.3. Adaptive Switching

(Adaptation Set, segment and subsegment alignment)

https://dashif-documents.azurewebsites.net//DASH-IF-IOP/pull/210/DASH-IF-IOP.html#timing-segmentalignment

5.7.4. Segment Timing

See clause 4.3 as well as document from Sander 3.5-3.5.4

https://dashif-documents.azurewebsites.net//DASH-IF-IOP/pull/210/DASH-IF-IOP.html#timing-sampletimeline

5.8. Bandwidth Signaling

See clause 3.2.8

5.9. Service Types

See clause 3.6

On-Demand Services

5.10. Media in DASH

(new clause)

5.10.1. Media in one Period

5.10.2. Media Across Periods

5.10.3. Requirements and Recommendation for Media Codecs in DASH

5.11. Events

(new clause)

5.12. Remote Elements

(new clause)

Text from Sander 3.9

https://dashif-documents.azurewebsites.net//DASH-IF-IOP/pull/210/DASH-IF-IOP.html#timing-xlink

5.13. Profiles and Interop

Clause 2.4

5.14. Examples

Clause 2.4

6. On-Demand Services

Clause 3.10

7. Live Services

Clause 4, but reduced as some issues are moved to general clause

https://dashif-documents.azurewebsites.net//DASH-IF-IOP/pull/210/DASH-IF-IOP.html#timing-dynamic

8. Content Replacement and Ad Insertion

Newly developed in Ad Insertion TF

9. Content Protection and Security

Based on Clause

10. Video in DASH

(new clause adding all codecs in IOP)

(focusses on very specific issues following the general requirements from clause 4)

10.1. General

10.1.1. MPD and Adaptation Set Signaling

10.1.2. Segment Formats

10.2. H.264/AVC

(add a table with media profiles and reference CMAF) (create a clause with specific issues)

10.3. H.265/HEVC

(add a table with media profiles and reference CMAF) (create a clause with specific issues)

10.4. VP9

11. Audio in DASH

(new clause adding all codecs in IOP) (focusses on very specific issues following the general requirements from clause 4) test;

11.1. General

11.1.1. MPD and Adaptation Set Signaling

11.1.2. Segment Formats

11.2. (Codec 1)

(add a table with media profiles and reference CMAF) (create a clause with specific issues)

11.3. (Codec 2)

(add a table with media profiles and reference CMAF) (create a clause with specific issues)

12. Subtitles in DASH

(new clause adding all codecs in IOP) (focusses on very specific issues following the general requirements from clause 4)

12.1. General

12.1.1. MPD and Adaptation Set Signaling

12.1.2. Segment Formats

12.2. (Codec 1)

(add a table with media profiles and reference CMAF) (create a clause with specific issues)

12.3. (Codec 2)

(add a table with media profiles and reference CMAF) (create a clause with specific issues)

13. Other DASH Features

13.1. Seek Preview and Thumbnail Navigation

14. Annex Exclusions from MPEG-DASH

This section list the exclusions and forbidden options of MPEG-DASH. Sanders 3.10 Forbidden techniques goes here

Conformance

Conformance requirements are expressed with a combination of descriptive assertions and RFC 2119 terminology. The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” in the normative parts of this document are to be interpreted as described in RFC 2119. However, for readability, these words do not appear in all uppercase letters in this specification.

All of the text of this specification is normative except sections explicitly marked as non-normative, examples, and notes. [RFC2119]

Examples in this specification are introduced with the words “for example” or are set apart from the normative text with class="example", like this:

This is an example of an informative example.

Informative notes begin with the word “Note” and are set apart from the normative text with class="note", like this:

Note, this is an informative note.

References

Normative References

[RFC2119]
S. Bradner. Key words for use in RFCs to Indicate Requirement Levels. March 1997. Best Current Practice. URL: https://tools.ietf.org/html/rfc2119

Informative References

[DASH-IF-IOP1]
DASH-IF. DASH-264/AVC Interoperability Points. version 1.0. URL: http://dashif.org/w/2013/06/DASH-AVC-264-base-v1.03.pdf