Content deleted Content added
m →Computational complexity: added clarification -- decoding is more involved than just belief propagation decoding |
SadWolverine (talk | contribs) Added short description Tags: Mobile edit Mobile app edit Android app edit App description add |
||
(43 intermediate revisions by 19 users not shown) | |||
Line 1:
{{Short description|Fountain code class}}
{{about|error correction codes|codebases named
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]].▼
{{More citations needed|date=June 2024}}
{{Citation style|date=January 2021}}
▲In [[computer science]], '''
Raptor codes, as with fountain codes in general, encode a given
Raptor codes may be [[systematic code|systematic or non-systematic]]. In the systematic case, the symbols of the original
== RaptorQ code ==
▲[[Online codes]] are another example of a non-systematic raptor 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 23 ⟶ 27:
This distribution, as well as the mechanism for generating pseudo-random numbers for sampling this distribution and for choosing the symbols to be XOR'ed, must be known to both sender and receiver. In one approach, each symbol is accompanied with an identifier which can be used as a seed to a pseudo-random number generator to generate this information, with the same process being followed by both sender and receiver.
In the case of non-systematic
In the case of systematic
processes which generate the first ''k'' output symbols generate an operation which is invertible.
== Decoding ==
Two approaches are possible for decoding
In a combined approach, the relationships between symbols defined by both the inner and outer codes are considered as a single combined set of simultaneous equations which can be solved by the usual means, typically by [[Gaussian elimination]].
Line 36 ⟶ 40:
== Computational complexity ==
Raptor codes require ''O(
== 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]]
|