1 RaptorG Forward Error Correction Scheme for Object Delivery...

11
1 RaptorG Forward Error Correction Scheme for Object Delivery draft-luby-rmt-bb-fec-raptorg-object-00 (update to this to be officially submitted soon) Michael Luby IETF#76 – Hiroshima IETF#76 – Hiroshima 8-13 November 2009 8-13 November 2009

Transcript of 1 RaptorG Forward Error Correction Scheme for Object Delivery...

Page 1: 1 RaptorG Forward Error Correction Scheme for Object Delivery draft-luby-rmt-bb-fec-raptorg-object-00 (update to this to be officially submitted soon)

1

RaptorG Forward Error Correction Scheme for Object Delivery

draft-luby-rmt-bb-fec-raptorg-object-00

(update to this to be officially submitted soon)

Michael Luby

IETF#76 – HiroshimaIETF#76 – Hiroshima

8-13 November 20098-13 November 2009

Page 2: 1 RaptorG Forward Error Correction Scheme for Object Delivery draft-luby-rmt-bb-fec-raptorg-object-00 (update to this to be officially submitted soon)

2

RaptorG code properties

Page 3: 1 RaptorG Forward Error Correction Scheme for Object Delivery draft-luby-rmt-bb-fec-raptorg-object-00 (update to this to be officially submitted soon)

3

RaptorG code properties Systematic code Supports 1 to 56,404 source symbols per source block

• Memory available at decoder generally limits # source symbols

– Even with sub-blocking

Supports 0 to 16+ million repair symbols• Application/network generally determines # repair symbols

• Fountain code property

– Protection from 0 up to 300+ times the source block size

– Repair symbols independently generated

– No need to set code rate in advance

Supports symbol size from 1 to 65,536 bytes• Packet size generally limits source symbol size

• One symbol per packet recommended

• Can choose symbol size to adjust to desired packet size

Limits are not fundamental to the code design• Practical specification choices based on foreseeable use cases

Page 4: 1 RaptorG Forward Error Correction Scheme for Object Delivery draft-luby-rmt-bb-fec-raptorg-object-00 (update to this to be officially submitted soon)

4

RaptorG code properties

If the number of source symbols is K then…• Receive K symbols Pr[decode fails] ≤ 10-2

• Receive K+1 symbols Pr[decode fails] ≤ 10-4

• Receive K+2 symbols Pr[decode fails] ≤ 10-6

True for the entire range of K values• From K = 1 to K = 56,404

True for very low to very high loss• From loss = 0% to loss = 97%

Strongly systematic• Recovery properties are independent of mix of received

source and repair symbols

Page 5: 1 RaptorG Forward Error Correction Scheme for Object Delivery draft-luby-rmt-bb-fec-raptorg-object-00 (update to this to be officially submitted soon)

5

RaptorG code properties

Page 6: 1 RaptorG Forward Error Correction Scheme for Object Delivery draft-luby-rmt-bb-fec-raptorg-object-00 (update to this to be officially submitted soon)

6

RaptorG code properties

Linear time encoding and decoding• Comparable to Raptor specified in RFC 5053

Page 7: 1 RaptorG Forward Error Correction Scheme for Object Delivery draft-luby-rmt-bb-fec-raptorg-object-00 (update to this to be officially submitted soon)

7

RaptorG Forward Error Correction Scheme for Object Delivery

Page 8: 1 RaptorG Forward Error Correction Scheme for Object Delivery draft-luby-rmt-bb-fec-raptorg-object-00 (update to this to be officially submitted soon)

8

RaptorG Forward Error Correction Scheme for Object Delivery

Same organization and parameters as RFC 5053• Same FEC Payload ID parameters

– 4 bytes total – same as for RFC 5053– SBN is 8 bits– ESI is 24 bits

• Same FEC OTI parameters– F, Al, T, Z, N

Parameters have same meaning as in RFC 5053

Page 9: 1 RaptorG Forward Error Correction Scheme for Object Delivery draft-luby-rmt-bb-fec-raptorg-object-00 (update to this to be officially submitted soon)

9

RaptorG Forward Error Correction Scheme for Object Delivery

Similar suggested derivation of FEC OTI parameters as RFC 5053

• Improved and simpler– Recommends one symbol per packet

• Improved support for sub-blocking provided– Large source blocks decodable using small receiver memory– Derivation of parameters improved compared to RFC 5053– Allows larger source blocks due to more source symbols

• Example of sub-blocking– Maximum sub-block size is 1 MB– Minimum sub-symbol size is 32 bytes– Packet size is 1500 bytes– Can use a source block of size up to 43 MB

Page 10: 1 RaptorG Forward Error Correction Scheme for Object Delivery draft-luby-rmt-bb-fec-raptorg-object-00 (update to this to be officially submitted soon)

10

Raptor RFC 5053 vs. RaptorG

Property Raptor RFC 5053 RaptorG

# source symbols 8,192 56,404

# encoded symbols 65,536 16,777,216

Max. sym. size 65,536 65,536

# source blocks 65,536 256

Recovery properties Good Exceptional

# symbols/packet Often multiple 1

Sub-block support Good Improved

Page 11: 1 RaptorG Forward Error Correction Scheme for Object Delivery draft-luby-rmt-bb-fec-raptorg-object-00 (update to this to be officially submitted soon)

11

Next steps

Adopt as a RMT working group draft