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
240
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
95
XRBLOCK Yokohama: update to various drafts
vr000m
0
77
Statistics and Metrics in WebRTC
vr000m
0
770
Flexible FEC
vr000m
0
130
WebRTC Statistics Identifier
vr000m
0
64
Multipath RTP Updates
vr000m
0
96
Protocols and Algorithms for Adaptive Multimedia Systems
vr000m
0
110
Gearbox: Cache-friendly Congestion Control for DASH
vr000m
0
140
Flexible FEC Update
vr000m
0
90
Other Decks in Technology
See All in Technology
Physical AI on AWS リファレンスアーキテクチャ / Physical AI on AWS Reference Architecture
aws_shota
1
200
不確実性と戦いながら見積もりを作成するプロセス/mitsumori-process
hirodragon112
1
120
Oracle Cloud Infrastructure:2026年3月度サービス・アップデート
oracle4engineer
PRO
0
210
JAWS DAYS 2026でAIの「もやっと」感が解消された話
smt7174
1
110
開発チームとQAエンジニアの新しい協業モデル -年末調整開発チームで実践する【QAリード施策】-
qa
0
470
タスク管理も1on1も、もう「管理」じゃない - KiroとBedrock AgentCoreで変わった“判断の仕事”
yusukeshimizu
0
150
「通るまでRe-run」から卒業!落ちないテストを書く勘所
asumikam
3
860
【AWS】CloudTrail LakeとCloudWatch Logs Insightsの使い分け方針
tsurunosd
0
130
OPENLOGI Company Profile for engineer
hr01
1
61k
Bref でサービスを運用している話
sgash708
0
210
BFCacheを活用して無限スクロールのUX を改善した話
apple_yagi
0
130
開発チームとQAエンジニアの新しい協業モデル -年末調整開発チームで実践する【QAリード施策】-
kaomi_wombat
0
270
Featured
See All Featured
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
200
Fireside Chat
paigeccino
42
3.9k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
100
How GitHub (no longer) Works
holman
316
150k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.4k
Designing Powerful Visuals for Engaging Learning
tmiket
1
310
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
97
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
330
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
2.6k
Code Reviewing Like a Champion
maltzj
528
40k
Skip the Path - Find Your Career Trail
mkilby
1
93
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
360
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