ParCast: Soft Video Delivery in MIMO-OFDM WLANs Xiaolin Liu Wenjun Hu Qifan Pu Feng Wu Yongguang Zhang Microsoft Research Asia University of Science and Technology of China Wireless trends Wireless trends • Channel capability Trend: MIMO-OFDM becoming primitives Wireless trends • Channel capability • Application demand Abcdef… Trend: MIMO-OFDM Trend: Video traffic Video over wireless to rule! becoming primitives dominates Traditionally… Divide into blocks and Transform Quantize + 10000100101 entropy coding 00111001000 11010011001 01001001110 …… Packetize Separate source and channel codes Modulate 100001001011000011 001110010000011100 110100110011101001 010010011100101110 + protection 10000100101 00111001000 11010011001 01001001110 …… Challenge for source coding Digital rates do not fall back gracefully – Cliff effects at some SNR – Glitches due to bit errors Video quality Video quality Ideally, want graceful degradation with the channel Channel quality Successfully received packet index Challenge for channel coding Channel quality Efficiency vs complexity tradeoff Ideally, want one code to gracefully degrade on all subchannels Subchannel index Unicast over MIMO-OFDM resembles –broadcast 100+ heterogeneous subchannels in practice over narrowband SISO channels • E.g., 52 OFDM subcarriers in 802.11n per 20MHz, 2-4 MIMO spatial paths per subcarrier – One code for all does not fully utilize capacity – Subchannel specific modulation impractical Our solution • A single joint source-channel code to work gracefully with SNR on all subchannels – Take a leaf from SoftCast’s book – Apply similar principles to MIMO-OFDM unicast Source characteristics Energy difference over several orders of magnitude First-frame 8x8 block DCT coefficient energy distribution Source coding goals Essential to protect the most important bands well Discard least important bands for compression First-frame 8x8 block DCT coefficient energy distribution Channel characteristics Gain difference over several orders of magnitude 3x3 MIMO-OFDM subchannel gains on 20MHz channel Channel coding goals Want to utilize the good subchannels Want to mitigate effects from the bad subchannels 3x3 MIMO-OFDM subchannel gains on 20MHz channel Source-channel similarities Source: First-frame 8x8 block DCT coefficient energy distribution Channel: 3x3 MIMO-OFDM subchannel gains on 20MHz channel Source-channel synergy Source Decompose Allocate bits Source Power Source-channel synergy Channel Joint Freq Decompose Allocate power ParCast: Parallel Video Unicast ParCast: Parallel video unicast Sorting and matching Power allocation Freq a c e Decoding per subchannel b d f Separating components a + bi c + di e + fi Analog modulation and transmission Power Preprocessing ParCast: Preprocessing • Video source: Whole-frame 3D-DCT Divide into chunks Decorrelate and separate source/channel components Real values with • Channel: Precode a+bi c+di f+gi h+ki s1 0 s1 0 s2 s2 variances λ1 , λ2 , … ParCast: Sorting and matching • Video source: chunks sorted by importance • Channel: subchannels sorted by gain Fine-grained unequal error protection • Matching ParCast: Power allocation • More power → higher rate/lower distortion • Can formulate/solve optimization problem – Fixed total budget – Minimize distortion over components Helpful∑when given similar energy spread for component both source/channel • Source/channel pair as unit – Power weight = f(λi/si2) ParCast: Power allocation • More power → higher rate/lower distortion • Can formulate/solve optimization problem – Fixed total budget – Minimize ∑ distortion over components • Source/channel component pair as unit – Power weight = f(λi/si2) 2 too small in a single code Compression and – Discard pair if λi/sprotection i Furtherwhitening unequalfor error protection – Per-chunk hardware consideration ParCast: Analog modulation Chunk i: 1 2 3 4 5 6 7 8 9 Chunk j: 1 2 3 4 5 6 7 8 9 I Q Complex subchannel … Nspatial path x Nsubcarrier complex symbols Preamble OFDM symbol OFDM symbol … Soft44delivery per subchannel OFDM symbols per packet to leverage channel capacity OFDM symbol ParCast: Decoding • No standard MIMO decoding • LLSE to decode DCT coefficients per chunk • Inverse 3D-DCT ParCast: Parallel video unicast Sorting and matching Power allocation Freq a c e Decoding per subchannel b d f Separating components a + bi c + di e + fi Analog modulation and transmission Power Preprocessing Power ParCast: Parallel video unicast Freq Parallel, independent encoding/transmission and reception/decoding a c e b d f a + bi c + di e + fi Power ParCast: Parallel video unicast Freq a c e b d f Joint source-channel coding Lossless compression over lossy communication a + bi c + di e + fi Power ParCast: Parallel video unicast Freq a b a + bi Linear codec per subchannel d c c + di e f e + fi for unicast over MIMO-OFDM Performance Implementation • Source codec in Matlab • Channel dependent modules implemented on Sora • Channel trace driven simulation [Halperin et al, SIGCOMM 2010] Evaluation • Microbenchmarks – Software radio based experiments – Effects of individual modules • Channel precoding, matching, joint power allocation • Video quality (PSNR) Comparison – Variants of SoftCast adapted to MIMO – Omni-MPEG over 802.11n – Layered SVC over MIMO Performance: ParCast vs SoftCast Separate source, mixed channel SoftCast (mixed source) ParCast (Separate source/channel) Mixed source, separate channel • Must decorrelate both! – For best unequal protection • SoftCast does not work well over MIMO – Mixing source chunks = mixing subchannels Performance: Stationary links ~ 10 dB Performance: Mobile scenario football ~ 5 dB Fairly stable with delayed CSI Channel feedback delay period Related work • Unequal error protection over MIMO/OFDM – Layered video coding, one layer per subchannel • Channel codes for graceful degradation – HM over STBC (broadcast), Apex (unicast), etc. • Joint source-channel coding (single antenna) – Jointly optimizing separate codes – A single code for compression/protection • SoftCast (broadcast), FlexCast (unicast) Conclusion ParCast is simple yet effective • One code to work gracefully with SNR on all MIMO-OFDM subchannels • Joint source-channel coding – Motivated by source-channel synergy – Non-uniform distribution at both provides inherent unequal error protection • Parallel delivery per source chunk/subchannel – Treating unicast as broadcast – Graceful degradation via linear codec Thank you! Questions?