July 2008 doc.: IEEE 802.11-yy/xxxxr0 July 2008 802.11 Packets and MPEG Frames Background to Graceful degradation of audio video streams and Intra-Access Category prioritization Date: 2008-07-02 Authors: Graham Smith, DSP Group Graham Smith, DSP Group
The typical make-up of various MPEG video streams is determined July 2008 doc.: IEEE 802.11-yy/xxxxr0 July 2008 Abstract The typical make-up of various MPEG video streams is determined The relationship to 802.11 packets is noted The results are considered with respect to the objectives of: Graceful degradation of audio video streams Intra-Access Category prioritization of transport streams Graham Smith, DSP Group Graham Smith, DSP Group
The question to be considered is: July 2008 doc.: IEEE 802.11-yy/xxxxr0 July 2008 Objectives Two objectives of PAR are: Graceful degradation of audio video streams when there is insufficient channel capacity, by enabling packet discarding without any requirement for deep packet inspection, Intra-Access Category prioritization of transport streams by modifying EDCA timing and parameter selection without any requirement for deep packet inspection The question to be considered is: “What are the relationships between an 802.11 packet, and the various MPEG Frames” Graham Smith, DSP Group Graham Smith, DSP Group
Thanks for understanding July 2008 Disclaimer I am not an MPEG expert. The data in this presentation has been gathered from various readily available sources from the internet. This is intended as background information, I am not making any specific points I have tried to find typical numbers in order to find typical relationships that should help us when we consider certain parameters and features If I have made any mistakes that give a false result please point them out Thanks for understanding Graham Smith, DSP Group
SDTV and HDTV SDTV HDTV 720 x 480 pixels, at 30fps (NTSC) July 2008 SDTV and HDTV SDTV 720 x 480 pixels, at 30fps (NTSC) 720 x 576 pixels, at 25fps (PAL) HDTV 1280 x 720 pixels at 50/60fps (720p) 1920 x 1080 pixels at 25/30fps (1080i) 1920 x 1080 pixels at 50/60fps (1080p) Graham Smith, DSP Group
MPEG2 Basics I : P : B = 30% : 30% : 40% July 2008 MPEG2 Basics I – Frame = Intra Coded Frame P – Frame = Predictive Coded Frame B – Frame = Bi-directionally Predicted Coded Frame GOP = Group of Pictures GOP = 8, 12 or 16 Typical sequence for GOP 12 I B B P B B P B B P B B (I) One I, Three P, Eight B Typically P - Frame = 1/3 (I – Frame) B – Frame = 1/2 (P – Frame) Hence in GOP of 12 I + (I/3 x 3) + (I/6 x 8) = 3.333I I : P : B = 30% : 30% : 40% Graham Smith, DSP Group
Number of bits in GOP (12) = 720000 x 12 = 8640000 Typical Frames July 2008 Example – 1080i 1920 x 1080 = 2073600 pixels/frame 1920 x 1080 x 25 = 5184000 pixels/sec Data Rate = 18Mbps (say) Mean Pixels/bit = 18/5.184000 = 2.88 Ave Bits/Frame = 2073600/2.88 = 720000 Number of bits in GOP (12) = 720000 x 12 = 8640000 Typical Frames I-Frame = 8640000/3.3333 = 2592000 bits P- Frame = 864000 bits B-Frame = 432000 bits Graham Smith, DSP Group
802.11 Packets Typical Frames – 1080i I-Frame = 2592000 bits July 2008 802.11 Packets Typical Frames – 1080i I-Frame = 2592000 bits P- Frame = 864000 bits B-Frame = 432000 bits 802.11 packet = 7 x 188 (TS) = 1316B = 10528 bits I-Frame = 246.2006 packets P- Frame = 82.06687 packets B-Frame = 41.03344 packets Typical COG (12 frames) 246.2006 Pkts 820.6687 Packets = 108000 Bytes Graham Smith, DSP Group
VTS stream intra-flow differentiation fields July 2008 Approach from 08/529r2 VTS stream intra-flow differentiation fields Used for frame differentiation within one video flow, e.g., (Suggested method VTS Flag in TSINFO and b8-15 QoS Control Field) I,P,B frames in MPEG-2 video flow; video, audio, FEC packets in one video flow Provide the frame dropping criteria when there is insufficient channel capacity Graham Smith, DSP Group
… Presentation Order (coming out of encoder, and as you see it on TV.) July 2008 As the decoder must predict some frames from subsequent frames, we must have a decode order separate from the presentation order. Presentation Order (coming out of encoder, and as you see it on TV.) I1 B1 B2 P1 B3 B4 P2 B5 B6 P3 B7 B8 I1 P1 B1 B2 P2 B3 B4 P3 B5 B6 … Decode Order (going into set-top box buffer) Source: MPEG and Digital Video in Modern Video Networks, Sept 13, 2006, JDSU , 2006 Graham Smith, DSP Group
Error on a single frame can propagate spatially and temporally July 2008 Group of Pictures (GOP) Error on I Frame Error Propagation After Sarnoff 1999 Error on a single frame can propagate spatially and temporally Source: MPEG and Digital Video in Modern Video Networks, Sept 13, 2006, JDSU Graham Smith, DSP Group
Effect of Losing one Packet July 2008 Effect of Losing one Packet Example 1080i I Frame = 2592000 bits = 2592000/1080/2 = 1200 bits/line One lost packet = 10528 bits = 4.3866 lines and 12 frames affected (0.48sec) P Frame = 864000 bits = 400 bits/line One lost packet = 26.32 lines, 2 or 3 frames effected 2.4%? of picture for 0.08sec B Frame = 432000 bits = 200 bits/line One lost packet = 52.64 lines but only 1 frame effected 4.8%? of picture for 1/25th sec So, which packets can be dropped? Definitely not an I Frame almost 0.5 second error P and B Frames ? Graham Smith, DSP Group
MPEG-2 Loss of a single TS video Packet July 2008 MPEG-2 Loss of a single TS video Packet Source=Nortel Single B-frame IP packet loss (1 frame affected) Single I-frame IP packet loss ( 14 frames affected) Packet Loss Impact 3.75 Mbps stream: B packet loss vs. I packet loss Need to look at a real video! Graham Smith, DSP Group
“Acceptable” Packet Loss is dependable upon the Video Data Rate July 2008 Packet Loss Data Rate, Mbps 2 4 6 8 12 16 20 Pkt Loss Rate, 1 lost/min 0.0088% 0.0044% 0.0029% 0.0022% 0.0015% 0.0011% 0.0009% “Acceptable” Packet Loss is dependable upon the Video Data Rate Graham Smith, DSP Group
Packet Loss Requirement July 2008 Packet Loss Requirement Assuming : Specification of 1 visible error per 15 minutes That only 30% of lost packets are ‘visible” Data Rate, Mbps 2 4 6 8 12 16 20 Pkt Loss if 30% visible 0.0019% 0.0010% 0.0006% 0.0005% 0.0003% 0.0002% Virtually “zero packet loss” requirement. Need to do everything to get the I-Frame through: Extra Retries on I-Frame packets? Highest Priority QoS? FEC? Questions: How much better compared to HCCA on complete stream? Does dropping P and B Frame packets help? How many P and B Frame dropped packets are visible? Graham Smith, DSP Group
Packet Loss Experiment July 2008 Packet Loss Experiment Stream various videos, SD, HD, MPEG2, MPEG4, using VLC* over Ethernet (or WLAN). Program blocks packets, randomly, at a preset percentage e.g. 10% to 0.01% packet loss Program keeps count of Total packets sent Number of packets blocked % Packet Loss Observers note errors in video How do observed errors compare to blocked packets? *http://www.videolan.org/ Graham Smith, DSP Group
Packet Loss Experiment – LIVE! July 2008 Packet Loss Experiment – LIVE! Observe Errors Ethernet (cross over) Compare Observed Errors to Blocked Packets Ideally, for MPEG2: 30% will be I Frame errors 30% will be P Frame errors 40% will be B Frame errors “PKTS T/D 397584/45 PER 0.01” *http://www.videolan.org/ Graham Smith, DSP Group
Video Clip – #1 ~16Mbps MPEG 2 (269961 Packets) July 2008 RESULTS Video Clip of 3 minutes Video Clip – #1 ~16Mbps MPEG 2 (269961 Packets) # of blocked packets # of observed errors Video Clip – #2 ~8Mbps MPEG2 (132106 Packets) Video Clip – #3 ~4Mbps MPEG4 (62849 Packets) Graham Smith, DSP Group
Is it reasonable that 802.11aa could use VLC* codecs as a “standard”? July 2008 Video Codec Points The VLC* video decoder is software, is this a fair representation of a video decoder? VLC* is very popular media player/recorder for laptops/PCs VLC* is free Some decoders may have certain error masking features, do we assume their presence? Is it reasonable that 802.11aa could use VLC* codecs as a “standard”? *http://www.videolan.org/ Graham Smith, DSP Group
Conclusions Results of tests show ? Quality? July 2008 doc.: IEEE 802.11-yy/xxxxr0 July 2008 Conclusions Results of tests show ? Quality? Is dropping B or P frames a good idea? Is having a lower priority on P or B Frames a good idea? What observable error rate is “acceptable”? Is any degradation due to the WLAN acceptable? Graham Smith, DSP Group Graham Smith, DSP Group