Networking Working Group Q.Wu Internet Draft Huawei Intended status: Standard Track G.Zorn Expires: December 2010 Network Zen June 29, 2010 RTCP XR Report for video Quality Monitoring draft-wu-avt-rtcp-xr-quality-monitoring-00.txt Abstract This document defines an RTCP XR Report Block that allows the reporting of video quality metrics primarily for video application of RTP. Status of this Memo This Internet-Draft is submitted to IETF in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at http://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." This Internet-Draft will expire on December 29, 2010. Copyright Notice Copyright (c) 2010 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Wu Expires December 29, 2010 [Page 1] Internet-Draft RTCP XR Report for Quality Monitoring June 2010 This document may contain material from IETF Documents or IETF Contributions published or made publicly available before November 10, 2008. The person(s) controlling the copyright in some of this material may not have granted the IETF Trust the right to allow modifications of such material outside the IETF Standards Process. Without obtaining an adequate license from the person(s) controlling the copyright in such materials, this document may not be modified outside the IETF Standards Process, and derivative works of it may not be created outside the IETF Standards Process, except to format it for publication as an RFC or to translate it into languages other than English. Table of Contents 1. Introduction.................................................2 2. Requirements Notation........................................4 3. Applicability................................................4 4. RTP Flows Synchronization Delay Report Block.................5 5. Audio-Video Synchronization Report Block.....................6 6. Statistics Summary Report Block..............................7 7. TR 101 290 Decodability Metrics Block........................9 8. Video Stream Metrics Report Block...........................13 8.1. Packet Loss and Discard Metrics........................15 8.2. Burst Metrics..........................................17 8.3. Delay Metrics..........................................18 8.4. Configuration Parameter Metrics........................18 8.5. Jitter Buffer Parameters...............................18 9. Perceptual Quality Metrics Block............................19 10. SDP Signaling..............................................22 11. IANA Consideration.........................................23 12. Security Consideration.....................................25 13. References.................................................25 13.1. Normative References..................................25 13.2. Informative References................................26 1. Introduction Along with the wide deployment of broadband access and development of new emerging IPTV services (e.g., broadcast video, video on demand), there is increasing interest in monitoring and managing networks and applications that deliver real time application over IP, to ensure all end users obtain acceptable video/audio quality. The main drives come from operators, since offering the performance monitoring capability can help diagnose the potential network impairment, facilitate in root cause analysis and verify compliance of service level agreements(SLAs) between Internet Service Providers (ISPs) and content provider. Wu Expires December 29, 2010 [Page 2] Internet-Draft RTCP XR Report for Quality Monitoring June 2010 The factors that affect the Real time application quality can be split into two categories. The first category is network dependent factors consist of Packet losses, delay and jitter (which also translates into losses in the playback buffer). The factors in the second category are application specific factors that affect video quality and is sensitivity to network errors. These factors can be but not limited to video codec and loss recovery technique, coding bit rate, packetization scheme, and content characteristics. Comparing with application specific factors, the network dependent factors sometimes are not sufficient to measure video quality, since the ability to analyze the video in the application layer provides quantifiable measurements for subscriber QoE that may not be captured in the transmission layers or from the RTP layer down. A typical monitoring scenario of the transmission layers can produce statistics suggesting that quality is not an issue, such as the fact that network jitter is not excessive. However, problems may occur in the service layers leading to poor subscriber QoE. Therefore monitoring using only network-level measurements may be insufficient when application layer video quality is required. In order to provide accurate measures of video quality for operator when transporting video across a network, the video quality Metrics is highly required which can be conveyed in the RTCP XR packets [RFC3611] has the following three benefits: O Tuning the video encoder algorithm to satisfy the video quality requirements O Determining which system techniques to use in a given situation and when to switch from one technique to another as system parameters change O Verifying the continued correct operation of an existing system. As described in [RFC3611], seven report block formats are defined for network management and quality monitoring. However there are no block types used for conveying video quality metrics. This document focuses on specifying new report block types used to convey video specific quality metrics. The report block types defined in this document fall into two categories. The first category consists of synchronization information on received RTP packets. The report in the second category convey metrics relating to packet receipts defined in [RFC3611], that are summary in nature but that are more detailed, or of a different type, than that conveyed in existing RTCP packets. Wu Expires December 29, 2010 [Page 3] Internet-Draft RTCP XR Report for Quality Monitoring June 2010 All told, six report block formats are defined by this document. Of these, two are synchronization information block type - RTP Flows Synchronization Delay Report Block - Audio-Video Synchronization Report Block The other four are the summary metrics block type - Statistics Summary Report Block - TR 101 290 [TR101 290] Decodability Metrics Block - Video Stream Metrics Report Block - Perceptual Quality Metrics Block 2. Requirements Notation The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT","SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119]. 3. Applicability All the report blocks defined in this document could be used by dedicated network monitoring applications. As specified in [RFC3611], for such an application, it might be appropriate to allow more than 5% of RTP data bandwidth to be used for RTCP packets, thus allowing proportionately larger and more detailed report blocks. Audio-Video Synchronization Report Block has been defined for video conferencing applications. Any such applications can use this report block to monitor A/V component synchronization to ensure satisfactory QOE. The tighter tolerances than typically has been recommended for such applications. RTP Flows Synchronization Delay Report Block has been defined primarily for layered or multi-description video coding application. In such applications when joining a layered video session, a receiver may not synchronize playout across the multimedia session until RTCP SR packets have been received on all of the component RTP sessions. This report block can be used to ensure synchronization between different Media layers for the same multimedia session. Video Stream Metrics Report Block and Statistics Summary Report Block can be applied to any real time video application, while TR 101 290 Wu Expires December 29, 2010 [Page 4] Internet-Draft RTCP XR Report for Quality Monitoring June 2010 Decodability Metrics Report Block and Perceptual Quality Metrics Report Block can be used any real time visual-audio application. 4. RTP Flows Synchronization Delay Report Block This block reports Synchronization Delay between RTP sessions of the same video stream sent using MST [SVC] beyond the information carried in the standard RTCP packet format. Information is recorded about Session Bandwidth and Synchronization Delay. The RTP Flows Synchronization Delay Report Block has the following format: 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | BT=TBD | Reserved | Block length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SSRC of Sender | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Session Bandwidth | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Initial Synchronization Delay | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Block type (BT): 8 bits A The Statistics Summary Report Block is identified by the constant TBD. Reserved: 8 bits This field is reserved for future definition. In the absence of such a definition, the bits in this field MUST be set to zero and MUST be ignored by the receiver. Block length: 16 bits The constant 3, in accordance with the definition of this field in Section 3 of [RFC3611]. SSRC of Sender: 32 bits The SSRC of the RTP data packet source being reported upon by this report block. (section 4.1 of RFC 3611). Wu Expires December 29, 2010 [Page 5] Internet-Draft RTCP XR Report for Quality Monitoring June 2010 Session Bandwidth: 32 bits This field indicates the maximum bandwidth allocated to each RTP Session. The value in this field represents the bandwidth allocation per RTP Session in kilobits per second, with values in the range 0 <= BW < 65536. Initial Synchronization Delay: 32 bits The average delay, expressed in units of 1/65536 seconds, between the RTCP packets received on all of the components RTP sessions and the beginning of session. [I.D-ietf-avt-rapid-rtp- sync-10]. The value is calculated as follows: Initial Synchronization Delay = Max (the time interval between Receiving the first RTP packet with Synchronization Metadata and the start of a session, the time interval between receiving the first RTCP packet in the RTP session with the longest RTCP reporting interval and the start of a session). 5. Audio-Video Synchronization Report Block This block reports the audio-video synchronization requirements between audio and video components beyond the information carried in the standard RTCP packet format. Information is recorded about tolerant audio lead video time and tolerant audio lag video time. The Audio-Video Synchronization Report Block has the following format: 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | BT=TBD |L| Reserved | Block length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SSRC of source | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Audio Lead Video | Audio Lag Video | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Block type (BT): 8 bits A The Statistics Summary Report Block is identified by the constant TBD. Audio Lead/Lag Video flag(L): 1 bit Bit set to 1 if Audio Lead Video field contains a report, 0 if Audio Lag Video field contains a report. Reserved.: 7 bits This field is reserved for future definition. In the absence of Wu Expires December 29, 2010 [Page 6] Internet-Draft RTCP XR Report for Quality Monitoring June 2010 such a definition, the bits in this field MUST be set to zero and MUST be ignored by the receiver. Block length: 16 bits The constant 2, in accordance with the definition of this field in Section 3 of [RFC3611]. SSRC of source: 32 bits As defined in Section 4.1 of [RFC3611]. Audio Lead Video time: 16 bits This field indicates the tolerant audio lead video time in milliseconds [WT-126]. This value is calculated based on the interarrival time between previous video RTP packet and the next first audio RTP packet and timestamps of both previous video RTP packet and the next first audio packet. Audio Lag Video: 16 bits This field indicates the tolerant audio lag video time in milliseconds [WT-126]. This value is calculated based on the interarrival time between previous video RTP packet and the next first audio RTP packet and timestamps of both previous video RTP packet and the next first audio packet. 6. Video Statistics Summary Report Block This block reports statistics beyond the information carried in the Statistics Summary Report Block RTCP packet specified in the section 4.6 of [RFC3611]. Information is recorded about lost frame packets, duplicated frame packets, lost layered component packets, duplicated layered component packets. Such information can be useful for network management and video quality monitoring. The report block contents are dependent upon a series of flag bits carried in the first part of the header. Not all parameters need to be reported in each block. Flags indicate which parameters are reported and which are not. The fields corresponding to unreported parameters MUST be present, but are set to zero. The receiver MUST ignore any Decodaility metrics Block with a non-zero value in any field flagged as unreported. The Statistics Summary Report Block has the following format: Wu Expires December 29, 2010 [Page 7] Internet-Draft RTCP XR Report for Quality Monitoring June 2010 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | BT=TBD |L|D|FT | LT |P| block length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SSRC of source | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | begin_seq | end_seq | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | lost_frames | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | dup frames | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | lost_layered component packets | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | dup layered component_packets | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | lost_partial frame packets | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | dup partial frame_packets | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Block type (BT): 8 bits The Statistics Summary Report Block is identified by the constant TBD. loss report flag (L): 1 bit Bit set to 1 if the lost_frame packets field or lost_layered_component field or lost partial frame packets field contains a report, 0 otherwise. duplicate report flag (D): 1 bit Bit set to 1 if the dup_frame packets field or dup_layered_component packets field or dup partial frame packets contains a report, 0 otherwise. Frame type flag (FT): 2 bits This field is used to indicate the frame type to be reported. Bits set to 1 if the lost_frames field or dup_frames field contain a I_frame report, 2 if the lost_frams field and dup_frames field contain a P frame report, 3 if the lost_frames field and dup_frames field contain a B frame report, 0 otherwise. Layer Type flag (LT): 3 bits This field is used to indicate the Layer Type of layered video to be reported. LT is set to 1 if the loss_component_packet field and dup_component packet contain the base layer packet in SVC [SVC], 2 if the loss_component packet field and Wu Expires December 29, 2010 [Page 8] Internet-Draft RTCP XR Report for Quality Monitoring June 2010 dup_component packet contain enhancement layer 1 packet in SVC, 3 if the loss_component packet field and dup_component packet contain the enhancement layer 2 packet, 0 otherwise. P: 1 bit Bit set to 1 if the lost_partial frame packets field or dup_partial_frame packets field contains a report, 0 otherwise. Block length: 16 bits The constant 8, in accordance with the definition of this field in Section 3 of [RFC3611]. SSRC of source: 32 bits As defined in Section 4.1 of [RFC3611]. begin_seq: 16 bits As defined in Section 4.1 of [RFC3611]. end_seq: 16 bits As defined in Section 4.1 of [RFC3611]. lost_frames: 32 bits Number of lost_frames in the above sequence number interval. dup_frames: 32 bits Number of dup_frames in the above sequence number interval. lost_layered component packets: 32 bits Number of lost_component packets in the above sequence number interval. dup_layered component packets: 32 bits Number of dup_component packets in the above sequence number interval. lost_partial frame packets: 32 bits Number of lost_partial frame packets in the above sequence number interval. dup_partial frame packets: 32 bits Number of dup_partial frame packets in the above sequence number interval. 7. TR 101 290 Decodability Metrics Block This block reports Decodability metrics statistics beyond the information carried in the standard RTCP packet format. Information Wu Expires December 29, 2010 [Page 9] Internet-Draft RTCP XR Report for Quality Monitoring June 2010 is recorded about the number of Transport Stream Synchronization Losses, Sync byte errors, Continuity count errors, Transport errors, PCR errors, PCR repetition errors, PCR repetition errors, PCR discontinuity indicator errors, PTS errors. Such information can be useful for network management and video quality monitoring. Note that this is only applicable to MPEG-2 Transport stream and not to any other video codec. The metrics block contents are dependent upon a series of flag bits carried in the first part of the header. Not all parameters need to be reported in each block. Flags indicate which are and which are not reported. The fields corresponding to unreported parameters MUST be present, but are set to zero. The receiver MUST ignore any Decodaility metrics Block with a non-zero value in any field flagged as unreported. The Decodability metrics Block has the following format: Wu Expires December 29, 2010 [Page 10] Internet-Draft RTCP XR Report for Quality Monitoring June 2010 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | BT=TBD |L|B|C|T|P|S|rvd| block length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SSRC of source | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | begin_seq | end_seq | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Number of packets | Number of TS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Transport Stream Synchronization Losses | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Sync byte errors | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Continuity count errors | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Transport errors | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PCR errors | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PCR repetition errors | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PCR discontinuity indicator errors | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PTS errors | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ block type (BT): 8 bits A TR101.290 decodability metrics Block is identified by the constant TBD. Transport Stream Synchronization Loss flag (L): 1 bit Bit set to 1 if the Transport Stream Synchronization Loss field contains a report, 0 otherwise. Sync byte error flag (B):1 bit Bit set to 1 if the Continuity count error field contains a report, 0 otherwise. Continuity count error flag (C):1 bit Bit set to 1 if the Sync byte error field contains a report, 0 otherwise. Transport error flag (T):1 bit Bit set to 1 if the Transport error field contains a report, 0 otherwise. Wu Expires December 29, 2010 [Page 11] Internet-Draft RTCP XR Report for Quality Monitoring June 2010 PCR related error flag (P):1 bit Bit set to 1 if the PCR error field, PCR repetition error field and PCR discontinuity indicator error field contains a report, 0 otherwise. PTS error flag (S):1 bit Bit set to 1 if the PTS error field contains a report, 0 otherwise. rvd: 2 bits This field is reserved for future definition. In the absence of such a definition, the bits in this field MUST be set to zero and MUST be ignored by the receiver. block length: 16 bits The constant 10, in accordance with the definition of this field in Section 3 of [RFC3611]. SSRC of source: 32 bits As defined in Section 4.1 of [RFC3611]. begin_seq: 16 bits As defined in Section 4.1 of [RFC3611]. end_seq: 16 bits As defined in Section 4.1 of [RFC3611]. Number of Packets Number of RTP packets in the above sequence number interval. Number of TSs Number of TSs in the above sequence number interval. Transport Stream Synchronization Losses: 32 bits Number of Transport Stream Synchronization Losses in the above sequence number interval. Sync byte errors: 32 bits Number of Transport sync byte errors in the above sequence number interval. Continuity count error: 32 bits Number of Transport Continuity count errors in the above sequence number interval. Wu Expires December 29, 2010 [Page 12] Internet-Draft RTCP XR Report for Quality Monitoring June 2010 Transport errors: 32 bits Number of Transport errors in the above sequence number interval. PCR errors: 32 bits Number of PCR errors in the above sequence number interval. PCR repetition errors: 32 bits Number of Transport PCR repetition errors in the above sequence number interval. PCR discontinuity indicator errors: 32 bits Number of PCR discontinuity indicator errors in the above sequence number interval. PTS errors: 32 bits Number of PTS errors in the above sequence number interval. 8. Video Stream Metrics Report Block The video Stream Metrics Report Block provides metrics for monitoring the quality of video stream. This metrics includes Loss and discard metrics, Burst metrics, Delay metrics for I-Frame packets, B-Frame packets and P-Frame packets, Configuration parameter metrics. The block reports separately on packets lost on the IP channel, and those that have been received but then discarded by the receiving jitter buffer. It also reports on the combined effect of losses and discards, as both have equal effect on video quality. In order to properly assess the quality of a video stream, it is desirable to consider the degree of burstiness of packet loss [RFC3357]. Following One-way Loss Pattern Sample Metrics specified in [RFC3357], a measure of the spacing between consecutive network packet loss or error events, is a "loss distance". The loss distance metric captures the spacing between the loss periods. The duration of a loss or error event (e.g. and how many packets are lost in that duration) is a "loss period", the loss period metric captures the frequency and length (burstiness) of loss once it starts. Delay reports include the transit delay between RTP end points and the end system processing delays, both of which contribute to the user perceived delay. Implementations MUST provide values for all the fields defined here. For certain metrics, if the value is undefined or unknown, then the specified default or unknown field value MUST be provided. The block is encoded as six 32-bit words: Wu Expires December 29, 2010 [Page 13] Internet-Draft RTCP XR Report for Quality Monitoring June 2010 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | BT=TBD |FT | reserved | block length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SSRC of source | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Loss rate | Discard rate | Loss Period | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Loss Distance | Max Loss Duration | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Round trip delay | End system delay | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Gmin | RX config | JB nominal | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | JB maximum | JB abs max | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ block type (BT): 8 bits A Video Stream Metrics Report Block is identified by the constant TBD. Frame type flag (FT): 2 bits This field is used to indicate the frame type to be reported. Bits set to 1 if the Loss rate field and discard rate field contain a I_frame report, 2 if the Loss rate field and discard rate field contain a P frame report, 3 if the Loss rate field and discard rate field contain a B frame report, 0 otherwise. Wu Expires December 29, 2010 [Page 14] Internet-Draft RTCP XR Report for Quality Monitoring June 2010 reserved: 6 bits This field is reserved for future definition. In the absence of such a definition, the bits in this field MUST be set to zero and MUST be ignored by the receiver. block length: 16 bits The constant 8, in accordance with the definition of this field in Section 3. SSRC of source: 32 bits The SSRC of the RTP data packet source being reported upon by this report block. The remaining fields are described in the following four sections: Packet Loss and Discard Metrics, Delay Metrics, Configuration Metrics, and Jitter Buffer Parameters. 8.1. Packet Loss and Discard Metrics It is very useful to distinguish between packets lost by the network and those discarded due to jitter. Both have equal effect on the quality of the video stream, however, having separate counts helps identify the source of quality degradation. These fields MUST be populated, and MUST be set to zero if no packets have been received. Loss rate for I-Frame packets: 8 bits The fraction of RTP data packets from the source lost since the beginning of reception, expressed as a fixed point number with the binary point at the left edge of the field. This value is calculated by dividing the total number of I frame packets lost (after the effects of applying any error protection such as FEC) by the total number of packets expected, multiplying the result of the division by 256, limiting the maximum value to 255 (to avoid overflow), and taking the integer part. The numbers of duplicated packets and discarded packets do not enter into this calculation. Since receivers cannot be required to maintain unlimited buffers, a receiver MAY categorize late-arriving packets as lost. The degree of lateness that triggers a loss SHOULD be significantly greater than that which triggers a discard. Discard rate for I-Frame packets: 8 bits The fraction of RTP data packets from the source that have been discarded since the beginning of reception, due to Wu Expires December 29, 2010 [Page 15] Internet-Draft RTCP XR Report for Quality Monitoring June 2010 late or early arrival, under-run or overflow at the receiving jitter buffer. This value is expressed as a fixed point number with the binary point at the left edge of the field. It is calculated by dividing the total number of I-Frame packets discarded(excluding duplicate packet discards) by the total number of packets expected, multiplying the result of the division by 256, limiting the maximum value to 255 (to avoid overflow), and taking the integer part. Loss rate for P-Frame packets: 8 bits The loss rate for P-Frame packets is similar to the loss rate for I-Frame packets. The value is calculated by dividing the total number of P frame packets lost (after the effects of applying any error protection such as FEC) by the total number of packets expected, multiplying the result of the division by 256 Discard rate for P-Frame packets: 8 bits The discard rate for P-Frame packets is similar to the discard rate for I-Frame packets. The value is calculated by dividing the total number of P-Frame packet discarded(excluding duplicate packet discards) by the total number of packets expected, multiplying the result of the division by 256. Loss rate for B-Frame packets: 8 bits The loss rate for B-Frame packets is similar to the loss rate for I-Frame packets. The value is calculated by dividing the total number of B frame packets lost (after the effects of applying any error protection such as FEC) by the total number of packets expected, multiplying the result of the division by 256 Discard rate for B-Frame packets: 8 bits The discard rate for B-Frame packets is similar to the discard rate for P-Frame packets. The value is calculated by dividing the total number of B-Frame packet discarded(excluding duplicate packet discards) by the total number of packets expected, multiplying the result of the division by 256. Wu Expires December 29, 2010 [Page 16] Internet-Draft RTCP XR Report for Quality Monitoring June 2010 8.2. Burst Metrics Loss Distance: 16 bits The mean duration, expressed in milliseconds, of the loss intervals that have occurred since the beginning of reception [WT-126]. The duration of each loss distance is calculated based upon the frames that mark the beginning and end of that period. It is equal to the timestamp of the end frame, plus the duration of the end frame, minus the timestamp of the beginning frame. If the actual values are not available, estimated values MUST be used. If there have been no burst periods, the burst duration value MUST be zero. Loss Period: 16 bits The mean duration, expressed in milliseconds, of the burst loss periods that have occurred since the beginning of reception [WT-126]. The duration of each period is calculated based upon the frame that marks the end of the prior burst loss and the frame that marks the beginning of the subsequent burst loss. It is equal to the timestamp of the subsequent burst frame, minus the timestamp of the prior burst packet, plus the duration of the prior burst packet. If the actual values are not available, estimated values MUST be used. In the case of a gap that occurs at the beginning of reception, the sum of the timestamp of the prior burst packet and the duration of the prior burst packet are replaced by the reception start time. In the case of a gap that occurs at the end of reception, the timestamp of the subsequent burst packet is replaced by the reception end time. If there have been no gap periods, the gap duration value MUST be zero. Max Loss Duration of a single error: 16 bits The maximum loss duration, expressed in milliseconds, of the loss periods that have occurred since the beginning of reception. The recommended max loss duration is specified as less than 16 ms in [WT-126], which provides a balance between interleaver depth protection from impulse noise induced xDSL errors, delay added to other applications and video service QoE requirements to reduce visible impairments. Wu Expires December 29, 2010 [Page 17] Internet-Draft RTCP XR Report for Quality Monitoring June 2010 8.3. Delay Metrics Similar to the delay metrics for audio stream defined in the section 4.7.3 of [RFC3611], the delay metrics for video stream fall into two category: end-system delay due to RTP payload multiplexing and round trip delay due to multiplexing RTP frames within a UDP frame. Round trip delay: 16 bits As defined in Section 4.7.3 of [RFC3611]. End system delay: 16 bits As defined in Section 4.7.3 of [RFC3611]. 8.4. Configuration Parameter Metrics Similar to the configuration metrics defined in the section 4.7.6 of [RFC3611], the configuration metrics for video stream include Gmin,receiver configuration byte,packet loss concealment,jitter buffer adaptive,jitter buffer rate. Gmin: 8 bits As defined in Section 4.7.6 of [RFC3611]. Receiver configuration byte (RX config): 8 bits As defined in Section 4.7.6 of [RFC3611]. Packet loss concealment (PLC): 2 bits As defined in Section 4.7.6 of [RFC3611]. Jitter buffer adaptive (JBA): 2 bits As defined in Section 4.7.6 of [RFC3611]. Jitter buffer rate (JB rate): 4 bits As defined in Section 4.7.6 of [RFC3611]. 8.5. Jitter Buffer Parameters Similar to the Jitter Buffer Parameters defined in the section 4.7.7 of [RFC3611], the Jitter Buffer Parameters for video stream include Wu Expires December 29, 2010 [Page 18] Internet-Draft RTCP XR Report for Quality Monitoring June 2010 jitter buffer nominal delay, jitter buffer maximum delay, jitter buffer absolute maximum delay. Jitter buffer nominal delay (JB nominal): 16 bits As defined in Section 4.7.7 of [RFC3611]. Jitter buffer maximum delay (JB maximum): 16 bits As defined in Section 4.7.7 of [RFC3611]. Jitter buffer absolute maximum delay (JB abs max): 16 bits As defined in Section 4.7.7 of [RFC3611]. 9. Perceptual Quality Metrics Block This block reports the perceptual Quality Metrics beyond the information carried in the standard RTCP packet format. Information is recorded about Video MOS, Audio Video MOS, Video Service Transmission Quality, Video Service Audio Quality, Video Service Multimedia Quality, Video Service Picture Quality. The metrics block contents are dependent upon a series of flag bits carried in the first part of the header. Not all parameters need to be reported in each block. Flags indicate which are and which are not reported. The fields corresponding to unreported parameters MUST be present, but are set to zero. The receiver MUST ignore any Decodability metrics Block with a non-zero value in any field flagged as unreported. The Perceptual Quality Metrics Block has the following format: Wu Expires December 29, 2010 [Page 19] Internet-Draft RTCP XR Report for Quality Monitoring June 2010 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | BT=TBD |I|S|T|A|M|P|Rsd| block length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SSRC of source | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MOS-V | MOS-AV | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | VSTQ | VSAQ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | VSMQ | VSPQ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Loss Period VSPQ | Loss Distance VSPQ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Block type (BT): 8 bits A The Statistics Summary Report Block is identified by the constant TBD. Interval Metric flag (I): 1 bit This field is used to indicate whether the Basic Loss/Discard metrics are Interval or Cumulative metrics, that is, whether the reported values applies to the most recent measurement interval duration between successive metrics reports (I=1) (the Interval Duration) or to the accumulation period characteristic of cumulative measurements (I=0) (the Cumulative Duration). MOS-V flag (S): 1 bit Bit set to 1 if the MOS-V field and MOS-AV field contains a report, 0 otherwise. Video Service Transmission Quality flag (T): 1 bit Bit set to 1 if the Video Service Transmission Quality field contains a report, 0 otherwise. Video Service Audio Quality flag (A): 1 bit Bit set to 1 if the Video Service Transmission Quality field contains a report, 0 otherwise. Video Service Multimedia Quality flag (M): 1 bit Bit set to 1 if the Video Service Multimedia Quality field contains a report, 0 otherwise. Wu Expires December 29, 2010 [Page 20] Internet-Draft RTCP XR Report for Quality Monitoring June 2010 Video Service Picture Quality flag (P): 1 bit Bit set to 1 if the Video Service Picture Quality field, Loss Period VSPQ, Loss Distance VSPQ contains a report, 0 otherwise. Rsd.: 2 bits This field is reserved for future definition. In the absence of such a definition, the bits in this field MUST be set to zero and MUST be ignored by the receiver. SSRC of source: 32 bits As defined in Section 4.1 of [RFC3611]. MOS-V: 16 bits The estimated mean opinion score for video quality (MOS-V) is a video quality metric on a scale from 1 to 5, in which 5 represents excellent and 1 represents unacceptable. This metric is defined as not including the effects of audio impairments and can be compared to MOS scores obtained from video quality tests. It is expressed as an integer in the range 10 to 50, corresponding to MOS x 10. For example, a value of 35 would correspond to an estimated MOS score of 3.5. A value of 127 indicates that this parameter is unavailable. Values other than 127 and the valid range defined above MUST not be sent and MUST be ignored by the receiving system. MOS-AV: 16 bits The estimated mean opinion score for Audio-Video quality (MOS- AV) is defined as including the effects of delay and other effects that would affect Audio-Video quality. It is expressed as an integer in the range 10 to 50, corresponding to MOS x 10, as for MOS-AV. A value of 127 indicates that this parameter is unavailable. Values other than 127 and the valid range defined above MUST not be sent and MUST be ignored by the receiving system. VSTQ: 16 bits Video Service Transmission Quality (TBC) VSAQ: 16 bits Video Service Audio Quality (TBC) Wu Expires December 29, 2010 [Page 21] Internet-Draft RTCP XR Report for Quality Monitoring June 2010 VSMQ: 16 bits Video Service Multimedia Quality (TBC) VSPQ: 16 bits Video Service Picture Quality (TBC) Loss Period VSPQ: 16 bits Video Service Picture Quality during Loss Period (TBC) Loss Distance VSPQ: 16 bits Video Service Picture Quality during Loss Distance (TBC) 10. SDP Signaling Six new parameters are defined for the six report block defined in this document to be used with Session Description Protocol (SDP) [RFC4566] using the Augmented Backus-Naur Form (ABNF) [RFC5234]. It has the following syntax within the "rtcp-xr" attribute [RFC3611]: rtcp-xr-attrib = "a=rtcp-xr:" [xr-format *(SP xr-format)] CRLF xr-format = RTP-flows-syn /audio-video-syn /percept-quality-metrics / video-stream-metric / video-stat-summary / decodability-metric RTP-flows-syn =" RTP-flows-syn" ["=" max-size] audio-video-syn" audio-video-syn" ["=" max-size] percept-quality-metrics ="percept-quality-metrics" ["=" max-size] Wu Expires December 29, 2010 [Page 22] Internet-Draft RTCP XR Report for Quality Monitoring June 2010 video-stream-metric ="video-stream-metric" ["=" max-size] video-stat-summary ="video-stat-summary" ["=" stat-flag *("," stat-flag)] stat-flag = "I Frame loss and duplication" / "P Frame loss and duplication" / "B Frame loss and duplication" decodability-metric ="decodability-metric" ["=" stat-flag *("," stat- flag)] stat-flag = " Interval Metric" / "MOS-V and MOS-AV" /" VSTQ" /"VSAQ" /"VSMQ" /"VSPQ" max-size = 1*DIGIT ; maximum block size in octets Figure x Refer to Section 5.1 of [RFC3611] for a detailed description and the full syntax of the "rtcp-xr" attribute. 11. IANA Consideration New block types for RTCP XR are subject to IANA registration. For general guidelines on IANA considerations for RTCP XR, refer to [RFC3611]. This document assigns six block type values in the RTCP XR Block Type Registry with the following registrations format: Name: RFSD Long Name: RTP Flows Synchronization Delay Value: TBD Reference: This document. Wu Expires December 29, 2010 [Page 23] Internet-Draft RTCP XR Report for Quality Monitoring June 2010 Name: AVS Long Name: Audio-Video Synchronization Value: TBD Reference: This document. Name: VSS Long Name: Video Statistics Summary Value: TBD Reference: This document. Name: TDM Long Name: TR 101 290 Decodability Metrics Value: TBD Reference: This document. Name: VSM Long Name: Video Stream Metrics Value: TBD Reference: This document. Name: PQM Long Name: Perceptual Quality Metric Value: TBD Reference: This document. This document also registers the six SDP [RFC4566] parameters for the "rtcp-xr" attribute in the RTCP XR SDP Parameters Registry,i.e., " RTP-flows-syn " "audio-video-syn" "percept-quality-metrics" "video-stream-metric" "video-stat-summary" "decodability-metric" The contact information for the registrations is: Qin Wu sunseawq@huawei.com 101 Software Avenue, Yuhua District Wu Expires December 29, 2010 [Page 24] Internet-Draft RTCP XR Report for Quality Monitoring June 2010 Nanjing, JiangSu 210012 China 12. Security Consideration TBD. 13. Acknowledgement The authors would like to thank Youqing Yang, Wenxiao Yu,Yinliang Hu for their valuable comments and suggestions on this document. 14. References 14.1. Normative References [RFC2250] Hoffman,D., Fernando,G., Goyal,V., M.Civanlar," RTP Payload Format for MPEG1/MPEG2 Video",RFC2250,January,1998 [RFC3611] Friedman,T. ,Caceres,R. ,A. Clark," RTP Control Protocol Extended Reports (RTCP XR)",RFC3611,November,2003 [RFC3357] Koodli,R.,R.,Ranvikanth,"One-way Loss Pattern Sample Metrics",RFC3357,August,2002 [I.D.ietf-avt-rapid-rtp-sync] Perkins, C., T. Schierl," Rapid Synchronisation of RTP Flows", draft-ietf-avt-rapid-rtp-sync (work in progress),May,2010 [RFC5760] Ott, J. and J. Chesterfield, "RTCP Extensions for Single- Source Multicast Sessions with Unicast Feedback", RFC5760, November 2009. [RFC4566] Handley, M., Jacobson, V., and C. Perkins, "SDP: Session Description Protocol", RFC 4566, July 2006. [RFC5234] Crocker, D. and P. Overell, "Augmented BNF for Syntax Specifications: ABNF", STD 68, RFC 5234, January 2008. [SVC] Wenger, S., Wang, Y., Schierl, T., and A. Eleftheriadis, "RTP Payload Format for SVC Video", draft-ietf-avt-rtp- svc-21 (work in progress), April 2010. Wu Expires December 29, 2010 [Page 25] Internet-Draft RTCP XR Report for Quality Monitoring June 2010 14.2. Informative References [ISO138184]ISO/IEC 13818-4 "Information Technology - Generic coding of moving pictures and association audio information - Part4: Conformance Testing" [WT-126] DSL Forum Technical Report TR-126 "Trip-Play Services Qualities of Experience (QoE) Requirements",December,2006 [TR101 290] Digital Video Broadcast(DVB);Measurement guideline for DVB Systems [J.144]ITU-T Recommendation J.144 "Objective perceptual video quality measurement techniques for digital cable television in the presence of a full reference" [MONARCH] Hunt, G., "Monitoring Architectures for RTP", ID draft- hunt-avt-monarch-01, August 2008. [PMOLFRAME] Clark, A., "Framework for Performance Metric Development", ID draft-ietf-pmol-metrics-framework-02, March 2009. Wu Expires December 29, 2010 [Page 26] Internet-Draft RTCP XR Report for Quality Monitoring June 2010 Authors' Addresses Qin Wu Huawei Technologies Co.,Ltd. 101 Software Avenue, Yuhua District Nanjing,JiangSu,210012 China Email: sunseawq@huawei.com Glen Zorn Network Zen 1463 East Republican Street #358 Seattle, WA 98112 USA Email: gwz@net-zen.net Wu Expires December 29, 2010 [Page 27]