Overview of Carriage Solutions
Last updated
Was this helpful?
Last updated
Was this helpful?
The carriage solutions described on this page are based on standard solutions which have either been created specifically to carry/transport LCEVC bitstreams or are using existing standard mechanisms.
Support for carriage of LCEVC within MPEG-2 Transport Stream is specified in ISO/IEC 13818‑1:2022/Amd 1:2023, which was published in April 2023 (see here, now superseded by here).
LCEVC elementary streams are identified by using extension descriptor tags, which are then signaled within the base elementary stream descriptor and uniquely link a base elementary stream with one or more LCEVC elementary streams.
Specifically, an LCEVC_video_descriptor is used in the LCEVC elementary stream component loop in the PMT to specify the specific tag for that bitstream (i.e., the lcevc_stream_tag). On the other hand, the base elementary stream component has an LCEVC_linkage_descriptor in its PMT loop, to specify one or more lcevc_stream_tag that identify the LCEVC elementary streams that enhance this specific base bitstream.
Note that the linkage between the LCEVC and the base elementary streams is not based on their PIDs. This is because across re-muxing operations, while PIDs may change, descriptor contents would be passed through, thus the stream tags would remain valid.
Support for storage of LCEVC within NALU File Format is specified in ISO/IEC 14496-15:2022/Amd 1 and was published October 2023 (see here, now superseded by here).
The storage mechanism is based on a “dual-track” approach, whereby the base bitstream is identified by one track ID (a “Base ID”) and the LCEVC bitstream refers to one and only one Base ID.
The two main concepts used to link the LCEVC enhancement to its corresponding XVC base (where X stands for "whatever coding format", e.g. AVC, HEVC, EVC, VVC) are:
Link the LCEVC enhancement to the XVC base by using an "sbas" box identifying which is the corresponding base.
Composition times between base and LCEVC enhancement match, as they are used in the base, to perform picture-to-picture synchronization.
A CMAF profile for LCEVC has been finalised as an Amendment to ISO/IEC 23000-19, which was published in July 2024 (see here).
The LCEVC profile is built upon (i) the “dual-track” structure as described in Section 2.1.2 and (ii) the existing CMAF construct of Dependent CMAF Tracks, as defined in Clause H.1 of ISO/IEC 23000-19.
Note: This solution is pending incorporation in the next DASH-IF IOP (Interoperability Points) v5.1 and uses the existing ISO/IEC 23009-1 DASH specification. No modifications of the DASH norm have been proposed to support this LCEVC scalable DASH solution.
This approach creates LCEVC representations that are dependent upon native codec representations (by using dependencyId). LCEVC enhancement representations are contained in an additional Adaptation Set and linked to the base representations in the base Adaptation Set. The outcome is the ability to play adaptive streaming content where one or more higher resolution profiles are generated by applying LCEVC enhancement to existing conventional profiles.
A separate AdaptationSet is added, alongside the backwards compatible video AdaptationSet with the base codec Representations, comprising only the LCEVC Representations with dependencyId that corresponds to each associated base representation. The AdaptationSet of the dependent representations would have the following attributes:
@contentType = ‘video’
@mimeType = ‘video/mp4’
@codecs = ‘lvc1’
@frameRate = <>
@dependencyId = <>
@width/height = <LCEVC enhanced video width/height>
@bandwidth = <combined bit rate of the LCEVC + base representation>
@sar = <sample aspect ratio as signalled in LCEVC Video Usability Information (VUI)>
This approach also requires the signalling of merging adaptation sets by using the supplemental property “adaptation-set-switching:2016”. This property would instruct the compatible client to create the video switching set as the union of all representations from both base and LCEVC enhancement Adaptation Sets. Clients not supporting this property, or not supporting the ‘lvc1’ codecs attribute, would just create the video switching set comprising the base only Adaptation Set.
The carriage solutions described in this section are based on proprietary solutions that either embed LCEVC NAL units in SEI messages or interleave them with NAL units of other codecs.
LCEVC NAL units can also be transported within an SEI message using the ITU-T T.35 syntax already specified in all existing base codecs. V-Nova got assigned a manufacturer code under the UK Register of Manufacturer Codes for H.221/H.245/T.120, which can be used for this purpose.
With that code, the payload has the following format.
Note that the itu_t_t35_country_code is followed by three additional fields specific to the National Register for the UK.
Table – ITU-T T.35 syntax with the values specified by the V-Nova manufacturer code registered in the UK
user_data_registered_itu_t_t35 ( payloadSize ) {
itu_t_t35_country_code
b(8)
0xB4
itu_t_t35_payload_header {
t35_uk_country_code_second_octet
b(8)
0x00
t35_uk_manufacturer_code_first_octet
b(8)
0x50
t35_uk_manufacturer_code_second_octet
b(8)
0x00
}
i = 4
do {
itu_t_t35_payload_byte
b(8)
i++
} while ( i < payloadSize )
}
In practice, the LCEVC NAL units are simply inserted in the payload of the above SEI message.