rfc-7294

RTP Control Protocol (RTCP) Extended Report (XR) Blocks for Concealment Metrics Reporting on Audio Applications

A. Clark, G. Zorn, C. Bi, Q. Wu
date2014-07 streamIETF areaart wgxrblock statusPROPOSED STANDARD pages22 canonicalhttps://www.rfc-editor.org/rfc/rfc7294 doi10.17487/RFC7294
This document defines two RTP Control Protocol (RTCP) Extended Report (XR) blocks that allow the reporting of concealment metrics for audio applications of RTP.

Extracted elements (25)

design-rationale §1.1

Loss Concealment Duration and Buffer Adjustment Concealment Duration are reported separately because buffer adjustment is typically arranged to occur during silence periods, making it less audible and less impactful to user experience compared to loss concealment which occurs at any time.

rtp, realtime

design-rationale §4

The Concealed Seconds metric is modeled after the traditional PSTN T1/E1 errored seconds metric, providing a time-based view of impairments analogous to established telephony quality metrics, making it familiar for network operators.

rtp, realtime

interoperability-note §1.1

These blocks extend the packet loss concealment mechanism defined in Section 4.7.6 of RFC 3611. The plc=3 (enhancement) value is explicitly equivalent to 'enhanced' in RFC 3611 Section 4.7.6. These blocks MUST be used as defined in RFC 3550 and RFC 3611.

rtp, realtime

interoperability-note §5.2

XR blocks MAY be used without prior SDP signaling. When SDP is used in Offer/Answer context, the SDP Offer/Answer usage defined in RFC 3611 applies. The 'thresh' parameter for Severely Concealed Seconds is declared by the offerer.

rtp, realtime

normative-requirement §4.2 MUST NOT

Senders MUST NOT use the values I=00 or I=01 for the Concealed Seconds Metrics Block. If a block is received with I=00 or I=01, the receiver MUST discard the block.

rtp, realtime

normative-requirement §4.2 MUST

The count of Concealed Seconds MUST include the count of Severely Concealed Seconds. Concealment events that cannot be classified as Buffer Adjustment-Type MUST be classified as Loss-Type.

rtp, realtime

normative-requirement §3 MUST

The Loss Concealment Metrics Block SHOULD be sent in the same compound RTCP packet as the Measurement Information Block. If the measurement period is not received in the same compound RTCP packet as this metrics block, this metrics block MUST be discarded.

rtp, realtime

protocol-element §4.2

Concealed Seconds (32 bits) counts whole seconds during which any frame loss or discard due to late arrival occurred. The count MUST include the count of Severely Concealed Seconds. Buffer Adjustment-Type concealment SHOULD NOT cause Concealed Seconds to be incremented, except for audible 'emergency' buffer adjustments during talkspurts.

rtp, realtime

protocol-element §4.2

Severely Concealed Seconds (16 bits) counts non-overlapping one-second periods where cumulative frame loss or discard exceeds the SCS Threshold. The SCS Threshold (8 bits, format 0:8) represents the percentage (0–99.6%) of packets lost/discarded per second; a default of 5% (0x0D) is suggested.

rtp, realtime

protocol-element §4

The Concealed Seconds metrics are based on successive one-second intervals per an unsynchronized RTP clock. Partial periods at tail-end exceeding 500 ms are counted; those under 500 ms are disregarded. The same loss pattern may yield slightly different counts depending on one-second boundary alignment.

rtp, realtime

protocol-element §4

The Concealed Seconds Metrics Block (BT=31) provides metrics analogous to PSTN T1/E1 errored seconds: Unimpaired Seconds, Concealed Seconds, Severely Concealed Seconds (16 bits), and SCS Threshold (8 bits). Block length is 4 (32-bit words minus one).

rtp, realtime

protocol-element §3.2

The Interval Metric flag (I) field (2 bits) indicates whether metrics are Interval Duration (I=10), Cumulative Duration (I=11), Sampled Value (I=01, not allowed for these blocks), or Reserved (I=00). Senders MUST NOT use I=00 or I=01 for Loss Concealment or Concealed Seconds blocks.

