RTP Control Protocol (RTCP) Extended Report (XR) Blocks for Concealment Metrics Reporting on Audio Applications
Extracted elements (25)
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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).
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.
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).
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.
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).
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).
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'.
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.
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.
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).
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).
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.
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).
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).
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.