@@ -121,14 +121,15 @@ Each MOQT Group
121121# # Catalog description
122122
123123# ## CMAF packaging type
124- This specification extends the allowed packaging values defined in WARP Section 5.2.10
125- to include a new entry, as defined in Table 1 below :
124+ This specification extends the allowed packaging values defined in WARP Section 5.1.12
125+ to include one new entry, as defined in Table 1 below :
126126
127- | Name | Value | Reference |
128- |:================|: ==========|:======================|
129- | CMAF | cmaf | This RFC |
127+ | Name | Value | Reference |
128+ |:==================|:====== ==========|:======================|
129+ | CMAF | cmaf | This RFC |
130130
131- Every Track entry in a CARP catalog MUST declare a "packaging" type value of "cmaf".
131+ Every Track entry in a CARP catalog carrying CMAF-packaged media data MUST declare a
132+ " packaging" type value of "cmaf".
132133
133134# ## Max SAP starting types
134135This specification adds two track-level catalog fields, as defined in Table 2 below :
@@ -142,56 +143,67 @@ This specification adds two track-level catalog fields, as defined in Table 2 be
142143Location : T Required: Optional JSON Type: Number
143144
144145A number indicating the maximum SAP type the MOQT Groups in the track start with.
145- [Ed.Note : This field, when the SAP terminology is translated to video codec terminology
146- of Random Access Point (RAP) pictures such as IDR, CRA, etc, would also apply to WARP.]
147146
148147# ### Max Object SAP starting type {#maxobjsapstartingtype}
149148Location : T Required: Optional JSON Type: Number
150149
151150A number indicating the maximum SAP type the MOQT Objects in the track start with.
152151
153- # # Timeline description
154- This specification extends the METADATA element of the timeline track, defined in WARP
155- Section 7, in the following four aspects :
152+ # # Event Timelines
153+
154+ # ## SAP Type timeline {#saptypetimeline}
155+ CARP defines a special instance of an Event Timeline track, termed the SAP Type timeline
156+ track. Its purpose is to convey information about the distribution of Stream Access Point
157+ types and their associated Earlist Presentation Times.
158+
159+ In the catalog, the SAP-type timeline track MUST include a 'packaging' value of 'eventtimeline"
160+ and MUST include an 'eventType' value of 'org.ietf.moq.carp.sap'.
161+
162+ In the SAP Type timeline JSON payload :
163+
164+ * The index reference MUST be 'l' for Location
165+ * The data field is a JSON Array containing two integers. The first integer defines SAP type
166+ with an allowed value of 0,1,2 or 3. The value 0 indicates that the Object does not start
167+ with an ISOBMFF stream access point. The value equal to 1, 2, or 3 indicates that the Object
168+ begins with a stream access point of SAP type 1, 2, or 3, respectively. When the Object is
169+ the first Object in the Group, the value MUST be equal to 1 or 2. The second integer defines
170+ the earliest media presentation timestamp, rounded to the nearest millisecond, of all media
171+ samples in the Object defined by the Location of that record.
172+
173+ # ## SAP-type timeline track example
174+ This shows an example of 30-fps HEVC-encoded content, in which each 4s Group beings with
175+ SAP-type 2 (i.e., the first picture in the Group is an IDR picture, while there may be one or more
176+ pictures in the Group following the IDR picture in decoding order but preceding it in output
177+ order). After 2 seconds in each Group, there is a SAP-type 3, i.e., a CRA picture, which
178+ is associated with one or more Random Access Skipped
179+ Leading (RASL) pictures. A small buffer of frames (10 frames at 30 fps) is skipped/discarded
180+ (RASL pictures) when the streaming session starts from the SAP-type 3 location. In this example,
181+ the EPT is the presentation time of the first picture after the RASL pictures in decoding order;
182+ all pictures after the RASL pictures can be fully correctly decoded and are thus presentable
183+ when the streaming session starts from the SAP-type 3 location. Note that if the streaming session
184+ starts from the start of the Group, then these RASL pictures can be fully correctly decoded and are
185+ thus presentable.
156186
157- * Specification of a general scheme for metadata signalled through the METADATA element
158- of the timeline track [Ed.Note : This aspect should also be applied to WARP, thus
159- should be moved to WARP later on.]
160- * Definition of a namespace for CARP-specific metadata signalled through the METADATA
161- element of the timeline track
162- * Addition of metadata signalling of SAP type
163- * Addition of metadata signalling of earliest presentation time
164-
165-
166- # ## General metadata scheme
167- When not empty, the string in the METADATA field MUST contain one or more comma
168- separated key=value pairs, formatted as Strings as specified in Section 3.3.3 of
169- [RFC9651]. For example, the METADATA field can be "key1=1,key2=3268". For another
170- example, the METADATA field can be "key1=1,key2=""hello-world"",key3=3268".
171-
172- A key name MAY be prefixed with a namespace. When a namespace is present, the
173- separator between the namespace prefix and the key name is '.'.
174-
175- # ## Namespace for CARP-specific metadata signalled through the METADATA element
176- For CARP-specific metadata signalled through the METADATA element, the namespace is
177- " timeline:metadata:carp" .
178-
179- # ## Metadata signalling of SAP type
180- When the key name of a key=value pair is "SAP_TYPE", the value indicates the SAP type
181- the Object begins with. The namespace-prefixed key is "timeline:metadata:carp.SAP_TYPE".
182-
183- The value 0 indicates that the Object does not start with an ISOBMFF stream access point.
184- The value equal to 1, 2, or 3 indicates that the Object begins with a stream access point
185- of SAP type 1, 2, or 3, respectively. When the Object is the first Object in the Group,
186- the value MUST be equal to 1 or 2.
187-
188- # ## Metadata signalling of earliest presentation time
189- When the key name of a key=value pair is "EARLIEST_PTS", the value indicates the earliest
190- media presentation timestamp rounded to the nearest millisecond of all media samples in
191- the Object. The namespace-prefixed key is "timeline:metadata:carp.SAP_TYPE".
192-
193- WWhen the SAP type the Object begins with is 2 or 3, the EARLIEST_PTS key SHOULD be
194- present.
187+ ~~~json
188+ [
189+ {
190+ " l " : [0,0],
191+ " data " : [2,0]
192+ },
193+ {
194+ " l " : [0,60],
195+ " data " : [3,2100]
196+ },
197+ {
198+ " l " : [1,0],
199+ " data " : [2,4000]
200+ },
201+ {
202+ " l " : [1,60],
203+ " data " : [3,6100]
204+ }
205+ ]
206+ ~~~
195207
196208
197209# Catalog Examples
0 commit comments