170 likes | 315 Views
Using packet drop precedence for graceful degradation. Authors:. Date: 2008-07-07. Abstract. As one of its objectives, the 802.11aa PAR has:
E N D
Using packet drop precedencefor graceful degradation Authors: Date: 2008-07-07 Alex Ashley, NDS Ltd
Abstract As one of its objectives, the 802.11aa PAR has: • Graceful degradation of audio video streams when there is insufficient channel capacity, by enabling packet discarding without any requirement for deep packet inspection There are many issues to consider to meet this goal. The aim of this presentation is to highlight some of these issues and to be a catalyst for discussion on these issues between 802.1 and 802.11 Alex Ashley, NDS Ltd
Background Reading • Slides 4 to 12 in document IEEE 802.11-08/0717r1 provide a good background on MPEG video encoding • However, this background is (hopefully!) not required for this presentation. Alex Ashley, NDS Ltd
Assumption • The assumption in this presentation is that packet discarding for graceful audio video degradation only makes sense for UDP (and UDP-Lite) based streaming • TCP has its own congestion control algorithms. Dropping frames will not provide graceful degradation, just cause retransmissions and probably trigger congestion avoidance algorithms Alex Ashley, NDS Ltd
MAC header IP header UDP header (RTP header) Video Frame UDP (RTP) Packets • An MPEG-2 transport packet is 188 bytes long and contains data for one component (e.g. video, audio, data) • When sending audio video data that is inside MPEG-2 transport packets, typically 7 TS packets are placed inside one UDP packet • Most UDP packets (typically >95%) contain a mix of components Alex Ashley, NDS Ltd
Components of a Transport Stream Alex Ashley, NDS Ltd
Components of a Transport Stream (2) • The tuning information (1.01%) and data components (4.3%) are continuously repeated in the transport stream • Loss of these packets reduces the speed of channel change or use of interactive applications, but has no impact on audio video experience • Therefore, these transport packets make good candidates for discarding when there is congestion • But they don’t normally occur on UDP packet boundaries • Application layer needs to be aware of UDP packing to place these components in their own UDP packets. Alex Ashley, NDS Ltd
Elementary Stream RTP • Another method of audio video streaming is to place individual components in their own RTP stream • The MPEG-2 Transport Stream and PES headers are removed • Each component is sent to a different port • Timestamp field in RTP header is used to synchronize components • Selective packet dropping in RTP ES is much easier, because only one component per UDP packet • But at the moment not widely deployed due to increased receiver complexity Alex Ashley, NDS Ltd
Forward Error Correction (FEC) • To cope with UDP packet loss, some systems add FEC packets • E.g. when streaming IPTV over xDSL • E.g. Adding 16 UDP packets of FEC to every 204 UDP packets of audio video data. Any 16 UDP packets can be lost without information loss • Example FEC schemes: • RFC 2733 RTP Payload Format for Generic FEC • Reed-Solomon • RFC 5053 Raptor FEC • RFC 5170 LDPC Staircase and Triangle FEC • SMPTE2022-1 Pro-MPEG Code of Practice #3 r2 • ETSI TS 102 034 DVB-AL-FEC • Packet discarding very easy as any packet can be a discard candidate • Just don’t throw away too many in one protection period! Alex Ashley, NDS Ltd
Scalable Video Coding • The video encoding is partitioned in a manner that has a baseline and one or more enhancement layers • E.g. an SD baseline plus enhancement to make HD • However, SVC is not widely deployed • Encoder complexity • Decoder complexity • Not actually bandwidth efficient • It’s more efficient to send two separately encoded streams! Alex Ashley, NDS Ltd
So how does this relate to 802.1/11? • There are many ways in which audio video data is streamed over IP networks • Some methods lend themselves to selective packet discarding, some do not • Probably the best pragmatic approach is some simple signalling per UDP packet and let the application decide when it can provide discard hints Alex Ashley, NDS Ltd
DSCP • At layer 3, per hop behaviour defined by DSCP (TOS) field • Typical PHBs: • AF - Assured Forwarding based upon service level agreement • BE - Best Effort • EF - Expedited Forwarding for low-loss, low-latency traffic • CS – Class selector preserves backward compatibility with IP-precedence scheme • AF defines 3 levels of drop precedence • But does EF make more sense for audio video? • Some standards bodies & industry forums have already pre-defined DSCP tags for AV in the home • DVB-IPI uses AF (video=100010 or 100100) • DLNA uses CS (video=101000) • In conclusion, layer 3 tag might not help us • A layer 2 based tagging solution is needed Alex Ashley, NDS Ltd
Priority & DE Drop Eligible Indicator 802.1ad VLAN Tags Alex Ashley, NDS Ltd
PCP field in C-Tag Format Management decision on which row to choose. All Ports on a LAN should select the same row. Alex Ashley, NDS Ltd
Open Questions • How is drop precedence controlled in C-TAGs? • i.e. How are ports configured to a priority code mapping table? • Would consumer grade equipment cope with S Tags? • If so, this could be a way to avoid C-TAG port configurations • How to signal drop precedence in 802.11 frames • Only have 4 EDCA queues, so could use the lowest bit of UP? • What about for TID >7 ? • What if we want to increase the number of queues? Alex Ashley, NDS Ltd
Conclusions • Even without scalable video coding, it is possible to arrange for some UDP packets to be more readily sacrificed than others • Not all audio video streams will be amenable to graceful packet discarding • Layer 3 cannot be relied upon to provide drop precedence signalling • Are there technical or architectural issues in using 802.1ad in 802.11? Alex Ashley, NDS Ltd
References Alex Ashley, NDS Ltd