rfc-5691

RTP Payload Format for Elementary Streams with MPEG Surround Multi-Channel Audio

F. de Bont, S. Doehla, M. Schmidt, R. Sperschneider
date2009-10 streamIETF arearai wgavt statusPROPOSED STANDARD pages12 canonicalhttps://www.rfc-editor.org/rfc/rfc5691 doi10.17487/RFC5691
This memo describes extensions for the RTP payload format defined in RFC 3640 for the transport of MPEG Surround multi-channel audio. Additional Media Type parameters are defined to signal backwards- compatible transmission inside an MPEG-4 Audio elementary stream. In addition, a layered transmission scheme that doesn't use the MPEG-4 systems framework is presented to transport an MPEG Surround elementary stream via RTP in parallel with an RTP stream containing the downmixed audio data. [STANDARDS-TRACK]

updates

Extracted elements (22)

design-rationale §1

MPEG Surround (SAC) enables N-channel audio reconstruction from M < N transmitted channels plus control data, where M is typically mono or stereo. This design ensures backwards compatibility: legacy stereo decoders ignore the spatial data and play back the downmix without quality degradation, while MPEG-Surround-enabled decoders deliver full multi-channel audio.

rtp, realtime

design-rationale §4

Two transport modes are defined: embedding SpatialFrame()s inside AAC payloads via extension_payload() (Section 4.1), and transmitting MPEG Surround as a separate elementary stream alongside the downmix (Section 4.2). The embedded mode reuses existing RFC 3640 transport without a new mode; the separate stream mode is required when high-bitrate applications exceed the AAC decoder buffer limit.

rtp, realtime

interoperability-note §4.2

If HE AAC is used as the coding scheme for the downmix, the RTP clock-rate of the downmix MAY be the sampling rate of the AAC core, meaning the clock-rate of the MPEG Surround elementary stream is an integer multiple of the downmix stream's clock-rate.

rtp, realtime

normative-requirement §4.1 MUST

Any SpatialSpecificConfig (SSC) present in a SacDataFrame() MUST be identical to the SSC conveyed via SDP for that stream.

rtp, realtime

normative-requirement §4.2 MUST

Because separate RTP streams have different random RTP timestamp offsets, RTCP MUST be used to synchronize the coded downmix audio data and the MPEG Surround elementary stream.

rtp, realtime

normative-requirement §4 MUST

For high-bitrate applications where the AU size exceeds the AAC decoder buffer limit defined in ISO/IEC 14496-3, all MPEG Surround data MUST be placed in a separate elementary stream as defined in Section 4.2.

rtp, realtime

normative-requirement §4.2.2 MUST

In MPS-hbr mode, the parameters sizeLength (fixed value 13), indexLength (fixed value 3), and indexDeltaLength (fixed value 3) MUST be present with those fixed values. maxDisplacement MUST be present when interleaving. The fixed AU duration MUST be signaled by constantDuration.

rtp, realtime

normative-requirement §4.2.1 MUST

In MPS-lbr mode, the parameters sizeLength (fixed value 6), indexLength (fixed value 2), and indexDeltaLength (fixed value 2) MUST be present with those fixed values. The parameter maxDisplacement MUST be present when interleaving. The fixed AU duration MUST be signaled by the constantDuration parameter.

rtp, realtime

normative-requirement §4.2 MUST

The media clocks of the MPEG Surround elementary stream and the downmix stream SHALL operate in the same clock domain (derived from a common clock) and MUST NOT drift. RTCP sender reports MUST indicate that stream timestamps are not drifting.

rtp, realtime

normative-requirement §4.2 MUST

The mode signaled and used for an MPEG Surround elementary stream MUST be either MPS-hbr or MPS-lbr. MPS-hbr SHALL be used when the frame size may exceed 63 bytes, e.g., when high-bitrate residual coding is in use.

rtp, realtime

normative-requirement §5.2 MUST NOT

The optional parameters MPS-profile-level-id and MPS-config are defined for AAC-hbr and AAC-lbr modes only and SHALL NOT be used for the MPS-hbr and MPS-lbr modes.

rtp, realtime

normative-requirement §4.2 MUST

The sampling rate of the MPEG Surround signal and the decoded downmix signal MUST be identical.

rtp, realtime

normative-requirement §4.1 SHOULD

When using the embedded mode (SpatialFrame()s inside AAC payloads), either the AAC-lbr or AAC-hbr mode SHOULD be used, and the additional Media Type parameters defined in Section 5.1 SHOULD be present.

rtp, realtime

protocol-element §4.2.2

MPS-hbr mode (mode=MPS-hbr) supports transport of one fragment of an AU, one complete AU, or several complete AUs, each consisting of a single MPEG Surround SpatialFrame(). Maximum SpatialFrame() size is 8191 bytes. Receivers MUST support de-interleaving.

rtp, realtime

protocol-element §4.2.1

MPS-lbr mode (mode=MPS-lbr) supports transport of one or more complete Access Units each consisting of a single MPEG Surround SpatialFrame(). Maximum SpatialFrame() size is 63 bytes. Fragmentation MUST NOT be used; receivers MUST support de-interleaving.

rtp, realtime

protocol-element §5.1

The MPS-config parameter carries a hexadecimal representation of the AudioSpecificConfig (ASC) for MPEG Surround, mapped MSB-first. The AOT in this ASC SHALL have value 30, and the SSC inside the ASC MUST have sacPayloadEmbedding set to 1 (for embedded mode).

rtp, realtime

protocol-element §5.1

The MPS-profile-level-id parameter carries a decimal representation of the MPEG Surround Profile and Level Indication as defined in ISO/IEC 14496-3. It MUST be used in capability exchange or session set-up to indicate the required decoder capability.

rtp, realtime

registry §5.2

This memo registers two new mode values — 'MPS-hbr' and 'MPS-lbr' — for the 'mode' parameter of the 'audio/mpeg4-generic' media subtype in the IANA repository defined by RFC 3640, to support MPEG Surround elementary streams.

registry, rtp, realtime

security-consideration §6

RTP packets carrying this payload are subject to confidentiality, integrity, and source authenticity requirements. Confidentiality is achieved by encrypting the RTP payload; integrity and source authentication require a cryptographic mechanism. SRTP is recommended where suitable; IPsec and TLS (RTP over TCP) are noted as alternatives.

security, rtp

security-consideration §6

The AAC extension_payload() mechanism used to embed MPEG Surround data creates a covert channel: extra data is gracefully skipped by decoders that do not support it and could be used to transmit unauthorized data inside an otherwise valid stream.

security, rtp

wire-format §4.2.2

In MPS-hbr mode, the 2-octet AU-header encodes the size of each AAC frame as 13 bits and 3 bits of index information (AU-Index or AU-Index-delta). Each AU-Index field MUST be coded with value 0. The AU Header Section MUST be preceded by the 16-bit AU-headers-length field. The Auxiliary Section MUST be empty.

rtp, realtime

wire-format §4.2.1

In MPS-lbr mode, the 1-octet AU-header encodes the size of each AAC frame as 6 bits and 2 bits of index information. The AU Header Section MUST be preceded by the 16-bit AU-headers-length field. The Auxiliary Section MUST be empty.

rtp, realtime