[要約] RFC 6330は、オブジェクトの配信におけるRaptorQ前方誤り訂正スキームについての標準化ドキュメントです。このRFCの目的は、高い信頼性と効率性を持つエラー訂正スキームを提供することです。

Internet Engineering Task Force (IETF)                           M. Luby
Request for Comments: 6330                         Qualcomm Incorporated
Category: Standards Track                                 A. Shokrollahi
ISSN: 2070-1721                                                     EPFL
                                                               M. Watson
                                                            Netflix Inc.
                                                          T. Stockhammer
                                                          Nomor Research
                                                               L. Minder
                                                   Qualcomm Incorporated
                                                             August 2011
        

RaptorQ Forward Error Correction Scheme for Object Delivery

オブジェクト配信のためのRaptorqフォワードエラー補正スキーム

Abstract

概要

This document describes a Fully-Specified Forward Error Correction (FEC) scheme, corresponding to FEC Encoding ID 6, for the RaptorQ FEC code and its application to reliable delivery of data objects.

このドキュメントでは、Raptorq FECコードのFECエンコードID 6に対応する完全に指定されたフォワードエラー補正(FEC)スキームと、データオブジェクトの信頼できる配信への適用について説明します。

RaptorQ codes are a new family of codes that provide superior flexibility, support for larger source block sizes, and better coding efficiency than Raptor codes in RFC 5053. RaptorQ is also a fountain code, i.e., as many encoding symbols as needed can be generated on the fly by the encoder from the source symbols of a source block of data. The decoder is able to recover the source block from almost any set of encoding symbols of sufficient cardinality -- in most cases, a set of cardinality equal to the number of source symbols is sufficient; in rare cases, a set of cardinality slightly more than the number of source symbols is required.

RaptorQコードは、RFC 5053のRaptorQよりも優れた柔軟性、より大きなソースブロックサイズのサポート、およびコーディング効率の向上を提供する新しいコードファミリです。データのソースブロックのソース記号からのエンコーダーによるフライ。デコーダーは、十分なカーディナリティのほぼすべてのエンコードシンボルからソースブロックを回復できます。ほとんどの場合、ソース記号の数に等しいカーディナリティのセットで十分です。まれに、ソース記号の数をわずかに超えるカーディナリティのセットが必要です。

The RaptorQ code described here is a systematic code, meaning that all the source symbols are among the encoding symbols that can be generated.

ここで説明するRaptorqコードは系統的コードです。つまり、すべてのソースシンボルは生成できるエンコードシンボルの1つです。

Status of This Memo

本文書の位置付け

This is an Internet Standards Track document.

これは、インターネット標準トラックドキュメントです。

This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 of RFC 5741.

このドキュメントは、インターネットエンジニアリングタスクフォース(IETF)の製品です。IETFコミュニティのコンセンサスを表しています。公開レビューを受けており、インターネットエンジニアリングステアリンググループ(IESG)からの出版が承認されています。インターネット標準の詳細については、RFC 5741のセクション2で入手できます。

Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at http://www.rfc-editor.org/info/rfc6330.

このドキュメントの現在のステータス、任意のERRATA、およびそのフィードバックを提供する方法に関する情報は、http://www.rfc-editor.org/info/rfc6330で取得できます。

Copyright Notice

著作権表示

Copyright (c) 2011 IETF Trust and the persons identified as the document authors. All rights reserved.

Copyright(c)2011 IETF Trustおよび文書著者として特定された人。全著作権所有。

This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.

このドキュメントは、BCP 78およびIETFドキュメント(http://trustee.ietf.org/license-info)に関連するIETF Trustの法的規定の対象となります。この文書に関するあなたの権利と制限を説明するので、これらの文書を注意深く確認してください。このドキュメントから抽出されたコードコンポーネントには、セクション4.Eで説明されている法的規定のセクション4.Eで説明されており、単純化されたBSDライセンスで説明されているように保証なしで提供される簡略化されたBSDライセンステキストを含める必要があります。

Table of Contents

目次

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  4
   2.  Requirements Notation  . . . . . . . . . . . . . . . . . . . .  4
   3.  Formats and Codes  . . . . . . . . . . . . . . . . . . . . . .  5
     3.1.  Introduction . . . . . . . . . . . . . . . . . . . . . . .  5
     3.2.  FEC Payload IDs  . . . . . . . . . . . . . . . . . . . . .  5
     3.3.  FEC Object Transmission Information  . . . . . . . . . . .  5
       3.3.1.  Mandatory  . . . . . . . . . . . . . . . . . . . . . .  5
       3.3.2.  Common . . . . . . . . . . . . . . . . . . . . . . . .  5
       3.3.3.  Scheme-Specific  . . . . . . . . . . . . . . . . . . .  6
   4.  Procedures . . . . . . . . . . . . . . . . . . . . . . . . . .  7
     4.1.  Introduction . . . . . . . . . . . . . . . . . . . . . . .  7
     4.2.  Content Delivery Protocol Requirements . . . . . . . . . .  7
     4.3.  Example Parameter Derivation Algorithm . . . . . . . . . .  7
     4.4.  Object Delivery  . . . . . . . . . . . . . . . . . . . . .  9
       4.4.1.  Source Block Construction  . . . . . . . . . . . . . .  9
       4.4.2.  Encoding Packet Construction . . . . . . . . . . . . . 11
       4.4.3.  Example Receiver Recovery Strategies . . . . . . . . . 12
   5.  RaptorQ FEC Code Specification . . . . . . . . . . . . . . . . 12
     5.1.  Background . . . . . . . . . . . . . . . . . . . . . . . . 12
       5.1.1.  Definitions  . . . . . . . . . . . . . . . . . . . . . 13
       5.1.2.  Symbols  . . . . . . . . . . . . . . . . . . . . . . . 14
     5.2.  Overview . . . . . . . . . . . . . . . . . . . . . . . . . 17
     5.3.  Systematic RaptorQ Encoder . . . . . . . . . . . . . . . . 18
       5.3.1.  Introduction . . . . . . . . . . . . . . . . . . . . . 18
       5.3.2.  Encoding Overview  . . . . . . . . . . . . . . . . . . 19
       5.3.3.  First Encoding Step: Intermediate Symbol Generation  . 21
       5.3.4.  Second Encoding Step: Encoding . . . . . . . . . . . . 27
       5.3.5.  Generators . . . . . . . . . . . . . . . . . . . . . . 27
     5.4.  Example FEC Decoder  . . . . . . . . . . . . . . . . . . . 30
       5.4.1.  General  . . . . . . . . . . . . . . . . . . . . . . . 30
       5.4.2.  Decoding an Extended Source Block  . . . . . . . . . . 31
     5.5.  Random Numbers . . . . . . . . . . . . . . . . . . . . . . 36
       5.5.1.  The Table V0 . . . . . . . . . . . . . . . . . . . . . 36
       5.5.2.  The Table V1 . . . . . . . . . . . . . . . . . . . . . 37
       5.5.3.  The Table V2 . . . . . . . . . . . . . . . . . . . . . 38
       5.5.4.  The Table V3 . . . . . . . . . . . . . . . . . . . . . 40
     5.6.  Systematic Indices and Other Parameters  . . . . . . . . . 41
     5.7.  Operating with Octets, Symbols, and Matrices . . . . . . . 62
       5.7.1.  General  . . . . . . . . . . . . . . . . . . . . . . . 62
       5.7.2.  Arithmetic Operations on Octets  . . . . . . . . . . . 62
       5.7.3.  The Table OCT_EXP  . . . . . . . . . . . . . . . . . . 63
       5.7.4.  The Table OCT_LOG  . . . . . . . . . . . . . . . . . . 64
       5.7.5.  Operations on Symbols  . . . . . . . . . . . . . . . . 65
       5.7.6.  Operations on Matrices . . . . . . . . . . . . . . . . 65
     5.8.  Requirements for a Compliant Decoder . . . . . . . . . . . 65
   6.  Security Considerations  . . . . . . . . . . . . . . . . . . . 66
        
   7.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 67
   8.  Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 67
   9.  References . . . . . . . . . . . . . . . . . . . . . . . . . . 67
     9.1.  Normative References . . . . . . . . . . . . . . . . . . . 67
     9.2.  Informative References . . . . . . . . . . . . . . . . . . 68
        
1. Introduction
1. はじめに

This document specifies an FEC scheme for the RaptorQ forward error correction code for object delivery applications. The concept of an FEC scheme is defined in RFC 5052 [RFC5052], and this document follows the format prescribed there and uses the terminology of that document. The RaptorQ code described herein is a next generation of the Raptor code described in RFC 5053 [RFC5053]. The RaptorQ code provides superior reliability, better coding efficiency, and support for larger source block sizes than the Raptor code of RFC 5053 [RFC5053]. These improvements simplify the usage of the RaptorQ code in an object delivery Content Delivery Protocol compared to RFC 5053 RFC 5053 [RFC5053]. A detailed mathematical design and analysis of the RaptorQ code together with extensive simulation results are provided in [RaptorCodes].

このドキュメントは、オブジェクト配信アプリケーションのRaptorQフォワードエラー修正コードのFECスキームを指定します。FECスキームの概念はRFC 5052 [RFC5052]で定義されており、このドキュメントはそこで規定されている形式に従い、そのドキュメントの用語を使用します。本明細書に記載されているRaptorqコードは、RFC 5053 [RFC5053]で説明されている次世代のRaptorコードです。RAPTORQコードは、RFC 5053 [RFC5053]のRaptorコードよりも優れた信頼性、より良いコーディング効率、およびより大きなソースブロックサイズのサポートを提供します。これらの改善により、RFC 5053 RFC 5053 [RFC5053]と比較して、オブジェクト配信コンテンツ配信プロトコルでのRaptorQコードの使用が簡素化されます。Raptorqコードの詳細な数学的設計と分析と広範なシミュレーション結果が[RaptorCodes]に記載されています。

The RaptorQ FEC scheme is a Fully-Specified FEC scheme corresponding to FEC Encoding ID 6.

RaptorQ FECスキームは、FECエンコードID 6に対応する完全に指定されたFECスキームです。

RaptorQ is a fountain code, i.e., as many encoding symbols as needed can be generated on the fly by the encoder from the source symbols of a block. The decoder is able to recover the source block from almost any set of encoding symbols of cardinality only slightly larger than the number of source symbols.

Raptorqは噴水コードです。つまり、ブロックのソース記号からエンコーダーによって必要なエンコードシンボルをその場で生成できます。デコーダーは、ソース記号の数よりわずかに大きいカーディナリティのほぼすべてのエンコード記号からソースブロックを回復できます。

The code described in this document is a systematic code; that is, the original unmodified source symbols, as well as a number of repair symbols, can be sent from sender to receiver. For more background on the use of Forward Error Correction codes in reliable multicast, see [RFC3453].

このドキュメントで説明されているコードは、体系的なコードです。つまり、元の修正されていないソース記号と、多くの修理記号を送信者から受信機に送信できます。信頼できるマルチキャストでのフォワードエラー補正コードの使用に関する詳細については、[RFC3453]を参照してください。

2. Requirements Notation
2. 要件表記

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119].

「必須」、「そうしない」、「必須」、「必要」、「しない」、「そうしない」、「そうではない」、「そうでない」、「推奨」、「5月」、および「オプション」は、[RFC2119]に記載されているように解釈される。

3. Formats and Codes
3. フォーマットとコード
3.1. Introduction
3.1. はじめに

The octet order of all fields is network byte order, i.e., big-endian.

すべてのフィールドのオクテットオーダーは、ネットワークバイトの順序、つまりビッグエンディアンです。

3.2. FEC Payload IDs
3.2. FECペイロードID

The FEC Payload ID MUST be a 4-octet field defined as follows:

FECペイロードIDは、次のように定義された4オクテットのフィールドでなければなりません。

        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
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |     SBN       |               Encoding Symbol ID              |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        

Figure 1: FEC Payload ID Format

図1:FECペイロードID形式

o Source Block Number (SBN): 8-bit unsigned integer. A non-negative integer identifier for the source block that the encoding symbols within the packet relate to.

o ソースブロック番号(SBN):8ビットの符号なし整数。パケット内のエンコードシンボルが関連するソースブロックの非陰性整数識別子。

o Encoding Symbol ID (ESI): 24-bit unsigned integer. A non-negative integer identifier for the encoding symbols within the packet.

o シンボルID(ESI)のエンコード:24ビット符号なし整数。パケット内のエンコード記号の非陰性整数識別子。

The interpretation of the Source Block Number and Encoding Symbol Identifier is defined in Section 4.

ソースブロック番号とエンコードシンボル識別子の解釈は、セクション4で定義されています。

3.3. FEC Object Transmission Information
3.3. FECオブジェクト伝送情報
3.3.1. Mandatory
3.3.1. 必須

The value of the FEC Encoding ID MUST be 6, as assigned by IANA (see Section 7).

FECエンコードIDの値は、IANAによって割り当てられているように6でなければなりません(セクション7を参照)。

3.3.2. Common
3.3.2. 一般

The Common FEC Object Transmission Information elements used by this FEC scheme are:

このFECスキームで使用される一般的なFECオブジェクト伝送情報要素は次のとおりです。

o Transfer Length (F): 40-bit unsigned integer. A non-negative integer that is at most 946270874880. This is the transfer length of the object in units of octets.

o 転送長(f):40ビットの符号なし整数。最大946270874880である非陰性整数。これは、オクテットの単位のオブジェクトの転送長です。

o Symbol Size (T): 16-bit unsigned integer. A positive integer that is less than 2^^16. This is the size of a symbol in units of octets.

o シンボルサイズ(t):16ビット符号なし整数。2 ^^ 16未満の正の整数。これは、オクテットの単位のシンボルのサイズです。

The encoded Common FEC Object Transmission Information (OTI) format is shown in Figure 2.

エンコードされた共通FECオブジェクト伝送情報(OTI)形式を図2に示します。

       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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                      Transfer Length (F)                      |
      +               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |               |    Reserved   |           Symbol Size (T)     |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        

Figure 2: Encoded Common FEC OTI for RaptorQ FEC Scheme

図2:Raptorq FECスキームのエンコードされた共通FEC OTI

NOTE: The limit of 946270874880 on the transfer length is a consequence of the limitation on the symbol size to 2^^16-1, the limitation on the number of symbols in a source block to 56403, and the limitation on the number of source blocks to 2^^8.

注:転送長の946270874880の制限は、シンボルサイズの2 ^^ 16-1への制限、ソースブロックのシンボル数の56403の数の制限、およびソース数の制限の結果であり、2 ^^ 8にブロックします。

3.3.3. Scheme-Specific
3.3.3. スキーム固有

The following parameters are carried in the Scheme-Specific FEC Object Transmission Information element for this FEC scheme:

次のパラメーターは、このFECスキームのスキーム固有のFECオブジェクトトランスミッション情報要素に掲載されています。

o The number of source blocks (Z): 8-bit unsigned integer.

o ソースブロックの数(z):8ビット符号なし整数。

o The number of sub-blocks (N): 16-bit unsigned integer.

o サブブロックの数(n):16ビットの符号なし整数。

o A symbol alignment parameter (Al): 8-bit unsigned integer.

o シンボルアラインメントパラメーター(AL):8ビット符号なし整数。

These parameters are all positive integers. The encoded Scheme-specific Object Transmission Information is a 4-octet field consisting of the parameters Z, N, and Al as shown in Figure 3.

これらのパラメーターはすべて正の整数です。エンコードされたスキーム固有のオブジェクトトランスミッション情報は、図3に示すように、パラメーターz、n、およびalからなる4-OCTETフィールドです。

        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
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |       Z       |              N                |       Al      |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        

Figure 3: Encoded Scheme-Specific FEC Object Transmission Information

図3:エンコードされたスキーム固有のFECオブジェクト伝送情報

The encoded FEC Object Transmission Information is a 12-octet field consisting of the concatenation of the encoded Common FEC Object Transmission Information and the encoded Scheme-specific FEC Object Transmission Information.

エンコードされたFECオブジェクトトランスミッション情報は、エンコードされた共通FECオブジェクト伝送情報の連結とエンコードされたスキーム固有のFECオブジェクト伝送情報からなる12オクテットフィールドです。

These three parameters define the source block partitioning as described in Section 4.4.1.2.

これらの3つのパラメーターは、セクション4.4.1.2で説明されているソースブロックパーティションを定義します。

4. Procedures
4. 手順
4.1. Introduction
4.1. はじめに

For any undefined symbols or functions used in this section, in particular the functions "ceil" and "floor", refer to Section 5.1.

このセクションで使用されている未定義のシンボルまたは関数、特に関数「天井」と「フロア」については、セクション5.1を参照してください。

4.2. Content Delivery Protocol Requirements
4.2. コンテンツ配信プロトコル要件

This section describes the information exchange between the RaptorQ FEC scheme and any Content Delivery Protocol (CDP) that makes use of the RaptorQ FEC scheme for object delivery.

このセクションでは、RaptorQ FECスキームと、オブジェクト配信のためにRaptorQ FECスキームを使用するコンテンツ配信プロトコル(CDP)との間の情報交換について説明します。

The RaptorQ encoder scheme and RaptorQ decoder scheme for object delivery require the following information from the CDP:

オブジェクト配信用のRaptorqエンコーダースキームとRaptorqデコーダースキームには、CDPからの次の情報が必要です。

o F: the transfer length of the object, in octets

o F:オクセットのオブジェクトの転送長

o Al: the symbol alignment parameter

o AL:シンボルアライメントパラメーター

o T: the symbol size in octets, which MUST be a multiple of Al

o T:オクテットのシンボルサイズは、アルの倍数でなければなりません

o Z: the number of source blocks

o Z:ソースブロックの数

o N: the number of sub-blocks in each source block

o N:各ソースブロックのサブブロックの数

The RaptorQ encoder scheme for object delivery additionally requires:

さらに、オブジェクト配信用のRaptorqエンコーダースキームには、次のことが必要です。

- the object to be encoded, which is F octets long

- エンコードされるオブジェクト、これはfオクテットの長さです

The RaptorQ encoder scheme supplies the CDP with the following information for each packet to be sent:

Raptorqエンコーダースキームは、各パケットを送信する各パケットの次の情報をCDPに提供します。

o Source Block Number (SBN)

o ソースブロック番号(SBN)

o Encoding Symbol ID (ESI)

o シンボルIDのエンコード(ESI)

o Encoding symbol(s)

o シンボルをエンコードする

The CDP MUST communicate this information to the receiver.

CDPは、この情報を受信機に伝える必要があります。

4.3. Example Parameter Derivation Algorithm
4.3. 例パラメーター派生アルゴリズム

This section provides recommendations for the derivation of the three transport parameters, T, Z, and N. This recommendation is based on the following input parameters:

このセクションでは、3つの輸送パラメーター、t、z、およびNの導出に関する推奨事項を示します。この推奨事項は、次の入力パラメーターに基づいています。

o F: the transfer length of the object, in octets

o F:オクセットのオブジェクトの転送長

o WS: the maximum size block that is decodable in working memory, in octets

o WS:ワーキングメモリ、オクテットでデコードできる最大サイズブロック

o P': the maximum payload size in octets, which is assumed to be a multiple of Al

o P ':オクテットの最大ペイロードサイズ。これはAlの倍数であると想定されています

o Al: the symbol alignment parameter, in octets

o AL:シンボルアライメントパラメーター、オクテットのパラメーター

o SS: a parameter where the desired lower bound on the sub-symbol size is SS*Al

o SS:サブシンボルサイズの目的の下限がss*alであるパラメーター

o K'_max: the maximum number of source symbols per source block.

o K'_max:ソースブロックごとのソース記号の最大数。

Note: Section 5.1.2 defines K'_max to be 56403.

注:セクション5.1.2は、K'_Maxを56403であると定義しています。

Based on the above inputs, the transport parameters T, Z, and N are calculated as follows:

上記の入力に基づいて、輸送パラメーターT、Z、およびNは次のように計算されます。

Let

させて

o T = P'

o T = P '

o Kt = ceil(F/T)

o kt = ceil(f/t)

o N_max = floor(T/(SS*Al))

o n_max = floor(t/(ss*al))

o for all n=1, ..., N_max

o すべてのn = 1、...、n_maxの場合

* KL(n) is the maximum K' value in Table 2 in Section 5.6 such that

* KL(n)は、セクション5.6の表2の最大k '値です。

            K' <= WS/(Al*(ceil(T/(Al*n))))
        

o Z = ceil(Kt/KL(N_max))

o z = ceil(kt/kl(n_max))

o N is the minimum n=1, ..., N_max such that ceil(Kt/Z) <= KL(n)

o nは最小n = 1、...、n_maxであるため、ceil(kt/z)<= kl(n)

It is RECOMMENDED that each packet contains exactly one symbol. However, receivers SHALL support the reception of packets that contain multiple symbols.

各パケットには、ちょうど1つのシンボルを含めることをお勧めします。ただし、受信機は、複数のシンボルを含むパケットの受信をサポートするものとします。

The value Kt is the total number of symbols required to represent the source data of the object.

値KTは、オブジェクトのソースデータを表すために必要なシンボルの総数です。

The algorithm above and that defined in Section 4.4.1.2 ensure that the sub-symbol sizes are a multiple of the symbol alignment parameter, Al. This is useful because the sum operations used for encoding and decoding are generally performed several octets at a

上記のアルゴリズムとセクション4.4.1.2で定義されているアルゴリズムは、サブシンボルサイズがシンボルアライメントパラメーターの倍数であることを確認します。これは、エンコードとデコードに使用される合計操作が一般にいくつかのオクテットが実行されるため、便利です。

time, for example, at least 4 octets at a time on a 32-bit processor. Thus, the encoding and decoding can be performed faster if the sub-symbol sizes are a multiple of this number of octets.

たとえば、32ビットプロセッサで一度に少なくとも4オクテットがあります。したがって、サブシンボルサイズがこの数のオクテットの倍数である場合、エンコードとデコードはより速く実行できます。

The recommended setting for the input parameter Al is 4.

入力パラメーターALの推奨設定は4です。

The parameter WS can be used to generate encoded data that can be decoded efficiently with limited working memory at the decoder. Note that the actual maximum decoder memory requirement for a given value of WS depends on the implementation, but it is possible to implement decoding using working memory only slightly larger than WS.

パラメーターWSを使用して、デコーダーでの制限された作業メモリを使用して効率的にデコードできるエンコードデータを生成できます。WSの特定の値の実際の最大デコーダーメモリ要件は実装に依存しますが、WSよりもわずかに大きい作業メモリを使用してデコードを実装することが可能であることに注意してください。

4.4. Object Delivery
4.4. オブジェクト配信
4.4.1. Source Block Construction
4.4.1. ソースブロック構造
4.4.1.1. General
4.4.1.1. 全般的

In order to apply the RaptorQ encoder to a source object, the object may be broken into Z >= 1 blocks, known as source blocks. The RaptorQ encoder is applied independently to each source block. Each source block is identified by a unique Source Block Number (SBN), where the first source block has SBN zero, the second has SBN one, etc. Each source block is divided into a number, K, of source symbols of size T octets each. Each source symbol is identified by a unique Encoding Symbol Identifier (ESI), where the first source symbol of a source block has ESI zero, the second has ESI one, etc.

Raptorqエンコーダーをソースオブジェクトに適用するために、オブジェクトはソースブロックとして知られるz> = 1ブロックに分割される場合があります。Raptorqエンコーダーは、各ソースブロックに個別に適用されます。各ソースブロックは、最初のソースブロックにはSBNゼロがあり、2番目のソースブロックにはSBN 1などがある一意のソースブロック番号(SBN)によって識別されます。各ソースブロックは、サイズTオクテットのソース記号の数字kに分割されます。各。各ソースシンボルは、一意のエンコードシンボル識別子(ESI)によって識別され、ソースブロックの最初のソースシンボルにはESIゼロがあり、2つ目にはESIがあります。

Each source block with K source symbols is divided into N >= 1 sub-blocks, which are small enough to be decoded in the working memory. Each sub-block is divided into K sub-symbols of size T'.

kソースシンボルを持つ各ソースブロックは、n> = 1サブブロックに分割され、作業メモリでデコードされるほど小さいです。各サブブロックは、サイズt 'のkサブシンボルに分割されます。

Note that the value of K is not necessarily the same for each source block of an object, and the value of T' may not necessarily be the same for each sub-block of a source block. However, the symbol size T is the same for all source blocks of an object, and the number of symbols K is the same for every sub-block of a source block. Exact partitioning of the object into source blocks and sub-blocks is described in Section 4.4.1.2 below.

Kの値は、オブジェクトのソースブロックごとに必ずしも同じではなく、T 'の値は、ソースブロックの各サブブロックで必ずしも同じではない場合があることに注意してください。ただし、シンボルサイズTはオブジェクトのすべてのソースブロックで同じであり、シンボルKの数はソースブロックのすべてのサブブロックで同じです。ソースブロックとサブブロックへのオブジェクトの正確な分割については、以下のセクション4.4.1.2で説明します。

4.4.1.2. Source Block and Sub-Block Partitioning
4.4.1.2. ソースブロックとサブブロックパーティション

The construction of source blocks and sub-blocks is determined based on five input parameters -- F, Al, T, Z, and N -- and a function Partition[]. The five input parameters are defined as follows:

ソースブロックとサブブロックの構築は、F、Al、T、Z、およびNの5つの入力パラメーターと関数パーティション[]に基づいて決定されます。5つの入力パラメーターは、次のように定義されています。

o F: the transfer length of the object, in octets

o F:オクセットのオブジェクトの転送長

o Al: a symbol alignment parameter, in octets

o AL:オクテットのシンボルアライメントパラメーター

o T: the symbol size, in octets, which MUST be a multiple of Al

o T:シンボルのサイズ、オクテットの倍数でなければなりません

o Z: the number of source blocks

o Z:ソースブロックの数

o N: the number of sub-blocks in each source block

o N:各ソースブロックのサブブロックの数

These parameters MUST be set so that ceil(ceil(F/T)/Z) <= K'_max. Recommendations for derivation of these parameters are provided in Section 4.3.

これらのパラメーターは、天井(ceil(f/t)/z)<= k'_maxになるように設定する必要があります。これらのパラメーターの導出に関する推奨事項は、セクション4.3に記載されています。

The function Partition[I,J] derives parameters for partitioning a block of size I into J approximately equal-sized blocks. More specifically, it partitions I into JL blocks of length IL and JS blocks of length IS. The output of Partition[I, J] is the sequence (IL, IS, JL, JS), where IL = ceil(I/J), IS = floor(I/J), JL = I - IS * J, and JS = J - JL.

関数パーティション[i、j]は、サイズIのブロックをjに分割するためのパラメーターを導入します。より具体的には、ILのJLブロックと長さのJSブロックのJLブロックにIを分割します。パーティション[i、j]の出力はシーケンス(il、jl、js)です。ここで、il = ceil(i/j)、is = floor(i/j)、jl = iは * j、および * j、およびjs = j -jl。