rtp, realtime

protocol-element §3

The Loss Concealment Metrics Block (BT=30) provides metrics for actions taken by the receiver to mitigate packet loss and discard, including On-Time Playout Duration, Loss Concealment Duration, Buffer Adjustment Concealment Duration, Playout Interrupt Count, and Mean Playout Interrupt Size. Block length is 6 (32-bit words minus one).

rtp, realtime

protocol-element §3.2

The Packet Loss Concealment Method (plc) field (2 bits) identifies the PLC method in use: 0=silence insertion, 1=simple replay no attenuation, 2=simple replay with attenuation, 3=enhancement. The enhancement method (plc=3) is equivalent to 'enhanced' in RFC 3611 Section 4.7.6.

rtp, realtime

protocol-element §4.2

Unimpaired Seconds (32 bits) counts whole seconds with no frame loss or discard due to late arrival. Normal playout of comfort noise during talker silence with VAD counts as Unimpaired Seconds. Reserved values: 0xFFFFFFFE (out-of-range), 0xFFFFFFFF (unavailable).

rtp, realtime

registry §6.1

This document assigns two new block type values in the IANA 'RTP Control Protocol Extended Reports (RTCP XR) Block Type Registry': LCB (Loss Concealment Metrics Block, value 30) and CSB (Concealed Seconds Metrics Block, value 31).

rtp, realtime, registry

registry §6.2

This document registers two new SDP parameters in the 'RTP Control Protocol Extended Reports (RTCP XR) Session Description Protocol (SDP) Parameters Registry': 'loss-conceal' and 'conc-sec'.

rtp, realtime, registry

security-consideration §7

The RTCP XR blocks defined in this document introduce no new security considerations beyond those described in RFC 3611. These blocks do not provide per-packet statistics, so the risk to confidentiality documented in RFC 3611 Section 7 Paragraph 3 does not apply.

rtp, realtime, security

wire-format §3.2

Buffer Adjustment Concealment Duration is a 32-bit field in RTP timestamp units reporting playout of locally manufactured data due to jitter buffer adaptation or re-sizing. Concealment events that cannot be classified as Buffer Adjustment-Type MUST be classified as Loss-Type.

rtp, realtime

wire-format §3.2

Loss Concealment Duration is a 32-bit field in RTP timestamp units reporting total time the receiver played out locally manufactured audio due to effective frame loss. Reserved values: 0xFFFFFFFE (out-of-range) and 0xFFFFFFFF (unavailable).

rtp, realtime

wire-format §3.2

Mean Playout Interrupt Size is a 32-bit field in RTP timestamp units reporting the mean duration of interruptions to normal playout during the reporting period. Reserved values: 0xFFFFFFFE (out-of-range) and 0xFFFFFFFF (unavailable).

rtp, realtime

wire-format §3.2

On-Time Playout Duration is a 32-bit field expressed in units of RTP timestamp; it MUST include both speech and silence intervals. Reserved values: 0xFFFFFFFE indicates out-of-range, 0xFFFFFFFF indicates measurement unavailable.

rtp, realtime

wire-format §3.2

Playout Interrupt Count is a 16-bit field reporting the number of interruptions to normal playout during the reporting period. Reserved values: 0xFFFE (out-of-range) and 0xFFFF (unavailable).

rtp, realtime

wire-format §4.1

The Concealed Seconds Metrics Block structure contains BT=31 (8 bits), I (2 bits), plc (2 bits), resv (4 bits), block length=4 (16 bits), SSRC of Source (32 bits), Unimpaired Seconds (32 bits), Concealed Seconds (32 bits), Severely Concealed Seconds (16 bits), Reserved (8 bits), and SCS Threshold (8 bits).

rtp, realtime

wire-format §3.1

The Loss Concealment Metrics Block header contains BT (8 bits, value=30), Interval Metric flag I (2 bits), packet loss concealment method plc (2 bits), reserved resv (4 bits), and block length (16 bits, value=6), followed by SSRC of Source (32 bits) and five metric fields.

rtp, realtime