LogoLogo
HomeMPEG-5 LCEVCSMPTE VC-6V-Nova PresenZV-Nova Platform
MPEG-5 LCEVC
MPEG-5 LCEVC
  • V-NOVA LCEVC
    • Overview
    • LCEVC Best Practices
  • Encoder
    • Getting Started
    • SDK
      • Encoder Integration Layer (EIL)
        • EIL Integration Process
          • Error Handling
          • Base Encoder Plugin
        • Features
        • Encoding Configuration Properties
        • CBR vs CRF
        • Lower Resolutions (720p and below)
        • V-Nova LCEVC-specific Parameters
        • Metadata
        • API (version 3.9)
    • NDK
      • LCEVC Encoder IP Core
  • Decoder
    • Getting Started
    • SDK
      • LCEVC Decoder for Web (LCEVCdecJS)
      • Decoder Integration Layer (DIL)
        • Functionality
        • API Overview
        • Example Integration Code
        • DIL API
        • DIL Types and Enumerations
        • DIL Properties API
    • NDK
      • LCEVC Decoder IP Core
        • LCEVC Decoder IP Core Deliverables
      • LCEVC Hybrid Driver-level Decoder
  • Integrations
    • LCEVC in Chromium
    • LCEVC in WebRTC
    • FFmpeg with LCEVC
      • Example Script
      • FFmpeg Encoder
      • FFmpeg Decoder
      • Putting the Software Together
    • Player Integrations
      • AVPlayer with LCEVC
      • VLCKit with LCEVC
      • Shaka Player with LCEVC
      • Embedding LCEVC-enabled demo hls.js player
      • AndroidX (ExoPlayer) with LCEVC
    • LCEVC in Android Open-Source Project
  • Carriage
    • Getting started
  • Overview of Carriage Solutions
  • Carriage Implementations
Powered by GitBook
On this page
  • Standard-based solutions
  • MPEG-2 Transport Stream dual-PID
  • ISO Base Media File Format dual-track
  • Scalable MPEG-DASH (dependencyId)
  • Proprietary solutions
  • ITU-T T.35 user-registered SEI

Was this helpful?

Overview of Carriage Solutions

PreviousGetting startedNextCarriage Implementations

Last updated 6 days ago

Was this helpful?

LogoLogo

© Copyright V-Nova 2025

Standard-based solutions

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.

MPEG-2 Transport Stream dual-PID

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.

ISO Base Media File Format dual-track

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:

  1. Link the LCEVC enhancement to the XVC base by using an "sbas" box identifying which is the corresponding base.

  2. Composition times between base and LCEVC enhancement match, as they are used in the base, to perform picture-to-picture synchronization.

CMAF profile dual-track

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.

Scalable MPEG-DASH (dependencyId)

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.


Proprietary solutions

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.

ITU-T T.35 user-registered SEI

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.

sei_payload( 0x04, payloadSize ) = user_data_registered_itu_t_t35 ( payloadSize )

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

Syntax
Descriptor
Value

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.