The source object MUST be partitioned into source blocks and sub-blocks as follows:

ソースオブジェクトは、次のようにソースブロックとサブブロックに分割する必要があります。

Let

させて

o Kt = ceil(F/T),

o kt = ceil(f/t)、

o (KL, KS, ZL, ZS) = Partition[Kt, Z],

o (KL、KS、ZL、ZS)=パーティション[KT、Z]、

o (TL, TS, NL, NS) = Partition[T/Al, N].

o (TL、TS、NL、NS)=パーティション[T/AL、N]。

Then, the object MUST be partitioned into Z = ZL + ZS contiguous source blocks, the first ZL source blocks each having KL*T octets, i.e., KL source symbols of T octets each, and the remaining ZS source blocks each having KS*T octets, i.e., KS source symbols of T octets each.

次に、オブジェクトをz = zl zs連続ソースブロックに分割する必要があります。最初のzlソースは、それぞれkl*tオクテット、すなわちそれぞれtオクテットのklソースシンボルを持ち、残りのzsソースはそれぞれks*tオクテットを持っています。、つまり、それぞれtオクテットのKSソース記号。

If Kt*T > F, then, for encoding purposes, the last symbol of the last source block MUST be padded at the end with Kt*T-F zero octets.

kt*t> fの場合、エンコーディングのために、最後のソースブロックの最後のシンボルは、kt*t-fゼロオクテットで最後にパディングする必要があります。

Next, each source block with K source symbols MUST be divided into N = NL + NS contiguous sub-blocks, the first NL sub-blocks each consisting of K contiguous sub-symbols of size of TL*Al octets and the remaining NS sub-blocks each consisting of K contiguous sub-symbols of size of TS*Al octets. The symbol alignment parameter Al ensures that sub-symbols are always a multiple of Al octets.

次に、kソースシンボルを持つ各ソースブロックは、n = nl ns連続サブブロックに分割する必要があります。それぞれがtl*alオクテットのサイズのk連続サブシンボルと残りのnsサブブロックで構成される最初のnlサブブロックそれぞれがts*alオクテットのサイズの隣接サブシンボルで構成されています。シンボルアライメントパラメーターALは、サブシンボルが常にALオクテットの倍数であることを保証します。

Finally, the mth symbol of a source block consists of the concatenation of the mth sub-symbol from each of the N sub-blocks. Note that this implies that when N > 1, a symbol is NOT a contiguous portion of the object.

最後に、ソースブロックのMTHシンボルは、各NサブブロックからのMTHサブシンボルの連結で構成されています。これは、n> 1の場合、シンボルがオブジェクトの隣接する部分ではないことを意味することに注意してください。

4.4.2. Encoding Packet Construction
4.4.2. パケット構造のエンコード

Each encoding packet contains the following information:

各エンコーディングパケットには、次の情報が含まれています。

o Source Block Number (SBN)

o ソースブロック番号(SBN)

o Encoding Symbol ID (ESI)

o シンボルIDのエンコード(ESI)

o encoding symbol(s)

o シンボルをエンコードする

Each source block is encoded independently of the others. Each encoding packet contains encoding symbols generated from the one source block identified by the SBN carried in the encoding packet. Source blocks are numbered consecutively from zero.

各ソースブロックは、他とは独立してエンコードされています。各エンコーディングパケットには、エンコードパケットで運ばれたSBNによって識別された1つのソースブロックから生成されたエンコードシンボルが含まれています。ソースブロックは、ゼロから連続して番号が付けられています。

Encoding Symbol ID values from 0 to K-1 identify the source symbols of a source block in sequential order, where K is the number of source symbols in the source block. Encoding Symbol IDs K onwards identify repair symbols generated from the source symbols using the RaptorQ encoder.

0からk-1のシンボルID値をエンコードすると、ソースブロックのソース記号が順次順序で識別されます。ここで、kはソースブロックのソースシンボルの数です。シンボルIDのエンコードk以降、Raptorqエンコーダーを使用してソース記号から生成された修理記号を識別します。

Each encoding packet either contains only source symbols (source packet) or contains only repair symbols (repair packet). A packet may contain any number of symbols from the same source block. In the case that the last source symbol in a source packet includes padding octets added for FEC encoding purposes, then these octets need not be included in the packet. Otherwise, each packet MUST contain only whole symbols.

各エンコーディングパケットには、ソース記号(ソースパケット)のみが含まれるか、修理シンボルのみ(修理パケット)のみが含まれます。パケットには、同じソースブロックからの任意の数の記号が含まれている場合があります。ソースパケットの最後のソースシンボルには、FECエンコードのために追加されたパディングオクテットが含まれている場合、これらのオクテットをパケットに含める必要はありません。それ以外の場合、各パケットにはシンボル全体のみを含める必要があります。

The Encoding Symbol ID, X, carried in each source packet is the Encoding Symbol ID of the first source symbol carried in that packet. The subsequent source symbols in the packet have Encoding Symbol IDs X+1 to X+G-1 in sequential order, where G is the number of symbols in the packet.

各ソースパケットに掲載されたエンコードシンボルID x xは、そのパケットに掲載された最初のソースシンボルのエンコードシンボルIDです。パケット内の後続のソースシンボルには、シンボルID x 1からx g-1を順次順序でエンコードします。ここで、gはパケット内のシンボルの数です。

Similarly, the Encoding Symbol ID, X, placed into a repair packet is the Encoding Symbol ID of the first repair symbol in the repair packet, and the subsequent repair symbols in the packet have Encoding Symbol IDs X+1 to X+G-1 in sequential order, where G is the number of symbols in the packet.

同様に、修理パケットに配置されたエンコード記号ID x xは、修理パケットの最初の修理記号のエンコードシンボルIDであり、パケットの後続の修理シンボルには、シンボルID x 1からx g-1のエンコードシンボルIDがあります。注文、gはパケット内のシンボルの数です。

Note that it is not necessary for the receiver to know the total number of repair packets.

受信者が修理パケットの総数を知る必要はないことに注意してください。

4.4.3. Example Receiver Recovery Strategies
4.4.3. レシーバー回復戦略の例

A receiver can use the received encoding symbols for each source block of an object to recover the source symbols for that source block independently of all other source blocks.

受信者は、オブジェクトの各ソースブロックの受信したエンコードシンボルを使用して、他のすべてのソースブロックとは無関係にそのソースブロックのソース記号を回復できます。

If there is one sub-block per source block, i.e., N = 1, then the portion of the data in the original object in its original order associated with a source block consists of the concatenation of the source symbols of a source block in consecutive ESI order.

ソースブロックごとに1つのサブブロック、つまりn = 1がある場合、ソースブロックに関連付けられた元の順序で元のオブジェクトのデータの部分は、連続したソースブロックのソース記号の連結で構成されていますESI注文。

If there are multiple sub-blocks per source block, i.e., if N > 1, then the portion of the data in the original object in its original order associated with a source block consists of the concatenation of the sub-blocks associated with the source block, where sub-symbols within each sub-block are in consecutive ESI order. In this case, there are different receiver source block recovery strategies worth considering depending on the available amount of Random Access Memory (RAM) at the receiver, as outlined below.

ソースブロックごとに複数のサブブロックがある場合、つまりn> 1の場合、ソースブロックに関連付けられた元の順序で元のオブジェクトのデータの部分は、ソースに関連付けられたサブブロックの連結で構成されています。各サブブロック内のサブシンボルが連続してESI順序であるブロック。この場合、以下に概説するように、受信機で利用可能なランダムアクセスメモリ(RAM)の量に応じて、検討する価値のあるレシーバーソースブロック回復戦略が異なります。

One strategy is to recover the source symbols of a source block using the decoding procedures applied to the received symbols for the source block to recover the source symbols as described in Section 5, and then to reorder the sub-symbols of the source symbols so that all consecutive sub-symbols of the first sub-block are first, followed by all consecutive sub-symbols of the second sub-block, etc., followed by all consecutive sub-symbols of the Nth sub-block. This strategy is especially applicable if the receiver has enough RAM to decode an entire source block.

1つの戦略は、セクション5で説明されているようにソースシンボルを回復するために、ソースブロックに受信したシンボルに適用されたデコード手順を使用してソースブロックのソース記号を回復し、ソースシンボルのサブシンボルを再注文して、ソースシンボルを回復することです。最初のサブブロックのすべての連続したサブシンボルが最初に行われ、2番目のサブブロックなどのすべての連続したサブシンボルが続き、その後、NTHサブブロックのすべての連続したサブシンボルが続きます。この戦略は、レシーバーがソースブロック全体をデコードするのに十分なRAMを持っている場合、特に適用可能です。

Another strategy is to separately recover the sub-blocks of a source block. For example, a receiver may demultiplex and store sub-symbols associated with each sub-block separately as packets containing encoding symbols arrive, and then use the stored sub-symbols received for a sub-block to recover that sub-block using the decoding procedures described in Section 5. This strategy is especially applicable if the receiver has enough RAM to decode only one sub-block at a time.

別の戦略は、ソースブロックのサブブロックを個別に回復することです。たとえば、レシーバーは、エンコードシンボルを含むパケットが到着すると、各サブブロックに関連付けられたサブシンボルに個別に関連するサブシンボルを非難し、サブブロックが受信した保存されたサブシンボルを使用して、デコード手順を使用してそのサブブロックを回復するために使用できます。セクション5で説明されています。この戦略は、レシーバーが一度に1つのサブブロックのみをデコードするのに十分なRAMを持っている場合に特に適用可能です。

5. RaptorQ FEC Code Specification
5. Raptorq FECコード仕様
5.1. Background
5.1. 背景

For the purpose of the RaptorQ FEC code specification in this section, the following definitions, symbols, and abbreviations apply. A basic understanding of linear algebra, matrix operations, and finite fields is assumed in this section. In particular, matrix multiplication and matrix inversion operations over a mixture of the

このセクションのRaptorQ FECコードの仕様の目的のために、次の定義、シンボル、および略語が適用されます。このセクションでは、線形代数、マトリックス操作、および有限フィールドの基本的な理解が想定されています。特に、マトリックスの乗算とマトリックスの反転操作は、

finite fields GF[2] and GF[256] are used. A basic familiarity with sparse linear equations, and efficient implementations of algorithms that take advantage of sparse linear equations, is also quite beneficial to an implementer of this specification.

有限フィールドGF [2]およびGF [256]が使用されます。スパース線形方程式に基本的に精通し、スパース線形方程式を活用するアルゴリズムの効率的な実装も、この仕様の実装者にとって非常に有益です。

5.1.1. Definitions
5.1.1. 定義

o Source block: a block of K source symbols that are considered together for RaptorQ encoding and decoding purposes.

o ソースブロック:Raptorqエンコードとデコードの目的で一緒に考慮されるKソース記号のブロック。

o Extended Source Block: a block of K' source symbols, where K' >= K, constructed from a source block and zero or more padding symbols.

o 拡張ソースブロック:k 'ソース記号のブロック。ここで、k'> = k、ソースブロックとゼロ以上のパディングシンボルから構成されています。

o Symbol: a unit of data. The size, in octets, of a symbol is known as the symbol size. The symbol size is always a positive integer.

o シンボル:データの単位。シンボルのオクテットのサイズは、シンボルサイズとして知られています。シンボルサイズは常に正の整数です。

o Source symbol: the smallest unit of data used during the encoding process. All source symbols within a source block have the same size.

o ソースシンボル:エンコードプロセス中に使用されるデータの最小単位。ソースブロック内のすべてのソース記号のサイズは同じです。

o Padding symbol: a symbol with all zero bits that is added to the source block to form the extended source block.

o パディングシンボル:ソースブロックに追加されたすべてのゼロビットを備えたシンボルで、拡張ソースブロックを形成します。

o Encoding symbol: a symbol that can be sent as part of the encoding of a source block. The encoding symbols of a source block consist of the source symbols of the source block and the repair symbols generated from the source block. Repair symbols generated from a source block have the same size as the source symbols of that source block.

o エンコーディングシンボル:ソースブロックのエンコードの一部として送信できるシンボル。ソースブロックのエンコーディングシンボルは、ソースブロックのソース記号と、ソースブロックから生成された修理シンボルで構成されています。ソースブロックから生成された修復記号は、そのソースブロックのソース記号と同じサイズです。

o Repair symbol: the encoding symbols of a source block that are not source symbols. The repair symbols are generated based on the source symbols of a source block.

o 修復シンボル:ソースシンボルではないソースブロックのエンコーディングシンボル。修復記号は、ソースブロックのソース記号に基づいて生成されます。

o Intermediate symbols: symbols generated from the source symbols using an inverse encoding process based on pre-coding relationships. The repair symbols are then generated directly from the intermediate symbols. The encoding symbols do not include the intermediate symbols, i.e., intermediate symbols are not sent as part of the encoding of a source block. The intermediate symbols are partitioned into LT symbols and PI symbols for the purposes of the encoding process.

o 中間記号:事前コード関係に基づいた逆エンコードプロセスを使用して、ソース記号から生成されたシンボル。修復記号は、中間記号から直接生成されます。エンコーディングシンボルには、中間記号が含まれていません。つまり、中間記号はソースブロックのエンコードの一部として送信されません。中間記号は、エンコードプロセスの目的のために、LT記号とPIシンボルに分割されます。

o LT symbols: a process similar to that described in [LTCodes] is used to generate part of the contribution to each generated encoding symbol from the portion of the intermediate symbols designated as LT symbols.

o LTシンボル:[ltcodes]で説明されているプロセスと同様のプロセスを使用して、LTシンボルとして指定された中間記号の部分から生成された各エンコード記号への寄与の一部を生成します。

o PI symbols: a process even simpler than that described in [LTCodes] is used to generate the other part of the contribution to each generated encoding symbol from the portion of the intermediate symbols designated as PI symbols. In the decoding algorithm suggested in Section 5.4, the PI symbols are inactivated at the start, i.e., are placed into the matrix U at the beginning of the first phase of the decoding algorithm. Because the symbols corresponding to the columns of U are sometimes called the "inactivated" symbols, and since the PI symbols are inactivated at the beginning, they are considered "permanently inactivated".

o PIシンボル:[ltcodes]で説明されているプロセスよりもさらに単純なプロセスを使用して、PIシンボルとして指定された中間記号の部分から生成された各エンコード記号への寄与の他の部分を生成します。セクション5.4で提案されているデコードアルゴリズムでは、PIシンボルは開始時に不活性化されます。つまり、デコードアルゴリズムの最初のフェーズの開始時にマトリックスUに配置されます。uの列に対応するシンボルは「不活性化された」記号と呼ばれることもあり、PIシンボルは最初は不活性化されるため、「永久に不活性化」と見なされます。

o HDPC symbols: there is a small subset of the intermediate symbols that are HDPC symbols. Each HDPC symbol has a pre-coding relationship with a large fraction of the other intermediate symbols. HDPC means "High Density Parity Check".

o HDPCシンボル:HDPCシンボルである中間記号の小さなサブセットがあります。各HDPCシンボルには、他の中間記号の大部分と事前コード関係があります。HDPCは「高密度パリティチェック」を意味します。

o LDPC symbols: there is a moderate-sized subset of the intermediate symbols that are LDPC symbols. Each LDPC symbol has a pre-coding relationship with a small fraction of the other intermediate symbols. LDPC means "Low Density Parity Check".

o LDPCシンボル:LDPCシンボルである中間記号の中程度のサイズのサブセットがあります。各LDPCシンボルには、他の中間記号のごく一部との事前コード関係があります。LDPCは「低密度パリティチェック」を意味します。

o Systematic code: a code in which all source symbols are included as part of the encoding symbols of a source block. The RaptorQ code as described herein is a systematic code.

o 体系的なコード:すべてのソース記号がソースブロックのエンコードシンボルの一部として含まれるコード。本明細書に記載されているRaptorQコードは、系統的コードです。

o Encoding Symbol ID (ESI): information that uniquely identifies each encoding symbol associated with a source block for sending and receiving purposes.

o エンコードシンボルID(ESI):送信および受信目的のソースブロックに関連付けられている各エンコードシンボルを一意に識別する情報。

o Internal Symbol ID (ISI): information that uniquely identifies each symbol associated with an extended source block for encoding and decoding purposes.

o 内部シンボルID(ISI):エンコードとデコードのために拡張されたソースブロックに関連付けられた各シンボルを一意に識別する情報。

o Arithmetic operations on octets and symbols and matrices: the operations that are used to produce encoding symbols from source symbols and vice versa. See Section 5.7.

o オクテットとシンボルとマトリックスの算術操作:ソース記号からエンコーディングシンボルを生成するために使用される操作とその逆も同様です。セクション5.7を参照してください。

5.1.2. Symbols
5.1.2. シンボル

i, j, u, v, h, d, a, b, d1, a1, b1, v, m, x, y represent values or variables of one type or another, depending on the context.

I、J、U、V、H、D、A、B、D1、A1、B1、V、M、X、Yは、コンテキストに応じて、1つのタイプまたは別のタイプまたは別のタイプの値または変数を表します。

X denotes a non-negative integer value that is either an ISI value or an ESI value, depending on the context.

xは、コンテキストに応じて、ISI値またはESI値のいずれかである非陰性整数値を示します。

ceil(x) denotes the smallest integer that is greater than or equal to x, where x is a real value.

CEIL(x)は、x以上の最小整数を示します。ここで、xは実際の値です。

floor(x) denotes the largest integer that is less than or equal to x, where x is a real value.

フロア(x)は、x以下の最大の整数を示します。ここで、xは実際の値です。

min(x,y) denotes the minimum value of the values x and y, and in general the minimum value of all the argument values.

min(x、y)は、値xとyの最小値を示し、一般にすべての引数値の最小値を示します。

max(x,y) denotes the maximum value of the values x and y, and in general the maximum value of all the argument values.

max(x、y)は、値xとyの最大値を示し、一般にすべての引数値の最大値を示します。

i % j denotes i modulo j.

i%jは、i modulo jを示します。

i + j denotes the sum of i and j. If i and j are octets or symbols, this designates the arithmetic on octets or symbols, respectively, as defined in Section 5.7. If i and j are integers, then it denotes the usual integer addition.

i jはiとjの合計を示します。IとJがオクテットまたはシンボルである場合、これはセクション5.7で定義されているように、それぞれオクテットまたはシンボルの算術を指定します。IとJが整数である場合、通常の整数添加を示します。

i * j denotes the product of i and j. If i and j are octets, this designates the arithmetic on octets, as defined in Section 5.7. If i is an octet and j is a symbol, this denotes the multiplication of a symbol by an octet, as also defined in Section 5.7. Finally, if i and j are integers, i * j denotes the usual product of integers.

i * jは、iとjの積を示します。IとJがオクテットである場合、セクション5.7で定義されているように、これはオクテットの算術を指定します。Iがオクテットであり、Jがシンボルである場合、これはセクション5.7で定義されているように、シンボルのオクテットによる乗算を示します。最後に、IとJが整数である場合、I * Jは整数の通常の積を示します。

a ^^ b denotes the operation a raised to the power b. If a is an octet and b is a non-negative integer, this is understood to mean a*a*...*a (b terms), with '*' being the octet product as defined in Section 5.7.

a ^^ bは、操作をパワーに引き上げたb。aがオクテットであり、Bが非陰性整数である場合、これはa*a*...*a(b用語)を意味すると理解されており、「*」はセクション5.7で定義されているオクテット製品です。

u ^ v denotes, for equal-length bit strings u and v, the bitwise exclusive-or of u and v.

u ^ vは、等しいビット文字列uとv、uとvのビットワイズの排他的な文字列の場合を示します。

Transpose[A] denotes the transposed matrix of matrix A. In this specification, all matrices have entries that are octets.

Transpose [a]は、マトリックスAの転置マトリックスを示します。この仕様では、すべてのマトリックスにはオクテットのエントリがあります。

A^^-1 denotes the inverse matrix of matrix A. In this specification, all the matrices have octets as entries, so it is understood that the operations of the matrix entries are to be done as stated in Section 5.7 and A^^-1 is the matrix inverse of A with respect to octet arithmetic.

a ^^ -1はマトリックスAの逆マトリックスを示します。この仕様では、すべてのマトリックスにはエントリとしてオクテットがあります。したがって、マトリックスエントリの操作は、セクション5.7およびa ^^ - で述べられているように行われることが理解されています。1は、Octet算術に関してAの逆のマトリックスです。

K denotes the number of symbols in a single source block.

Kは、単一のソースブロック内のシンボルの数を示します。

K' denotes the number of source plus padding symbols in an extended source block. For the majority of this specification, the padding symbols are considered to be additional source symbols.

K 'は、拡張ソースブロック内のソースとパディングシンボルの数を示します。この仕様の大部分については、パディングシンボルは追加のソース記号と見なされます。

K'_max denotes the maximum number of source symbols that can be in a single source block. Set to 56403.

K'_maxは、単一のソースブロックにある可能性のあるソース記号の最大数を示します。56403に設定します。

L denotes the number of intermediate symbols for a single extended source block.

Lは、単一の拡張ソースブロックの中間記号の数を示します。

S denotes the number of LDPC symbols for a single extended source block. These are LT symbols. For each value of K' shown in Table 2 in Section 5.6, the corresponding value of S is a prime number.

Sは、単一の拡張ソースブロックのLDPC記号の数を示します。これらはLTシンボルです。セクション5.6の表2に示すk 'の各値について、Sの対応する値は素数です。

H denotes the number of HDPC symbols for a single extended source block. These are PI symbols.

Hは、単一の拡張ソースブロックのHDPC記号の数を示します。これらはPIシンボルです。

B denotes the number of intermediate symbols that are LT symbols excluding the LDPC symbols.

bは、LDPCシンボルを除くLTシンボルである中間記号の数を示します。

W denotes the number of intermediate symbols that are LT symbols. For each value of K' in Table 2 shown in Section 5.6, the corresponding value of W is a prime number.

Wは、LTシンボルである中間記号の数を示します。セクション5.6に示す表2のk 'の各値について、Wの対応する値は素数です。

P denotes the number of intermediate symbols that are PI symbols. These contain all HDPC symbols.

pは、PIシンボルである中間記号の数を示します。これらにはすべてのHDPC記号が含まれています。

P1 denotes the smallest prime number greater than or equal to P.

P1は、P以下の最小プライムナンバーを示します。

U denotes the number of non-HDPC intermediate symbols that are PI symbols.

Uは、PIシンボルである非HDPC中間記号の数を示します。

C denotes an array of intermediate symbols, C[0], C[1], C[2], ..., C[L-1].

Cは、中間記号の配列を示します。C[0]、C [1]、C [2]、...、C [L-1]。

C' denotes an array of the symbols of the extended source block, where C'[0], C'[1], C'[2], ..., C'[K-1] are the source symbols of the source block and C'[K], C'[K+1], ..., C'[K'-1] are padding symbols.

c 'は、拡張ソースブロックの記号の配列を示します。ここで、c' [0]、c '[1]、c' [2]、...、c '[k-1]は、ソースブロックとc '[k]、c' [k 1]、...、c '[k'-1]はパディングシンボルです。

V0, V1, V2, V3 denote four arrays of 32-bit unsigned integers, V0[0], V0[1], ..., V0[255]; V1[0], V1[1], ..., V1[255]; V2[0], V2[1], ..., V2[255]; and V3[0], V3[1], ..., V3[255] as shown in Section 5.5.

V0、V1、V2、V3は、32ビットの符号なし整数の4つのアレイ、V0 [0]、V0 [1]、...、V0 [255]を示します。v1 [0]、v1 [1]、...、v1 [255];v2 [0]、v2 [1]、...、v2 [255];およびv3 [0]、v3 [1]、...、v3 [255]セクション5.5に示すように。

Rand[y, i, m] denotes a pseudo-random number generator.

rand [y、i、m]は、擬似ランダム数ジェネレーターを示します。

Deg[v] denotes a degree generator.

deg [v]は、次数発電機を示します。

Enc[K', C ,(d, a, b, d1, a1, b1)] denotes an encoding symbol generator.

enc [k '、c、(d、a、b、d1、a1、b1)]は、エンコードシンボルジェネレーターを示します。

Tuple[K', X] denotes a tuple generator function.

Tuple [k '、x]は、タプルジェネレーター関数を示します。

T denotes the symbol size in octets.

tはオクテットのシンボルサイズを示します。

J(K') denotes the systematic index associated with K'.

j(k ')は、k'に関連付けられた系統的インデックスを示します。

G denotes any generator matrix.

Gは、ジェネレーターマトリックスを示します。

I_S denotes the S x S identity matrix.

I_Sは、s x s Identityマトリックスを示します。

5.2. Overview
5.2. 概要

This section defines the systematic RaptorQ FEC code.

このセクションでは、系統的なRaptorq FECコードを定義します。

Symbols are the fundamental data units of the encoding and decoding process. For each source block, all symbols are the same size, referred to as the symbol size T. The atomic operations performed on symbols for both encoding and decoding are the arithmetic operations defined in Section 5.7.

シンボルは、エンコードおよびデコードプロセスの基本的なデータ単位です。各ソースブロックについて、すべてのシンボルはシンボルサイズTと呼ばれる同じサイズです。エンコードとデコードの両方でシンボルで実行される原子操作は、セクション5.7で定義された算術演算です。

The basic encoder is described in Section 5.3. The encoder first derives a block of intermediate symbols from the source symbols of a source block. This intermediate block has the property that both source and repair symbols can be generated from it using the same process. The encoder produces repair symbols from the intermediate block using an efficient process, where each such repair symbol is the exclusive-or of a small number of intermediate symbols from the block. Source symbols can also be reproduced from the intermediate block using the same process. The encoding symbols are the combination of the source and repair symbols.

基本エンコーダーについては、セクション5.3で説明します。エンコーダは、最初にソースブロックのソース記号から中間記号のブロックを導き出します。この中間ブロックには、同じプロセスを使用して、ソース記号と修復記号の両方をそこから生成できるプロパティがあります。エンコーダは、効率的なプロセスを使用して中間ブロックから修理シンボルを生成します。このような修復記号は、ブロックからの少数の中間記号の排他的なものです。ソース記号は、同じプロセスを使用して中間ブロックから再現することもできます。エンコーディングシンボルは、ソースと修理シンボルの組み合わせです。

An example of a decoder is described in Section 5.4. The process for producing source and repair symbols from the intermediate block is designed so that the intermediate block can be recovered from any sufficiently large set of encoding symbols, independent of the mix of source and repair symbols in the set. Once the intermediate block is recovered, missing source symbols of the source block can be recovered using the encoding process.

デコーダーの例については、セクション5.4で説明します。中間ブロックからソースおよび修復記号を生成するプロセスは、セット内のソースと修復記号の混合とは無関係に、エンコード記号の十分に大きなセットから中間ブロックを回復できるように設計されています。中間ブロックが回復すると、エンコーディングプロセスを使用してソースブロックのソース記号の欠落を回復できます。

Requirements for a RaptorQ-compliant decoder are provided in Section 5.8. A number of decoding algorithms are possible to achieve these requirements. An efficient decoding algorithm to achieve these requirements is provided in Section 5.4.

Raptorq準拠のデコーダーの要件は、セクション5.8に記載されています。これらの要件を達成するために、多くのデコードアルゴリズムが可能です。これらの要件を達成するための効率的なデコードアルゴリズムは、セクション5.4に記載されています。

The construction of the intermediate and repair symbols is based in part on a pseudo-random number generator described in Section 5.3. This generator is based on a fixed set of 1024 random numbers that must be available to both sender and receiver. These numbers are

中間記号と修復記号の構築は、セクション5.3で説明されている擬似ランダム数ジェネレーターに一部基づいています。このジェネレーターは、送信者と受信機の両方が利用できる1024の乱数の固定セットに基づいています。これらの数字はです

provided in Section 5.5. Encoding and decoding operations for RaptorQ use operations on octets. Section 5.7 describes how to perform these operations.

セクション5.5で提供されています。Raptorqのエンコードおよびデコード操作は、オクテットで操作を使用します。セクション5.7では、これらの操作の実行方法について説明します。

Finally, the construction of the intermediate symbols from the source symbols is governed by "systematic indices", values of which are provided in Section 5.6 for specific extended source block sizes between 6 and K'_max = 56403 source symbols. Thus, the RaptorQ code supports source blocks with between 1 and 56403 source symbols.

最後に、ソースシンボルから中間記号の構築は「系統的インデックス」によって支配され、その値は、6からK'_Max = 56403ソース記号の間の特定の拡張ソースブロックサイズのセクション5.6に提供されます。したがって、RAPTORQコードは、1〜56403のソースシンボルを持つソースブロックをサポートします。

5.3. Systematic RaptorQ Encoder
5.3. 系統的なraptorqエンコーダー
5.3.1. Introduction
5.3.1. はじめに

For a given source block of K source symbols, for encoding and decoding purposes, the source block is augmented with K'-K additional padding symbols, where K' is the smallest value that is at least K in the systematic index Table 2 of Section 5.6. The reason for padding out a source block to a multiple of K' is to enable faster encoding and decoding and to minimize the amount of table information that needs to be stored in the encoder and decoder.

kソース記号の特定のソースブロックの場合、エンコードとデコードの目的で、ソースブロックはK'-K追加のパディングシンボルで補強されています。ここで、k 'はセクションの系統的インデックス表2の少なくともk'は最小値です。5.6。ソースブロックをK 'の倍数にパディングする理由は、エンコーダとデコーダーに保存する必要があるテーブル情報の量をより速くエンコードとデコードできるようにすることです。

   For purposes of transmitting and receiving data, the value of K is
   used to determine the number of source symbols in a source block, and
   thus K needs to be known at the sender and the receiver.  In this
   case, the sender and receiver can compute K' from K and the K'-K
   padding symbols can be automatically added to the source block
   without any additional communication.  The encoding symbol ID (ESI)
   is used by a sender and receiver to identify the encoding symbols of
   a source block, where the encoding symbols of a source block consist
   of the source symbols and the repair symbols associated with the
   source block.  For a source block with K source symbols, the ESIs for
   the source symbols are 0, 1, 2, ..., K-1, and the ESIs for the repair
   symbols are K, K+1, K+2, ....  Using the ESI for identifying encoding
   symbols in transport ensures that the ESI values continue
   consecutively between the source and repair symbols.
        
   For purposes of encoding and decoding data, the value of K' derived
   from K is used as the number of source symbols of the extended source
   block upon which encoding and decoding operations are performed,
   where the K' source symbols consist of the original K source symbols
   and an additional K'-K padding symbols.  The Internal Symbol ID (ISI)
   is used by the encoder and decoder to identify the symbols associated
   with the extended source block, i.e., for generating encoding symbols
   and for decoding.  For a source block with K original source symbols,
   the ISIs for the original source symbols are 0, 1, 2, ..., K-1, the
   ISIs for the K'-K padding symbols are K, K+1, K+2, ..., K'-1, and the
   ISIs for the repair symbols are K', K'+1, K'+2, ....  Using the ISI
        

for encoding and decoding allows the padding symbols of the extended source block to be treated the same way as other source symbols of the extended source block. Also, it ensures that a given prefix of repair symbols are generated in a consistent way for a given number K' of source symbols in the extended source block, independent of K.

エンコードとデコードの場合、拡張ソースブロックのパディングシンボルを、拡張ソースブロックの他のソース記号と同じ方法で扱うことができます。また、修復記号の特定の接頭辞が、Kとは無関係に、拡張ソースブロックのソース記号の特定の数値k 'に対して一貫した方法で生成されることを保証します。

The relationship between the ESIs and the ISIs is simple: the ESIs and the ISIs for the original K source symbols are the same, the K'-K padding symbols have an ISI but do not have a corresponding ESI (since they are symbols that are neither sent nor received), and a repair symbol ISI is simply the repair symbol ESI plus K'-K. The translation between ESIs (used to identify encoding symbols sent and received) and the corresponding ISIs (used for encoding and decoding), as well as determining the proper padding of the extended source block with padding symbols (used for encoding and decoding), is the internal responsibility of the RaptorQ encoder/decoder.

ESISとISISの関係は単純です。元のKソース記号のESISとISISは同じです。K'-KパディングシンボルにはISIがありますが、対応するESIはありません(それらはシンボルであるためです。送信も受信もありません)、および修理記号ISIは、単に修理記号ESIとK'-Kです。ESIS(送信および受信したエンコーディングシンボルを識別するために使用)と対応するISIS(エンコードとデコードに使用)の間の翻訳、およびパディングシンボル(エンコードとデコードに使用)を使用した拡張ソースブロックの適切なパディングの決定は、Raptorqエンコーダー/デコーダーの内部責任。

5.3.2. Encoding Overview
5.3.2. エンコードの概要

The systematic RaptorQ encoder is used to generate any number of repair symbols from a source block that consists of K source symbols placed into an extended source block C'. Figure 4 shows the encoding overview.

系統的Raptorqエンコーダーは、拡張ソースブロックC 'に配置されたKソースシンボルで構成されるソースブロックから任意の数の修復記号を生成するために使用されます。図4は、エンコーディングの概要を示しています。

The first step of encoding is to construct an extended source block by adding zero or more padding symbols such that the total number of symbols, K', is one of the values listed in Section 5.6. Each padding symbol consists of T octets where the value of each octet is zero. K' MUST be selected as the smallest value of K' from the table of Section 5.6 that is greater than or equal to K.

エンコーディングの最初のステップは、シンボルk 'の総数がセクション5.6にリストされている値の1つになるように、ゼロ以上のパディング記号を追加することにより、拡張ソースブロックを構築することです。各パディングシンボルは、各オクテットの値がゼロであるtオクテットで構成されています。K 'は、Kよりも大きいセクション5.6の表からK'の最小値として選択する必要があります。

         -----------------------------------------------------------+
         |                                                          |
         |    +-----------+    +--------------+    +-------------+  |
      C' |    |           | C' | Intermediate | C  |             |  |
     ----+--->|  Padding  |--->|    Symbol    |--->|   Encoding  |--+-->
      K  |    |           | K' |  Generation  | L  |             |  |
         |    +-----------+    +--------------+    +-------------+  |
         |           |                             (d,a,b, ^        |
         |           |                            d1,a1,b1)|        |
         |           |                              +------------+  |
         |           |              K'              |   Tuple    |  |
         |           +----------------------------->|            |  |
         |                                          | Generation |  |
         |                                          +------------+  |
         |                                                 ^        |
         +-------------------------------------------------+--------+
                                                           |
                                                         ISI X
        

Figure 4: Encoding Overview

図4:エンコーディングの概要

Let C'[0], ..., C'[K-1] denote the K source symbols.

c '[0]、...、c' [k-1]がkソースシンボルを示すとします。

Let C'[K], ..., C'[K'-1] denote the K'-K padding symbols, which are all set to zero bits. Then, C'[0], ..., C'[K'-1] are the symbols of the extended source block upon which encoding and decoding are performed.

c '[k]、...、c' [k'-1]は、すべてゼロビットに設定されているK'-Kパディングシンボルを示すとします。次に、c '[0]、...、c' [k'-1]は、エンコードとデコードが実行される拡張ソースブロックのシンボルです。

In the remainder of this description, these padding symbols will be considered as additional source symbols and referred to as such. However, these padding symbols are not part of the encoding symbols, i.e., they are not sent as part of the encoding. At a receiver, the value of K' can be computed based on K, then the receiver can insert K'-K padding symbols at the end of a source block of K' source symbols and recover the remaining K source symbols of the source block from received encoding symbols.

この説明の残りの部分では、これらのパディングシンボルは追加のソース記号と見なされ、そのように言及されます。ただし、これらのパディングシンボルはエンコードシンボルの一部ではありません。つまり、エンコードの一部として送信されません。レシーバーでは、k 'の値をkに基づいて計算できます。レシーバーは、k'ソース記号のソースブロックの端にk'-kパディングシンボルを挿入し、ソースブロックの残りのkソース記号を回復できます。受信したエンコードシンボルから。

The second step of encoding is to generate a number, L > K', of intermediate symbols from the K' source symbols. In this step, K' source tuples (d[0], a[0], b[0], d1[0], a1[0], b1[0]), ..., (d[K'-1], a[K'-1], b[K'-1], d1[K'-1], a1[K'-1], b1[K'-1]) are generated using the Tuple[] generator as described in Section 5.3.5.4. The K' source tuples and the ISIs associated with the K' source symbols are used to determine L intermediate symbols C[0], ..., C[L-1] from the source symbols using an inverse encoding process. This process can be realized by a RaptorQ decoding process.

エンコードの2番目のステップは、K 'ソース記号から中間記号の数字l> k'を生成することです。このステップでは、k 'ソースタプル(d [0]、a [0]、b [0]、d1 [0]、a1 [0]、b1 [0])、...、(d [k'-1]、a [k'-1]、b [k'-1]、d1 [k'-1]、a1 [k'-1]、b1 [k'-1])は、タプル[]を使用して生成されます。セクション5.3.5.4で説明されているジェネレーター。K 'ソースシンボルに関連付けられたK'ソースタプルとISISを使用して、逆エンコードプロセスを使用してソース記号からL中間記号C [0]、...、C [L-1]を決定します。このプロセスは、Raptorqデコードプロセスによって実現できます。

Certain "pre-coding relationships" must hold within the L intermediate symbols. Section 5.3.3.3 describes these relationships. Section 5.3.3.4 describes how the intermediate symbols are generated from the source symbols.

特定の「事前コード関係」は、L中間記号内に保持する必要があります。セクション5.3.3.3では、これらの関係について説明します。セクション5.3.3.4では、ソース記号から中間記号がどのように生成されるかについて説明します。

Once the intermediate symbols have been generated, repair symbols can be produced. For a repair symbol with ISI X > K', the tuple of non-negative integers (d, a, b, d1, a1, b1) can be generated, using the Tuple[] generator as described in Section 5.3.5.4. Then, the (d, a, b, d1, a1, b1) tuple and the ISI X are used to generate the corresponding repair symbol from the intermediate symbols using the Enc[] generator described in Section 5.3.5.3. The corresponding ESI for this repair symbol is then X-(K'-K). Note that source symbols of the extended source block can also be generated using the same process, i.e., for any X < K', the symbol generated using this process has the same value as C'[X].

中間記号が生成されると、修復記号を生成できます。ISI X> K 'の修復記号の場合、セクション5.3.5.4で説明されているタプル[]ジェネレーターを使用して、非陰性整数(D、A、B、D1、A1、B1)のタプルを生成できます。次に、(d、a、b、d1、a1、b1)タプルとISI xを使用して、セクション5.3.5.3で説明したEnc []ジェネレーターを使用して中間記号から対応する修復記号を生成します。この修復記号の対応するESIは、x-(k'-k)です。拡張ソースブロックのソース記号は、同じプロセスを使用して生成することもできます。つまり、x <k 'の場合、このプロセスを使用して生成されるシンボルはC' [x]と同じ値を持っています。

5.3.3. First Encoding Step: Intermediate Symbol Generation
5.3.3. 最初のエンコードステップ:中間記号生成
5.3.3.1. General
5.3.3.1. 全般的

This encoding step is a pre-coding step to generate the L intermediate symbols C[0], ..., C[L-1] from the source symbols C'[0], ..., C'[K'-1], where L > K' is defined in Section 5.3.3.3. The intermediate symbols are uniquely defined by two sets of constraints:

このエンコードステップは、ソース記号C '[0]、...、C' [k'-からL中間記号C [0]、...、C [L-1]を生成するための事前コードステップです。1]、ここで、l> k 'はセクション5.3.3.3で定義されています。中間記号は、2つの制約セットによって一意に定義されています。

1. The intermediate symbols are related to the source symbols by a set of source symbol tuples and by the ISIs of the source symbols. The generation of the source symbol tuples is defined in Section 5.3.3.2 using the Tuple[] generator as described in Section 5.3.5.4.

1. 中間記号は、ソースシンボルタプルのセットとソースシンボルのISISによってソースシンボルに関連しています。ソースシンボルタプルの生成は、セクション5.3.5.4で説明されているタプル[]ジェネレーターを使用してセクション5.3.3.2で定義されています。

2. A number of pre-coding relationships hold within the intermediate symbols themselves. These are defined in Section 5.3.3.3.

2. 多くの事前コード関係は、中間記号自体に保持されます。これらはセクション5.3.3.3で定義されています。

The generation of the L intermediate symbols is then defined in Section 5.3.3.4.

L中間記号の生成は、セクション5.3.3.4で定義されます。

5.3.3.2. Source Symbol Tuples
5.3.3.2. ソースシンボルタプル

Each of the K' source symbols is associated with a source symbol tuple (d[X], a[X], b[X], d1[X], a1[X], b1[X]) for 0 <= X < K'. The source symbol tuples are determined using the Tuple[] generator defined in Section 5.3.5.4 as:

各k 'ソース記号は、0 <= xのソース記号(d [x]、a [x]、b [x]、d1 [x]、a1 [x]、b1 [x])に関連付けられています。<k '。ソースシンボルのタプルは、セクション5.3.5.4で定義されているタプル[]ジェネレーターを使用して決定されます。

      For each X, 0 <= X < K'
        

(d[X], a[X], b[X], d1[X], a1[X], b1[X]) = Tuple[K, X]

(d [x]、a [x]、b [x]、d1 [x]、a1 [x]、b1 [x])= tuple [k、x]

5.3.3.3. Pre-Coding Relationships
5.3.3.3. 事前コード関係

The pre-coding relationships amongst the L intermediate symbols are defined by requiring that a set of S+H linear combinations of the intermediate symbols evaluate to zero. There are S LDPC and H HDPC symbols, and thus L = K'+S+H. Another partition of the L intermediate symbols is into two sets, one set of W LT symbols and another set of P PI symbols, and thus it is also the case that L = W+P. The P PI symbols are treated differently than the W LT symbols in the encoding process. The P PI symbols consist of the H HDPC symbols together with a set of U = P-H of the other K' intermediate symbols. The W LT symbols consist of the S LDPC symbols together with W-S of the other K' intermediate symbols. The values of these parameters are determined from K' as described below, where H(K'), S(K'), and W(K') are derived from Table 2 in Section 5.6.

L中間記号間の事前コード関係は、中間記号のS H線形結合のセットがゼロに評価されることを要求することによって定義されます。S LDPCおよびH HDPCシンボルがあります。したがって、L = K 'S Hです。L中間記号の別のパーティションは、1つのセットのW LTシンボルと別のPPIシンボルの2つのセットになります。l = w Pの場合、p piシンボルは、エンコードプロセスのw ltシンボルとは異なって扱われます。P PIシンボルは、H HDPCシンボルと、他のK '中間記号のU = P-Hのセットで構成されています。W LTシンボルは、S LDPCシンボルと他のK '中間記号のW-Sで構成されています。これらのパラメーターの値は、以下のk 'から決定されます。ここで、h(k')、s(k ')、およびw(k')はセクション5.6の表2から導き出されます。

Let

させて

o S = S(K')

o s = s(k ')

o H = H(K')

o h = h(k ')

o W = W(K')

o w = w(k ')

o L = K' + S + H

o l = k 's h

o P = L - W

o p = l -w

o P1 denote the smallest prime number greater than or equal to P.

o P1は、P以下の最小の素数を示します。

o U = P - H

o u = p -h

o B = W - S

o b = w -s

o C[0], ..., C[B-1] denote the intermediate symbols that are LT symbols but not LDPC symbols.

o C [0]、...、C [B-1]は、LDPCシンボルではなくLTシンボルである中間記号を示します。

o C[B], ..., C[B+S-1] denote the S LDPC symbols that are also LT symbols.

o c [b]、...、c [b s-1]は、ltシンボルでもあるs ldpcシンボルを示します。

o C[W], ..., C[W+U-1] denote the intermediate symbols that are PI symbols but not HDPC symbols.

o c [w]、...、c [w u-1]は、piシンボルであるがHDPCシンボルではない中間記号を示します。

o C[L-H], ..., C[L-1] denote the H HDPC symbols that are also PI symbols.

o C [L-H]、...、C [L-1]は、PIシンボルでもあるH HDPC記号を示します。

The first set of pre-coding relations, called LDPC relations, is described below and requires that at the end of this process the set of symbols D[0] , ..., D[S-1] are all zero:

LDPC関係と呼ばれる事前コード関係の最初のセットは以下で説明されており、このプロセスの最後にシンボルd [0]、...、d [s-1]のセットがすべてゼロであることが必要です。

o Initialize the symbols D[0] = C[B], ..., D[S-1] = C[B+S-1].

o シンボルの初期化d [0] = c [b]、...、d [s-1] = c [b s-1]。

o For i = 0, ..., B-1 do

o i = 0、...、b-1の場合

* a = 1 + floor(i/S)

* a = 1フロア(i/s)

* b = i % S

* b = i%s

* D[b] = D[b] + C[i]

* d [b] = d [b] c [i]

* b = (b + a) % S

* b =(b a)%s

* D[b] = D[b] + C[i]

* d [b] = d [b] c [i]

* b = (b + a) % S

* b =(b a)%s

* D[b] = D[b] + C[i]

* d [b] = d [b] c [i]

o For i = 0, ..., S-1 do

o i = 0、...、s-1の場合

* a = i % P

* a = i%p

* b = (i+1) % P

* b =(i 1)%p

* D[i] = D[i] + C[W+a] + C[W+b]

* d [i] = d [i] c [w a] c [w b]

Recall that the addition of symbols is to be carried out as specified in Section 5.7.

記号の追加は、セクション5.7で指定されているように実行されることを思い出してください。

Note that the LDPC relations as defined in the algorithm above are linear, so there exists an S x B matrix G_LDPC,1 and an S x P matrix G_LDPC,2 such that

上記のアルゴリズムで定義されているLDPC関係は線形であるため、S x bマトリックスG_ldpc、1およびs x p行列g_ldpc、2が存在することに注意してください。

      G_LDPC,1 * Transpose[(C[0], ..., C[B-1])] + G_LDPC,2 *
      Transpose(C[W], ..., C[W+P-1]) + Transpose[(C[B], ..., C[B+S-1])]
      = 0
        

(The matrix G_LDPC,1 is defined by the first loop in the above algorithm, and G_LDPC,2 can be deduced from the second loop.)

(マトリックスG_LDPC、1は上記のアルゴリズムの最初のループで定義され、G_LDPC、2は2番目のループから推定できます。)

The second set of relations among the intermediate symbols C[0], ..., C[L-1] are the HDPC relations and they are defined as follows:

中間記号C [0]、...、C [L-1]間の2番目の関係セットはHDPC関係であり、次のように定義されています。

Let

させて

o alpha denote the octet represented by integer 2 as defined in Section 5.7.

o アルファは、セクション5.7で定義されているように、整数2で表されるオクテットを示します。

o MT denote an H x (K' + S) matrix of octets, where for j=0, ..., K'+S-2, the entry MT[i,j] is the octet represented by the integer 1 if i= Rand[j+1,6,H] or i = (Rand[j+1,6,H] + Rand[j+1,7,H-1] + 1) % H, and MT[i,j] is the zero element for all other values of i, and for j=K'+S-1, MT[i,j] = alpha^^i for i=0, ..., H-1.

o mtはオクテットのh x(k s)マトリックスを示します。ここで、j = 0、...、k 's-2の場合、entry mt [i、j]はinteger 1で表されるオクテットです。i = randの場合[j 1,6、h]またはi =(rand [j 1,6、h] rand [j 1,7、h-1] 1%h、およびmt [i、j]はすべてのゼロ要素ですiの他の値、およびj = k 's-1、mt [i、j] = alpha ^^ i for i = 0、...、h-1。

o GAMMA denote a (K'+S) x (K'+S) matrix of octets, where

o ガンマは、オクテットの(k s)x(k s)マトリックスを示します。

GAMMA[i,j] =

ガンマ[i、j] =

alpha ^^ (i-j) for i >= j,

alpha ^^(i-j)for i> = j、

0 otherwise.

それ以外の場合は0。

Then, the relationship between the first K'+S intermediate symbols C[0], ..., C[K'+S-1] and the H HDPC symbols C[K'+S], ..., C[K'+S+H-1] is given by:

次に、最初のkの中間記号C [0]、...、C [k 's-1]とh hdpcシンボルc [k' s]、...、c [k 'sの関係H-1]は次のように与えられます:

Transpose[C[K'+S], ..., C[K'+S+H-1]] + MT * GAMMA * Transpose[C[0], ..., C[K'+S-1]] = 0,

Transpose [c [k 's]、...、c [k' s h-1]] mt * gamma * transpose [c [0]、...、c [k 's-1] = 0、

where '*' represents standard matrix multiplication utilizing the octet multiplication to define the multiplication between a matrix of octets and a matrix of symbols (in particular, the column vector of symbols), and '+' denotes addition over octet vectors.

ここで、 '*'は、オクテットのマトリックスとシンボルのマトリックス(特にシンボルの列ベクトル)の間の乗算を定義するためにオクテット乗算を使用して標準マトリックス増殖を表し、 ''はオクテットベクターの添加を示します。

5.3.3.4. Intermediate Symbols
5.3.3.4. 中間記号
5.3.3.4.1. Definition
5.3.3.4.1. 意味

Given the K' source symbols C'[0], C'[1], ..., C'[K'-1] the L intermediate symbols C[0], C[1], ..., C[L-1] are the uniquely defined symbol values that satisfy the following conditions:

k 'sourceシンボルc' [0]、c '[1]、...、c' [k'-1]が与えられると、L中間記号C [0]、C [1]、...、C [L-1]は、次の条件を満たす独自に定義されたシンボル値です。

1. The K' source symbols C'[0], C'[1], ..., C'[K'-1] satisfy the K' constraints

1. k 'ソースシンボルc' [0]、c '[1]、...、c' [k'-1] k '制約を満たす

C'[X] = Enc[K', (C[0], ..., C[L-1]), (d[X], a[X], b[X], d1[X], a1[X], b1[X])], for all X, 0 <= X < K',

c '[x] = enc [k'、(c [0]、...、c [l-1])、(d [x]、a [x]、b [x]、d1 [x]、a1 [x]、b1 [x])]、すべてのx、0 <= x <k '、

where (d[X], a[X], b[X], d1[X], a1[X], b1[X])) = Tuple[K',X], Tuple[] is defined in Section 5.3.5.4, and Enc[] is described in Section 5.3.5.3.

ここで(d [x]、a [x]、b [x]、d1 [x]、a1 [x]、b1 [x])= tuple [k '、x]、tuple []はセクション5.3で定義されています。.5.4、およびenc []はセクション5.3.5.3で説明されています。

2. The L intermediate symbols C[0], C[1], ..., C[L-1] satisfy the pre-coding relationships defined in Section 5.3.3.3.

2. L中間記号C [0]、C [1]、...、C [L-1]は、セクション5.3.3.3で定義されている事前コード関係を満たします。

5.3.3.4.2. Example Method for Calculation of Intermediate Symbols
5.3.3.4.2. 中間記号の計算の例

This section describes a possible method for calculation of the L intermediate symbols C[0], C[1], ..., C[L-1] satisfying the constraints in Section 5.3.3.4.1.

このセクションでは、セクション5.3.3.4.1の制約を満たすL中間記号C [0]、C [1]、...、C [L-1]を計算する可能性のある方法について説明します。

The L intermediate symbols can be calculated as follows:

L中間記号は次のように計算できます。

Let

させて

o C denote the column vector of the L intermediate symbols, C[0], C[1], ..., C[L-1].

o Cは、L中間記号の列ベクトル、C [0]、C [1]、...、C [L-1]を示します。

o D denote the column vector consisting of S+H zero symbols followed by the K' source symbols C'[0], C'[1], ..., C'[K'-1].

o Dは、s Hゼロ記号で構成される列ベクトルを示し、その後にk 'ソースシンボルC' [0]、C '[1]、...、C' [k'-1]が続きます。

Then, the above constraints define an L x L matrix A of octets such that:

次に、上記の制約は、次のようなオクテットのl x lマトリックスAを定義します。

A*C = D

a*c = d

The matrix A can be constructed as follows:

マトリックスAは次のように構築できます。

Let

させて

o G_LDPC,1 and G_LDPC,2 be S x B and S x P matrices as defined in Section 5.3.3.3.

o G_LDPC、1およびG_LDPC、2セクション5.3.3.3で定義されているように、2 s x bおよびs x p行列。

o G_HDPC be the H x (K'+S) matrix such that

o g_hdpcはh x(k s)マトリックスになります。

G_HDPC * Transpose(C[0], ..., C[K'+S-1]) = Transpose(C[K'+S], ..., C[L-1]),

g_hdpc * transpose(c [0]、...、c [k 's-1])= transpose(c [k' s]、...、c [l-1])、

i.e., G_HDPC = MT*GAMMA

つまり、g_hdpc = mt*ガンマ

o I_S be the S x S identity matrix

o i_sはs x s Identityマトリックスです

o I_H be the H x H identity matrix

o I_HはH X H IDのマトリックスです

o G_ENC be the K' x L matrix such that

o g_encはk 'x l行列になります

G_ENC * Transpose[(C[0], ..., C[L-1])] = Transpose[(C'[0],C'[1], ...,C'[K'-1])],

g_enc * transpose [(c [0]、...、c [l-1])] = transpose [(c '[0]、c' [1]、...、c '[k'-1])]、

i.e., G_ENC[i,j] = 1 if and only if C[j] is included in the symbols that are summed to produce Enc[K', (C[0], ..., C[L-1]), (d[i], a[i], b[i], d1[i], a1[i], b1[i])] and G_ENC[i,j] = 0 otherwise.

つまり、g_enc [i、j] = 1の場合にのみ、c [j]がenc [k '、(c [0]、...、c [l-1])を生成するために合計されたシンボルに含まれている場合にのみのみです。、(d [i]、a [i]、b [i]、d1 [i]、a1 [i]、b1 [i])]およびg_enc [i、j] = 0

Then

それで

o The first S rows of A are equal to G_LDPC,1 | I_S | G_LDPC,2.

o aの最初のs行は、g_ldpc、1 |に等しくなります。i_s |G_LDPC、2。

o The next H rows of A are equal to G_HDPC | I_H.

o Aの次のh行はg_hdpcに等しい|I_H。

o The remaining K' rows of A are equal to G_ENC.

o Aの残りのk '列はG_ENCに等しくなります。

The matrix A is depicted in Figure 5 below:

マトリックスAを以下の図5に示します。

                       B               S         U         H
            +-----------------------+-------+------------------+
            |                       |       |                  |
          S |        G_LDPC,1       |  I_S  |      G_LDPC,2    |
            |                       |       |                  |
            +-----------------------+-------+----------+-------+
            |                                          |       |
          H |                G_HDPC                    |  I_H  |
            |                                          |       |
            +------------------------------------------+-------+
            |                                                  |
            |                                                  |
         K' |                      G_ENC                       |
            |                                                  |
            |                                                  |
            +--------------------------------------------------+
        

Figure 5: The Matrix A

図5:マトリックスa

The intermediate symbols can then be calculated as:

その後、中間記号は次のように計算できます。

      C = (A^^-1)*D
        

The source tuples are generated such that for any K' matrix A has full rank and is therefore invertible. This calculation can be realized by applying a RaptorQ decoding process to the K' source symbols C'[0], C'[1], ..., C'[K'-1] to produce the L intermediate symbols C[0], C[1], ..., C[L-1].

ソースタプルは、任意のk 'マトリックスAが完全なランクを持ち、したがって反転可能であるように生成されます。この計算は、raptorqデコードプロセスをk 'ソースシンボルc' [0]、c '[1]、...、c' [k'-1]に適用することで実現できます。]、c [1]、...、c [l-1]。

To efficiently generate the intermediate symbols from the source symbols, it is recommended that an efficient decoder implementation such as that described in Section 5.4 be used.

ソースシンボルから中間記号を効率的に生成するには、セクション5.4で説明したような効率的なデコーダー実装を使用することをお勧めします。

5.3.4. Second Encoding Step: Encoding
5.3.4. 2番目のエンコードステップ:エンコード

In the second encoding step, the repair symbol with ISI X (X >= K') is generated by applying the generator Enc[K', (C[0], C[1], ..., C[L-1]), (d, a, b, d1, a1, b1)] defined in Section 5.3.5.3 to the L intermediate symbols C[0], C[1], ..., C[L-1] using the tuple (d, a, b, d1, a1, b1)=Tuple[K',X].

2番目のエンコーディングステップでは、発電機Enc [k '、(c [0]、c [1]、...、c [l-1)を適用することにより、ISI x(x> = k')の修復記号が生成されます。]、)、(d、a、b、d1、a1、b1)]セクション5.3.5.3でl中間記号c [0]、c [1]、...、c [l-1]に定義されています。Tuple(D、A、B、D1、A1、B1)= Tuple [K '、X]。

5.3.5. Generators
5.3.5. ジェネレーター
5.3.5.1. Random Number Generator
5.3.5.1. 乱数ジェネレーター

The random number generator Rand[y, i, m] is defined as follows, where y is a non-negative integer, i is a non-negative integer less than 256, and m is a positive integer, and the value produced is an integer between 0 and m-1. Let V0, V1, V2, and V3 be the arrays provided in Section 5.5.

乱数ジェネレーターrand [y、i、m]は次のように定義されます。ここで、yは非陰性整数であり、iは256未満の非陰性整数であり、mは正の整数であり、生成される値は正の整数であり、0からm-1の整数。V0、V1、V2、およびV3をセクション5.5で提供されている配列とします。

Let

させて

o x0 = (y + i) mod 2^^8

o x0 =(y i)mod 2 ^^ 8

o x1 = (floor(y / 2^^8) + i) mod 2^^8

o x1 =(floor(y / 2 ^^ 8)i)mod 2 ^^ 8

o x2 = (floor(y / 2^^16) + i) mod 2^^8

o x2 =(floor(y / 2 ^^ 16)i)mod 2 ^^ 8

o x3 = (floor(y / 2^^24) + i) mod 2^^8

o x3 =(floor(y / 2 ^^ 24)i)mod 2 ^^ 8

Then

それで

      Rand[y, i, m] = (V0[x0] ^ V1[x1] ^ V2[x2] ^ V3[x3]) % m
        
5.3.5.2. Degree Generator
5.3.5.2. 学位ジェネレーター

The degree generator Deg[v] is defined as follows, where v is a non-negative integer that is less than 2^^20 = 1048576. Given v, find index d in Table 1 such that f[d-1] <= v < f[d], and set Deg[v] = min(d, W-2). Recall that W is derived from K' as described in Section 5.3.3.3.

次の次のように定義されます。ここで、vは2 ^^ 20 = 1048576未満の非陰性整数です。Vを指定すると、表1のインデックスDを見つけて、f [d-1] <= <=v <f [d]、およびdeg [v] = min(d、w-2)を設定します。セクション5.3.3.3で説明されているように、wはk 'に由来することを思い出してください。

                 +---------+---------+---------+---------+
                 | Index d | f[d]    | Index d | f[d]    |
                 +---------+---------+---------+---------+
                 | 0       | 0       | 1       | 5243    |
                 +---------+---------+---------+---------+
                 | 2       | 529531  | 3       | 704294  |
                 +---------+---------+---------+---------+
                 | 4       | 791675  | 5       | 844104  |
                 +---------+---------+---------+---------+
                 | 6       | 879057  | 7       | 904023  |
                 +---------+---------+---------+---------+
                 | 8       | 922747  | 9       | 937311  |
                 +---------+---------+---------+---------+
                 | 10      | 948962  | 11      | 958494  |
                 +---------+---------+---------+---------+
                 | 12      | 966438  | 13      | 973160  |
                 +---------+---------+---------+---------+
                 | 14      | 978921  | 15      | 983914  |
                 +---------+---------+---------+---------+
                 | 16      | 988283  | 17      | 992138  |
                 +---------+---------+---------+---------+
                 | 18      | 995565  | 19      | 998631  |
                 +---------+---------+---------+---------+
                 | 20      | 1001391 | 21      | 1003887 |
                 +---------+---------+---------+---------+
                 | 22      | 1006157 | 23      | 1008229 |
                 +---------+---------+---------+---------+
                 | 24      | 1010129 | 25      | 1011876 |
                 +---------+---------+---------+---------+
                 | 26      | 1013490 | 27      | 1014983 |
                 +---------+---------+---------+---------+
                 | 28      | 1016370 | 29      | 1017662 |
                 +---------+---------+---------+---------+
                 | 30      | 1048576 |         |         |
                 +---------+---------+---------+---------+
        

Table 1: Defines the Degree Distribution for Encoding Symbols

表1:エンコーディングシンボルの程度分布を定義します

5.3.5.3. Encoding Symbol Generator
5.3.5.3. シンボルジェネレーターのエンコード

The encoding symbol generator Enc[K', (C[0], C[1], ..., C[L-1]), (d, a, b, d1, a1, b1)] takes the following inputs:

エンコードシンボルジェネレーターenc [k '、(c [0]、c [1]、...、c [l-1])、(d、a、b、d1、a1、b1)]は、次の入力を取得します:

o K' is the number of source symbols for the extended source block. Let L, W, B, S, P, and P1 be derived from K' as described in Section 5.3.3.3.

o K 'は、拡張ソースブロックのソース記号の数です。セクション5.3.3.3で説明されているように、l、w、b、s、p、およびp1をk 'に由来させます。

o (C[0], C[1], ..., C[L-1]) is the array of L intermediate symbols (sub-symbols) generated as described in Section 5.3.3.4.

o (C [0]、C [1]、...、C [L-1])は、セクション5.3.3.4で説明されているように生成されたL中間記号(サブシンボル)の配列です。

o (d, a, b, d1, a1, b1) is a source tuple determined from ISI X using the Tuple[] generator defined in Section 5.3.5.4, whereby

o (D、A、B、D1、A1、B1)は、セクション5.3.5.4で定義されているタプル[]ジェネレーターを使用してISI Xから決定されたソースタプルです。

* d is a positive integer denoting an encoding symbol LT degree

* Dは、エンコーディングシンボルLT度を表す正の整数です

* a is a positive integer between 1 and W-1 inclusive

* Aは1とW-1の間の正の整数です

* b is a non-negative integer between 0 and W-1 inclusive

* Bは0からW-1の間の非陰性整数です

* d1 is a positive integer that has value either 2 or 3 denoting an encoding symbol PI degree

* D1は、エンコードシンボルpi度を表す値2または3のいずれかを持つ正の整数です

* a1 is a positive integer between 1 and P1-1 inclusive

* A1は1からP1-1の間の正の整数です

* b1 is a non-negative integer between 0 and P1-1 inclusive

* B1は0からP1-1の包括的ではない非陰性整数です

The encoding symbol generator produces a single encoding symbol as output (referred to as result), according to the following algorithm:

エンコードシンボルジェネレーターは、次のアルゴリズムに従って、出力として単一のエンコードシンボル(結果と呼ばれる)を生成します。

o result = C[b]

o 結果= c [b]

o For j = 1, ..., d-1 do

o j = 1、...、d-1の場合

* b = (b + a) % W

* b =(b a)%w

* result = result + C[b]

* 結果=結果c [b]

o While (b1 >= P) do b1 = (b1+a1) % P1

o while(b1> = p)do b1 =(b1 a1)%p1

o result = result + C[W+b1]

o 結果=結果C [W B1]

o For j = 1, ..., d1-1 do

o j = 1、...、d1-1の場合

* b1 = (b1 + a1) % P1

* B1 =(B1 A1)%P1

* While (b1 >= P) do b1 = (b1+a1) % P1

* while(b1> = p)do b1 =(b1 a1)%p1

* result = result + C[W+b1]

* 結果=結果C [W B1]

o Return result

o 返品結果

5.3.5.4. Tuple Generator
5.3.5.4. タプルジェネレーター

The tuple generator Tuple[K',X] takes the following inputs:

タプルジェネレータータプル[k '、x]は次の入力を取得します。

o K': the number of source symbols in the extended source block

o K ':拡張ソースブロックのソース記号の数

o X: an ISI

o X:ISI

Let

させて

o L be determined from K' as described in Section 5.3.3.3

o lセクション5.3.3.3で説明されているように、k 'から決定されます

o J = J(K') be the systematic index associated with K', as defined in Table 2 in Section 5.6

o j = j(k ')セクション5.6の表2で定義されているように、K'に関連する体系的なインデックスになります

The output of the tuple generator is a tuple, (d, a, b, d1, a1, b1), determined as follows:

タプルジェネレーターの出力は、次のように決定されるタプル(d、a、b、d1、a1、b1)です。

o A = 53591 + J*997

o A = 53591 J*997

o if (A % 2 == 0) { A = A + 1 }

o if(a%2 == 0){a = a 1}

o B = 10267*(J+1)

o b = 10267*(j 1)

o y = (B + X*A) % 2^^32

o y =(b x*a)%2 ^^ 32

o v = Rand[y, 0, 2^^20]

o v = rand [y、0、2 ^^ 20]

o d = Deg[v]

o d = deg [v]

o a = 1 + Rand[y, 1, W-1]

o a = 1 rand [y、1、w-1]

o b = Rand[y, 2, W]

o b = rand [y、2、w]

o If (d < 4) { d1 = 2 + Rand[X, 3, 2] } else { d1 = 2 }

o if(d <4){d1 = 2 rand [x、3、2]} else {d1 = 2}

o a1 = 1 + Rand[X, 4, P1-1]

o a1 = 1 rand [x、4、p1-1]

o b1 = Rand[X, 5, P1]

o b1 = rand [x、5、p1]

5.4. Example FEC Decoder
5.4. FECデコーダーの例
5.4.1. General
5.4.1. 全般的

This section describes an efficient decoding algorithm for the RaptorQ code introduced in this specification. Note that each received encoding symbol is a known linear combination of the intermediate symbols. So, each received encoding symbol provides a

このセクションでは、この仕様で導入されたRaptorQコードの効率的なデコードアルゴリズムについて説明します。受信した各エンコーディングシンボルは、中間記号の既知の線形結合であることに注意してください。したがって、受信した各エンコード記号はaを提供します

linear equation among the intermediate symbols, which, together with the known linear pre-coding relationships amongst the intermediate symbols, gives a system of linear equations. Thus, any algorithm for solving systems of linear equations can successfully decode the intermediate symbols and hence the source symbols. However, the algorithm chosen has a major effect on the computational efficiency of the decoding.

中間記号間の線形方程式は、中間記号間の既知の線形プレコード関係とともに、線形方程式のシステムを提供します。したがって、線形方程式のシステムを解くためのアルゴリズムは、中間記号、したがってソースシンボルを正常にデコードできます。ただし、選択されたアルゴリズムは、デコードの計算効率に大きな影響を及ぼします。

5.4.2. Decoding an Extended Source Block
5.4.2. 拡張ソースブロックのデコード
5.4.2.1. General
5.4.2.1. 全般的

It is assumed that the decoder knows the structure of the source block it is to decode, including the symbol size, T, and the number K of symbols in the source block and the number K' of source symbols in the extended source block.

デコーダーは、ソースブロック内のシンボルのシンボルの数、および拡張ソースブロックのソースシンボルの数k 'の数字kを含む、デコードするソースブロックの構造を知っていると想定されています。

From the algorithms described in Section 5.3, the RaptorQ decoder can calculate the total number L = K'+S+H of intermediate symbols and determine how they were generated from the extended source block to be decoded. In this description, it is assumed that the received encoding symbols for the extended source block to be decoded are passed to the decoder. Furthermore, for each such encoding symbol, it is assumed that the number and set of intermediate symbols whose sum is equal to the encoding symbol are passed to the decoder. In the case of source symbols, including padding symbols, the source symbol tuples described in Section 5.3.3.2 indicate the number and set of intermediate symbols that sum to give each source symbol.

セクション5.3で説明したアルゴリズムから、Raptorqデコーダーは中間記号の総数l = k 's hを計算し、拡張ソースブロックから生成された方法を決定する方法を決定できます。この説明では、デコードされる拡張ソースブロックの受信したエンコード記号がデコーダーに渡されると想定されています。さらに、そのようなエンコードシンボルごとに、合計がエンコードシンボルに等しい中間記号の数とセットがデコーダーに渡されると想定されています。パディングシンボルを含むソース記号の場合、セクション5.3.3.2で説明するソースシンボルタプルは、各ソースシンボルを与えるために合計する中間記号の数とセットを示しています。

Let N >= K' be the number of received encoding symbols to be used for decoding, including padding symbols for an extended source block, and let M = S+H+N. Then, with the notation of Section 5.3.3.4.2, we have A*C = D.

n> = k 'を、拡張ソースブロックのパディングシンボルを含むデコードに使用する受信したエンコード記号の数とし、M = S H Nを、セクション5.3.3.4.2の表記で、A*C = D.

Decoding an extended source block is equivalent to decoding C from known A and D. It is clear that C can be decoded if and only if the rank of A is L. Once C has been decoded, missing source symbols can be obtained by using the source symbol tuples to determine the number and set of intermediate symbols that must be summed to obtain each missing source symbol.

拡張されたソースブロックのデコードは、既知のAおよびDのCのデコードCに相当します。AのランクがLの場合にのみ、Cをデコードできることは明らかです。ソースシンボルは、各欠落しているソース記号を取得するために合計する必要がある中間記号の数とセットを決定するためのタプル。

The first step in decoding C is to form a decoding schedule. In this step, A is converted using Gaussian elimination (using row operations and row and column reorderings) and after discarding M - L rows, into the L x L identity matrix. The decoding schedule consists of the sequence of row operations and row and column reorderings during the Gaussian elimination process, and it only depends on A and not on D.

Cをデコードする最初のステップは、デコードスケジュールを形成することです。このステップでは、aはガウス除去(行操作と行と列の並べ替えを使用して)を使用して変換され、m -l列をL x l IDのマトリックスに廃棄した後に変換されます。デコードスケジュールは、ガウス除去プロセス中の行操作と行と列の並べ替えのシーケンスで構成されており、Dにのみ依存し、Dには依存しません。

The decoding of C from D can take place concurrently with the forming of the decoding schedule, or the decoding can take place afterwards based on the decoding schedule.

Dからのcのデコードは、デコードスケジュールの形成と同時に行われるか、デコードスケジュールに基づいてデコードがその後行われる可能性があります。

The correspondence between the decoding schedule and the decoding of C is as follows. Let c[0] = 0, c[1] = 1, ..., c[L-1] = L-1 and d[0] = 0, d[1] = 1, ..., d[M-1] = M-1 initially.

デコードスケジュールとCのデコードの対応は次のとおりです。c [0] = 0、c [1] = 1、...、c [l-1] = l-1およびd [0] = 0、d [1] = 1、...、d [M-1] = M-1最初は。

o Each time a multiple, beta, of row i of A is added to row i' in the decoding schedule, then in the decoding process the symbol beta*D[d[i]] is added to symbol D[d[i']].

o aの行Iの複数のベータが列i 'に追加されるたびに、デコードプロセスでシンボルベータ*d [d [i]]がシンボルd [d [i']に追加されます。]。

o Each time a row i of A is multiplied by an octet beta, then in the decoding process the symbol D[d[i]] is also multiplied by beta.

o Aの行IにOctet Betaを掛けるたびに、デコードプロセスでは、シンボルD [D [i]]にもベータが掛けられます。

o Each time row i is exchanged with row i' in the decoding schedule, then in the decoding process the value of d[i] is exchanged with the value of d[i'].

o 毎回行私は行I 'と交換されます。デコードスケジュールで、デコードプロセスでは、d [i]の値はd [i']の値と交換されます。

o Each time column j is exchanged with column j' in the decoding schedule, then in the decoding process the value of c[j] is exchanged with the value of c[j'].

o 列jが列j 'とデコードスケジュールで交換されるたびに、デコードプロセスでは、c [j]の値はc [j']の値と交換されます。

From this correspondence, it is clear that the total number of operations on symbols in the decoding of the extended source block is the number of row operations (not exchanges) in the Gaussian elimination. Since A is the L x L identity matrix after the Gaussian elimination and after discarding the last M - L rows, it is clear at the end of successful decoding that the L symbols D[d[0]], D[d[1]], ..., D[d[L-1]] are the values of the L symbols C[c[0]], C[c[1]], ..., C[c[L-1]].

この対応から、拡張ソースブロックのデコード中のシンボルの操作の総数は、ガウス除去の行操作(交換ではない)の数であることは明らかです。aはガウス除去後および最後のm -l行を破棄した後のl x lアイデンティティマトリックスであるため、lシンボルd [0]]、d [d [1]のデコードが成功したことは明らかです。]、...、d [d [l-1]]は、l記号の値c [c [0]]、c [c [1]]、...、c [c [l-1]の値です。]。

The order in which Gaussian elimination is performed to form the decoding schedule has no bearing on whether or not the decoding is successful. However, the speed of the decoding depends heavily on the order in which Gaussian elimination is performed. (Furthermore, maintaining a sparse representation of A is crucial, although this is not described here.) The remainder of this section describes an order in which Gaussian elimination could be performed that is relatively efficient.

デコードスケジュールを形成するためにガウス除去が実行される順序は、デコードが成功するかどうかに関係していません。ただし、デコードの速度は、ガウス除去が実行される順序に大きく依存します。(さらに、Aのまばらな表現を維持することが重要ですが、これはここでは説明されていません。)このセクションの残りの部分は、比較的効率的なガウスの排除を実行できる順序について説明しています。

5.4.2.2. First Phase
5.4.2.2. 第1段階

In the first phase of the Gaussian elimination, the matrix A is conceptually partitioned into submatrices and, additionally, a matrix X is created. This matrix has as many rows and columns as A, and it will be a lower triangular matrix throughout the first phase. At the beginning of this phase, the matrix A is copied into the matrix X.

ガウス除去の第1フェーズでは、マトリックスAは概念的にサブマトリックに分割され、さらに、マトリックスXが作成されます。このマトリックスには、aと同じ数の行と列があり、最初のフェーズ全体でより低い三角マトリックスになります。このフェーズの開始時に、マトリックスAがマトリックスXにコピーされます。

The submatrix sizes are parameterized by non-negative integers i and u, which are initialized to 0 and P, the number of PI symbols, respectively. The submatrices of A are:

サブマトリックスサイズは、それぞれPIシンボルの数である0とPに初期化されている非陰性整数IおよびUによってパラメーター化されます。Aのサブマトリックは次のとおりです。

1. The submatrix I defined by the intersection of the first i rows and first i columns. This is the identity matrix at the end of each step in the phase.

1. 最初のI行と最初のI列の交差点によって定義されたサブマトリックスI。これは、フェーズの各ステップの最後にあるアイデンティティマトリックスです。

2. The submatrix defined by the intersection of the first i rows and all but the first i columns and last u columns. All entries of this submatrix are zero.

2. サブマトリックスは、最初のi行と最初のi列と最後のu列を除くすべての交差によって定義されます。このサブマトリックスのすべてのエントリはゼロです。

3. The submatrix defined by the intersection of the first i columns and all but the first i rows. All entries of this submatrix are zero.

3. サブマトリックスは、最初のi列と最初のI行を除くすべての交差によって定義されます。このサブマトリックスのすべてのエントリはゼロです。

4. The submatrix U defined by the intersection of all the rows and the last u columns.

4. すべての行と最後のU列の交差点で定義されたサブマトリックスu。

5. The submatrix V formed by the intersection of all but the first i columns and the last u columns and all but the first i rows.

5. サブマトリックスVは、最初のi列を除くすべての交差点によって形成され、最後のU列、および最初のI行を除くすべての列によって形成されます。

Figure 6 illustrates the submatrices of A. At the beginning of the first phase, V consists of the first L-P columns of A, and U consists of the last P columns corresponding to the PI symbols. In each step, a row of A is chosen.

図6は、Aの下部を示しています。最初のフェーズの先頭に、VはAの最初のL-P列で構成され、UはPIシンボルに対応する最後のP列で構成されています。各ステップでは、Aの行が選択されます。

               +-----------+-----------------+---------+
               |           |                 |         |
               |     I     |    All Zeros    |         |
               |           |                 |         |
               +-----------+-----------------+    U    |
               |           |                 |         |
               |           |                 |         |
               | All Zeros |       V         |         |
               |           |                 |         |
               |           |                 |         |
               +-----------+-----------------+---------+
        

Figure 6: Submatrices of A in the First Phase

図6:第一段階のaの副産

The following graph defined by the structure of V is used in determining which row of A is chosen. The columns that intersect V are the nodes in the graph, and the rows that have exactly 2 nonzero entries in V and are not HDPC rows are the edges of the graph that connect the two columns (nodes) in the positions of the two ones. A component in this graph is a maximal set of nodes (columns) and edges

Vの構造によって定義された次のグラフは、選択されたAの行を決定する際に使用されます。Vを交差する列はグラフのノードであり、Vに正確に2つの非ゼロエントリがあり、HDPC行ではない行は、2つの列(ノード)を2つの列(ノード)に接続するグラフのエッジです。このグラフのコンポーネントは、ノードの最大セット(列)とエッジです

(rows) such that there is a path between each pair of nodes/edges in the graph. The size of a component is the number of nodes (columns) in the component.

(行)グラフ内の各ノード/エッジの間にパスがあるように。コンポーネントのサイズは、コンポーネントのノード(列)の数です。

There are at most L steps in the first phase. The phase ends successfully when i + u = L, i.e., when V and the all zeros submatrix above V have disappeared, and A consists of I, the all zeros submatrix below I, and U. The phase ends unsuccessfully in decoding failure if at some step before V disappears there is no nonzero row in V to choose in that step. In each step, a row of A is chosen as follows:

最初のフェーズにはせいぜいLステップがあります。私がu = l、つまりvとv上記のすべてのゼロサブマトリックスが消えた場合、aはi、すべてのゼロサブマトリックスIの下で構成されているときに、u、aで構成されたとき、位相は正常に終了します。Vが消える前に、Vにはゼロ以外の行はありません。そのステップで選択します。各ステップで、次のようにAの行が選択されます。

o If all entries of V are zero, then no row is chosen and decoding fails.

o Vのすべてのエントリがゼロの場合、行は選択されず、デコードは失敗します。

o Let r be the minimum integer such that at least one row of A has exactly r nonzeros in V.

o rを、aの少なくとも1列がvに正確にr nonzerosを持つように、最小整数とします。

* If r != 2, then choose a row with exactly r nonzeros in V with minimum original degree among all such rows, except that HDPC rows should not be chosen until all non-HDPC rows have been processed.

* r!= 2の場合、すべての非HDPC行が処理されるまでHDPC行を選択しないことを除いて、そのようなすべての行の最小元の程度で、Vに正確にR非ゼロを持つ行を選択します。

* If r = 2 and there is a row with exactly 2 ones in V, then choose any row with exactly 2 ones in V that is part of a maximum size component in the graph described above that is defined by V.

* r = 2で、Vに正確に2つの行がある行がある場合、Vで正確に2つの行をvに正確に2つの行を選択します。

* If r = 2 and there is no row with exactly 2 ones in V, then choose any row with exactly 2 nonzeros in V.

* r = 2で、Vに正確に2つの行がある行がない場合、Vに正確に2つの非ゼロを持つ行を選択します。

After the row is chosen in this step, the first row of A that intersects V is exchanged with the chosen row so that the chosen row is the first row that intersects V. The columns of A among those that intersect V are reordered so that one of the r nonzeros in the chosen row appears in the first column of V and so that the remaining r-1 nonzeros appear in the last columns of V. The same row and column operations are also performed on the matrix X. Then, an appropriate multiple of the chosen row is added to all the other rows of A below the chosen row that have a nonzero entry in the first column of V. Specifically, if a row below the chosen row has entry beta in the first column of V, and the chosen row has entry alpha in the first column of V, then beta/alpha multiplied by the chosen row is added to this row to leave a zero value in the first column of V. Finally, i is incremented by 1 and u is incremented by r-1, which completes the step.

このステップで行が選択された後、Aの最初の行Vが選択された行と交換されるため、選択した行がVと交差する最初の行になります。選択した行のr非ゼロのVの最初の列に表示され、Vの最後の列に残りのR-1非ゼロが表示されます。同じ行と列の操作もマトリックスXで実行されます。選択した行の複数は、Vの最初の列にゼロ以外のエントリがある選択した行の他のすべての行に追加されます。特に、選択した行の下の行にVの最初の列にエントリベータがあり、選択した行にはVの最初の列にエントリアルファがあり、その後、選択した行にベータ/アルファに乗算され、Vの最初の列にゼロ値を残します。R-1によって、ステップが完了します。

Note that efficiency can be improved if the row operations identified above are not actually performed until the affected row is itself chosen during the decoding process. This avoids processing of row operations for rows that are not eventually used in the decoding process, and in particular this avoids those rows for which beta!=1 until they are actually required. Furthermore, the row operations required for the HDPC rows may be performed for all such rows in one process, by using the algorithm described in Section 5.3.3.3.

上記の行操作が実際に実行されない場合、効率は、影響を受ける行自体がデコードプロセス中に選択されるまで実際に実行されないことに注意してください。これにより、デコードプロセスで最終的に使用されない行の行操作の処理が回避されます。特に、実際に必要になるまでベータ!= 1の行が回避されます。さらに、セクション5.3.3.3で説明したアルゴリズムを使用して、HDPC行に必要な行操作は、1つのプロセスでそのようなすべての行に対して実行される場合があります。

5.4.2.3. Second Phase
5.4.2.3. 第2フェーズ

At this point, all the entries of X outside the first i rows and i columns are discarded, so that X has lower triangular form. The last i rows and columns of X are discarded, so that X now has i rows and i columns. The submatrix U is further partitioned into the first i rows, U_upper, and the remaining M - i rows, U_lower. Gaussian elimination is performed in the second phase on U_lower either to determine that its rank is less than u (decoding failure) or to convert it into a matrix where the first u rows is the identity matrix (success of the second phase). Call this u x u identity matrix I_u. The M - L rows of A that intersect U_lower - I_u are discarded. After this phase, A has L rows and L columns.

この時点で、最初のI行とI列の外側のxのすべてのエントリは破棄されるため、xはより低い三角形の形式です。xの最後のi行と列は破棄されているため、xには列とi列があります。サブマトリックスuは、最初のi行、u_upper、および残りのm -i列、u_lowerにさらに分割されます。Gaussian Eliminationは、U_Lowerの第2フェーズで実行され、そのランクがUよりも低い(障害を解読する)か、最初のU行がIDマトリックス(第2フェーズの成功)であるマトリックスに変換することを決定します。これをu x u Identity Matrix i_uと呼びます。u_lower -i_uと交差するaのm -l列は破棄されます。このフェーズの後、aはl行とl列を持っています。

5.4.2.4. Third Phase
5.4.2.4. 第3フェーズ

After the second phase, the only portion of A that needs to be zeroed out to finish converting A into the L x L identity matrix is U_upper. The number of rows i of the submatrix U_upper is generally much larger than the number of columns u of U_upper. Moreover, at this time, the matrix U_upper is typically dense, i.e., the number of nonzero entries of this matrix is large. To reduce this matrix to a sparse form, the sequence of operations performed to obtain the matrix U_lower needs to be inverted. To this end, the matrix X is multiplied with the submatrix of A consisting of the first i rows of A. After this operation, the submatrix of A consisting of the intersection of the first i rows and columns equals to X, whereas the matrix U_upper is transformed to a sparse form.

2番目のフェーズの後、Aの唯一の部分をゼロアウトする必要があるのは、AをL X L IDに変換することを終了します。サブマトリックスU_upperの行Iの数は、一般に、u_upperの列uの数よりもはるかに大きいです。さらに、現時点では、マトリックスU_upperは通常密度が高いです。つまり、このマトリックスの非ゼロエントリの数は大きいです。このマトリックスをスパースフォームに減らすには、マトリックスU_Lowerを取得するために実行される一連の操作を反転する必要があります。この目的のために、マトリックスXには、Aの最初のi行で構成されるAのサブマトリックスと乗算されます。この操作の後、最初のI行と列の交差点で構成されるサブマトリックスはxに等しく、マトリックスU_upperはxに等しくなります。スパースフォームに変換されます。

5.4.2.5. Fourth Phase
5.4.2.5. 第4フェーズ

For each of the first i rows of U_upper, do the following: if the row has a nonzero entry at position j, and if the value of that nonzero entry is b, then add to this row b times row j of I_u. After this step, the submatrix of A consisting of the intersection of the first i rows and columns is equal to X, the submatrix U_upper consists of zeros, the submatrix consisting of the intersection of the last u rows and the first i columns consists of zeros, and the submatrix consisting of the last u rows and columns is the matrix I_u.

u_upperの最初のi行のそれぞれについて、次のことを行います。行が位置Jにゼロ以外のエントリがある場合、そのゼロ以外のエントリの値がbの場合は、i_uの行jをこの行Bに追加します。このステップの後、最初のI行と列の交差点で構成されるAのサブマトリックスはxに等しく、サブマトリックスU_Upperはゼロで構成され、サブマトリックスは最後のU行の交差点で構成され、最初のI列はゼロで構成されています、そして最後のu行と列からなるサブマトリックスは、マトリックスI_Uです。

5.4.2.6. Fifth Phase
5.4.2.6. 第5フェーズ

For j from 1 to i, perform the following operations:

1からiまでのJの場合、次の操作を実行します。

1. If A[j,j] is not one, then divide row j of A by A[j,j].

1. [j、j]が1つではない場合、aの行Jをa [j、j]で分割します。

2. For l from 1 to j-1, if A[j,l] is nonzero, then add A[j,l] multiplied with row l of A to row j of A.

2. 1からj-1の場合、a [j、l]がゼロである場合、a [j、l]をaの行Lをaの行Jに乗算します。

After this phase, A is the L x L identity matrix and a complete decoding schedule has been successfully formed. Then, the corresponding decoding consisting of summing known encoding symbols can be executed to recover the intermediate symbols based on the decoding schedule. The tuples associated with all source symbols are computed according to Section 5.3.3.2. The tuples for received source symbols are used in the decoding. The tuples for missing source symbols are used to determine which intermediate symbols need to be summed to recover the missing source symbols.

このフェーズの後、AはL X L IDのマトリックスであり、完全なデコードスケジュールが正常に形成されました。次に、デコードスケジュールに基づいて中間記号を回復するために、既知のエンコードシンボルを合計することで構成される対応するデコードを実行できます。すべてのソースシンボルに関連付けられたタプルは、セクション5.3.3.2に従って計算されます。受信したソース記号のタプルは、デコードで使用されます。欠落しているソース記号のタプルは、欠落しているソース記号を回復するために合計する必要がある中間記号を決定するために使用されます。

5.5. Random Numbers
5.5. 乱数

The four arrays V0, V1, V2, and V3 used in Section 5.3.5.1 are provided below. There are 256 entries in each of the four arrays. The indexing into each array starts at 0, and the entries are 32-bit unsigned integers.

セクション5.3.5.1で使用されている4つの配列V0、V1、V2、およびV3を以下に示します。4つの配列のそれぞれに256のエントリがあります。各配列へのインデックス作成は0から始まり、エントリは32ビットの符号なし整数です。

5.5.1. The Table V0
5.5.1. テーブルV0

251291136, 3952231631, 3370958628, 4070167936, 123631495, 3351110283, 3218676425, 2011642291, 774603218, 2402805061, 1004366930, 1843948209, 428891132, 3746331984, 1591258008, 3067016507, 1433388735, 504005498, 2032657933, 3419319784, 2805686246, 3102436986, 3808671154, 2501582075, 3978944421, 246043949, 4016898363, 649743608, 1974987508, 2651273766, 2357956801, 689605112, 715807172, 2722736134, 191939188, 3535520147, 3277019569, 1470435941, 3763101702, 3232409631, 122701163, 3920852693, 782246947, 372121310, 2995604341, 2045698575, 2332962102, 4005368743, 218596347, 3415381967, 4207612806, 861117671, 3676575285, 2581671944, 3312220480, 681232419, 307306866, 4112503940, 1158111502, 709227802, 2724140433, 4201101115, 4215970289, 4048876515, 3031661061, 1909085522, 510985033, 1361682810, 129243379, 3142379587, 2569842483, 3033268270, 1658118006, 932109358, 1982290045, 2983082771, 3007670818, 3448104768, 683749698, 778296777, 1399125101, 1939403708, 1692176003, 3868299200, 1422476658, 593093658, 1878973865, 2526292949, 1591602827, 3986158854, 3964389521, 2695031039, 1942050155, 424618399, 1347204291, 2669179716, 2434425874, 2540801947, 1384069776, 4123580443,

2983082771、3007670818、3448104768、683749698、77829677777777770、1692176003、3868299200、142476658、593

1523670218, 2708475297, 1046771089, 2229796016, 1255426612, 4213663089, 1521339547, 3041843489, 420130494, 10677091, 515623176, 3457502702, 2115821274, 2720124766, 3242576090, 854310108, 425973987, 325832382, 1796851292, 2462744411, 1976681690, 1408671665, 1228817808, 3917210003, 263976645, 2593736473, 2471651269, 4291353919, 650792940, 1191583883, 3046561335, 2466530435, 2545983082, 969168436, 2019348792, 2268075521, 1169345068, 3250240009, 3963499681, 2560755113, 911182396, 760842409, 3569308693, 2687243553, 381854665, 2613828404, 2761078866, 1456668111, 883760091, 3294951678, 1604598575, 1985308198, 1014570543, 2724959607, 3062518035, 3115293053, 138853680, 4160398285, 3322241130, 2068983570, 2247491078, 3669524410, 1575146607, 828029864, 3732001371, 3422026452, 3370954177, 4006626915, 543812220, 1243116171, 3928372514, 2791443445, 4081325272, 2280435605, 885616073, 616452097, 3188863436, 2780382310, 2340014831, 1208439576, 258356309, 3837963200, 2075009450, 3214181212, 3303882142, 880813252, 1355575717, 207231484, 2420803184, 358923368, 1617557768, 3272161958, 1771154147, 2842106362, 1751209208, 1421030790, 658316681, 194065839, 3241510581, 38625260, 301875395, 4176141739, 297312930, 2137802113, 1502984205, 3669376622, 3728477036, 234652930, 2213589897, 2734638932, 1129721478, 3187422815, 2859178611, 3284308411, 3819792700, 3557526733, 451874476, 1740576081, 3592838701, 1709429513, 3702918379, 3533351328, 1641660745, 179350258, 2380520112, 3936163904, 3685256204, 3156252216, 1854258901, 2861641019, 3176611298, 834787554, 331353807, 517858103, 3010168884, 4012642001, 2217188075, 3756943137, 3077882590, 2054995199, 3081443129, 3895398812, 1141097543, 2376261053, 2626898255, 2554703076, 401233789, 1460049922, 678083952, 1064990737, 940909784, 1673396780, 528881783, 1712547446, 3629685652, 1358307511

616452097、3188863436、2780382310、2340014831、1208439576、258356309、3837963200、2075009450、3214181212、3303882142、

5.5.2. The Table V1
5.5.2. テーブルV1

807385413, 2043073223, 3336749796, 1302105833, 2278607931, 541015020, 1684564270, 372709334, 3508252125, 1768346005, 1270451292, 2603029534, 2049387273, 3891424859, 2152948345, 4114760273, 915180310, 3754787998, 700503826, 2131559305, 1308908630, 224437350, 4065424007, 3638665944, 1679385496, 3431345226, 1779595665, 3068494238, 1424062773, 1033448464, 4050396853, 3302235057, 420600373, 2868446243, 311689386, 259047959, 4057180909, 1575367248, 4151214153, 110249784, 3006865921, 4293710613, 3501256572, 998007483, 499288295, 1205710710, 2997199489, 640417429, 3044194711, 486690751, 2686640734, 2394526209, 2521660077, 49993987, 3843885867, 4201106668, 415906198, 19296841, 2402488407, 2137119134, 1744097284, 579965637, 2037662632, 852173610, 2681403713,

2686640734、2394526209、2521660077、49993987、3843885867、4201106668、415906198、19296841、2402488407、213719134、174409728134、2137134、213719134、1744097281464146464646463414634134、26646464646464646464646464646464646464646464644414644134、17409728441464644146441464414634134、26464644414644414644414644134、

1047144830, 2982173936, 910285038, 4187576520, 2589870048, 989448887, 3292758024, 506322719, 176010738, 1865471968, 2619324712, 564829442, 1996870325, 339697593, 4071072948, 3618966336, 2111320126, 1093955153, 957978696, 892010560, 1854601078, 1873407527, 2498544695, 2694156259, 1927339682, 1650555729, 183933047, 3061444337, 2067387204, 228962564, 3904109414, 1595995433, 1780701372, 2463145963, 307281463, 3237929991, 3852995239, 2398693510, 3754138664, 522074127, 146352474, 4104915256, 3029415884, 3545667983, 332038910, 976628269, 3123492423, 3041418372, 2258059298, 2139377204, 3243642973, 3226247917, 3674004636, 2698992189, 3453843574, 1963216666, 3509855005, 2358481858, 747331248, 1957348676, 1097574450, 2435697214, 3870972145, 1888833893, 2914085525, 4161315584, 1273113343, 3269644828, 3681293816, 412536684, 1156034077, 3823026442, 1066971017, 3598330293, 1979273937, 2079029895, 1195045909, 1071986421, 2712821515, 3377754595, 2184151095, 750918864, 2585729879, 4249895712, 1832579367, 1192240192, 946734366, 31230688, 3174399083, 3549375728, 1642430184, 1904857554, 861877404, 3277825584, 4267074718, 3122860549, 666423581, 644189126, 226475395, 307789415, 1196105631, 3191691839, 782852669, 1608507813, 1847685900, 4069766876, 3931548641, 2526471011, 766865139, 2115084288, 4259411376, 3323683436, 568512177, 3736601419, 1800276898, 4012458395, 1823982, 27980198, 2023839966, 869505096, 431161506, 1024804023, 1853869307, 3393537983, 1500703614, 3019471560, 1351086955, 3096933631, 3034634988, 2544598006, 1230942551, 3362230798, 159984793, 491590373, 3993872886, 3681855622, 903593547, 3535062472, 1799803217, 772984149, 895863112, 1899036275, 4187322100, 101856048, 234650315, 3183125617, 3190039692, 525584357, 1286834489, 455810374, 1869181575, 922673938, 3877430102, 3422391938, 1414347295, 1971054608, 3061798054, 830555096, 2822905141, 167033190, 1079139428, 4210126723, 3593797804, 429192890, 372093950, 1779187770, 3312189287, 204349348, 452421568, 2800540462, 3733109044, 1235082423, 1765319556, 3174729780, 3762994475, 3171962488, 442160826, 198349622, 45942637, 1324086311, 2901868599, 678860040, 3812229107, 19936821, 1119590141, 3640121682, 3545931032, 2102949142, 2828208598, 3603378023, 4135048896

2079029895、1195045909、1071986421、2712821515、3377754595、2184151095、750918864、2585729879、4249895712、18325793677、1079139428、4210126723、3593797804、429192890、372093950、177918770、3312189287、204349348、452421568、

5.5.3. The Table V2
5.5.3. テーブルV2

1629829892, 282540176, 2794583710, 496504798, 2990494426, 3070701851, 2575963183, 4094823972, 2775723650, 4079480416, 176028725, 2246241423, 3732217647, 2196843075, 1306949278, 4170992780, 4039345809, 3209664269, 3387499533, 293063229, 3660290503, 2648440860, 2531406539, 3537879412, 773374739, 4184691853, 1804207821, 3347126643, 3479377103, 3970515774,

4184691853、1804207821、3347126643、3479377103、3970515774、

1891731298, 2368003842, 3537588307, 2969158410, 4230745262, 831906319, 2935838131, 264029468, 120852739, 3200326460, 355445271, 2296305141, 1566296040, 1760127056, 20073893, 3427103620, 2866979760, 2359075957, 2025314291, 1725696734, 3346087406, 2690756527, 99815156, 4248519977, 2253762642, 3274144518, 598024568, 3299672435, 556579346, 4121041856, 2896948975, 3620123492, 918453629, 3249461198, 2231414958, 3803272287, 3657597946, 2588911389, 242262274, 1725007475, 2026427718, 46776484, 2873281403, 2919275846, 3177933051, 1918859160, 2517854537, 1857818511, 3234262050, 479353687, 200201308, 2801945841, 1621715769, 483977159, 423502325, 3689396064, 1850168397, 3359959416, 3459831930, 841488699, 3570506095, 930267420, 1564520841, 2505122797, 593824107, 1116572080, 819179184, 3139123629, 1414339336, 1076360795, 512403845, 177759256, 1701060666, 2239736419, 515179302, 2935012727, 3821357612, 1376520851, 2700745271, 966853647, 1041862223, 715860553, 171592961, 1607044257, 1227236688, 3647136358, 1417559141, 4087067551, 2241705880, 4194136288, 1439041934, 20464430, 119668151, 2021257232, 2551262694, 1381539058, 4082839035, 498179069, 311508499, 3580908637, 2889149671, 142719814, 1232184754, 3356662582, 2973775623, 1469897084, 1728205304, 1415793613, 50111003, 3133413359, 4074115275, 2710540611, 2700083070, 2457757663, 2612845330, 3775943755, 2469309260, 2560142753, 3020996369, 1691667711, 4219602776, 1687672168, 1017921622, 2307642321, 368711460, 3282925988, 213208029, 4150757489, 3443211944, 2846101972, 4106826684, 4272438675, 2199416468, 3710621281, 497564971, 285138276, 765042313, 916220877, 3402623607, 2768784621, 1722849097, 3386397442, 487920061, 3569027007, 3424544196, 217781973, 2356938519, 3252429414, 145109750, 2692588106, 2454747135, 1299493354, 4120241887, 2088917094, 932304329, 1442609203, 952586974, 3509186750, 753369054, 854421006, 1954046388, 2708927882, 4047539230, 3048925996, 1667505809, 805166441, 1182069088, 4265546268, 4215029527, 3374748959, 373532666, 2454243090, 2371530493, 3651087521, 2619878153, 1651809518, 1553646893, 1227452842, 703887512, 3696674163, 2552507603, 2635912901, 895130484, 3287782244, 3098973502, 990078774, 3780326506, 2290845203, 41729428, 1949580860, 2283959805, 1036946170, 1694887523, 4880696, 466000198, 2765355283, 3318686998, 1266458025, 3919578154, 3545413527, 2627009988, 3744680394, 1696890173, 3250684705, 4142417708, 915739411, 3308488877, 1289361460, 2942552331, 1169105979, 3342228712, 698560958, 1356041230, 2401944293, 107705232, 3701895363, 903928723, 3646581385, 844950914, 1944371367, 3863894844, 2946773319, 1972431613, 1706989237, 29917467, 3497665928

2935012727、3821357612、1376520851、2700745271、966853647、1041862223、71586055、171592961、1607044257、122723688、3647136331954046388、2708927882、4047539230、3048925996、1667505809、42655546268、4215029527、3374748959、37335326662946773319、1972431613、1706989237、29917467、3497665928

5.5.4. The Table V3
5.5.4. テーブルV3

1191369816, 744902811, 2539772235, 3213192037, 3286061266, 1200571165, 2463281260, 754888894, 714651270, 1968220972, 3628497775, 1277626456, 1493398934, 364289757, 2055487592, 3913468088, 2930259465, 902504567, 3967050355, 2056499403, 692132390, 186386657, 832834706, 859795816, 1283120926, 2253183716, 3003475205, 1755803552, 2239315142, 4271056352, 2184848469, 769228092, 1249230754, 1193269205, 2660094102, 642979613, 1687087994, 2726106182, 446402913, 4122186606, 3771347282, 37667136, 192775425, 3578702187, 1952659096, 3989584400, 3069013882, 2900516158, 4045316336, 3057163251, 1702104819, 4116613420, 3575472384, 2674023117, 1409126723, 3215095429, 1430726429, 2544497368, 1029565676, 1855801827, 4262184627, 1854326881, 2906728593, 3277836557, 2787697002, 2787333385, 3105430738, 2477073192, 748038573, 1088396515, 1611204853, 201964005, 3745818380, 3654683549, 3816120877, 3915783622, 2563198722, 1181149055, 33158084, 3723047845, 3790270906, 3832415204, 2959617497, 372900708, 1286738499, 1932439099, 3677748309, 2454711182, 2757856469, 2134027055, 2780052465, 3190347618, 3758510138, 3626329451, 1120743107, 1623585693, 1389834102, 2719230375, 3038609003, 462617590, 260254189, 3706349764, 2556762744, 2874272296, 2502399286, 4216263978, 2683431180, 2168560535, 3561507175, 668095726, 680412330, 3726693946, 4180630637, 3335170953, 942140968, 2711851085, 2059233412, 4265696278, 3204373534, 232855056, 881788313, 2258252172, 2043595984, 3758795150, 3615341325, 2138837681, 1351208537, 2923692473, 3402482785, 2105383425, 2346772751, 499245323, 3417846006, 2366116814, 2543090583, 1828551634, 3148696244, 3853884867, 1364737681, 2200687771, 2689775688, 232720625, 4071657318, 2671968983, 3531415031, 1212852141, 867923311, 3740109711, 1923146533, 3237071777, 3100729255, 3247856816, 906742566, 4047640575, 4007211572, 3495700105, 1171285262, 2835682655, 1634301229, 3115169925, 2289874706, 2252450179, 944880097, 371933491, 1649074501, 2208617414, 2524305981, 2496569844, 2667037160, 1257550794, 3399219045, 3194894295, 1643249887, 342911473, 891025733, 3146861835, 3789181526, 938847812, 1854580183, 2112653794, 2960702988, 1238603378, 2205280635, 1666784014, 2520274614, 3355493726, 2310872278, 3153920489, 2745882591, 1200203158, 3033612415, 2311650167, 1048129133, 4206710184, 4209176741, 2640950279, 2096382177, 4116899089, 3631017851, 4104488173, 1857650503, 3801102932, 445806934, 3055654640, 897898279, 3234007399, 1325494930, 2982247189, 1619020475, 2720040856, 885096170, 3485255499, 2983202469, 3891011124, 546522756, 1524439205, 2644317889, 2170076800, 2969618716, 961183518, 1081831074, 1037015347, 3289016286, 2331748669, 620887395, 303042654, 3990027945, 1562756376, 3413341792, 2059647769,

3915783622、2563198722、1181149055、33158084、3723047845、3790270906、3832415204、2959617497、372900708、1286738499、2289874706、2252450179、944880097、371933491、1649074501、2208617414、2524305981、2496569844、267037160、1257555555557555755575575575575575575575575575575575575575575575575757575757961183518、1081831074、1037015347、3289016286、2331748669、303042654、390027945、1562756376、3413341792、2059677769

2823844432, 674595301, 2457639984, 4076754716, 2447737904, 1583323324, 625627134, 3076006391, 345777990, 1684954145, 879227329, 3436182180, 1522273219, 3802543817, 1456017040, 1897819847, 2970081129, 1382576028, 3820044861, 1044428167, 612252599, 3340478395, 2150613904, 3397625662, 3573635640, 3432275192

3432275192

5.6. Systematic Indices and Other Parameters
5.6. 体系的なインデックスおよびその他のパラメーター

Table 2 below specifies the supported values of K'. The table also specifies for each supported value of K' the systematic index J(K'), the number H(K') of HDPC symbols, the number S(K') of LDPC symbols, and the number W(K') of LT symbols. For each value of K', the corresponding values of S(K') and W(K') are prime numbers.

以下の表2は、k 'のサポート値を指定します。テーブルは、k 'のサポートされている各値、系統型インデックスj(k')、hdpcシンボルの数h(k ')、ldpcシンボルの数値s(k')、および数値w(k ')についても指定します。LTシンボルの。k 'の各値について、s(k')とw(k ')の対応する値は素数です。

The systematic index J(K') is designed to have the property that the set of source symbol tuples (d[0], a[0], b[0], d1[0], a1[0], b1[0]), ..., (d[K'-1], a[K'-1], b[K'-1], d1[K'-1], a1[K'-1], b1[K'-1]) are such that the L intermediate symbols are uniquely defined, i.e., the matrix A in Figure 6 has full rank and is therefore invertible.

系統的インデックスj(k ')は、ソースシンボルタプルのセット(d [0]、a [0]、b [0]、d1 [0]、a1 [0]、b1 [0というプロパティを持つように設計されています。]、...、(d [k'-1]、a [k'-1]、b [k'-1]、d1 [k'-1]、a1 [k'-1]、b1 [K'-1])は、L中間記号が一意に定義されているようなものです。つまり、図6のマトリックスAはフルランクであるため、反転可能です。

                 +-------+-------+-------+-------+-------+
                 | K'    | J(K') | S(K') | H(K') | W(K') |
                 +-------+-------+-------+-------+-------+
                 | 10    | 254   | 7     | 10    | 17    |
                 +-------+-------+-------+-------+-------+
                 | 12    | 630   | 7     | 10    | 19    |
                 +-------+-------+-------+-------+-------+
                 | 18    | 682   | 11    | 10    | 29    |
                 +-------+-------+-------+-------+-------+
                 | 20    | 293   | 11    | 10    | 31    |
                 +-------+-------+-------+-------+-------+
                 | 26    | 80    | 11    | 10    | 37    |
                 +-------+-------+-------+-------+-------+
                 | 30    | 566   | 11    | 10    | 41    |
                 +-------+-------+-------+-------+-------+
                 | 32    | 860   | 11    | 10    | 43    |
                 +-------+-------+-------+-------+-------+
                 | 36    | 267   | 11    | 10    | 47    |
                 +-------+-------+-------+-------+-------+
                 | 42    | 822   | 11    | 10    | 53    |
                 +-------+-------+-------+-------+-------+
                 | 46    | 506   | 13    | 10    | 59    |
                 +-------+-------+-------+-------+-------+
                 | 48    | 589   | 13    | 10    | 61    |
                 +-------+-------+-------+-------+-------+
                 | 49    | 87    | 13    | 10    | 61    |
                 +-------+-------+-------+-------+-------+
        
                 +-------+-------+-------+-------+-------+
                 | 55    | 520   | 13    | 10    | 67    |
                 +-------+-------+-------+-------+-------+
                 | 60    | 159   | 13    | 10    | 71    |
                 +-------+-------+-------+-------+-------+
                 | 62    | 235   | 13    | 10    | 73    |
                 +-------+-------+-------+-------+-------+
                 | 69    | 157   | 13    | 10    | 79    |
                 +-------+-------+-------+-------+-------+
                 | 75    | 502   | 17    | 10    | 89    |
                 +-------+-------+-------+-------+-------+
                 | 84    | 334   | 17    | 10    | 97    |
                 +-------+-------+-------+-------+-------+
                 | 88    | 583   | 17    | 10    | 101   |
                 +-------+-------+-------+-------+-------+
                 | 91    | 66    | 17    | 10    | 103   |
                 +-------+-------+-------+-------+-------+
                 | 95    | 352   | 17    | 10    | 107   |
                 +-------+-------+-------+-------+-------+
                 | 97    | 365   | 17    | 10    | 109   |
                 +-------+-------+-------+-------+-------+
                 | 101   | 562   | 17    | 10    | 113   |
                 +-------+-------+-------+-------+-------+
                 | 114   | 5     | 19    | 10    | 127   |
                 +-------+-------+-------+-------+-------+
                 | 119   | 603   | 19    | 10    | 131   |
                 +-------+-------+-------+-------+-------+
                 | 125   | 721   | 19    | 10    | 137   |
                 +-------+-------+-------+-------+-------+
                 | 127   | 28    | 19    | 10    | 139   |
                 +-------+-------+-------+-------+-------+
                 | 138   | 660   | 19    | 10    | 149   |
                 +-------+-------+-------+-------+-------+
                 | 140   | 829   | 19    | 10    | 151   |
                 +-------+-------+-------+-------+-------+
                 | 149   | 900   | 23    | 10    | 163   |
                 +-------+-------+-------+-------+-------+
                 | 153   | 930   | 23    | 10    | 167   |
                 +-------+-------+-------+-------+-------+
                 | 160   | 814   | 23    | 10    | 173   |
                 +-------+-------+-------+-------+-------+
                 | 166   | 661   | 23    | 10    | 179   |
                 +-------+-------+-------+-------+-------+
                 | 168   | 693   | 23    | 10    | 181   |
                 +-------+-------+-------+-------+-------+
                 | 179   | 780   | 23    | 10    | 191   |
                 +-------+-------+-------+-------+-------+
        
                 +-------+-------+-------+-------+-------+
                 | 181   | 605   | 23    | 10    | 193   |
                 +-------+-------+-------+-------+-------+
                 | 185   | 551   | 23    | 10    | 197   |
                 +-------+-------+-------+-------+-------+
                 | 187   | 777   | 23    | 10    | 199   |
                 +-------+-------+-------+-------+-------+
                 | 200   | 491   | 23    | 10    | 211   |
                 +-------+-------+-------+-------+-------+
                 | 213   | 396   | 23    | 10    | 223   |
                 +-------+-------+-------+-------+-------+
                 | 217   | 764   | 29    | 10    | 233   |
                 +-------+-------+-------+-------+-------+
                 | 225   | 843   | 29    | 10    | 241   |
                 +-------+-------+-------+-------+-------+
                 | 236   | 646   | 29    | 10    | 251   |
                 +-------+-------+-------+-------+-------+
                 | 242   | 557   | 29    | 10    | 257   |
                 +-------+-------+-------+-------+-------+
                 | 248   | 608   | 29    | 10    | 263   |
                 +-------+-------+-------+-------+-------+
                 | 257   | 265   | 29    | 10    | 271   |
                 +-------+-------+-------+-------+-------+
                 | 263   | 505   | 29    | 10    | 277   |
                 +-------+-------+-------+-------+-------+
                 | 269   | 722   | 29    | 10    | 283   |
                 +-------+-------+-------+-------+-------+
                 | 280   | 263   | 29    | 10    | 293   |
                 +-------+-------+-------+-------+-------+
                 | 295   | 999   | 29    | 10    | 307   |
                 +-------+-------+-------+-------+-------+
                 | 301   | 874   | 29    | 10    | 313   |
                 +-------+-------+-------+-------+-------+
                 | 305   | 160   | 29    | 10    | 317   |
                 +-------+-------+-------+-------+-------+
                 | 324   | 575   | 31    | 10    | 337   |
                 +-------+-------+-------+-------+-------+
                 | 337   | 210   | 31    | 10    | 349   |
                 +-------+-------+-------+-------+-------+
                 | 341   | 513   | 31    | 10    | 353   |
                 +-------+-------+-------+-------+-------+
                 | 347   | 503   | 31    | 10    | 359   |
                 +-------+-------+-------+-------+-------+
                 | 355   | 558   | 31    | 10    | 367   |
                 +-------+-------+-------+-------+-------+
                 | 362   | 932   | 31    | 10    | 373   |
                 +-------+-------+-------+-------+-------+
        
                 +-------+-------+-------+-------+-------+
                 | 368   | 404   | 31    | 10    | 379   |
                 +-------+-------+-------+-------+-------+
                 | 372   | 520   | 37    | 10    | 389   |
                 +-------+-------+-------+-------+-------+
                 | 380   | 846   | 37    | 10    | 397   |
                 +-------+-------+-------+-------+-------+
                 | 385   | 485   | 37    | 10    | 401   |
                 +-------+-------+-------+-------+-------+
                 | 393   | 728   | 37    | 10    | 409   |
                 +-------+-------+-------+-------+-------+
                 | 405   | 554   | 37    | 10    | 421   |
                 +-------+-------+-------+-------+-------+
                 | 418   | 471   | 37    | 10    | 433   |
                 +-------+-------+-------+-------+-------+
                 | 428   | 641   | 37    | 10    | 443   |
                 +-------+-------+-------+-------+-------+
                 | 434   | 732   | 37    | 10    | 449   |
                 +-------+-------+-------+-------+-------+
                 | 447   | 193   | 37    | 10    | 461   |
                 +-------+-------+-------+-------+-------+
                 | 453   | 934   | 37    | 10    | 467   |
                 +-------+-------+-------+-------+-------+
                 | 466   | 864   | 37    | 10    | 479   |
                 +-------+-------+-------+-------+-------+
                 | 478   | 790   | 37    | 10    | 491   |
                 +-------+-------+-------+-------+-------+
                 | 486   | 912   | 37    | 10    | 499   |
                 +-------+-------+-------+-------+-------+
                 | 491   | 617   | 37    | 10    | 503   |
                 +-------+-------+-------+-------+-------+
                 | 497   | 587   | 37    | 10    | 509   |
                 +-------+-------+-------+-------+-------+
                 | 511   | 800   | 37    | 10    | 523   |
                 +-------+-------+-------+-------+-------+
                 | 526   | 923   | 41    | 10    | 541   |
                 +-------+-------+-------+-------+-------+
                 | 532   | 998   | 41    | 10    | 547   |
                 +-------+-------+-------+-------+-------+
                 | 542   | 92    | 41    | 10    | 557   |
                 +-------+-------+-------+-------+-------+
                 | 549   | 497   | 41    | 10    | 563   |
                 +-------+-------+-------+-------+-------+
                 | 557   | 559   | 41    | 10    | 571   |
                 +-------+-------+-------+-------+-------+
                 | 563   | 667   | 41    | 10    | 577   |
                 +-------+-------+-------+-------+-------+
        
                 +-------+-------+-------+-------+-------+
                 | 573   | 912   | 41    | 10    | 587   |
                 +-------+-------+-------+-------+-------+
                 | 580   | 262   | 41    | 10    | 593   |
                 +-------+-------+-------+-------+-------+
                 | 588   | 152   | 41    | 10    | 601   |
                 +-------+-------+-------+-------+-------+
                 | 594   | 526   | 41    | 10    | 607   |
                 +-------+-------+-------+-------+-------+
                 | 600   | 268   | 41    | 10    | 613   |
                 +-------+-------+-------+-------+-------+
                 | 606   | 212   | 41    | 10    | 619   |
                 +-------+-------+-------+-------+-------+
                 | 619   | 45    | 41    | 10    | 631   |
                 +-------+-------+-------+-------+-------+
                 | 633   | 898   | 43    | 10    | 647   |
                 +-------+-------+-------+-------+-------+
                 | 640   | 527   | 43    | 10    | 653   |
                 +-------+-------+-------+-------+-------+
                 | 648   | 558   | 43    | 10    | 661   |
                 +-------+-------+-------+-------+-------+
                 | 666   | 460   | 47    | 10    | 683   |
                 +-------+-------+-------+-------+-------+
                 | 675   | 5     | 47    | 10    | 691   |
                 +-------+-------+-------+-------+-------+
                 | 685   | 895   | 47    | 10    | 701   |
                 +-------+-------+-------+-------+-------+
                 | 693   | 996   | 47    | 10    | 709   |
                 +-------+-------+-------+-------+-------+
                 | 703   | 282   | 47    | 10    | 719   |
                 +-------+-------+-------+-------+-------+
                 | 718   | 513   | 47    | 10    | 733   |
                 +-------+-------+-------+-------+-------+
                 | 728   | 865   | 47    | 10    | 743   |
                 +-------+-------+-------+-------+-------+
                 | 736   | 870   | 47    | 10    | 751   |
                 +-------+-------+-------+-------+-------+
                 | 747   | 239   | 47    | 10    | 761   |
                 +-------+-------+-------+-------+-------+
                 | 759   | 452   | 47    | 10    | 773   |
                 +-------+-------+-------+-------+-------+
                 | 778   | 862   | 53    | 10    | 797   |
                 +-------+-------+-------+-------+-------+
                 | 792   | 852   | 53    | 10    | 811   |
                 +-------+-------+-------+-------+-------+
                 | 802   | 643   | 53    | 10    | 821   |
                 +-------+-------+-------+-------+-------+
        
                 +-------+-------+-------+-------+-------+
                 | 811   | 543   | 53    | 10    | 829   |
                 +-------+-------+-------+-------+-------+
                 | 821   | 447   | 53    | 10    | 839   |
                 +-------+-------+-------+-------+-------+
                 | 835   | 321   | 53    | 10    | 853   |
                 +-------+-------+-------+-------+-------+
                 | 845   | 287   | 53    | 10    | 863   |
                 +-------+-------+-------+-------+-------+
                 | 860   | 12    | 53    | 10    | 877   |
                 +-------+-------+-------+-------+-------+
                 | 870   | 251   | 53    | 10    | 887   |
                 +-------+-------+-------+-------+-------+
                 | 891   | 30    | 53    | 10    | 907   |
                 +-------+-------+-------+-------+-------+
                 | 903   | 621   | 53    | 10    | 919   |
                 +-------+-------+-------+-------+-------+
                 | 913   | 555   | 53    | 10    | 929   |
                 +-------+-------+-------+-------+-------+
                 | 926   | 127   | 53    | 10    | 941   |
                 +-------+-------+-------+-------+-------+
                 | 938   | 400   | 53    | 10    | 953   |
                 +-------+-------+-------+-------+-------+
                 | 950   | 91    | 59    | 10    | 971   |
                 +-------+-------+-------+-------+-------+
                 | 963   | 916   | 59    | 10    | 983   |
                 +-------+-------+-------+-------+-------+
                 | 977   | 935   | 59    | 10    | 997   |
                 +-------+-------+-------+-------+-------+
                 | 989   | 691   | 59    | 10    | 1009  |
                 +-------+-------+-------+-------+-------+
                 | 1002  | 299   | 59    | 10    | 1021  |
                 +-------+-------+-------+-------+-------+
                 | 1020  | 282   | 59    | 10    | 1039  |
                 +-------+-------+-------+-------+-------+
                 | 1032  | 824   | 59    | 10    | 1051  |
                 +-------+-------+-------+-------+-------+
                 | 1050  | 536   | 59    | 11    | 1069  |
                 +-------+-------+-------+-------+-------+
                 | 1074  | 596   | 59    | 11    | 1093  |
                 +-------+-------+-------+-------+-------+
                 | 1085  | 28    | 59    | 11    | 1103  |
                 +-------+-------+-------+-------+-------+
                 | 1099  | 947   | 59    | 11    | 1117  |
                 +-------+-------+-------+-------+-------+
                 | 1111  | 162   | 59    | 11    | 1129  |
                 +-------+-------+-------+-------+-------+
        
                 +-------+-------+-------+-------+-------+
                 | 1136  | 536   | 59    | 11    | 1153  |
                 +-------+-------+-------+-------+-------+
                 | 1152  | 1000  | 61    | 11    | 1171  |
                 +-------+-------+-------+-------+-------+
                 | 1169  | 251   | 61    | 11    | 1187  |
                 +-------+-------+-------+-------+-------+
                 | 1183  | 673   | 61    | 11    | 1201  |
                 +-------+-------+-------+-------+-------+
                 | 1205  | 559   | 61    | 11    | 1223  |
                 +-------+-------+-------+-------+-------+
                 | 1220  | 923   | 61    | 11    | 1237  |
                 +-------+-------+-------+-------+-------+
                 | 1236  | 81    | 67    | 11    | 1259  |
                 +-------+-------+-------+-------+-------+
                 | 1255  | 478   | 67    | 11    | 1277  |
                 +-------+-------+-------+-------+-------+
                 | 1269  | 198   | 67    | 11    | 1291  |
                 +-------+-------+-------+-------+-------+
                 | 1285  | 137   | 67    | 11    | 1307  |
                 +-------+-------+-------+-------+-------+
                 | 1306  | 75    | 67    | 11    | 1327  |
                 +-------+-------+-------+-------+-------+
                 | 1347  | 29    | 67    | 11    | 1367  |
                 +-------+-------+-------+-------+-------+
                 | 1361  | 231   | 67    | 11    | 1381  |
                 +-------+-------+-------+-------+-------+
                 | 1389  | 532   | 67    | 11    | 1409  |
                 +-------+-------+-------+-------+-------+
                 | 1404  | 58    | 67    | 11    | 1423  |
                 +-------+-------+-------+-------+-------+
                 | 1420  | 60    | 67    | 11    | 1439  |
                 +-------+-------+-------+-------+-------+
                 | 1436  | 964   | 71    | 11    | 1459  |
                 +-------+-------+-------+-------+-------+
                 | 1461  | 624   | 71    | 11    | 1483  |
                 +-------+-------+-------+-------+-------+
                 | 1477  | 502   | 71    | 11    | 1499  |
                 +-------+-------+-------+-------+-------+
                 | 1502  | 636   | 71    | 11    | 1523  |
                 +-------+-------+-------+-------+-------+
                 | 1522  | 986   | 71    | 11    | 1543  |
                 +-------+-------+-------+-------+-------+
                 | 1539  | 950   | 71    | 11    | 1559  |
                 +-------+-------+-------+-------+-------+
                 | 1561  | 735   | 73    | 11    | 1583  |
                 +-------+-------+-------+-------+-------+
        
                 +-------+-------+-------+-------+-------+
                 | 1579  | 866   | 73    | 11    | 1601  |
                 +-------+-------+-------+-------+-------+
                 | 1600  | 203   | 73    | 11    | 1621  |
                 +-------+-------+-------+-------+-------+
                 | 1616  | 83    | 73    | 11    | 1637  |
                 +-------+-------+-------+-------+-------+
                 | 1649  | 14    | 73    | 11    | 1669  |
                 +-------+-------+-------+-------+-------+
                 | 1673  | 522   | 79    | 11    | 1699  |
                 +-------+-------+-------+-------+-------+
                 | 1698  | 226   | 79    | 11    | 1723  |
                 +-------+-------+-------+-------+-------+
                 | 1716  | 282   | 79    | 11    | 1741  |
                 +-------+-------+-------+-------+-------+
                 | 1734  | 88    | 79    | 11    | 1759  |
                 +-------+-------+-------+-------+-------+
                 | 1759  | 636   | 79    | 11    | 1783  |
                 +-------+-------+-------+-------+-------+
                 | 1777  | 860   | 79    | 11    | 1801  |
                 +-------+-------+-------+-------+-------+
                 | 1800  | 324   | 79    | 11    | 1823  |
                 +-------+-------+-------+-------+-------+
                 | 1824  | 424   | 79    | 11    | 1847  |
                 +-------+-------+-------+-------+-------+
                 | 1844  | 999   | 79    | 11    | 1867  |
                 +-------+-------+-------+-------+-------+
                 | 1863  | 682   | 83    | 11    | 1889  |
                 +-------+-------+-------+-------+-------+
                 | 1887  | 814   | 83    | 11    | 1913  |
                 +-------+-------+-------+-------+-------+
                 | 1906  | 979   | 83    | 11    | 1931  |
                 +-------+-------+-------+-------+-------+
                 | 1926  | 538   | 83    | 11    | 1951  |
                 +-------+-------+-------+-------+-------+
                 | 1954  | 278   | 83    | 11    | 1979  |
                 +-------+-------+-------+-------+-------+
                 | 1979  | 580   | 83    | 11    | 2003  |
                 +-------+-------+-------+-------+-------+
                 | 2005  | 773   | 83    | 11    | 2029  |
                 +-------+-------+-------+-------+-------+
                 | 2040  | 911   | 89    | 11    | 2069  |
                 +-------+-------+-------+-------+-------+
                 | 2070  | 506   | 89    | 11    | 2099  |
                 +-------+-------+-------+-------+-------+
                 | 2103  | 628   | 89    | 11    | 2131  |
                 +-------+-------+-------+-------+-------+
        
                 +-------+-------+-------+-------+-------+
                 | 2125  | 282   | 89    | 11    | 2153  |
                 +-------+-------+-------+-------+-------+
                 | 2152  | 309   | 89    | 11    | 2179  |
                 +-------+-------+-------+-------+-------+
                 | 2195  | 858   | 89    | 11    | 2221  |
                 +-------+-------+-------+-------+-------+
                 | 2217  | 442   | 89    | 11    | 2243  |
                 +-------+-------+-------+-------+-------+
                 | 2247  | 654   | 89    | 11    | 2273  |
                 +-------+-------+-------+-------+-------+
                 | 2278  | 82    | 97    | 11    | 2311  |
                 +-------+-------+-------+-------+-------+
                 | 2315  | 428   | 97    | 11    | 2347  |
                 +-------+-------+-------+-------+-------+
                 | 2339  | 442   | 97    | 11    | 2371  |
                 +-------+-------+-------+-------+-------+
                 | 2367  | 283   | 97    | 11    | 2399  |
                 +-------+-------+-------+-------+-------+
                 | 2392  | 538   | 97    | 11    | 2423  |
                 +-------+-------+-------+-------+-------+
                 | 2416  | 189   | 97    | 11    | 2447  |
                 +-------+-------+-------+-------+-------+
                 | 2447  | 438   | 97    | 11    | 2477  |
                 +-------+-------+-------+-------+-------+
                 | 2473  | 912   | 97    | 11    | 2503  |
                 +-------+-------+-------+-------+-------+
                 | 2502  | 1     | 97    | 11    | 2531  |
                 +-------+-------+-------+-------+-------+
                 | 2528  | 167   | 97    | 11    | 2557  |
                 +-------+-------+-------+-------+-------+
                 | 2565  | 272   | 97    | 11    | 2593  |
                 +-------+-------+-------+-------+-------+
                 | 2601  | 209   | 101   | 11    | 2633  |
                 +-------+-------+-------+-------+-------+
                 | 2640  | 927   | 101   | 11    | 2671  |
                 +-------+-------+-------+-------+-------+
                 | 2668  | 386   | 101   | 11    | 2699  |
                 +-------+-------+-------+-------+-------+
                 | 2701  | 653   | 101   | 11    | 2731  |
                 +-------+-------+-------+-------+-------+
                 | 2737  | 669   | 101   | 11    | 2767  |
                 +-------+-------+-------+-------+-------+
                 | 2772  | 431   | 101   | 11    | 2801  |
                 +-------+-------+-------+-------+-------+
                 | 2802  | 793   | 103   | 11    | 2833  |
                 +-------+-------+-------+-------+-------+
        
                 +-------+-------+-------+-------+-------+
                 | 2831  | 588   | 103   | 11    | 2861  |
                 +-------+-------+-------+-------+-------+
                 | 2875  | 777   | 107   | 11    | 2909  |
                 +-------+-------+-------+-------+-------+
                 | 2906  | 939   | 107   | 11    | 2939  |
                 +-------+-------+-------+-------+-------+
                 | 2938  | 864   | 107   | 11    | 2971  |
                 +-------+-------+-------+-------+-------+
                 | 2979  | 627   | 107   | 11    | 3011  |
                 +-------+-------+-------+-------+-------+
                 | 3015  | 265   | 109   | 11    | 3049  |
                 +-------+-------+-------+-------+-------+
                 | 3056  | 976   | 109   | 11    | 3089  |
                 +-------+-------+-------+-------+-------+
                 | 3101  | 988   | 113   | 11    | 3137  |
                 +-------+-------+-------+-------+-------+
                 | 3151  | 507   | 113   | 11    | 3187  |
                 +-------+-------+-------+-------+-------+
                 | 3186  | 640   | 113   | 11    | 3221  |
                 +-------+-------+-------+-------+-------+
                 | 3224  | 15    | 113   | 11    | 3259  |
                 +-------+-------+-------+-------+-------+
                 | 3265  | 667   | 113   | 11    | 3299  |
                 +-------+-------+-------+-------+-------+
                 | 3299  | 24    | 127   | 11    | 3347  |
                 +-------+-------+-------+-------+-------+
                 | 3344  | 877   | 127   | 11    | 3391  |
                 +-------+-------+-------+-------+-------+
                 | 3387  | 240   | 127   | 11    | 3433  |
                 +-------+-------+-------+-------+-------+
                 | 3423  | 720   | 127   | 11    | 3469  |
                 +-------+-------+-------+-------+-------+
                 | 3466  | 93    | 127   | 11    | 3511  |
                 +-------+-------+-------+-------+-------+
                 | 3502  | 919   | 127   | 11    | 3547  |
                 +-------+-------+-------+-------+-------+
                 | 3539  | 635   | 127   | 11    | 3583  |
                 +-------+-------+-------+-------+-------+
                 | 3579  | 174   | 127   | 11    | 3623  |
                 +-------+-------+-------+-------+-------+
                 | 3616  | 647   | 127   | 11    | 3659  |
                 +-------+-------+-------+-------+-------+
                 | 3658  | 820   | 127   | 11    | 3701  |
                 +-------+-------+-------+-------+-------+
                 | 3697  | 56    | 127   | 11    | 3739  |
                 +-------+-------+-------+-------+-------+
        
                 +-------+-------+-------+-------+-------+
                 | 3751  | 485   | 127   | 11    | 3793  |
                 +-------+-------+-------+-------+-------+
                 | 3792  | 210   | 127   | 11    | 3833  |
                 +-------+-------+-------+-------+-------+
                 | 3840  | 124   | 127   | 11    | 3881  |
                 +-------+-------+-------+-------+-------+
                 | 3883  | 546   | 127   | 11    | 3923  |
                 +-------+-------+-------+-------+-------+
                 | 3924  | 954   | 131   | 11    | 3967  |
                 +-------+-------+-------+-------+-------+
                 | 3970  | 262   | 131   | 11    | 4013  |
                 +-------+-------+-------+-------+-------+
                 | 4015  | 927   | 131   | 11    | 4057  |
                 +-------+-------+-------+-------+-------+
                 | 4069  | 957   | 131   | 11    | 4111  |
                 +-------+-------+-------+-------+-------+
                 | 4112  | 726   | 137   | 11    | 4159  |
                 +-------+-------+-------+-------+-------+
                 | 4165  | 583   | 137   | 11    | 4211  |
                 +-------+-------+-------+-------+-------+
                 | 4207  | 782   | 137   | 11    | 4253  |
                 +-------+-------+-------+-------+-------+
                 | 4252  | 37    | 137   | 11    | 4297  |
                 +-------+-------+-------+-------+-------+
                 | 4318  | 758   | 137   | 11    | 4363  |
                 +-------+-------+-------+-------+-------+
                 | 4365  | 777   | 137   | 11    | 4409  |
                 +-------+-------+-------+-------+-------+
                 | 4418  | 104   | 139   | 11    | 4463  |
                 +-------+-------+-------+-------+-------+
                 | 4468  | 476   | 139   | 11    | 4513  |
                 +-------+-------+-------+-------+-------+
                 | 4513  | 113   | 149   | 11    | 4567  |
                 +-------+-------+-------+-------+-------+
                 | 4567  | 313   | 149   | 11    | 4621  |
                 +-------+-------+-------+-------+-------+
                 | 4626  | 102   | 149   | 11    | 4679  |
                 +-------+-------+-------+-------+-------+
                 | 4681  | 501   | 149   | 11    | 4733  |
                 +-------+-------+-------+-------+-------+
                 | 4731  | 332   | 149   | 11    | 4783  |
                 +-------+-------+-------+-------+-------+
                 | 4780  | 786   | 149   | 11    | 4831  |
                 +-------+-------+-------+-------+-------+
                 | 4838  | 99    | 149   | 11    | 4889  |
                 +-------+-------+-------+-------+-------+
        
                 +-------+-------+-------+-------+-------+
                 | 4901  | 658   | 149   | 11    | 4951  |
                 +-------+-------+-------+-------+-------+
                 | 4954  | 794   | 149   | 11    | 5003  |
                 +-------+-------+-------+-------+-------+
                 | 5008  | 37    | 151   | 11    | 5059  |
                 +-------+-------+-------+-------+-------+
                 | 5063  | 471   | 151   | 11    | 5113  |
                 +-------+-------+-------+-------+-------+
                 | 5116  | 94    | 157   | 11    | 5171  |
                 +-------+-------+-------+-------+-------+
                 | 5172  | 873   | 157   | 11    | 5227  |
                 +-------+-------+-------+-------+-------+
                 | 5225  | 918   | 157   | 11    | 5279  |
                 +-------+-------+-------+-------+-------+
                 | 5279  | 945   | 157   | 11    | 5333  |
                 +-------+-------+-------+-------+-------+
                 | 5334  | 211   | 157   | 11    | 5387  |
                 +-------+-------+-------+-------+-------+
                 | 5391  | 341   | 157   | 11    | 5443  |
                 +-------+-------+-------+-------+-------+
                 | 5449  | 11    | 163   | 11    | 5507  |
                 +-------+-------+-------+-------+-------+
                 | 5506  | 578   | 163   | 11    | 5563  |
                 +-------+-------+-------+-------+-------+
                 | 5566  | 494   | 163   | 11    | 5623  |
                 +-------+-------+-------+-------+-------+
                 | 5637  | 694   | 163   | 11    | 5693  |
                 +-------+-------+-------+-------+-------+
                 | 5694  | 252   | 163   | 11    | 5749  |
                 +-------+-------+-------+-------+-------+
                 | 5763  | 451   | 167   | 11    | 5821  |
                 +-------+-------+-------+-------+-------+
                 | 5823  | 83    | 167   | 11    | 5881  |
                 +-------+-------+-------+-------+-------+
                 | 5896  | 689   | 167   | 11    | 5953  |
                 +-------+-------+-------+-------+-------+
                 | 5975  | 488   | 173   | 11    | 6037  |
                 +-------+-------+-------+-------+-------+
                 | 6039  | 214   | 173   | 11    | 6101  |
                 +-------+-------+-------+-------+-------+
                 | 6102  | 17    | 173   | 11    | 6163  |
                 +-------+-------+-------+-------+-------+
                 | 6169  | 469   | 173   | 11    | 6229  |
                 +-------+-------+-------+-------+-------+
                 | 6233  | 263   | 179   | 11    | 6299  |
                 +-------+-------+-------+-------+-------+
        
                 +-------+-------+-------+-------+-------+
                 | 6296  | 309   | 179   | 11    | 6361  |
                 +-------+-------+-------+-------+-------+
                 | 6363  | 984   | 179   | 11    | 6427  |
                 +-------+-------+-------+-------+-------+
                 | 6427  | 123   | 179   | 11    | 6491  |
                 +-------+-------+-------+-------+-------+
                 | 6518  | 360   | 179   | 11    | 6581  |
                 +-------+-------+-------+-------+-------+
                 | 6589  | 863   | 181   | 11    | 6653  |
                 +-------+-------+-------+-------+-------+
                 | 6655  | 122   | 181   | 11    | 6719  |
                 +-------+-------+-------+-------+-------+
                 | 6730  | 522   | 191   | 11    | 6803  |
                 +-------+-------+-------+-------+-------+
                 | 6799  | 539   | 191   | 11    | 6871  |
                 +-------+-------+-------+-------+-------+
                 | 6878  | 181   | 191   | 11    | 6949  |
                 +-------+-------+-------+-------+-------+
                 | 6956  | 64    | 191   | 11    | 7027  |
                 +-------+-------+-------+-------+-------+
                 | 7033  | 387   | 191   | 11    | 7103  |
                 +-------+-------+-------+-------+-------+
                 | 7108  | 967   | 191   | 11    | 7177  |
                 +-------+-------+-------+-------+-------+
                 | 7185  | 843   | 191   | 11    | 7253  |
                 +-------+-------+-------+-------+-------+
                 | 7281  | 999   | 193   | 11    | 7351  |
                 +-------+-------+-------+-------+-------+
                 | 7360  | 76    | 197   | 11    | 7433  |
                 +-------+-------+-------+-------+-------+
                 | 7445  | 142   | 197   | 11    | 7517  |
                 +-------+-------+-------+-------+-------+
                 | 7520  | 599   | 197   | 11    | 7591  |
                 +-------+-------+-------+-------+-------+
                 | 7596  | 576   | 199   | 11    | 7669  |
                 +-------+-------+-------+-------+-------+
                 | 7675  | 176   | 211   | 11    | 7759  |
                 +-------+-------+-------+-------+-------+
                 | 7770  | 392   | 211   | 11    | 7853  |
                 +-------+-------+-------+-------+-------+
                 | 7855  | 332   | 211   | 11    | 7937  |
                 +-------+-------+-------+-------+-------+
                 | 7935  | 291   | 211   | 11    | 8017  |
                 +-------+-------+-------+-------+-------+
                 | 8030  | 913   | 211   | 11    | 8111  |
                 +-------+-------+-------+-------+-------+
        
                 +-------+-------+-------+-------+-------+
                 | 8111  | 608   | 211   | 11    | 8191  |
                 +-------+-------+-------+-------+-------+
                 | 8194  | 212   | 211   | 11    | 8273  |
                 +-------+-------+-------+-------+-------+
                 | 8290  | 696   | 211   | 11    | 8369  |
                 +-------+-------+-------+-------+-------+
                 | 8377  | 931   | 223   | 11    | 8467  |
                 +-------+-------+-------+-------+-------+
                 | 8474  | 326   | 223   | 11    | 8563  |
                 +-------+-------+-------+-------+-------+
                 | 8559  | 228   | 223   | 11    | 8647  |
                 +-------+-------+-------+-------+-------+
                 | 8654  | 706   | 223   | 11    | 8741  |
                 +-------+-------+-------+-------+-------+
                 | 8744  | 144   | 223   | 11    | 8831  |
                 +-------+-------+-------+-------+-------+
                 | 8837  | 83    | 223   | 11    | 8923  |
                 +-------+-------+-------+-------+-------+
                 | 8928  | 743   | 223   | 11    | 9013  |
                 +-------+-------+-------+-------+-------+
                 | 9019  | 187   | 223   | 11    | 9103  |
                 +-------+-------+-------+-------+-------+
                 | 9111  | 654   | 227   | 11    | 9199  |
                 +-------+-------+-------+-------+-------+
                 | 9206  | 359   | 227   | 11    | 9293  |
                 +-------+-------+-------+-------+-------+
                 | 9303  | 493   | 229   | 11    | 9391  |
                 +-------+-------+-------+-------+-------+
                 | 9400  | 369   | 233   | 11    | 9491  |
                 +-------+-------+-------+-------+-------+
                 | 9497  | 981   | 233   | 11    | 9587  |
                 +-------+-------+-------+-------+-------+
                 | 9601  | 276   | 239   | 11    | 9697  |
                 +-------+-------+-------+-------+-------+
                 | 9708  | 647   | 239   | 11    | 9803  |
                 +-------+-------+-------+-------+-------+
                 | 9813  | 389   | 239   | 11    | 9907  |
                 +-------+-------+-------+-------+-------+
                 | 9916  | 80    | 239   | 11    | 10009 |
                 +-------+-------+-------+-------+-------+
                 | 10017 | 396   | 241   | 11    | 10111 |
                 +-------+-------+-------+-------+-------+
                 | 10120 | 580   | 251   | 11    | 10223 |
                 +-------+-------+-------+-------+-------+
                 | 10241 | 873   | 251   | 11    | 10343 |
                 +-------+-------+-------+-------+-------+
        
                 +-------+-------+-------+-------+-------+
                 | 10351 | 15    | 251   | 11    | 10453 |
                 +-------+-------+-------+-------+-------+
                 | 10458 | 976   | 251   | 11    | 10559 |
                 +-------+-------+-------+-------+-------+
                 | 10567 | 584   | 251   | 11    | 10667 |
                 +-------+-------+-------+-------+-------+
                 | 10676 | 267   | 257   | 11    | 10781 |
                 +-------+-------+-------+-------+-------+
                 | 10787 | 876   | 257   | 11    | 10891 |
                 +-------+-------+-------+-------+-------+
                 | 10899 | 642   | 257   | 12    | 11003 |
                 +-------+-------+-------+-------+-------+
                 | 11015 | 794   | 257   | 12    | 11119 |
                 +-------+-------+-------+-------+-------+
                 | 11130 | 78    | 263   | 12    | 11239 |
                 +-------+-------+-------+-------+-------+
                 | 11245 | 736   | 263   | 12    | 11353 |
                 +-------+-------+-------+-------+-------+
                 | 11358 | 882   | 269   | 12    | 11471 |
                 +-------+-------+-------+-------+-------+
                 | 11475 | 251   | 269   | 12    | 11587 |
                 +-------+-------+-------+-------+-------+
                 | 11590 | 434   | 269   | 12    | 11701 |
                 +-------+-------+-------+-------+-------+
                 | 11711 | 204   | 269   | 12    | 11821 |
                 +-------+-------+-------+-------+-------+
                 | 11829 | 256   | 271   | 12    | 11941 |
                 +-------+-------+-------+-------+-------+
                 | 11956 | 106   | 277   | 12    | 12073 |
                 +-------+-------+-------+-------+-------+
                 | 12087 | 375   | 277   | 12    | 12203 |
                 +-------+-------+-------+-------+-------+
                 | 12208 | 148   | 277   | 12    | 12323 |
                 +-------+-------+-------+-------+-------+
                 | 12333 | 496   | 281   | 12    | 12451 |
                 +-------+-------+-------+-------+-------+
                 | 12460 | 88    | 281   | 12    | 12577 |
                 +-------+-------+-------+-------+-------+
                 | 12593 | 826   | 293   | 12    | 12721 |
                 +-------+-------+-------+-------+-------+
                 | 12726 | 71    | 293   | 12    | 12853 |
                 +-------+-------+-------+-------+-------+
                 | 12857 | 925   | 293   | 12    | 12983 |
                 +-------+-------+-------+-------+-------+
                 | 13002 | 760   | 293   | 12    | 13127 |
                 +-------+-------+-------+-------+-------+
        
                 +-------+-------+-------+-------+-------+
                 | 13143 | 130   | 293   | 12    | 13267 |
                 +-------+-------+-------+-------+-------+
                 | 13284 | 641   | 307   | 12    | 13421 |
                 +-------+-------+-------+-------+-------+
                 | 13417 | 400   | 307   | 12    | 13553 |
                 +-------+-------+-------+-------+-------+
                 | 13558 | 480   | 307   | 12    | 13693 |
                 +-------+-------+-------+-------+-------+
                 | 13695 | 76    | 307   | 12    | 13829 |
                 +-------+-------+-------+-------+-------+
                 | 13833 | 665   | 307   | 12    | 13967 |
                 +-------+-------+-------+-------+-------+
                 | 13974 | 910   | 307   | 12    | 14107 |
                 +-------+-------+-------+-------+-------+
                 | 14115 | 467   | 311   | 12    | 14251 |
                 +-------+-------+-------+-------+-------+
                 | 14272 | 964   | 311   | 12    | 14407 |
                 +-------+-------+-------+-------+-------+
                 | 14415 | 625   | 313   | 12    | 14551 |
                 +-------+-------+-------+-------+-------+
                 | 14560 | 362   | 317   | 12    | 14699 |
                 +-------+-------+-------+-------+-------+
                 | 14713 | 759   | 317   | 12    | 14851 |
                 +-------+-------+-------+-------+-------+
                 | 14862 | 728   | 331   | 12    | 15013 |
                 +-------+-------+-------+-------+-------+
                 | 15011 | 343   | 331   | 12    | 15161 |
                 +-------+-------+-------+-------+-------+
                 | 15170 | 113   | 331   | 12    | 15319 |
                 +-------+-------+-------+-------+-------+
                 | 15325 | 137   | 331   | 12    | 15473 |
                 +-------+-------+-------+-------+-------+
                 | 15496 | 308   | 331   | 12    | 15643 |
                 +-------+-------+-------+-------+-------+
                 | 15651 | 800   | 337   | 12    | 15803 |
                 +-------+-------+-------+-------+-------+
                 | 15808 | 177   | 337   | 12    | 15959 |
                 +-------+-------+-------+-------+-------+
                 | 15977 | 961   | 337   | 12    | 16127 |
                 +-------+-------+-------+-------+-------+
                 | 16161 | 958   | 347   | 12    | 16319 |
                 +-------+-------+-------+-------+-------+
                 | 16336 | 72    | 347   | 12    | 16493 |
                 +-------+-------+-------+-------+-------+
                 | 16505 | 732   | 347   | 12    | 16661 |
                 +-------+-------+-------+-------+-------+
        
                 +-------+-------+-------+-------+-------+
                 | 16674 | 145   | 349   | 12    | 16831 |
                 +-------+-------+-------+-------+-------+
                 | 16851 | 577   | 353   | 12    | 17011 |
                 +-------+-------+-------+-------+-------+
                 | 17024 | 305   | 353   | 12    | 17183 |
                 +-------+-------+-------+-------+-------+
                 | 17195 | 50    | 359   | 12    | 17359 |
                 +-------+-------+-------+-------+-------+
                 | 17376 | 351   | 359   | 12    | 17539 |
                 +-------+-------+-------+-------+-------+
                 | 17559 | 175   | 367   | 12    | 17729 |
                 +-------+-------+-------+-------+-------+
                 | 17742 | 727   | 367   | 12    | 17911 |
                 +-------+-------+-------+-------+-------+
                 | 17929 | 902   | 367   | 12    | 18097 |
                 +-------+-------+-------+-------+-------+
                 | 18116 | 409   | 373   | 12    | 18289 |
                 +-------+-------+-------+-------+-------+
                 | 18309 | 776   | 373   | 12    | 18481 |
                 +-------+-------+-------+-------+-------+
                 | 18503 | 586   | 379   | 12    | 18679 |
                 +-------+-------+-------+-------+-------+
                 | 18694 | 451   | 379   | 12    | 18869 |
                 +-------+-------+-------+-------+-------+
                 | 18909 | 287   | 383   | 12    | 19087 |
                 +-------+-------+-------+-------+-------+
                 | 19126 | 246   | 389   | 12    | 19309 |
                 +-------+-------+-------+-------+-------+
                 | 19325 | 222   | 389   | 12    | 19507 |
                 +-------+-------+-------+-------+-------+
                 | 19539 | 563   | 397   | 12    | 19727 |
                 +-------+-------+-------+-------+-------+
                 | 19740 | 839   | 397   | 12    | 19927 |
                 +-------+-------+-------+-------+-------+
                 | 19939 | 897   | 401   | 12    | 20129 |
                 +-------+-------+-------+-------+-------+
                 | 20152 | 409   | 401   | 12    | 20341 |
                 +-------+-------+-------+-------+-------+
                 | 20355 | 618   | 409   | 12    | 20551 |
                 +-------+-------+-------+-------+-------+
                 | 20564 | 439   | 409   | 12    | 20759 |
                 +-------+-------+-------+-------+-------+
                 | 20778 | 95    | 419   | 13    | 20983 |
                 +-------+-------+-------+-------+-------+
                 | 20988 | 448   | 419   | 13    | 21191 |
                 +-------+-------+-------+-------+-------+
        
                 +-------+-------+-------+-------+-------+
                 | 21199 | 133   | 419   | 13    | 21401 |
                 +-------+-------+-------+-------+-------+
                 | 21412 | 938   | 419   | 13    | 21613 |
                 +-------+-------+-------+-------+-------+
                 | 21629 | 423   | 431   | 13    | 21841 |
                 +-------+-------+-------+-------+-------+
                 | 21852 | 90    | 431   | 13    | 22063 |
                 +-------+-------+-------+-------+-------+
                 | 22073 | 640   | 431   | 13    | 22283 |
                 +-------+-------+-------+-------+-------+
                 | 22301 | 922   | 433   | 13    | 22511 |
                 +-------+-------+-------+-------+-------+
                 | 22536 | 250   | 439   | 13    | 22751 |
                 +-------+-------+-------+-------+-------+
                 | 22779 | 367   | 439   | 13    | 22993 |
                 +-------+-------+-------+-------+-------+
                 | 23010 | 447   | 443   | 13    | 23227 |
                 +-------+-------+-------+-------+-------+
                 | 23252 | 559   | 449   | 13    | 23473 |
                 +-------+-------+-------+-------+-------+
                 | 23491 | 121   | 457   | 13    | 23719 |
                 +-------+-------+-------+-------+-------+
                 | 23730 | 623   | 457   | 13    | 23957 |
                 +-------+-------+-------+-------+-------+
                 | 23971 | 450   | 457   | 13    | 24197 |
                 +-------+-------+-------+-------+-------+
                 | 24215 | 253   | 461   | 13    | 24443 |
                 +-------+-------+-------+-------+-------+
                 | 24476 | 106   | 467   | 13    | 24709 |
                 +-------+-------+-------+-------+-------+
                 | 24721 | 863   | 467   | 13    | 24953 |
                 +-------+-------+-------+-------+-------+
                 | 24976 | 148   | 479   | 13    | 25219 |
                 +-------+-------+-------+-------+-------+
                 | 25230 | 427   | 479   | 13    | 25471 |
                 +-------+-------+-------+-------+-------+
                 | 25493 | 138   | 479   | 13    | 25733 |
                 +-------+-------+-------+-------+-------+
                 | 25756 | 794   | 487   | 13    | 26003 |
                 +-------+-------+-------+-------+-------+
                 | 26022 | 247   | 487   | 13    | 26267 |
                 +-------+-------+-------+-------+-------+
                 | 26291 | 562   | 491   | 13    | 26539 |
                 +-------+-------+-------+-------+-------+
                 | 26566 | 53    | 499   | 13    | 26821 |
                 +-------+-------+-------+-------+-------+
        
                 +-------+-------+-------+-------+-------+
                 | 26838 | 135   | 499   | 13    | 27091 |
                 +-------+-------+-------+-------+-------+
                 | 27111 | 21    | 503   | 13    | 27367 |
                 +-------+-------+-------+-------+-------+
                 | 27392 | 201   | 509   | 13    | 27653 |
                 +-------+-------+-------+-------+-------+
                 | 27682 | 169   | 521   | 13    | 27953 |
                 +-------+-------+-------+-------+-------+
                 | 27959 | 70    | 521   | 13    | 28229 |
                 +-------+-------+-------+-------+-------+
                 | 28248 | 386   | 521   | 13    | 28517 |
                 +-------+-------+-------+-------+-------+
                 | 28548 | 226   | 523   | 13    | 28817 |
                 +-------+-------+-------+-------+-------+
                 | 28845 | 3     | 541   | 13    | 29131 |
                 +-------+-------+-------+-------+-------+
                 | 29138 | 769   | 541   | 13    | 29423 |
                 +-------+-------+-------+-------+-------+
                 | 29434 | 590   | 541   | 13    | 29717 |
                 +-------+-------+-------+-------+-------+
                 | 29731 | 672   | 541   | 13    | 30013 |
                 +-------+-------+-------+-------+-------+
                 | 30037 | 713   | 547   | 13    | 30323 |
                 +-------+-------+-------+-------+-------+
                 | 30346 | 967   | 547   | 13    | 30631 |
                 +-------+-------+-------+-------+-------+
                 | 30654 | 368   | 557   | 14    | 30949 |
                 +-------+-------+-------+-------+-------+
                 | 30974 | 348   | 557   | 14    | 31267 |
                 +-------+-------+-------+-------+-------+
                 | 31285 | 119   | 563   | 14    | 31583 |
                 +-------+-------+-------+-------+-------+
                 | 31605 | 503   | 569   | 14    | 31907 |
                 +-------+-------+-------+-------+-------+
                 | 31948 | 181   | 571   | 14    | 32251 |
                 +-------+-------+-------+-------+-------+
                 | 32272 | 394   | 577   | 14    | 32579 |
                 +-------+-------+-------+-------+-------+
                 | 32601 | 189   | 587   | 14    | 32917 |
                 +-------+-------+-------+-------+-------+
                 | 32932 | 210   | 587   | 14    | 33247 |
                 +-------+-------+-------+-------+-------+
                 | 33282 | 62    | 593   | 14    | 33601 |
                 +-------+-------+-------+-------+-------+
                 | 33623 | 273   | 593   | 14    | 33941 |
                 +-------+-------+-------+-------+-------+
        
                 +-------+-------+-------+-------+-------+
                 | 33961 | 554   | 599   | 14    | 34283 |
                 +-------+-------+-------+-------+-------+
                 | 34302 | 936   | 607   | 14    | 34631 |
                 +-------+-------+-------+-------+-------+
                 | 34654 | 483   | 607   | 14    | 34981 |
                 +-------+-------+-------+-------+-------+
                 | 35031 | 397   | 613   | 14    | 35363 |
                 +-------+-------+-------+-------+-------+
                 | 35395 | 241   | 619   | 14    | 35731 |
                 +-------+-------+-------+-------+-------+
                 | 35750 | 500   | 631   | 14    | 36097 |
                 +-------+-------+-------+-------+-------+
                 | 36112 | 12    | 631   | 14    | 36457 |
                 +-------+-------+-------+-------+-------+
                 | 36479 | 958   | 641   | 14    | 36833 |
                 +-------+-------+-------+-------+-------+
                 | 36849 | 524   | 641   | 14    | 37201 |
                 +-------+-------+-------+-------+-------+
                 | 37227 | 8     | 643   | 14    | 37579 |
                 +-------+-------+-------+-------+-------+
                 | 37606 | 100   | 653   | 14    | 37967 |
                 +-------+-------+-------+-------+-------+
                 | 37992 | 339   | 653   | 14    | 38351 |
                 +-------+-------+-------+-------+-------+
                 | 38385 | 804   | 659   | 14    | 38749 |
                 +-------+-------+-------+-------+-------+
                 | 38787 | 510   | 673   | 14    | 39163 |
                 +-------+-------+-------+-------+-------+
                 | 39176 | 18    | 673   | 14    | 39551 |
                 +-------+-------+-------+-------+-------+
                 | 39576 | 412   | 677   | 14    | 39953 |
                 +-------+-------+-------+-------+-------+
                 | 39980 | 394   | 683   | 14    | 40361 |
                 +-------+-------+-------+-------+-------+
                 | 40398 | 830   | 691   | 15    | 40787 |
                 +-------+-------+-------+-------+-------+
                 | 40816 | 535   | 701   | 15    | 41213 |
                 +-------+-------+-------+-------+-------+
                 | 41226 | 199   | 701   | 15    | 41621 |
                 +-------+-------+-------+-------+-------+
                 | 41641 | 27    | 709   | 15    | 42043 |
                 +-------+-------+-------+-------+-------+
                 | 42067 | 298   | 709   | 15    | 42467 |
                 +-------+-------+-------+-------+-------+
                 | 42490 | 368   | 719   | 15    | 42899 |
                 +-------+-------+-------+-------+-------+
        
                 +-------+-------+-------+-------+-------+
                 | 42916 | 755   | 727   | 15    | 43331 |
                 +-------+-------+-------+-------+-------+
                 | 43388 | 379   | 727   | 15    | 43801 |
                 +-------+-------+-------+-------+-------+
                 | 43840 | 73    | 733   | 15    | 44257 |
                 +-------+-------+-------+-------+-------+
                 | 44279 | 387   | 739   | 15    | 44701 |
                 +-------+-------+-------+-------+-------+
                 | 44729 | 457   | 751   | 15    | 45161 |
                 +-------+-------+-------+-------+-------+
                 | 45183 | 761   | 751   | 15    | 45613 |
                 +-------+-------+-------+-------+-------+
                 | 45638 | 855   | 757   | 15    | 46073 |
                 +-------+-------+-------+-------+-------+
                 | 46104 | 370   | 769   | 15    | 46549 |
                 +-------+-------+-------+-------+-------+
                 | 46574 | 261   | 769   | 15    | 47017 |
                 +-------+-------+-------+-------+-------+
                 | 47047 | 299   | 787   | 15    | 47507 |
                 +-------+-------+-------+-------+-------+
                 | 47523 | 920   | 787   | 15    | 47981 |
                 +-------+-------+-------+-------+-------+
                 | 48007 | 269   | 787   | 15    | 48463 |
                 +-------+-------+-------+-------+-------+
                 | 48489 | 862   | 797   | 15    | 48953 |
                 +-------+-------+-------+-------+-------+
                 | 48976 | 349   | 809   | 15    | 49451 |
                 +-------+-------+-------+-------+-------+
                 | 49470 | 103   | 809   | 15    | 49943 |
                 +-------+-------+-------+-------+-------+
                 | 49978 | 115   | 821   | 15    | 50461 |
                 +-------+-------+-------+-------+-------+
                 | 50511 | 93    | 821   | 16    | 50993 |
                 +-------+-------+-------+-------+-------+
                 | 51017 | 982   | 827   | 16    | 51503 |
                 +-------+-------+-------+-------+-------+
                 | 51530 | 432   | 839   | 16    | 52027 |
                 +-------+-------+-------+-------+-------+
                 | 52062 | 340   | 853   | 16    | 52571 |
                 +-------+-------+-------+-------+-------+
                 | 52586 | 173   | 853   | 16    | 53093 |
                 +-------+-------+-------+-------+-------+
                 | 53114 | 421   | 857   | 16    | 53623 |
                 +-------+-------+-------+-------+-------+
                 | 53650 | 330   | 863   | 16    | 54163 |
                 +-------+-------+-------+-------+-------+
        
                 +-------+-------+-------+-------+-------+
                 | 54188 | 624   | 877   | 16    | 54713 |
                 +-------+-------+-------+-------+-------+
                 | 54735 | 233   | 877   | 16    | 55259 |
                 +-------+-------+-------+-------+-------+
                 | 55289 | 362   | 883   | 16    | 55817 |
                 +-------+-------+-------+-------+-------+
                 | 55843 | 963   | 907   | 16    | 56393 |
                 +-------+-------+-------+-------+-------+
                 | 56403 | 471   | 907   | 16    | 56951 |
                 +-------+-------+-------+-------+-------+
        

Table 2: Systematic Indices and Other Parameters

表2:体系的なインデックスおよびその他のパラメーター

5.7. Operating with Octets, Symbols, and Matrices
5.7. オクテット、シンボル、マトリックスで動作します
5.7.1. General
5.7.1. 全般的

The remainder of this section describes the arithmetic operations that are used to generate encoding symbols from source symbols and to generate source symbols from encoding symbols. Mathematically, octets can be thought of as elements of a finite field, i.e., the finite field GF(256) with 256 elements, and thus the addition and multiplication operations and identity elements and inverses over both operations are defined. Matrix operations and symbol operations are defined based on the arithmetic operations on octets. This allows a full implementation of these arithmetic operations without having to understand the underlying mathematics of finite fields.

このセクションの残りの部分では、ソースシンボルからエンコードシンボルを生成し、エンコードシンボルからソースシンボルを生成するために使用される算術演算について説明します。数学的には、オクテットは有限フィールドの要素、つまり256の要素を持つ有限フィールドGF(256)と考えることができます。したがって、両方の操作にわたって加算および乗算操作とアイデンティティ要素と逆が定義されます。マトリックス操作とシンボル操作は、オクテットの算術操作に基づいて定義されます。これにより、有限フィールドの基礎となる数学を理解することなく、これらの算術操作を完全に実装できます。

5.7.2. Arithmetic Operations on Octets
5.7.2. オクテットの算術操作

Octets are mapped to non-negative integers in the range 0 through 255 in the usual way: A single octet of data from a symbol, B[7],B[6],B[5],B[4],B[3],B[2],B[1],B[0], where B[7] is the highest order bit and B[0] is the lowest order bit, is mapped to the integer i=B[7]*128+B[6]*64+B[5]*32+B[4]*16+B[3]*8+B[2]*4+B[1]*2+B[0].

オクテットは、通常の方法で0〜255の範囲0から255の非陰性整数にマッピングされます:シンボルからのデータの単一のデータ、B [7]、B [6]、B [5]、B [4]、B [3]、b [2]、b [1]、b [0]、ここで、b [7]は最も高いオーダービットであり、b [0]が最低のビットであり、整数i = b [7]にマッピングされます*128 B [6]*64 B [5]*32 B [4]*16 B [3]*8 B [2]*4 B [1]*2 B [0]。

The addition of two octets u and v is defined as the exclusive-or operation, i.e.,

2つのオクテットuとvの追加は、排他的または操作、つまり、

u + v = u ^ v.

u v = u ^ v。

Subtraction is defined in the same way, so we also have

減算は同じ方法で定義されるため、

u - v = u ^ v.

u -v = u ^ v。

The zero element (additive identity) is the octet represented by the integer 0. The additive inverse of u is simply u, i.e.,

ゼロ要素(添加剤アイデンティティ)は、整数0で表されるオクテットです。uの付加的逆は単にuです。

u + u = 0.

u u = 0。

The multiplication of two octets is defined with the help of two tables OCT_EXP and OCT_LOG, which are given in Section 5.7.3 and Section 5.7.4, respectively. The table OCT_LOG maps octets (other than the zero element) to non-negative integers, and OCT_EXP maps non-negative integers to octets. For two octets u and v, we define

2つのオクテットの乗算は、2つのテーブルOCT_EXPとOCT_LOGの助けを借りて定義されます。これらは、それぞれセクション5.7.3とセクション5.7.4に記載されています。テーブルOCT_LOGは、非陰性整数にオクテット(ゼロ要素以外)をマッピングし、OCT_EXPは非陰性整数をオクテットにマッピングします。2オクテットuとvについて、定義します

u * v =

u * v =

0, if either u or v are 0,

0、uまたはvのいずれかが0の場合、

OCT_EXP[OCT_LOG[u] + OCT_LOG[v]] otherwise.

Oct_exp [Oct_log [u] oct_log [v]]それ以外の場合。

Note that the '+' on the right-hand side of the above is the usual integer addition, since its arguments are ordinary integers.

「上記の右側にあるのは、その議論が通常の整数であるため、通常の整数の追加であることに注意してください。

The division u / v of two octets u and v, and where v != 0, is defined as follows:

2オクテットuとvの除算u / v、およびv!= 0は次のように定義されます。

u / v =

u / v =

0, if u == 0,

0、u == 0の場合、

OCT_EXP[OCT_LOG[u] - OCT_LOG[v] + 255] otherwise.

Oct_exp [Oct_log [u] -oct_log [v] 255]それ以外の場合。

The one element (multiplicative identity) is the octet represented by the integer 1. For an octet u that is not the zero element, i.e., the multiplicative inverse of u is

1つの要素(乗算的アイデンティティ)は、整数1で表されるオクテットです。

OCT_EXP[255 - OCT_LOG[u]].

Oct_exp [255 -Oct_log [u]]。

The octet denoted by alpha is the octet with the integer representation 2. If i is a non-negative integer 0 <= i < 256, we have

アルファで示されるオクテットは、整数表現2のオクテットです。私が非陰性整数0 <= i <256である場合、

alpha^^i = OCT_EXP[i].

alpha ^^ i = oct_exp [i]。

5.7.3. The Table OCT_EXP
5.7.3. テーブルOCT_EXP

The table OCT_EXP contains 510 octets. The indexing starts at 0 and ranges to 509, and the entries are the octets with the following positive integer representation:

テーブルOct_Expには510オクテットが含まれています。インデックス作成は0から始まり、509の範囲で、エントリは次の正の整数表現を持つオクテットです。

1, 2, 4, 8, 16, 32, 64, 128, 29, 58, 116, 232, 205, 135, 19, 38, 76, 152, 45, 90, 180, 117, 234, 201, 143, 3, 6, 12, 24, 48, 96, 192, 157, 39, 78, 156, 37, 74, 148, 53, 106, 212, 181, 119, 238, 193, 159, 35, 70, 140, 5, 10, 20, 40, 80, 160, 93, 186, 105, 210, 185, 111, 222, 161, 95, 190, 97, 194, 153, 47, 94, 188, 101, 202, 137, 15, 30, 60, 120, 240, 253, 231, 211, 187, 107, 214, 177, 127, 254, 225, 223, 163, 91, 182, 113, 226, 217, 175, 67, 134, 17, 34, 68, 136, 13, 26, 52, 104, 208, 189, 103, 206, 129, 31, 62, 124, 248, 237, 199, 147, 59, 118, 236, 197, 151, 51, 102, 204, 133, 23, 46, 92, 184, 109, 218, 169, 79, 158, 33, 66, 132, 21, 42, 84, 168, 77, 154, 41, 82, 164, 85, 170, 73, 146, 57, 114, 228, 213, 183, 115, 230, 209, 191, 99, 198, 145, 63, 126, 252, 229, 215, 179, 123, 246, 241, 255, 227, 219, 171, 75, 150, 49, 98, 196, 149, 55, 110, 220, 165, 87, 174, 65, 130, 25, 50, 100, 200, 141, 7, 14, 28, 56, 112, 224, 221, 167, 83, 166, 81, 162, 89, 178, 121, 242, 249, 239, 195, 155, 43, 86, 172, 69, 138, 9, 18, 36, 72, 144, 61, 122, 244, 245, 247, 243, 251, 235, 203, 139, 11, 22, 44, 88, 176, 125, 250, 233, 207, 131, 27, 54, 108, 216, 173, 71, 142, 1, 2, 4, 8, 16, 32, 64, 128, 29, 58, 116, 232, 205, 135, 19, 38, 76, 152, 45, 90, 180, 117, 234, 201, 143, 3, 6, 12, 24, 48, 96, 192, 157, 39, 78, 156, 37, 74, 148, 53, 106, 212, 181, 119, 238, 193, 159, 35, 70, 140, 5, 10, 20, 40, 80, 160, 93, 186, 105, 210, 185, 111, 222, 161, 95, 190, 97, 194, 153, 47, 94, 188, 101, 202, 137, 15, 30, 60, 120, 240, 253, 231, 211, 187, 107, 214, 177, 127, 254, 225, 223, 163, 91, 182, 113, 226, 217, 175, 67, 134, 17, 34, 68, 136, 13, 26, 52, 104, 208, 189, 103, 206, 129, 31, 62, 124, 248, 237, 199, 147, 59, 118, 236, 197, 151, 51, 102, 204, 133, 23, 46, 92, 184, 109, 218, 169, 79, 158, 33, 66, 132, 21, 42, 84, 168, 77, 154, 41, 82, 164, 85, 170, 73, 146, 57, 114, 228, 213, 183, 115, 230, 209, 191, 99, 198, 145, 63, 126, 252, 229, 215, 179, 123, 246, 241, 255, 227, 219, 171, 75, 150, 49, 98, 196, 149, 55, 110, 220, 165, 87, 174, 65, 130, 25, 50, 100, 200, 141, 7, 14, 28, 56, 112, 224, 221, 167, 83, 166, 81, 162, 89, 178, 121, 242, 249, 239, 195, 155, 43, 86, 172, 69, 138, 9, 18, 36, 72, 144, 61, 122, 244, 245, 247, 243, 251, 235, 203, 139, 11, 22, 44, 88, 176, 125, 250, 233, 207, 131, 27, 54, 108, 216, 173, 71, 142

1、2、4、8、16、32、64、128、29、58、116、232、205、135、19、38、76、152、45、90、180、117、234、201、143、3、6、12、24、48、96、192、157、39、78、156、37、74、148、53、106、212、181、119、238、193、159、35、70、140、140、5、10、20、40、80、160、93、186、105、210、185、111、222、161、95、190、97、194、153、47、94、188、101、202、137、15、30、60、120、240、253、231、211、187、107、214、177、127、254、225、223、163、91、182、113、226、217、175、67、134、134、17、34、68、136、13、26、52、104、208、189、103、206、129、31、62、124、248、237、199、147、59、118、236、197、151、51、102、204、133、23、46、92、184、109、218、169、79、158、33、66、132、21、42、84、168、77、154、41、82、164、164、164、85、170、73、146、57、114、228、213、183、115、230、209、191、99、198、145、63、126、252、229、215、179、123、246、241、241、241、255、227、219、171、75、150、49、98、196、149、55、110、220、165、87、174、65、130、25、50、100、200、141、7、14、28、56、112、224、221、167、83、166、81、162、89、178、121、242、249、239、195、155、43、86、172、69、138、9、18、36、72、144、61、122、244、245、247、243、251、235、203、139、11、22、44、88、176、125、250、233、207、131、27、54、108、216、173、71、142、1、2、4、8、16、32、64、128、29、58、116、232、205、135、19、38、76、152、45、90、180、117、234、201、143、3、6、12、24、48、96、192、157、39、78、156、37、74、148、53、106、212、181、119、238、193、159、35、70、140、10、20、40、80、160、93、186、105、210、185、111、222、161、95、190、97、194、153、47、94、188、101、202、137、15、30、60、120、240、253、231、211、187、107、214、177、127、254、225、223、163、91、182、113、226、217、175、67、134、17、34、68、136、13、26、52、104、208、189、103、206、129、11 31、62、124、248、237、199、147、59、118、236、197、151、51、102、204、133、23、46、92、184、109、218、169、79、158、33、66、132、21、42、84、168、77、154、41、82、164、85、170、73、146、57、114、228、213、183、115、230、209、191、99、198、145、63、126、252、229、215、179、123、246、241、255、227、219、171、75、150、49、98、196、149、55、110、220、165、87、174、65、130、25、50、100、200、141、7、14、28、56、112、224、221、167、83、166、81、162、89、178、121、242、249、239、195、155、43、86、172、69、138、9、18、36、72、144、61、122、244、245、245、247、243、251、235、203、139、11、22、44、88、176、125、250、233、207、131、27、54、108、216、173、71、142

5.7.4. The Table OCT_LOG
5.7.4. テーブルOct_log

The table OCT_LOG contains 255 non-negative integers. The table is indexed by octets interpreted as integers. The octet corresponding to the zero element, which is represented by the integer 0, is excluded as an index, and thus indexing starts at 1 and ranges up to 255, and the entries are the following:

テーブルOCT_LOGには、255の非陰性整数が含まれています。テーブルは、整数として解釈されるオクテットによってインデックス付けされています。整数0で表されるゼロ要素に対応するオクテットは、インデックスとして除外されるため、インデックス作成は1から始まり、最大255の範囲で、エントリは次のとおりです。

0, 1, 25, 2, 50, 26, 198, 3, 223, 51, 238, 27, 104, 199, 75, 4, 100, 224, 14, 52, 141, 239, 129, 28, 193, 105, 248, 200, 8, 76, 113, 5, 138, 101, 47, 225, 36, 15, 33, 53, 147, 142, 218, 240, 18, 130, 69, 29, 181, 194, 125, 106, 39, 249, 185, 201, 154, 9, 120, 77, 228, 114,

0、1、25、2、50、26、198、3、223、51、238、27、104、199、75、4、100、224、14、52、141、239、129、28、193、105、248、200、8、76、113、5、138、101、47、225、36、15、33、53、147、142、218、240、18、130、69、29、181、194、125、106、39、249、185、201、154、9、120、77、228、114、

166, 6, 191, 139, 98, 102, 221, 48, 253, 226, 152, 37, 179, 16, 145, 34, 136, 54, 208, 148, 206, 143, 150, 219, 189, 241, 210, 19, 92, 131, 56, 70, 64, 30, 66, 182, 163, 195, 72, 126, 110, 107, 58, 40, 84, 250, 133, 186, 61, 202, 94, 155, 159, 10, 21, 121, 43, 78, 212, 229, 172, 115, 243, 167, 87, 7, 112, 192, 247, 140, 128, 99, 13, 103, 74, 222, 237, 49, 197, 254, 24, 227, 165, 153, 119, 38, 184, 180, 124, 17, 68, 146, 217, 35, 32, 137, 46, 55, 63, 209, 91, 149, 188, 207, 205, 144, 135, 151, 178, 220, 252, 190, 97, 242, 86, 211, 171, 20, 42, 93, 158, 132, 60, 57, 83, 71, 109, 65, 162, 31, 45, 67, 216, 183, 123, 164, 118, 196, 23, 73, 236, 127, 12, 111, 246, 108, 161, 59, 82, 41, 157, 85, 170, 251, 96, 134, 177, 187, 204, 62, 90, 203, 89, 95, 176, 156, 169, 160, 81, 11, 245, 22, 235, 122, 117, 44, 215, 79, 174, 213, 233, 230, 231, 173, 232, 116, 214, 244, 234, 168, 80, 88, 175

166、6、191、139、98、102、221、48、253、226、152、37、179、16、145、34、136、54、208、148、206、143、150、150、219、189、189、241、210、19、92、131、56、70、64、30、66、182、163、195、72、126、110、107、58、40、84、250、133、186、61、202、202、94、155、159、10、21、121、43、78、212、229、172、115、243、167、87、7、112、192、247、140、128、99、13、103、74、222、237、49、197、254、24、227、165、153、119、38、184、180、124、17、68、146、217、35、32、137、46、55、63、209、209、91、149、188、207、205、144、135、151、178、220、252、190、97、242、86、211、171、20、42、93、158、132、60、57、83、83、71、109、65、162、31、45、67、216、183、123、164、118、196、23、73、236、127、12、111、246、108、161、59、82、41、157、85、170、251、96、134、177、187、204、62、90、203、89、95、176、156、169、160、81、11、245、22、235、122、117、117、44、215、79、174、213、233、230、231、173、232、116、214、244、234、168、80、88、175

5.7.5. Operations on Symbols
5.7.5. シンボルの操作

Operations on symbols have the same semantics as operations on vectors of octets of length T in this specification. Thus, if U and V are two symbols formed by the octets u[0], ..., u[T-1] and v[0], ..., v[T-1], respectively, the sum of symbols U + V is defined to be the component-wise sum of octets, i.e., equal to the symbol D formed by the octets d[0], ..., d[T-1], such that

シンボルの操作には、この仕様の長さtのオクテットのベクトルの操作と同じセマンティクスがあります。したがって、uとvがオクテットu [0]、...、u [t-1]、v [0]、...、v [t-1]によって形成される2つの記号である場合、の合計の合計シンボルu vは、オクテットのコンポーネントごとの合計であると定義されています。つまり、オクテットd [0]、...、d [t-1]によって形成されるシンボルdに等しく、

d[i] = u[i] + v[i], 0 <= i < T.

d [i] = u [i] v [i]、0 <= i <t。

Furthermore, if beta is an octet, the product beta*U is defined to be the symbol D obtained by multiplying each octet of U by beta, i.e.,

さらに、ベータがオクテットである場合、製品ベータ*uは、uの各オクテットにベータ、つまり、つまり、uの各オクテットを乗算することによって得られるシンボルdと定義されます。

d[i] = beta*u[i], 0 <= i < T.

d [i] = beta*u [i]、0 <= i <t。

5.7.6. Operations on Matrices
5.7.6. マトリックスの操作

All matrices in this specification have entries that are octets, and thus matrix operations and definitions are defined in terms of the underlying octet arithmetic, e.g., operations on a matrix, matrix rank, and matrix inversion.

この仕様のすべての行列にはオクテットであるエントリがあり、したがってマトリックスの操作と定義は、基礎となるオクテット算術、たとえばマトリックス、マトリックスランク、およびマトリックス反転の操作に関して定義されます。

5.8. Requirements for a Compliant Decoder
5.8. 準拠デコーダーの要件

If a RaptorQ-compliant decoder receives a mathematically sufficient set of encoding symbols generated according to the encoder specification in Section 5.3 for reconstruction of a source block, then such a decoder SHOULD recover the entire source block.

Raptorqに準拠したデコーダーが、ソースブロックの再構築のためにセクション5.3のエンコーダー仕様に従って生成された数学的に十分なエンコード記号のセットを受信する場合、そのようなデコーダーはソースブロック全体を回復するはずです。

A RaptorQ-compliant decoder SHALL have the following recovery properties for source blocks with K' source symbols for all values of K' in Table 2 of Section 5.6.

Raptorqに準拠したデコーダーには、セクション5.6の表2に、k 'のすべての値に対してK'ソース記号を含むソースブロックの次の回復特性があります。

1. If the decoder receives K' encoding symbols generated according to the encoder specification in Section 5.3 with corresponding ESIs chosen independently and uniformly at random from the range of possible ESIs, then on average the decoder will fail to recover the entire source block at most 1 out of 100 times.

1. デコーダーがセクション5.3のエンコーダー仕様に従って生成されたk 'エンコードシンボルを受信し、対応するESIが可能なESIの範囲から独立して均一に選択された場合、平均してデコーダーはソースブロック全体を最大1で回復できません。100回の。

2. If the decoder receives K'+1 encoding symbols generated according to the encoder specification in Section 5.3 with corresponding ESIs chosen independently and uniformly at random from the range of possible ESIs, then on average the decoder will fail to recover the entire source block at most 1 out of 10,000 times.

2. デコーダーがセクション5.3のエンコーダー仕様に従って生成されたK '1エンコードシンボルを受信し、対応するESIが可能なESISの範囲から独立して均一に選択された場合、平均してデコーダーはソースブロック全体を最大1で回復できません。10,000回のうち。

3. If the decoder receives K'+2 encoding symbols generated according to the encoder specification in Section 5.3 with corresponding ESIs chosen independently and uniformly at random from the range of possible ESIs, then on average the decoder will fail to recover the entire source block at most 1 out of 1,000,000 times.

3. デコーダーがセクション5.3のエンコーダー仕様に従って生成されたK '2エンコードシンボルを受信し、対応するESIが可能なESIの範囲から独立して均一に選択された場合、平均してデコーダーはソースブロック全体を最大1で回復できません。1,000,000回のうち。

Note that the Example FEC Decoder specified in Section 5.4 fulfills both requirements, i.e.,

セクション5.4で指定されたFECデコーダーの例は、両方の要件、つまり、つまり、

1. it can reconstruct a source block as long as it receives a mathematically sufficient set of encoding symbols generated according to the encoder specification in Section 5.3, and

1. セクション5.3のエンコーダー仕様に従って生成された数学的に十分なエンコード記号のセットを受信している限り、ソースブロックを再構築できます。

2. it fulfills the mandatory recovery properties from above.

2. 上からの必須の回復特性を満たします。

6. Security Considerations
6. セキュリティに関する考慮事項

Data delivery can be subject to denial-of-service attacks by attackers that send corrupted packets that are accepted as legitimate by receivers. This is particularly a concern for multicast delivery because a corrupted packet may be injected into the session close to the root of the multicast tree, in which case the corrupted packet will arrive at many receivers. The use of even one corrupted packet containing encoding data may result in the decoding of an object that is completely corrupted and unusable. It is thus RECOMMENDED that source authentication and integrity checking are applied to decoded objects before delivering objects to an application. For example, a SHA-256 hash [FIPS.180-3.2008] of an object may be appended before transmission, and the SHA-256 hash is computed and checked after the object is decoded but before it is delivered to an application. Source authentication SHOULD be provided, for example, by including a digital signature verifiable by the receiver computed on top of the hash value. It is also RECOMMENDED that a packet authentication protocol such as TESLA [RFC4082] be used to detect and discard corrupted packets upon arrival. This method may also be used to provide source authentication. Furthermore, it is RECOMMENDED that

データ配信は、受信者によって合法として受け入れられている破損したパケットを送信する攻撃者によるサービス拒否攻撃の対象となります。これは、マルチキャストツリーのルートに近いセッションに破損したパケットが注入される可能性があるため、マルチキャスト配信の懸念事項です。この場合、破損したパケットは多くのレシーバーに到着します。エンコードデータを含む1つの破損したパケットを使用すると、完全に破損して使用できないオブジェクトがデコードされる場合があります。したがって、アプリケーションにオブジェクトを配信する前に、ソース認証と整合性チェックをデコードされたオブジェクトに適用することをお勧めします。たとえば、オブジェクトのSHA-256ハッシュ[FIPS.180-3.2008]は、送信前に追加されることがあり、SHA-256ハッシュはオブジェクトがデコードされた後、アプリケーションに配信される前に計算およびチェックされます。ソース認証は、たとえば、ハッシュ値の上に計算された受信機が検証可能なデジタル署名を含めることにより、提供する必要があります。また、Tesla [RFC4082]などのパケット認証プロトコルを使用して、到着時に破損したパケットを検出および破棄することをお勧めします。この方法は、ソース認証を提供するためにも使用できます。さらに、それをお勧めします

Reverse Path Forwarding checks be enabled in all network routers and switches along the path from the sender to receivers to limit the possibility of a bad agent successfully injecting a corrupted packet into the multicast tree data path.

リバースパス転送チェックは、すべてのネットワークルーターと送信者からレシーバーにパスに沿って切り替えて有効になり、不良エージェントが破損したパケットをマルチキャストツリーデータパスに正常に注入する可能性を制限します。

Another security concern is that some FEC information may be obtained by receivers out-of-band in a session description, and if the session description is forged or corrupted, then the receivers will not use the correct protocol for decoding content from received packets. To avoid these problems, it is RECOMMENDED that measures be taken to prevent receivers from accepting incorrect session descriptions, e.g., by using source authentication to ensure that receivers only accept legitimate session descriptions from authorized senders.

別のセキュリティ上の懸念は、セッションの説明で帯域外の受信機によって一部のFEC情報が取得される可能性があり、セッションの説明が偽造または破損している場合、受信者は受信パケットからコンテンツをデコードするために正しいプロトコルを使用しないことです。これらの問題を回避するために、レシーバーが誤った認証を使用して、受信者が認可された送信者からの正当なセッションの説明のみを受け入れるようにすることにより、誤ったセッションの説明を受け入れるのを防ぐための措置を講じることをお勧めします。

7. IANA Considerations
7. IANAの考慮事項

Values of FEC Encoding IDs and FEC Instance IDs are subject to IANA registration. For general guidelines on IANA considerations as they apply to this document, see [RFC5052]. IANA has assigned the value 6 under the ietf:rmt:fec:encoding registry to "RaptorQ Code" as the Fully-Specified FEC Encoding ID value associated with this specification.

FECエンコードIDとFECインスタンスIDの値は、IANA登録の対象となります。IANAの考慮事項に関する一般的なガイドラインについては、このドキュメントに適用されます。[RFC5052]を参照してください。IANAは、IETF:RMT:FEC:この仕様に関連付けられた完全に指定されたFECエンコードID値として「Raptorqコード」にレジストリをエンコードする値6を割り当てました。

8. Acknowledgements
8. 謝辞

Thanks are due to Ranganathan (Ranga) Krishnan. Ranga Krishnan has been very supportive in finding and resolving implementation details and in finding the systematic indices. In addition, Habeeb Mohiuddin Mohammed and Antonios Pitarokoilis, both from the Munich University of Technology (TUM), and Alan Shinsato have done two independent implementations of the RaptorQ encoder/decoder that have helped to clarify and to resolve issues with this specification.

Ranganathan(Ranga)Krishnanに感謝します。Ranga Krishnanは、実装の詳細を見つけて解決し、体系的なインデックスを見つけることに非常に協力的でした。さらに、Habeeb Mohiuddin MohammedとAntonios Pitarokoilisは、ミュンヘン工科大学(TUM)とAlan Shinsatoが、この仕様で問題を明確にし、解決するのに役立つRaptorqエンコーダー/デコーダーの2つの独立した実装を行っています。

9. References
9. 参考文献
9.1. Normative References
9.1. 引用文献

[FIPS.180-3.2008] National Institute of Standards and Technology, "Secure Hash Standard", FIPS PUB 180-3, October 2008.

[FIPS.180-3.2008]国立標準技術研究所、「Secure Hash Standard」、Fips Pub 180-3、2008年10月。

[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.

[RFC2119] Bradner、S。、「要件レベルを示すためにRFCで使用するためのキーワード」、BCP 14、RFC 2119、1997年3月。

[RFC4082] Perrig, A., Song, D., Canetti, R., Tygar, J., and B. Briscoe, "Timed Efficient Stream Loss-Tolerant Authentication (TESLA): Multicast Source Authentication Transform Introduction", RFC 4082, June 2005.

[RFC4082] Perrig、A.、Song、D.、Canetti、R.、Tygar、J。、およびB. Briscoe、「タイミング効率の高いストリーム損失耐性認証(TESLA):マルチキャストソース認証変換導入」、RFC 4082、2005年6月。

[RFC5052] Watson, M., Luby, M., and L. Vicisano, "Forward Error Correction (FEC) Building Block", RFC 5052, August 2007.

[RFC5052] Watson、M.、Luby、M.、およびL. Vicisano、「フォワードエラー補正(FEC)ビルディングブロック」、RFC 5052、2007年8月。

9.2. Informative References
9.2. 参考引用

[LTCodes] Luby, M., "LT codes", Annual IEEE Symposium on Foundations of Computer Science, pp. 271-280, November 2002.

[Ltcodes] Luby、M。、「Lt Codes」、Computer Science on Computer Scienceの年次IEEEシンポジウム、pp。271-280、2002年11月。

[RFC3453] Luby, M., Vicisano, L., Gemmell, J., Rizzo, L., Handley, M., and J. Crowcroft, "The Use of Forward Error Correction (FEC) in Reliable Multicast", RFC 3453, December 2002.

[RFC3453] Luby、M.、Vicisano、L.、Gemmell、J.、Rizzo、L.、Handley、M。、およびJ. Crowcroft、「信頼できるマルチキャストでのフォワードエラー補正(FEC)の使用」、RFC 3453、2002年12月。

[RFC5053] Luby, M., Shokrollahi, A., Watson, M., and T. Stockhammer, "Raptor Forward Error Correction Scheme for Object Delivery", RFC 5053, October 2007.

[RFC5053] Luby、M.、Shokrollahi、A.、Watson、M。、およびT. Stockhammer、「オブジェクト配信のためのRaptor Forwardエラー補正スキーム」、RFC 5053、2007年10月。

[RaptorCodes] Shokrollahi, A. and M. Luby, "Raptor Codes", Foundations and Trends in Communications and Information Theory: Vol. 6: No. 3-4, pp. 213-322, 2011.

[Raptorcodes] Shokrollahi、A。and M. Luby、「Raptor Codes」、Communications and Trends and Information Theory:Vol。6:No。3-4、pp。213-322、2011。

Authors' Addresses

著者のアドレス

Michael Luby Qualcomm Incorporated 3165 Kifer Road Santa Clara, CA 95051 U.S.A.

Michael Luby Qualcomm Incorporated 3165 Kifer Road Santa Clara、CA 95051 U.S.A.

   EMail: luby@qualcomm.com
        

Amin Shokrollahi EPFL Laboratoire d'algorithmique Station 14 Batiment BC Lausanne 1015 Switzerland

Amin Shokrollahi EPFL Laboratoire D'Algorithmique Station 14 Batiment BC Lausanne 1015スイス

   EMail: amin.shokrollahi@epfl.ch
        

Mark Watson Netflix Inc. 100 Winchester Circle Los Gatos, CA 95032 U.S.A.

Mark Watson Netflix Inc. 100 Winchester Circle Los Gatos、CA 95032 U.S.A.

   EMail: watsonm@netflix.com
        

Thomas Stockhammer Nomor Research Brecherspitzstrasse 8 Munich 81541 Germany

Thomas Stockhammer Nomor Research Brecherspitzstrasse 8 Munich 81541ドイツ

   EMail: stockhammer@nomor.de
        

Lorenz Minder Qualcomm Incorporated 3165 Kifer Road Santa Clara, CA 95051 U.S.A.

Lorenz Minder Qualcomm Incorporated 3165 Kifer Road Santa Clara、CA 95051 U.S.A.

   EMail: lminder@qualcomm.com