salsify low latency network video through tighter
play

Salsify: Low-Latency Network Video Through Tighter Integration - PowerPoint PPT Presentation

Salsify: Low-Latency Network Video Through Tighter Integration Between a Video Codec and a Transport Protocol Sadjad Fouladi, John Emmons, Emre Orbay, Catherine Wu, Riad S. Wahby, Keith Winstein https://snr.stanford.edu/salsify Internet video


  1. Order two, pick the one that fits! • Salsify’s functional video codec can explore different execution paths without committing to them. • For each frame, codec presents the transport with three options: A slightly-higher-quality version, B K 0 5 A slightly-lower-quality version, better ❌ Discarding the frame. worse 1 0 K B � 60

  2. Salsify’s architecture: Unified control loop transport protocol & video codec � 61

  3. Codec → Transport 
 “Here’s two versions of the current frame.” B K 0 5 r e t t e b w o r s e 2 5 K B target frame size 30 KB � 62

  4. Transport → Codec 
 “I picked option 2. Base the next frame on its exiting state.” 2 5 K B target frame size 30 KB � 63

  5. Codec → Transport 
 “Here’s two versions of the latest frame.” B K 0 5 r e t t e b w o r s e 2 5 K B target frame size 55 KB � 64

  6. Transport → Codec 
 “I picked option 1. Base the next frame on its exiting state.” B K 0 5 target frame size 55 KB � 65

  7. Codec → Transport 
 “Here’s two versions of the latest frame.” B K 0 7 r e t t e b w o r s e 5 2 5 0 K K B B target frame size 5 KB � 66

  8. Transport → Codec 
 “I cannot send any frames right now. Sorry, but discard them.” target frame size 5 KB � 67

  9. Codec → Transport 
 “Fine. Here’s two versions of the latest frame.” 45 KB better worse 20 KB target frame size 50 KB � 68

  10. Transport → Codec 
 “I picked option 1. Base the next frame on its exiting state.” 45 KB target frame size 50 KB � 69

  11. There’s no notion of frame rate or bit rate in the system. 
 Frames are sent when the network can accommodate them.

  12. Loss recovery • Option 1: Ignore dropped packets. • Option 2: Retransmit dropped packets. • Option 3: Restart the video stream with a keyframe or a “key-slice.” � 71

  13. Loss corrupts the current frame... frame corrupted frame � 72

  14. Loss corrupts the current frame... and the rest! frame corrupted frame frame frame � 73

  15. Loss recovery • Option 1: Ignore dropped packets. • Option 2: Retransmit dropped packets. • Option 3: Restart the video stream with a keyframe or a “key-slice.” � 74

  16. Option 5, Salsify’s way: Jump back to the last correct state � 75

  17. Measurement Testbed

  18. Goals for the measurement testbed • A system with 
 reproducible input video and 
 reproducible network traces that runs 
 unmodified version of the system-under-test. • Target QoE metrics: image quality and video delay . � 77

  19. Goals for the measurement testbed • A system with 
 reproducible input video and 
 reproducible network traces that runs 
 unmodified version of the system-under-test. • Target QoE metrics: image quality and video delay . � 78

  20. Goals for the measurement testbed • A system with 
 reproducible input video and 
 reproducible network traces that runs 
 unmodified version of the system-under-test. • Target QoE metrics: image quality and video delay . � 79

  21. � � � � � � � � � � � � � Video delay ! ! ! ! ! ! sender receiver ! time � 80

  22. Sender Receiver Network Simulator Video AV.io System Measurement System

  23. � 82

  24. emulated network receiver HDMI output barcoded video video in/out (HDMI) HDMI to USB camera

  25. emulated network receiver HDMI output barcoded video video in/out (HDMI) HDMI to USB camera

  26. emulated network receiver HDMI output barcoded video video in/out (HDMI) HDMI to USB camera

  27. emulated network receiver HDMI output barcoded video video in/out (HDMI) HDMI to USB camera

  28. emulated network receiver HDMI output barcoded video video in/out (HDMI) HDMI to USB camera

  29. emulated network receiver HDMI output barcoded video video in/out (HDMI) HDMI to USB camera

  30. emulated network receiver HDMI output barcoded video video in/out (HDMI) HDMI to USB camera

  31. Sent Image Timestamp: T+0.000s Received Image Timestamp: T+0.765s Quality: 9.76 dB SSIM

  32. Evaluation of Salsify

  33. Evaluation results: Verizon LTE Trace 18 Video Quality (SSIM dB) 16 Skype WebRTC (VP9-SVC) 14 FaceTime WebRTC 12 Better 10 Hangouts 8 7000 5000 2000 1000 700 500 Video Delay (95th percentile ms)

  34. Evaluation results: Verizon LTE Trace 18 Video Quality (SSIM dB) 16 Skype WebRTC (VP9-SVC) 14 FaceTime WebRTC 12 Status Quo (conventional transport 10 and codec) Hangouts 8 7000 5000 2000 1000 700 500 Video Delay (95th percentile ms)

  35. Evaluation results: Verizon LTE Trace 18 Video Quality (SSIM dB) 16 Skype WebRTC (VP9-SVC) 14 FaceTime WebRTC Salsify (conventional codec) 12 Status Quo (conventional transport 10 and codec) Hangouts 8 7000 5000 2000 1000 700 500 Video Delay (95th percentile ms)

  36. Evaluation results: Verizon LTE Trace 18 Salsify Video Quality (SSIM dB) 16 Skype WebRTC (VP9-SVC) 14 FaceTime WebRTC Salsify (conventional codec) 12 Status Quo (conventional transport 10 and codec) Hangouts 8 7000 5000 2000 1000 700 500 Video Delay (95th percentile ms)

  37. Evaluation results: Grace Period 18 Salsify Video Quality (SSIM dB) 16 Skype WebRTC (VP9-SVC) 14 FaceTime WebRTC Salsify (conventional codec) 12 Status Quo (conventional transport 10 and codec) Hangouts Salsify (no grace period) 8 7000 5000 2000 1000 700 500 Video Delay (95th percentile ms)

  38. Evaluation results: AT&T LTE Trace 16 Salsify 15 WebRTC (VP9-SVC) Video Quality (SSIM dB) FaceTime 14 13 WebRTC 12 Hangouts 11 r e t t 10 e B Skype 9 8 5000 2000 1000 700 500 300 200 Video Delay (95th percentile ms)

  39. Evaluation results: T-Mobile UMTS Trace 14 Salsify Video Quality (SSIM dB) 13 WebRTC (VP9-SVC) Skype WebRTC 12 11 FaceTime r e t t e B 10 Hangouts 9 18000 14000 10000 7000 5000 3500 Video Delay (95th percentile ms)

  40. Network Variations Watch the video at: https://snr.stanford.edu/salsify Salsify WebRTC (Google Chrome 65.0 dev)

  41. Network Outages Watch the video at: https://snr.stanford.edu/salsify Salsify WebRTC (Google Chrome 65.0 dev)

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend