Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Flexible FEC: Encoding in RTP
Search
Varun Singh
November 10, 2014
Technology
0
170
Flexible FEC: Encoding in RTP
Payload WG, IETF91, Honolulu
Varun Singh
November 10, 2014
Tweet
Share
More Decks by Varun Singh
See All by Varun Singh
WebRTC Application interactions API
vr000m
0
77
XRBLOCK Yokohama: update to various drafts
vr000m
0
62
Statistics and Metrics in WebRTC
vr000m
0
680
Flexible FEC
vr000m
0
110
WebRTC Statistics Identifier
vr000m
0
52
Multipath RTP Updates
vr000m
0
55
Protocols and Algorithms for Adaptive Multimedia Systems
vr000m
0
98
Gearbox: Cache-friendly Congestion Control for DASH
vr000m
0
120
Flexible FEC Update
vr000m
0
73
Other Decks in Technology
See All in Technology
日経電子版のStoreKit2フルリニューアル
shimastripe
1
140
開発生産性を上げながらビジネスも30倍成長させてきたチームの姿
kamina_zzz
2
1.7k
SREが投資するAIOps ~ペアーズにおけるLLM for Developerへの取り組み~
takumiogawa
1
450
IBC 2024 動画技術関連レポート / IBC 2024 Report
cyberagentdevelopers
PRO
1
110
データプロダクトの定義からはじめる、データコントラクト駆動なデータ基盤
chanyou0311
2
330
10XにおけるData Contractの導入について: Data Contract事例共有会
10xinc
6
670
Amazon CloudWatch Network Monitor のススメ
yuki_ink
1
210
TypeScriptの次なる大進化なるか!? 条件型を返り値とする関数の型推論
uhyo
2
1.7k
リンクアンドモチベーション ソフトウェアエンジニア向け紹介資料 / Introduction to Link and Motivation for Software Engineers
lmi
4
300k
マルチモーダル / AI Agent / LLMOps 3つの技術トレンドで理解するLLMの今後の展望
hirosatogamo
37
12k
SSMRunbook作成の勘所_20241120
koichiotomo
3
160
『Firebase Dynamic Links終了に備える』 FlutterアプリでのAdjust導入とDeeplink最適化
techiro
0
140
Featured
See All Featured
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
GitHub's CSS Performance
jonrohan
1030
460k
Thoughts on Productivity
jonyablonski
67
4.3k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
25
1.8k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.8k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
How to train your dragon (web standard)
notwaldorf
88
5.7k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
0
110
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
The Pragmatic Product Professional
lauravandoore
31
6.3k
Transcript
flexible-FEC Ali C Begen Varun Singh Mo Zanaty AVTCore, IETF
91 draft-singh-payload-rtp-1d2d-parity-scheme-00
Motivation • Scalability issues with – RFC 5109 – SMPTE 2022-1 – RFC
2733
Row FEC (1D) 1 2 3 7 8 9 4
5 6 R1 R2 R3 ! 1 2 3 7 8 9 4 5 6 R1 R2 R3 ! !
Column FEC (1D) 1 2 3 7 8 9 4
5 6 C1 C2 C3 1 2 3 7 8 9 4 5 6 C1 C2 C3 ! ! ! ! ! ! !
2-D FEC 1 2 3 7 8 9 4 5
6 C1 C2 C3 R1 R2 R3 ! ! ! ! 1 2 3 7 8 9 4 5 6 C1 C2 C3 R1 R2 R3 ! ! ! ! !
RFC 6363: FEC Framework RTP Packets FEC Code FEC Module
RTP (De)mux Transport Layer (UDP) IP Repair RTP Source RTP
Format of repair packets IP Transport RTP header FEC header
Repair Symbol RTP payload
FEC payload 0
1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+ |MSK|P|X| CC |M| PT recovery | SN base | +-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+ | TS recovery | +-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+ | length recovery |M or Mask[8-‐15]| N or Mask[0-‐7]| +-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+ | Mask [16-‐47] (optional) | +-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+ | | + Mask [48-‐111] (optional) + | | +-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+
MSK values (1/2) • 00 à 16-bit mask • 01
à 48-bit mask • 10 à 112-bit mask • 11 à variable length mask, see M and N values
MSK values (2/2) • M=0, N=0 à fixed values indicated
in SDP • M>0, N=0 à non-interleaved of M packets starting from SN_base – FEC = SN, SN+1, SN+2,…, SN+(M-‐1), SN+M. • M>0, N>0 à interleaved with M offset starting from SN_base in a group of N packets – FEC = SN+(Mx0), SN+(Mx1),…, SN+(MxN).
Next steps • Discussion in MMUSIC about SDP • Adoption
as PAYLOAD WG-item