One-Size-Fits-All Wireless Video Szymon Jakubczak with Hariharan Rahul and Dina Katabi
Mobile TV Live streaming – sports, concerts, conferences, lectures, … Broadcast TV Wireless Video Has Important Applications All involve multicast, and some involve mobility Current design struggles with multicast and mobility
Multicast Challenges Current Wireless Design High bitrate Starves the far receiver 6Mb/s 1Mb/s Currently, the sender has to pick a bitrate But different receivers support different bitrates
Multicast Challenges Current Wireless Design High bitrate Starves the far receiver Low bitrate Reduces everyone to the worst receiver Currently, the sender has to pick a bitrate But different receivers support different bitrates 6Mb/s 1Mb/s
Mobility Makes Things Worse High rate Video stalls when SNR dips Low rate Overall video quality is low Successive frames may experience a different channel 200ms Time [ms] Received Signal Level [dBm] Mobility causes fast unpredictable SNR variations
Common Problem Hard to pick a single rate that matches the channel Wrong bitrate video degrades drastically But …
In principle, video quality should degrade smoothly with channel quality Sender should be able to simply transmit: Noisy channel decoded pixels approximate original pixels Good channel decoded pixels match originals
Why Cannot Current Design Provide Smooth Degradation? Compression and error protection convert real-valued pixels to bits Bits destroy the numerical properties of original pixels and could refer to pixels as different as 5 and 149 If all bit errors can be corrected all pixels are correct Even one residual bit error arbitrary errors in pixels
Analog TV Degraded Smoothly Real-Valued Pixels 2, 153, … Transmitted Values 2α, 153α, … Transmitted values are linearly related to pixel luminance But Analog TV was not efficient: No compression No error protection α Small perturbation on channel Small perturbation in pixel values It did not convert pixels to bits
SoftCast Combines the Best of Both Worlds Like Digital TV, It codes for compression and error protection Like Analog TV, It provides smooth degradation
Goal: transmitted signal is linearly related to the pixels smooth degradation SoftCast uses a new coding technique that: – converts pixels to real-valued codewords, not bits – provides compression and error protection while preserving linearity between pixels and codewords – passes the codewords to the PHY, which transmits them directly on the channel SoftCast
Pixels in an image change gradually In frequency domain, most high frequencies are zero STEP1: Convert a frame to frequency domain using DCT STEP2: Send only non-zero frequencies in the frame Compressing the frame How Does SoftCast Compress? Zeros DCT of whole frame
Encoder needs to tell the decoder the location of zeros – Easy because zeros are clustered Divide into chunks and drop zero chunks – Use a bit map to tell receiver locations of zero chunks Drop Zero Chunks DCT is a linear operator Dropping zero chunks does not break linearity SoftCasts compression preserves linearity
How Does SoftCast Provide Error Protection? 2.5 SoftCast protects real-valued codewords using magnitude-scaling Codeword Transmitted ReceivedDecoded ± ±0.01 Channel Noise ± x10 Before Tx Scale up /10 After Rx Scale down
How Does SoftCast Provide Error Protection? 2.5 SoftCast protects real-valued codewords using magnitude-scaling Codeword Transmitted ReceivedDecoded ± ±0.01 Channel Noise ± x10 Before Tx Scale up /10 After Rx Scale down Scaling the codeword up, scales down the effective noise on the channel by the same factor
But Cant Scale All Codewords Up Scaled-up values are larger take more power to transmit But hardware has limited power We find the optimal scaling factors that minimize video errors given hardware power Theorem Let λ i be the variance of chunk i The linear encoder that minimizes video errors scales the values x i in chunk i as follows: y i = g i x i where g i ~ λ i -1/4 Scaling is linear SoftCasts error protection preserves linearity
How Does the PHY Transmit? Traditional PHY maps bits to reals (I and Q) using modulation SoftCast PHY directly transmits the real-valued codewords as I and Q Recall: Channel transmits pairs of real values (I and Q) QAM modulation I I Q Q … …y [5] y [4] y [3] y [2] y [1] I I Q Q SoftCast achieves its goal of ensuring that the transmitted signal is linearly related to the pixels …y [5] y [4] y [3] y [1] y [2] …y [5] y [3] y [1] y [4] y [2]
Performance
Compared Schemes SoftCast MPEG-4 (H.264) over – Implemented in libx264 via ffmpeg 2-Layer Video – A base layer and an enhancement layer – Implemented in libx264 via ffmpeg
Test Setup WARP Locations of trace collection Collected channel traces with WARP between node in testbed
Test Setup Collected channel traces with WARP between node in testbed Extracted noise patterns as differences between transmitted and received soft values Trace-Driven Channel ( OFDM) MPEG4 2-Layer Video SoftCast MPEG4 2-Layer Video SoftCast EncodersDecoders Compare schemes for the same trace-driven channels
Video Quality vs. Channel Quality
MPEG degrades drastically when the bitrate does not match channel SNR
SoftCast combines efficiency with smooth video degradation Video Quality vs. Channel Quality
Multicast Receiver 1 has SNR = 5dB – best bitrate 6Mb/s Receiver 2 has SNR = 21dB – best bitrate 48Mb/s
Multicast Receiver 1 has SNR = 5dB – best bitrate 6Mb/s Receiver 2 has SNR = 21dB – best bitrate 48Mb/s
Multicast Layered video: Base layer at 6Mb/s, enhancement layer at 48 Mb/s Have to divide medium time between the layers
Multicast Layered video: Base layer at 6Mb/s, enhancement layer at 48 Mb/s Have to divide medium time between the layers
Multicast In 2-layer video, enhancement reduces transmission time of base Weak receiver becomes worse off Layered video: Base layer at 6Mb/s, enhancement layer at 48 Mb/s Have to divide medium time between the layers
Preliminary Mobility Results
Preliminary Mobility Results SNR variations cause major glitches in MPEG
Preliminary Mobility Results SoftCast reacts smoothly to changes in SNR
Conclusion Digital video can achieve smooth degradation Key Idea: – Continue to compress and protect against errors – But make codewords linearly related to pixels Experimental results show this approach is highly promising for multicast and mobile scenarios