Content deleted Content added
m Changed raptor to Raptor in disambiguation link |
SadWolverine (talk | contribs) Added short description Tags: Mobile edit Mobile app edit Android app edit App description add |
||
(38 intermediate revisions by 19 users not shown) | |||
Line 1:
{{Short description|Fountain code class}}
{{about|error correction codes|codebases named raptor|Raptor (disambiguation)}}
{{More citations needed|date=June 2024}}
In [[computer science]], '''Raptor codes''' ('''''rap'''id '''tor'''nado'';<ref>{{cite speech|author=Amin Shokrollahi|title=The Development of Raptor Codes|event=Invited talk at the [[Kungliga Tekniska högskolan]]|date=31 January 2011|url=http://bambuser.com/v/1372056|accessdate=24 February 2012}}</ref> see [[Tornado codes]]) are the first known class of [[fountain codes]] with linear time encoding and decoding. They were invented by [[Amin Shokrollahi]] in 2000/2001 and were first published in 2004 as an extended abstract. Raptor codes are a significant theoretical and practical improvement over [[LT codes]], which were the first practical class of [[fountain codes]].▼
{{Citation style|date=January 2021}}
▲In [[computer science]], '''Raptor codes''' ('''''rap'''id '''tor'''nado'';<ref>{{cite speech|author=Amin Shokrollahi |title=The Development of Raptor Codes|event=Invited talk at the [[Kungliga Tekniska högskolan]]|date=31 January 2011 |url=http://bambuser.com/v/1372056|accessdate=24 February 2012}}</ref> see [[Tornado
Raptor codes, as with fountain codes in general, encode a given source block of data consisting of a number ''k'' of equal size source symbols into a potentially limitless sequence of
Raptor codes may be [[systematic code|systematic or non-systematic]]. In the systematic case, the symbols of the original source block, i.e. the source symbols, are included within the set of encoding symbols.
== RaptorQ code ==
▲[[Online codes]] are another example of a non-systematic fountain code.
The most advanced version of Raptor is the RaptorQ code defined in [[IETF]] RFC 6330. The RaptorQ code is a systematic code, can be implemented in a way to achieve linear time encoding and decoding performance, has near-optimal recovery properties, supports up to 56,403 source symbols, and can support an essentially unlimited number of encoding symbols.
The RaptorQ code defined in [[IETF]] RFC 6330 is specified as a part of the Next Gen TV ([[ATSC 3.0]]) standard to enable high quality broadcast video streaming (robust mobile TV) and efficient and reliable broadcast file delivery (datacasting). In particular, the RaptorQ code is specified in A/331 within ATSC 3.0.<ref>{{cite report |date=22 March 2017 |url=https://www.atsc.org/wp-content/uploads/2016/01/A331S33-174r6-Signaling-Delivery-Sync-FEC.pdf |title=ATSC Candidate Standard: Signaling, Delivery, Synchronization, and Error Protection (A/331) |id=ATSC S33-174r6 |publisher=Advanced Television Systems Committee}}</ref> See [[List of ATSC standards]] for a list of the ATSC 3.0 standard parts. Next Gen TV (ATSC 3.0) goes well-beyond traditional TV to provide a Broadcast internet enabling general data delivery services.
== Overview ==
Line 17 ⟶ 21:
Raptor codes are formed by the concatenation of two codes.
A fixed rate [[erasure code]], usually with a fairly high rate, is applied as a 'pre-code' or 'outer code'. This pre-code may itself be a concatenation of multiple codes, for example in the code standardized by 3GPP a
The inner code takes the result of the pre-coding operation and generates a sequence of encoding symbols. The inner code is a form of [[LT code]]s. Each encoding symbol is the [[XOR]] of a pseudo-randomly chosen set of symbols from the pre-code output. The number of symbols which are XOR'ed together to form an output symbol is chosen pseudo-randomly for each output symbol according to a specific probability distribution.
Line 36 ⟶ 40:
== Computational complexity ==
Raptor codes require ''O(symbol size)'' time to generate an encoding symbol from a source block, and require ''O(source block size)'' time to recover a source block
== Recovery probability and overhead ==
Line 44 ⟶ 48:
(Based on elementary information theory considerations, complete recovery of a source block with ''k'' source symbols is not possible if less than ''k'' encoding symbols are received.)
The recovery probability is the probability that the source block is completely recovered upon receiving a given number of random encoding symbols generated from the source block.
The RaptorQ code specified in [[IETF]] RFC 6330 has the following trade-off between recovery probability and recovery overhead:
* Greater than 99% recovery probability with overhead of 0
* Greater than 99.99% recovery probability with overhead of 1 symbol (recovery from ''k+1'' received encoding symbols).
* Greater than 99.9999% recovery probability with overhead of 2 symbols (recovery from ''k+2'' received encoding symbols).
These statements hold for the entire range of ''k'' supported in [[IETF]] RFC 6330, i.e., ''k''=1,...,56403.
== Legal status ==
[
== See also ==
* [[Erasure code]]
* [[Fountain codes]]
* [[
* [[Tornado codes]]
== Notes ==
{{reflist
<ref name="RFC 6330">{{cite report |vauthors=Luby M, Shokrollahi A, Watson M, Stockhammer T, Minder L |date=August 2011 |title=Request for Comments: 6330. RaptorQ Forward Error Correction Scheme for Object Delivery |url=http://tools.ietf.org/html/rfc6330 |issn=2070-1721}}</ref>
}}
== References ==
* [[ATSC 3.0]] (Advanced Television Standards Committee 3.0)
* [http://www.3gpp.org 3GPP] (The 3rd Generation Partnership Project)
* [http://www.dvb.org DVB] (Digital Video Broadcasting)
* [http://www.3gpp.org/ftp/Specs/html-info/26346.htm 3GPP TS26.346] 3GPP Technical Specification for Multimedia Broadcast/Multicast Service: Protocols and Codecs.
* [http://tools.ietf.org/html/rfc5053 RFC5053] Raptor Forward Error Correction Scheme for Object Delivery
* [http://www.dvb-h-online.org/technology.htm DVB-H IP Datacasting specifications]
* [https://datatracker.ietf.org/ipr/search/?option=rfc_search&rfc_search=5053] "IPR" Search Result for RFC 5053, with statements by some patent owners▼
* [https://datatracker.ietf.org/ipr/search/?option=rfc_search&rfc_search=6330] "IPR" Search Result for RFC 6330, with statements by some patent owners▼
== Further reading ==
* {{cite journal |last=Shokrollahi |first=Amin |title=Raptor Codes |journal=IEEE Transactions on Information Theory |volume=52 |pages=2551-2567 |date=June 2006 |doi=10.1109/TIT.2006.874390 |url=https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=1638543 |url-access=subscription}}
▲* [https://datatracker.ietf.org/ipr/search/?option=rfc_search&rfc_search=5053
▲* [https://datatracker.ietf.org/ipr/search/?option=rfc_search&rfc_search=6330
[[Category:Coding theory]]
|