JP2010537460A - 複数の符号化セグメントにわたる巡回冗長検査の実行 - Google Patents
複数の符号化セグメントにわたる巡回冗長検査の実行 Download PDFInfo
- Publication number
- JP2010537460A JP2010537460A JP2010520504A JP2010520504A JP2010537460A JP 2010537460 A JP2010537460 A JP 2010537460A JP 2010520504 A JP2010520504 A JP 2010520504A JP 2010520504 A JP2010520504 A JP 2010520504A JP 2010537460 A JP2010537460 A JP 2010537460A
- Authority
- JP
- Japan
- Prior art keywords
- data
- checksum
- segment
- data segment
- segments
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
- 125000004122 cyclic group Chemical group 0.000 title claims abstract description 25
- 238000000034 method Methods 0.000 claims description 64
- 238000004364 calculation method Methods 0.000 claims description 38
- 238000012545 processing Methods 0.000 claims description 9
- 238000013479 data entry Methods 0.000 claims description 4
- 238000007689 inspection Methods 0.000 abstract 1
- 230000008901 benefit Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000013468 resource allocation Methods 0.000 description 3
- 238000010835 comparative analysis Methods 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 101100258328 Neurospora crassa (strain ATCC 24698 / 74-OR23-1A / CBS 708.71 / DSM 1257 / FGSC 987) crc-2 gene Proteins 0.000 description 1
- 101150069124 RAN1 gene Proteins 0.000 description 1
- 101100355633 Salmo salar ran gene Proteins 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- YXVFQADLFFNVDS-UHFFFAOYSA-N diammonium citrate Chemical compound [NH4+].[NH4+].[O-]C(=O)CC(O)(C(=O)O)CC([O-])=O YXVFQADLFFNVDS-UHFFFAOYSA-N 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000004886 process control Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000010561 standard procedure Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/09—Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0041—Arrangements at the transmitter end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0078—Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
- H04L1/0083—Formatting with frames or packets; Protocol or part of protocol for error control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1812—Hybrid protocols; Hybrid automatic repeat request [HARQ]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
符号ブロックの復号繰り返し処理の早期の停止を可能にするために、巡回冗長検査(CRC)は、情報ビットを伝送する同じトランスポート・ブロックに属する各符号ブロック・セグメントに付加される。セグメントkに対するCRCは、セグメント1〜k内のすべてのビットを対象に入れて計算される。これにより、セグメントk+1に付加されたCRCを評価するときに、セグメント1〜kに対して誤ってみなしたCRC検査結果の誤認を発見することも可能になる。
Description
本発明は、広くは、デジタル・システムにおけるエラー・チェックに関係し、より具体的には、デジタル通信システムにおける巡回冗長検査コードなどのエラー検出コードを付けた送信元から送信先へのパケット送信に関係する。
エラー・チェックは、デジタル通信システム、すなわち、音声や画像のストリーミング配信、音声/画像通信、及び記憶システムにおいて、転送されたまたは記憶されたメッセージ中またはファイル中のエラーを検出するために一般的に使用される。このようなエラーを検出する方法は、巡回冗長検査(CRC)技法を使用することである。CRCは 、予め決められた固定長の特定の数である除数によって、可変長の入力メッセージ、ファイルまたはデータ・ストリームを割り算し、この割り算の剰余を計算の結果として返すという数学的な計算をデータのブロックに対して実行する。上記除数は、「CRC多項式」または「生成多項式」と呼ばれ、計算結果(「チェックサム」)は、一般に巡回冗長検査のチェックサム値(CRC値)と呼ばれる。
一般に、CRC値は、送信元ノードでデータ・ストリームまたはデータ・ブロックに対して計算され、送信先ノードへ送信されるデータと共に送信される。送信先ノードでデータが受信されるまたは読み出されるとき、受信したまたは読み出されたデータに対して別のCRC計算が実行され、新たに計算されたCRCチェックサムが受け取ったCRC値と比較される。これらのCRC値が一致しない場合には、エラーが発生した、または何らかの方法で受信データまたは記憶データが改ざんされたとみなされる。
CRC値のサイズは、計算に使用されるCRC多項式の長さによって決まる。例えば、次数16の多項式を使用するCRCは、16ビットのCRC値を返す。任意の長さのデータ・ブロックに適用された次数nのCRC多項式はnビット以下の長さのエラー・バーストを検出可能であるので、一般に、長い多項式は、短い多項式よりも、送信されたデータまたは記憶されたデータ中のエラーを検出する可能性がより高い。
CRCは任意の有限フィールドを用いて構成され得るが、一般的なCRCは、CRC値を生成するために有限フィールドGF(2)を使用し、これは2進割り算と類似し、CRC多項式と同じ長さをもつレジスタを使用して容易に実現される。上記レジスタは、CRC値を計算し、計算後のCRC値を少なくとも一時的に記憶するために使用される。上記レジスタは、通常、割り算が実行される前にクリアされた後、CRCチェックによって検出されることもあり、検出されないこともある無関係な0に起因するエラーを防止するために、すべて1に初期化され得る。
第三世代パートナーシップ・プロジェクト(3GPP)の状況における巡回冗長検査の使用、特に、3GPP LTE(長期的発展)の物理層におけるトランスポート・ブロックと追加された機能ブロックの現在の関係をダウンリンク共有チャネル(DL−SCH)に関して図1に示す。この関係は、非特許文献2に記載されている。
図1を参照し、DL−SCH物理層モデルを、対応するDL−SCH物理層処理チェーンに基づいて説明する。
送信機側(ノードB)100で、処理チェーンは、上位層データを物理層へ受け渡すことで開始し、動的なサイズS1,...,SNのN個のトランスポート・ブロックが、送信時間間隔(TTI)ごとに1回、物理層へ供給される(102)。エラー検出の目的のための所望の冗長性(104)、例えば、巡回冗長検査のチェックサムなどが次に計算され、トランスポート・ブロック・エラー指示が上位層へ転送される。
符号化及びレート・マッチング(106)の処理ステップにおいて、チャネル符号化率が、トランスポート・ブロック・サイズ、変調方式及びリソース割当てとエラー制御方法の組合せによって暗黙的に与えられる。最も具体的には、物理層によってサポートされたハイブリッド自動再送要求(HARQ)の冗長バージョンが指定される(108)。増加的冗長性HARQの場合には、対応する第2層ハイブリッドARQプロセスが、各TTIでの物理層送信のためにどの冗長バージョンが使用されることになるかを制御する。
このDL−SCH物理層モデル内では、上位層によるインタリービングの制御はない(110)。例えば、上位層によって設定可能であるという意味において、当該物理層モデルにかかわる処理ステップは、符号化及びレート・マッチング(106)、データ変調(112)、リソース・マッピング(114)及びアンテナ・マッピング(116)の各ステップである。
MACスケジューラ118は、QPSK、16QAM及び64QAMなどのデータ変調に使用されるべき変調方式(120)を決定し、リソース・ブロックへのマッピングのためのL2制御によるリソース割当て(122)を指定する。最後の物理層処理ステップ(116)(マルチアンテナ処理)に関しては、MACスケジューラ118は、(各ストリームごとに)割り当てられたリソース・ブロックから利用可能な数のアンテナ・ポートへのマッピング(124)を部分的に設定する。
ハイブリッドARQに関連したシグナリングのサポートに関して、当該DL−SCHモデルはまた、DL−SCHに関連したハイブリッドARQに関する情報126をユーザ装置(UE)などの受信機側128のピアのHARQプロセスへ物理層を介して伝送すること、及び対応するHARQ応答130を送信機側100のDL−SCHへ物理層を介して伝送することを獲得している。
しかし、トランスポート・フォーマットとリソース割当てのシグナリングは、当該物理層モデルでは獲得されていないことに留意すべきである。送信機側100では、この情報は物理層のコンフィギュレーションから直接引き出すことができる。物理層は、次に、この情報をそのピアの物理層へ無線インタフェースを介して伝送する―この情報は、 おそらく、何らかの方法でHARQに関する情報126に多重化される。受信機側128では、この情報は、HARQに関する情報126とは異なり、上位層を通過せずに、DL−SCH復調132、復号134などのために物理層内で直接使用される。
CRC付加の形式は、チャネル符号化チェーンに関する主要な未解決の問題であり、3GPP TSG RAN1 49bis会議において、非特許文献3などで集中的に議論された。この文献は、図2と図3にそれぞれ示される、(a)トランスポート・ブロックごとにCRCを付加する方式と、(b)符号ブロック・セグメントごとにCRCを付加する方式の二つ方式に分類される、異なる形式のCRC付加の主な特性を論じたものである。トランスポート・ブロックごとのCRC方式は、符号ブロックへの分割の前にトランスポート・ブロックに対して一つのCRCを付加するというものであり、一方、符号ブロック・セグメントごとのCRC方式では、トランスポート・ブロックが先ず符号ブロックまたはセグメントに分割されてからCRCが各セグメントに付加される。
トランスポート・ブロックごとのCRCの主な特徴は、オーバヘッドが小さいことである。分割は6144より大きなパケット・サイズにしか使用されないので、オーバヘッドは最悪のケースで0.4%である。符号ブロックごと(すなわち、セグメントごと)のCRCの主な特徴は、CRCが否定(NG)であるならばターボ復号を停止することによる、ユーザ装置側での電力節約である。しかし、符号ブロックごとのCRCは、対象ブロックの長さ不一致(BLER)に左右される。符号ブロックごとの24ビットCRCは行き過ぎと見られることもあるので、8ビットCRCを使用したハイブリッド方式も提案された。
また、その他のCRC付加方式の一つを採用するいくつかのCRC技法が提案された。
特許文献1は、ATM通信システム中で転送されるATMセル用の同期回路を記述し、上記同期回路は、受け取ったATMセルを構成する入力ビット列をビット順に受け入れ、保持する。これは、シフト・レジスタ・ユニットによって行なわれる。連続的CRC演算ユニットが、簡易なCRC演算プロセスに従って、保持された入力ビット列に対してビット順にCRC演算を実行する。同期回路は、CRC演算結果を受け取ると必要な同期制御を実行し、それによって各ATMセル中の各ヘッダーに対してCRC演算を連続的に行なえるようにする。
しかし、特許文献1によると、CRC演算ユニットの記憶部に記憶された出力ビット(CRCビット)は受信チェーンへ送信されない。さらに、CRCの長さまたは生成多項式はセグメント間で変わらない。
特許文献1と同様に、特許文献2は、ブロックをセグメントに分割し、各セグメントごとに中間CRCを計算し、中間CRCから最終的CRCを生成することによってデータの全体ブロックに対する最終的CRCを計算するための方法を記述する。「R」個のエントリーを有する剰余表Tが計算され、CRCはRビットの長さであり、データ・ブロックの最終的CRCは、実効CRCと第2のセグメントの部分的CRCの和として計算される。
しかし、FEC符号化前のセグメントに中間CRCを付加することによって中間CRCを受信機へ送信することは行なわない。さらに、CRCレジスタの内容はセグメント間で維持されていないし、またセグメント間のCRCの長さまたは生成多項式は常に同じである。
従来技術特許文献1及び特許文献2はどちらも、データ・トランスポート・ブロックは一つの最終的な付加CRCを付けて送信されるので、符号化されたデータ・ブロックのあるデータ・セグメントが送信中に破損されるとしたら、エラーが検出されるまでには移送データ全体に対する復号繰り返し処理が完了されなければならないという欠点をもつ。さらに、上記従来技術は、異なるセグメントに対して同じ長さのCRCまたは同じ生成多項式を使用するため、あるセグメント中のCRC誤検出を検出できない。
3GPP TS 36.212 v1.3.0, chapter 5.1.1
3GPP TS 36.300 v8.1.0
R1-072927
本発明は、上述した従来技術の欠点及び短所を克服することを目指し、その目的は、小さなオーバヘッドの利点とCRCが正常ではない場合にターボ復号を停止する可能性を併せもち、下記の状況において受信機側128で復号を早期に停止できるようにする方法とその方法を実現するための装置を提供することである。
・ CRCがOKであれば、セグメント毎にターボ復号繰り返し処理内で早期停止する(「ミクロ停止」)
・ すべての復号繰り返し処理後の単一のセグメントのCRCがNGであれば、セグメント復号を早期停止する(「マクロ停止」)
・ CRCがOKであれば、セグメント毎にターボ復号繰り返し処理内で早期停止する(「ミクロ停止」)
・ すべての復号繰り返し処理後の単一のセグメントのCRCがNGであれば、セグメント復号を早期停止する(「マクロ停止」)
本発明のさらに別の目的は、別のセグメントに付加されたCRCチェック時に、あるセグメント中のCRC誤検出の検出を可能にすることである。
上記の目的は、独立請求項の主題によって解決される。本発明の有利な実施形態は、従属請求項によって定義される。
有利な実施形態によれば、本発明は、デジタル・システムにおけるデータ入力用のチェックサム値を生成する方法を提供し、当該方法は、入力データを1〜n(nは整数である)のインデックスを付けたn個のデータ・セグメントに分割するステップと、上記n個のデータ・セグメントの先頭のデータ・セグメントに対して、当該先頭のデータ・セグメントの総数のビットを使用して第1のチェックサムを計算し、第1のチェックサム値を生成するステップと、上記n個のデータ・セグメントのうちのkとインデックス付けされた少なくとも一つのデータ・セグメントに対するチェックサムを計算し、kとインデックス付けされたチェックサム値を生成するステップと、kとインデックス付けされたデータ・セグメントに対する前記チェックサムは、1〜k(kは整数である)のインデックスを付けた個々のデータ・セグメントの総数のビットを使用して計算され、上記第1のチェックサム値を上記先頭のデータ・セグメントに付加し、kとインデックス付けされた上記チェックサム値をkとインデックス付けされた上記データ・セグメントに付加するステップとを有する。
さらに別の実施形態では、上記の数nは2以上の整数であり、上記の数kは2〜nの範囲にある整数である。
さらに別の実施形態では、kとインデックス付けされたデータ・セグメントに対するチェックサムを計算する上記ステップは、1〜kのインデックスを付けた個々のデータ・セグメントの総数のビット及び(k−p)(pは1〜(k−1)の範囲にある整数である)とインデックス付けされたそれより前のデータ・セグメントの少なくとも一つのチェックサムを使用することを含んでなる。
別の有利名実施形態では、上記計算ステップは、上記n個のデータ・セグメントのうちのkとインデックス付けされた各データ・セグメントに対するk番目のチェックサムを計算することを含んでなる。
さらに別の実施形態では、各計算ステップは、巡回冗長検査の計算を実行する。
さらに別の実施形態では、データ・セグメントkに対する上記チェックサムは通しのチェックサムであり、kとインデックス付けされた上記データ・セグメントに対する上記通しのチェックサムは、(k−1)とインデックス付けされたそれより前のデータ・セグメントに対する通しのチェックサムとkとインデックス付けされた当該データ・セグメントの総数のビットを使用して計算されたチェックサムを合わせた結果を含んでなり、上記先頭のデータ・セグメントに対する通しのチェックサムは、当該先頭のデータ・セグメントの総数のビットのみを使用して計算される。
別の実施形態では、当該方法は、先頭のデータ・セグメントに対するチェックサムを計算する前に、このデジタルシステムのすべての巡回冗長検査シフト・レジスタを0に設定することと、kとインデックス付けされたデータ・セグメントに対するチェックサムを計算する際には、(k−1)とインデックス付けされたセグメントから得た値に上記巡回冗長検査シフト・レジスタを維持することとを含む。
別の実施形態では、前記巡回冗長検査の計算は、上記n個のデータ・セグメントのうちの少なくとも一つには、上記n個のデータ・セグメントのうちの他の少なくとも一つに使用される生成多項式とは異なる生成多項式を使用することを含んでなる。
別の実施形態では、前記巡回冗長検査の計算は、同じ多項式次数をもつ生成多項式のみを使用することを含んでなる。
別の実施形態では、前記巡回冗長検査の計算は、奇数のデータ・セグメントの各々には第1の生成多項式を使用し、偶数のデータ・セグメントの各々には第2の巡回冗長検査用生成多項式を使用することを含んでなる。
本発明はまた、デジタル・システムにおけるデータ入力用のチェックサム値を生成する方法を提供し、当該方法は、入力データをn個のデータ・セグメント(nは2以上の整数である)に分割するステップと、上記n個のデータ・セグメントのうちの少なくとも2つの連続するデータ・セグメントを含んでなる少なくとも一つのデータ・ブロックを形成するステップと、上記各データ・ブロックを構成する個々のデータ・セグメントの総数のビットを使用することによって上記少なくとも一つのデータ・ブロックに対するチェックサムを計算し、上記各データ・ブロックに対するチェックサム値を生成するステップと、上記少なくとも一つのデータ・ブロックに対して生成された上記チェックサム値を上記各データ・ブロックに含まれる一つのデータ・セグメントに付加するステップとを有する。
さらに別の実施形態では、上記計算ステップは、巡回冗長検査の計算を実行する。
さらに別の実施形態では、上記計算ステップは、上記少なくとも一つのデータ・ブロックに対する通しのチェックサムを計算することを含んでなる。
さらに別の実施形態では、上記形成ステップは、各ブロックが少なくとも2つの連続するデータ・セグメントを含んでなる、データ・セグメントの連続するブロックを形成することを含んでなり、上記計算ステップは、各データ・ブロックに対する通しのチェックサムを計算し、各データ・ブロックに対する通しのチェックサム値を生成することを含んでなり、上記付加ステップは、各データ・ブロックに対して生成された上記通しのチェックサム値を上記各データ・ブロックに含まれる最後のセグメントに付加することを含んでなる。
別の有利な実施形態では、当該方法は、データ・ブロックに含まれない個々のデータ・セグメントのうちの少なくとも一つに対するチェックサムを、当該各データ・セグメントの総数のビットを使用することによって計算し、当該各データ・セグメントに対するデータ・セグメントのチェックサム値を生成するステップと、上記データ・セグメントのチェックサム値を上記各データ・セグメントに付加するステップとをさらに含んでなる。
さらに別の実施形態では、データ・ブロックのチェックサムを計算する上記ステップは、当該各データ・ブロックを構成する個々のデータ・セグメントの総数のビット及びそれより前のデータ・ブロックに対して計算された少なくとも一つのチェックサム及び/または上記形成されたデータ・ブロックに含まれないそれより前のデータ・セグメントに対して計算されたデータ・セグメントのチェックサムを使用することを含んでなる。
別の有利な実施形態では、当該方法は、データ・ブロックを構成するn個のデータ・セグメントのうちの少なくとも一つに対するチェックサムを、当該各データ・セグメントの総数のビットを使用することによって計算し、当該各データ・セグメントに対するデータ・セグメントのチェックサム値を生成するステップと、上記データ・セグメントのチェックサム値を当該各データ・セグメントに付加するステップとをさらに含んでなる。
さらに別の実施形態では、上記付加ステップにおいて、上記各チェックサム値の一部だけが、最後のデータ・セグメント以外の各々のデータ・セグメントに付加される。
さらに別の実施形態では、上記n個のデータ・セグメントの各々のデータ・セグメントは、予め決められたサイズの連続する重複しないデータ・セグメントであり、上記先頭のデータ・セグメントは、上記分割された入力データの一番左のデータ・セグメントである。
本発明はまた、デジタル・システムにおけるデータ入力用のチェックサム値を生成するための装置を提供し、当該装置は、入力データを1〜n(nは整数である)のインデックスを付けたn個のデータ・セグメントに分割するための処理部と、上記n個のデータ・セグメントの先頭のデータ・セグメントに対して、当該先頭のデータ・セグメントの総数のビットを使用して第1のチェックサムを計算し、第1のチェックサム値を生成し、上記n個のデータ・セグメントのうちのkとインデックス付けされた少なくとも一つのデータ・セグメントに対するチェックサムを計算し、kとインデックス付けされたチェックサム値を生成するためのチェックサム計算部と、kとインデックス付けされたデータ・セグメントに対する前記チェックサムは、個々のデータ・セグメント1〜k(kは整数である)の総数のビットを使用して計算され、上記第1のチェックサム値を上記先頭のデータ・セグメントに付加し、kとインデックス付けされた前記チェックサム値をkとインデックス付けされた上記データ・セグメントに付加するための付加部とを具備する。
最後に、別の有利な実施形態では、本発明は、デジタル・システムにおけるデータ入力用のチェックサム値を生成するための装置を提供し、当該装置は、入力データをn個のデータ・セグメント(nは整数である)に分割し、少なくとも2つの連続するデータ・セグメントを含んでなる少なくとも一つのデータ・ブロックを形成するための処理部と、上記各データ・ブロックを構成する個々のデータ・セグメントの総数のビットを使用することによって上記少なくとも一つのデータ・ブロックに対するチェックサムを計算し、上記各データ・ブロックに対するチェックサム値を生成するためのチェックサム計算部と、上記少なくとも一つのデータ・ブロックに対して生成された上記チェックサム値を上記各データ・ブロックに含まれる一つののデータ・セグメントに付加するための付加部とを具備する。
言及した従来技術に比較して、本発明の技術的有利性は、「より前の」セグメントの情報部分及びCRC部分がビット・エラーを有するとき、「より後の」通しのCRCが見逃しを検出できることにある。
さらに本発明は、小さなオーバヘッドの技術的有利性と復号の早期停止の技術的有利性を合わせもつことを可能する。例えば、符号ブロック・セグメントごとのCRC方式の場合等では、本発明は、あるセグメントに付加されたCRCが最大数の繰り返し処理後に誤りであると検出されれば、復号を早期に停止することを可能にする。本発明はまた、そのセグメントに付加されたCRCが正しいと検出されれば、セグメントの復号繰り返し処理を早期に停止することも可能にする。このような有利性は、トランスポート・ブロックごとのCRC方式では実現され得ない。
他方、本発明によれば、トランスポート・ブロックごとのCRC方式とした場合、最後のセグメントに付加されたCRCは、トランスポート・ブロックに付加されたCRCと同一であるので、同一の情報を提供する。対照的に、符号ブロック・セグメントごとのCRCとした場合、最後のデータ・セグメントに付加されたCRCは、その最小のデータ・セグメントに関する情報のみを反映する。
さらなる特徴と利点は、添付された図面において示された発明についての、以降に続くさらなる詳細な説明から明らかになるであろう。
本発明により構成された、デジタル・システムにおけるデータ入力用のチェックサム値を生成するための方法及び装置の有利な実施形態を、添付の図面を参照してさらに詳細にこれから説明する。以下では、巡回冗長検査(CRC)技法を使用して計算されたチェックサムに関連して本発明を説明するが、CRCアルゴリズム以外の計算アルゴリズムも想定され得る。
図4は、データ・セグメントごとにCRCを付加する方式を使用する、本発明の第1の実施形態によるCRC付加方式の概要図を示す。図示した例では、可変数のビットの入力データ・ストリーム400が、予め決められたサイズのデータの4個のセグメント401、402、403、404に分割される。
入力デジタル・データ400が4mビットからなり、同じサイズのデータ・セグメント401、402、403、404に分割されると仮定すると、各データ・セグメントはmビットの長さもつ。しかし、入力データ400が分割されるデータ・セグメントの数とサイズは限定されない。入力デジタル・データ400は、同じサイズの複数のデータ・セグメントに分割されてもよいし、あるいはデータ・セグメントのうちのいくつかは異なるサイズを有してもよい。
各データ・セグメント401、402、403、404は、次に、各データ・セグメントごとに、それぞれ、部分的CRC値410、420、430、440を生成するためのCRC計算処理を受ける。
各部分的CRC値410、420、430、440は、次に、各々のデータ・セグメント401、402、403、404に付加される。
本発明のさらなる態様は、FEC符号化の前に各セグメントに部分的CRC値を付加することによって部分的CRC値が受信機へ送信されることと、CRCレジスタの内容がセグメント間で維持されることである。この態様は、上記で言及した従来技術のどれにも存在しない。
本発明の別の重要な態様は、各データ・セグメントに付加されるべき部分的CRC値を計算するために使用されるデータと方法にある。
図4を参照すると、先頭のデータ・セグメント401に付加されたCRC値410は、通常のCRCである、すなわち、先頭のデータ・セグメント401の総数のデータ・ビットを使用して計算されたCRCチェックサムである。一方、先頭のデータ・セグメント401に続く第2のデータ・セグメントに付加されたCRC値420は、第2のセグメントとその前の第1のセグメントの総数のビットを基にしたものである。同様に、最後のデータ・セグメント404に付加されたCRC値440は、その個別のデータ・セグメント404に依存するとともに、先頭のセグメント401から直前のセグメント403までのその前のすべてのセグメントからのデータ・ビットにも依存する。
第1の実施形態による部分的CRC値410、420、430、440の計算の詳細について、図5を参照してこれから説明する。
図5は、本発明の第1の実施形態によるチェックサム値を生成するための方法500の例示的な各ステップを説明するフローチャート図を示す。
図4及び図5を参照すると、デジタル・データ・ブロックまたはデータ・ストリーム400がデジタル・システムに入力されると、入力デジタル・データ400を所定のサイズの複数のn個のデータ・セグメント(nは、好ましくは1より大きい任意の整数である)に分割するステップS510によって方法500が開始する。nが1に等しい場合は、分割S510の機能は、入力をそのまま出力へ流すことに簡略化される。入力データ400は、ストリームーミング・メディア送信元から送信されてもよいし、あるいは記憶装置から読み出されてもよい。デジタル・データ400は、TCPなどのコネクション型プロトコルまたはUDPなどのコネクションレス・プロトコルを使用して受信されてもよいし、あるいはデジタル・システム内にまたは外部記憶装置に記憶されてもよい。入力データ400の例は、音声データ、画像データ及び音声画像データを含む。
ステップS510において、入力データ・ブロック400は、順次に1からnまでのインデックスまたは番号を付けた一連のn個のデータ・セグメントに順次に分割される。好ましくは、各データ・セグメントは、分割された入力データ・ブロック400の中の一番左のデータ・セグメントまたは一番上のデータ・セグメントである、先頭のデータ・セグメントまたは単純に第1のデータ・セグメントから始まり、一番右のデータ・セグメントまたは一番下のデータ・セグメントである、データ・セグメントnまでインデックス付けされる。この一連のn個のデータ・セグメントは、好ましくは、予め決められたサイズの重複せずに連続する一連のデータ・セグメントであり、すべてのデータ・セグメントが同じビット長をもつ。ただし、入力データ・ブロック400は、異なるサイズの複数のデータ・セグメントに分割されてもよい。
ステップS520において、先頭のデータ・セグメント、好ましくは、分割された入力データ・ブロック400の中の一番左のまたは一番上のデータ・セグメント401に対して、先頭のデータ・セグメント401の総数のm個のビットと予め決められたCRC多項式g(x)を使用して、通常のCRC値が計算される。次のステップS530では、その他のデータ・セグメントの一つ一つに対してCRCの順次の計算が行なわれる。例えば、図4に示した例を参照すると、第2のデータ・セグメント402に対するCRC2値が、先頭のセグメント401からと第2のセグメント402からの総数のビットを使用して計算される。
しかし、本方法がCRC計算を行なう対象とするセグメントは、望むとおりに選択可能であると解釈される。一般化して言えば、入力データ・ブロック400がn個のデータ・セグメントに分割されるとすれば、順次計算ステップS530は、kと番号付けされたデータ・セグメントごとにCRC値を計算し(インデックスkは2〜nの範囲にある整数である)、データ・セグメントkに対するCRC値、すなわち、kとインデックス付けされたCRC値を生成する。データ・セグメントkに対して計算されたCRCである、このCRC値は、データ・セグメントkの総数のビットを使用するとともデータ・セグメント1〜(k−1)からの総数のビットを使用して計算される。本好適な実施形態では、CRC値は各データ・セグメントkごとに計算されるが、計算ステップS530が、先頭のデータ・セグメント401以外のただ一つのまたは2、3個のデータ・セグメントに対するCRC値を計算してもよい。nが1に等しい場合には、ステップS530の機能は無効になることは当業者には明白である。
ステップS540では、第1のCRC値410を先頭のデータ・セグメント401に付加し、データ・セグメントkに対して各々計算されたCRC値を各データ・セグメントkに付加する。
本発明によるCRCの計算を実現する標準的な技術は、nビットのフィードバック・シフト・レジスタ回路600を使用することにある。図6は、本発明の第1の実施形態によるCRC計算方法を実行するためのシフト・レジスタの例を示す。図示された例では、CRC計算は、4個のデータ・セグメント601、602、603、604について実行される。各データ・セグメントは、構成要素または情報ビットu0,u1,...,um−1を有するmビット長のベクターuとして表現される。次数5のCRC多項式 g(x)を使用するとき、各データ・セグメントuごとに生成されるCRC値もまた、構成要素または情報ビットr0,r1,...,u4を有する5ビットのCRC値rである。
上記回路は、手動で行なう長除法に類似する方法で動作する。図6の個々の記憶素子は、各累乗xに対応する除数の係数giを保持する(iは0からn−1のうちのある整数である)。割り算アルゴリズムの各サイクルごとに、一つのサイクルの終了時のri−1係数は、次のサイクルではri係数になる。次数n−1の生成多項式では、n個の最上位から2番目のビットだけが引き算に影響され得るので、n−1個の記憶素子だけが必要とされる。各引き算(事実上はモジュロ2加算)後に得られた除数の修正された係数がシフト・レジスタに記憶される。
本発明によれば、先頭のデータ・セグメントに対するCRCを計算する前に、すべてのCRCシフト・レジスタは、それらすべてを0に設定することによって初期化される。次のデータ・セグメントkに対するCRC値を計算する際には、CRCシフト・レジスタは初期化されずに、その前の(k−1)データ・セグメントに対して計算されたCRC値、すなわち、セグメント(k−1)に対する前の計算時に得られたr=[r0r1r2r3r4]を保持することが可能にされる 。したがって、データ・セグメントkに対して計算されたCRC値は、データ・セグメント1〜kからの情報ビットに対して計算された単一のCRC値と同一である。
代替的な実施形態では、データ・セグメントkに対するCRCを計算するステップは、データ・セグメント1〜kの総数のビットとそれより前の(k−p)データ・セグメントのいずれかに対して計算されたCRC値、すなわち、値CRC(k−p)(pは1からk−1のうちのある整数である)を使用することを含んでなり得る。例えば、これは、セグメント(k−p)に対するCRCを計算する前に、セグメント(k−p−1)に対して計算されたCRCをデータ・セグメント(k−p)に含めることによって実現できる。前記のとおり「後続の」データ・セグメントに含めることは、例えば、各々のCRCビットをステップS520、S530内において、各々の「後続の」データ・セグメントの先頭に付ける、末尾に付け加える、あるいは中に挿入することによって容易に行える。当然、この方法は、実効データ・セグメント・サイズを増加するため、本実施形態では、ステップS540後に生じる実効セグメント・サイズが等しくなるように、ステップS510中でn個のデータ・セグメントのサイズを選択することが望ましいであろう。
代替的に、CRC計算の効率を向上させるために、先頭のデータ・セグメント401に対してすでに計算されたCRC値を、例えば、図6に示したシフト・レジスタの初期値として、第2のデータ・セグメント402の第2のCRC値の計算に使用することができる。続く一連のデータ・セグメントの各CRC値は、その後、通しのチェックサムとして計算することができる。この構成では、先頭のデータ・セグメントのCRC値は、先頭のデータ・セグメントからのすべてのデータ・ビットを使用して計算され、後続のデータ・セグメントのCRC値の計算に使用されるべく保持または記憶される。この再帰的な計算は、その後、次に続く一連のセグメントに拡張される。一般化して言えば、データ・セグメントk(インデックスkは2からnのうちで逐次1ずつ増加する可変の整数である)に対するCRC値は、データ・セグメントkの総数のビットとその前のデータ・セグメント(k−1)の前もって計算されたCRC値を使用して計算される。計算されたCRC値の各々は、各データ・セグメントkに付加される。
図6に示した実施形態では、すべてのデータ・セグメントuは、同じ長さmをもち、同じCRC多項式を使用して演算される。けれども、本発明は、分割された入力データ・ブロックの異なるデータ・セグメントを演算するために、異なるCRC多項式の使用をも想定する。例えば、先頭のデータ・セグメントは、その他のデータ・セグメントに付加されることになるCRCを計算するためのCRC多項式とは多項式次数またはサイズが異なるCRC多項式によって演算され得る。さらに、異なるデータ・セグメントのCRCを計算するために使用される各CRC多項式は、同じサイズであってもよいが、異なる係数をもち得る。例えば、方法500は、奇数のデータ・セグメントの部分系列と偶数のデータ・セグメントの部分系列のような、n個のデータ・セグメントを分けた2つの部分系列を演算するために、同じサイズの2つ異なるCRC多項式gA(x)とgB(x)を使用してもよい。異なるデータセグメントに対して異なるCRC生成多項式を使用する利点は、「より前の」セグメントの情報部分がビット・エラーを有するとき、「より後の」CRCが見逃しを検出できることである。
図7は、本発明の第1の実施形態によるソリューションを使用時と従来技術のソリューション、すなわち、(a)トランスポート・ブロックごとにCRCを付加する方式、(b)符号ブロックごとにCRCを付加する方式、及びハイブリッド(a)+(b)方式を使用時に得られたオーバヘッドの比較分析を例示する表を示す。また、CRC計算時に使用されるデータ・セグメント数の関数として得られたオーバヘッドも比較される。図7に示されるように、本発明のソリューションにかかわるオーバヘッドは、データ・セグメント数に関係なく、従来技術の方式(b)にかかわるオーバヘッドと同等である。さらに、本発明によると、オーバヘッドは、セグメント数2の場合の0.39%〜0.78%(最小)からデータ・セグメント数8の場合の0.58%〜0.78%(最大)の間にあり、データ・セグメント数によりそれほど大きく変動しない。これに対して、従来技術の方式(a)とハイブリッド方式(a)+(b)により得られたオーバヘッドは、かなり低く、データ・セグメント数が増加するにつれ減少する傾向を示す。
代替的な実施形態によれば、計算されたCRCをすべてのデータ・セグメントにわたり実行しない及び/または付加しない。これにより、前述した実施形態に比べてオーバヘッドを減少させ、計算の複雑度を軽減することできる。
図8は、限られた数のデータ・セグメントにわたりCRCが付加される、代替的な実施形態によるCRC付加方式の概要図を示す。この図示された例では、入力データ・ブロック400は、4個のデータ・セグメント801、802、803、804に分割される。しかし、CRCはどのデータ・セグメントに対しても計算され、付加されるのではない。そうではなく、CRCは連続するデータ・セグメントからなるグループに対してのみ計算され、計算されたCRCは各データ・ブロックの最後のデータ・セグメントに付加される。図8に示した例では、最初の2つのデータ・セグメント801,802が、データ・ブロック810を形成するものとして計算手順上扱われ、データ・セグメント801と802からの総数のデータ・ビットを基にCRC値が計算される。同様に、第4のセグメント804に付加されるCRC値は、第2のデータ・ブロック820を形成するものとして扱われるデータ・セグメント803と804からの総数のデータ・ビットを基に計算される 。これらのデータ・ブロック810、820は、入力データ400のさらなる分割として解釈されるべきではなく、単に各CRC値の計算時に使用されるデータ・セグメントのグループを画定するものとして見なされる。
図8に示した例では、形成されたデータ・ブロックは、同じ数のデータ・セグメントを含んでなる。概して言えば、n個のデータ・セグメントは、同じ数または異なる数のデータ・セグメントを含んでなるデータ・ブロックに割り振ることができる。どちらの場合にも、CRC値は、各データ・ブロックを構成する個々のデータ・セグメントからのすべてのデータ・ビットを使用して、各データ・ブロックごとに計算される。各データ・ブロックごとに計算されたCRC値は、次に、各データ・ブロックの所定のデータ・セグメントにのみ、例えば、最後のデータ・セグメントにのみ付加される。
この実施形態は、CRC値を付加する対象のセグメントとして減少した数の予め選択されたデータ・セグメントを使用することの利点と、付加された各CRCにそれより前のデータ・セグメントからのデータ・ビット情報を反映することの利点を合わせもち、その後のFEC機能がデータ・セグメントごとに実行される場合に最も有利である。
図9は、通しのCRC値が限られた数のセグメントに付加され、その他のデータ・セグメント901、902、903には通常の巡回冗長検査のチェックサム910、920、930が付加される、本発明の別の有利な実施形態によるCRC付加方式の概要図を示す。通常のCRC910、920、930は、そのデータ・セグメントからの総数のデータ・ビットのみを使用して計算され、データ・セグメントのチェックサムと呼ばれる。図9に示した例では、第4のセグメント904にだけ、第4のセグメントからの総数のデータ・ビットとそれより前のすべてのデータ・セグメントからの総数のデータ・ビットを使用して計算されたCRC940が付加される。この構成は、並列化の量をより高くできる利点をもつ。
さらに別の展開では、通しのCRCが付加される対象のセグメントとして、2つ以上のだデータ・セグメントを選択できる。
図10は、図8及び図9を参照して前述した実施形態によるチェックサム値を生成するための方法1000を説明するフローチャート図を示す。
本方法1000は、入力データ400をn個のデータ・セグメントに分割するステップS1010によって開始し、少なくとも2つ連続するデータ・セグメントからなる少なくとも一つのデータ・ブロックを形成するステップS1020がそれに続く。上記データ・ブロックは、CRCを計算する次のステップS1030で使用されるデータ・セグメントのグループをただ単に指定する。次に、データ・ブロックの各々に対して、CRCが各データ・ブロックを構成する個々のデータ・セグメントの総数のビットを使用して計算され、各データ・ブロックに対するチェックサム値が生成される。データ・ブロックに対して生成されたチェックサム値は、次に、各ブロックに含まれる一つのデータ・セグメントに付加される(S1040)。好ましくは、CRCが付加されるデータ・セグメントは、各データ・ブロックの最後のまたは一番右のデータ・セグメントである。
本方法1000は、データ・ブロックに対するCRCは、データ・ブロックを構成する個々のデータ・セグメントにわたる通しのチェックサムとして計算されることにさらに展開可能である。
さらに、前述したように、上記方法1000は、n個のデータ・セグメントを連続するデータ・ブロック―各ブロックは少なくとも2つの連続するデータ・セグメントからなる―に編成するまたは割り振ることを含むことができる。この構成では、計算ステップS1030は、各データ・ブロックに対する通しのチェックサムを計算することを含むことができ、各通しのチェックサムは各データ・ブロックに含まれる最後のセグメントに付加される。
本発明は、n個のデータ・セグメントのすべてがデータ・ブロックに割り振られるのではない可能性をも含むので、上記データ・セグメントの少なくとも一つに対して、各データ・セグメントの総数のビットを使用することによって通常のチェックサムを計算し、計算されたチェックサムを各データ・セグメントに付加することが想定され得る。
さらに、データ・ブロックのチェックサムを計算するステップS1030は、各データ・ブロックにグループ分けされた個々のデータ・セグメントの総数のビットとそれより前のデータ・ブロックに対して計算された少なくとも一つのチェックサム及び/またはどのデータ・ブロックにも含まれないそれより前のデータ・セグメントに対して計算されたチェックサムを使用することを含むことができる。
さらに、この有利な実施形態によれば、データ・ブロックに対して計算されたチェックサムは、そのデータ・ブロックを構成する個々のデータ・セグメントのうちの一つだけに付加されるから、計算ステップS1030は、データ・ブロックを構成する個々のデータ・セグメントのうちの少なくとも一つに対してデータ・セグメントのチェックサムを計算し、そのチェックサム値を各データ・セグメントに付加することをさらに含むことができる。
上記方法1000のさらなる展開では、異なるデータ・ブロック及び/またはセグメントのCRC値を計算するために、異なるCRC多項式を使用できる。
前述の実施形態において、付加ステップS540、S1040は、計算されたCRC値を各データ・セグメントに付加することとして説明された。しかし、本発明は、CRC値の全ビットではなく、その一部だけを各データ・セグメントに付加することをも想定する。例えば、CRC計算がサイズ16の多項式を使用するとすれば、16ビットのCRCが得られ、各データ・セグメントに付加される。そこで、最後のセグメント以外のすべてのセグメントについては、16ビットの一部だけがセグメントに付加されることが想定され得る。これは、チェックサムの一部を間引くことと解釈され得る。この利点は、このようにしたセグメントではオーバヘッドがより少なくてすみ、(生成多項式当り)単一のCRC計算ユニットのみを実現及び/または実行すればよいことである。
本発明はまた、上記に提示した方法を実行するように特別に適合されたハードウェア回路構成と、上述した方法によりCRC値を生成するためのプログラム命令によって制御された汎用ハードウェア回路構成を具備する、電子回路または装置をも提供する。
Claims (21)
- デジタル・システムにおけるデータ入力用のチェックサム値を生成する方法であり、
前記入力データを1〜n(nは整数である)のインデックスを付けたn個のデータ・セグメントに分割するステップと、
前記n個のデータ・セグメントの先頭のデータ・セグメントに対して、当該先頭のデータ・セグメントの総数のビットを使用して第1のチェックサムを計算し、第1のチェックサム値を生成するステップと、
前記n個のデータ・セグメントのうちのkとインデックス付けされた少なくとも一つのデータ・セグメントに対するチェックサムを計算し、kとインデックス付けされたチェックサム値を生成するステップと、
kとインデックス付けされたデータ・セグメントに対する前記チェックサムは、1〜k(kは整数である)のインデックスを付けた個々のデータ・セグメントの総数のビットを使用して計算され、
前記第1のチェックサム値を前記先頭のデータ・セグメントに付加し、kとインデックス付けされた前記チェックサム値をkとインデックス付けされた前記データ・セグメントに付加するステップと、
を有する方法。 - 前記の数nは1より大きいの整数であり、
前記の数kは2〜nの範囲にある整数である、
請求項1に記載の方法。 - kとインデックス付けされたデータ・セグメントに対する前記チェックサムを計算する前記ステップは、1〜kのインデックスを付けた個々のデータ・セグメントの総数のビット及び(k−p)(pは1〜(k−1)の範囲にある整数である)とインデックス付けされたそれより前のデータ・セグメントの少なくとも一つのチェックサムを使用することを含んでなる、
請求項1または請求項2に記載の方法。 - 前記計算ステップは、前記n個のデータ・セグメントのうちのkとインデックス付けされた各データ・セグメントに対する前記チェックサムを計算することを含んでなる、
請求項1から請求項3のいずれかに記載の方法。 - 各計算ステップは、巡回冗長検査の計算を実行する、
請求項1から請求項4のいずれかに記載の方法。 - kとインデックス付けされたデータ・セグメントに対する前記チェックサムは通しのチェックサムであり、kとインデックス付けされた前記データ・セグメントに対する前記通しのチェックサムは、(k−1)とインデックス付けされたそれより前のデータ・セグメントに対する通しのチェックサムとkとインデックス付けされた当該データ・セグメントの総数のビットを使用して計算されたチェックサムを合わせた結果を含んでなり、
前記先頭のデータ・セグメントに対する通しのチェックサムは、当該先頭のデータ・セグメントの総数のビットのみを使用して計算される、
請求項1から請求項5のいずれかに記載の方法。 - 前記先頭のデータ・セグメントに対する前記チェックサムを計算する前に、前記デジタルシステムのすべての巡回冗長検査シフト・レジスタを0に設定することと、
kとインデックス付けされた前記データ・セグメントに対する前記チェックサムを計算する際には、(k−1)とインデックス付けされた前記セグメントから得た値に前記巡回冗長検査シフト・レジスタを維持することと、
をさらに含んでなる、請求項6に記載の方法。 - 前記巡回冗長検査の計算は、前記n個のデータ・セグメントのうちの少なくとも一つには、前記n個のデータ・セグメントのうちの他の少なくとも一つに使用される生成多項式とは異なる生成多項式を使用することを含んでなる、
請求項5から請求項7のいずれかに記載の方法。 - 前記巡回冗長検査の計算は、同じ多項式次数をもつ生成多項式のみを使用することを含んでなる、請求項8に記載の方法。
- 前記巡回冗長検査の計算は、奇数のデータ・セグメントの各々には第1の生成多項式を使用し、偶数のデータ・セグメントの各々には第2の巡回冗長検査用生成多項式を使用することを含んでなる、
請求項8または請求項9に記載の方法。 - デジタル・システムにおけるデータ入力用のチェックサム値を生成する方法であり、
前記入力データをn個のデータ・セグメント(nは2以上の整数である)に分割するステップと、
前記n個のデータ・セグメントのうちの少なくとも2つの連続するデータ・セグメントを含んでなる少なくとも一つのデータ・ブロックを形成するステップと、
前記各データ・ブロックを構成する個々のデータ・セグメントの総数のビットを使用することによって前記少なくとも一つのデータ・ブロックに対するチェックサムを計算し、前記各データ・ブロックに対するチェックサム値を生成するステップと、
前記少なくとも一つのデータ・ブロックに対して生成された前記チェックサム値を前記各データ・ブロックに含まれる一つのデータ・セグメントに付加するステップと、
を有する方法。 - 前記計算ステップは、巡回冗長検査の計算を実行する、
請求項11に記載の方法。 - 前記計算ステップは、前記少なくとも一つのデータ・ブロックに対する通しのチェックサムを計算することを含んでなる、
請求項11または請求項12に記載の方法。 - 前記形成ステップは、各ブロックが少なくとも2つの連続するデータ・セグメントを含んでなる、データ・セグメントの連続するブロックを形成することを含んでなり、
前記計算ステップは、各データ・ブロックに対する通しのチェックサムを計算し、各データ・ブロックに対する通しのチェックサム値を生成することを含んでなり、
前記付加ステップは、各データ・ブロックに対して生成された前記通しのチェックサム値を前記各データ・ブロックに含まれる最後のセグメントに付加することを含んでなる、
請求項11または請求項12に記載の方法。 - データ・ブロックに含まれない個々のデータ・セグメントのうちの少なくとも一つに対するチェックサムを、当該各データ・セグメントの総数のビットを使用することによって計算し、当該各データ・セグメントに対するデータ・セグメントのチェックサム値を生成するステップと、
前記データ・セグメントのチェックサム値を当該各データ・セグメントに付加するステップと、
をさらに含んでなる、請求項10から請求項14のいずれかに記載の方法。 - データ・ブロックの前記チェックサムを計算する前記ステップは、当該各データ・ブロックを構成する個々のデータ・セグメントの総数のビット及びそれより前のデータ・ブロックに対して計算された少なくとも一つのチェックサム及び/または前記形成されたデータ・ブロックに含まれないそれより前のデータ・セグメントに対して計算されたデータ・セグメントのチェックサムを使用することを含んでなる、
請求項11から請求項15のいずれかに記載の方法。 - データ・ブロックを構成する個々のデータ・セグメントのうちの少なくとも一つに対するチェックサムを、当該各データ・セグメントの総数のビットを使用することによって計算し、当該各データ・セグメントに対するデータ・セグメントのチェックサム値を生成するステップと、
前記データ・セグメントのチェックサム値を当該各データ・セグメントに付加するステップと、
をさらに含んでなる、請求項11から請求項16のいずれかに記載の方法。 - 前記付加ステップにおいて、前記各チェックサム値の一部だけが、最後のデータ・セグメント以外の各々のデータ・セグメントに付加される、
請求項1から請求項17のいずれかに記載の方法。 - 前記n個のデータ・セグメントの各々のデータ・セグメントは、予め決められたサイズの連続する重複しないデータ・セグメントであり、前記先頭のデータ・セグメントは、前記分割された入力データの一番左のデータ・セグメントである、
請求項1から請求項18のいずれかに記載の方法。 - デジタル・システムにおけるデータ入力用のチェックサム値を生成するための装置であり、
前記入力データを1〜n(nは整数である)のインデックスを付けたn個のデータ・セグメントに分割するための処理部と、
前記n個のデータ・セグメントの先頭のデータ・セグメントに対して、当該先頭のデータ・セグメントの総数のビットを使用して第1のチェックサムを計算し、第1のチェックサム値を生成し、前記n個のデータ・セグメントのうちのkとインデックス付けされた少なくとも一つのデータ・セグメントに対するチェックサムを計算し、kとインデックス付けされたチェックサム値を生成するためのチェックサム計算部と、
kとインデックス付けされたデータ・セグメントに対する前記チェックサムは、1〜k(kは整数である)のインデックスを付けた個々のデータ・セグメントの総数のビットを使用して計算され、
前記第1のチェックサム値を前記先頭のデータ・セグメントに付加し、kとインデックス付けされた前記チェックサム値をkとインデックス付けされた前記データ・セグメントに付加するための付加部と、
を具備する装置。 - デジタル・システムにおけるデータ入力用のチェックサム値を生成するための装置であり、
前記入力データをn個のデータ・セグメント(nは整数である)に分割し、少なくとも2つの連続するデータ・セグメントを含んでなる少なくとも一つのデータ・ブロックを形成するための処理部と、
前記各データ・ブロックを構成する個々のデータ・セグメントの総数のビットを使用することによって前記少なくとも一つのデータ・ブロックに対するチェックサムを計算し、前記各データ・ブロックに対するチェックサム値を生成するためのチェックサム計算部と、
前記チェックサム値を前記各データ・ブロックに含まれる最後のデータ・セグメントに付加するための付加部と、
を具備する装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP07016210A EP2026470A1 (en) | 2007-08-17 | 2007-08-17 | Running cyclic redundancy check over coding segments |
PCT/EP2008/006779 WO2009024313A1 (en) | 2007-08-17 | 2008-08-18 | Running cyclic redundancy check over coding segments |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010537460A true JP2010537460A (ja) | 2010-12-02 |
Family
ID=39683614
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010520504A Withdrawn JP2010537460A (ja) | 2007-08-17 | 2008-08-18 | 複数の符号化セグメントにわたる巡回冗長検査の実行 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20100205518A1 (ja) |
EP (1) | EP2026470A1 (ja) |
JP (1) | JP2010537460A (ja) |
WO (1) | WO2009024313A1 (ja) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011504038A (ja) * | 2008-01-31 | 2011-01-27 | エルジー エレクトロニクス インコーポレイティド | トランスポートブロックサイズの決定方法及びこれを用いた信号伝送方法 |
US8266513B2 (en) | 2008-01-31 | 2012-09-11 | Lg Electronics Inc. | Method for determining transport block size and signal transmission method using the same |
JP2012195956A (ja) * | 2007-09-14 | 2012-10-11 | Motorola Mobility Llc | 多重層巡回冗長検査コードを使用する無線通信装置 |
WO2018163433A1 (ja) * | 2017-03-10 | 2018-09-13 | 株式会社Nttドコモ | 通信装置、及び復号方法 |
JP2022022398A (ja) * | 2016-06-06 | 2022-02-03 | クアルコム,インコーポレイテッド | セクション式冗長検査を有する制御シグナリングの符号化および復号 |
US11671120B2 (en) | 2015-11-12 | 2023-06-06 | Qualcomm Incorporated | Puncturing for structured low density parity check (LDPC) codes |
US11831332B2 (en) | 2016-06-14 | 2023-11-28 | Qualcomm Incorporated | High performance, flexible, and compact low-density parity-check (LDPC) code |
USRE49989E1 (en) | 2017-06-10 | 2024-05-28 | Qualcomm Incorporated | Communication techniques involving pairwise orthogonality of adjacent rows in LPDC code |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9432433B2 (en) | 2006-06-09 | 2016-08-30 | Qualcomm Incorporated | Enhanced block-request streaming system using signaling or block creation |
US8234551B2 (en) * | 2007-11-02 | 2012-07-31 | Broadcom Corporation | Single CRC polynomial for both turbo code block CRC and transport block CRC |
FR2938953B1 (fr) | 2008-11-21 | 2011-03-11 | Innova Card | Dispositif de protection d'un boitier de circuit integre electronique contre les intrusions par voie physique ou chimique. |
US9917874B2 (en) * | 2009-09-22 | 2018-03-13 | Qualcomm Incorporated | Enhanced block-request streaming using block partitioning or request controls for improved client-side handling |
CN102281121B (zh) * | 2010-06-13 | 2014-10-29 | 中兴通讯股份有限公司 | 一种数据文件传输和校验的方法、设备及系统 |
FR2976147B1 (fr) * | 2011-05-30 | 2013-11-22 | Maxim Integrated Products | Schema d'entrelacement de donnees pour une memoire externe d'un microcontroleur securise |
US9564920B2 (en) | 2012-02-23 | 2017-02-07 | Qualcomm Incorporated | Method and apparatus for mitigation of false packet decodes due to early decoding |
CN103107164A (zh) * | 2013-01-16 | 2013-05-15 | 天津大学 | 一种射频封装结构 |
US9887806B2 (en) * | 2015-07-10 | 2018-02-06 | Cisco Technology, Inc. | Minimum latency link layer metaframing and error correction |
CN108540258B (zh) * | 2017-03-01 | 2022-07-01 | 中兴通讯股份有限公司 | 一种循环冗余码校验方法及装置 |
US10877842B2 (en) * | 2017-09-08 | 2020-12-29 | Intel Corporation | Detecting silent data corruption for mass storage devices |
US10530523B2 (en) | 2017-11-20 | 2020-01-07 | International Business Machines Corporation | Dynamically adjustable cyclic redundancy code rates |
US10541782B2 (en) | 2017-11-20 | 2020-01-21 | International Business Machines Corporation | Use of a cyclic redundancy code multiple-input shift register to provide early warning and fail detection |
US10530396B2 (en) | 2017-11-20 | 2020-01-07 | International Business Machines Corporation | Dynamically adjustable cyclic redundancy code types |
US10419035B2 (en) | 2017-11-20 | 2019-09-17 | International Business Machines Corporation | Use of multiple cyclic redundancy codes for optimized fail isolation |
US11581982B2 (en) * | 2019-05-03 | 2023-02-14 | Qualcomm Incorporated | Handling transport block-level parity check bits for interrupted transmissions |
CN110363027B (zh) * | 2019-06-21 | 2021-04-09 | 捷德(中国)科技有限公司 | 一种电子合同的生成及电子签名方法 |
US11586493B2 (en) * | 2021-03-29 | 2023-02-21 | Red Hat, Inc. | Efficient checksum computation |
CN115086684B (zh) * | 2022-08-22 | 2022-11-18 | 中科金勃信(山东)科技有限公司 | 一种基于crc的图像压缩方法、系统及介质 |
US20240283464A1 (en) * | 2023-02-22 | 2024-08-22 | Sony Group Corporation | Robustness when using application layer forward error correction (al-fec) in an atsc3 receiver |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04211547A (ja) * | 1990-03-20 | 1992-08-03 | Fujitsu Ltd | 同期回路 |
US7243289B1 (en) * | 2003-01-25 | 2007-07-10 | Novell, Inc. | Method and system for efficiently computing cyclic redundancy checks |
US20050010630A1 (en) * | 2003-05-13 | 2005-01-13 | International Business Machines Corporation | Method and apparatus for determining a remainder in a polynomial ring |
KR100594241B1 (ko) * | 2004-01-29 | 2006-06-30 | 삼성전자주식회사 | 순방향 치엔 서치 방식의 리드 솔로몬 디코더 회로 |
US7607070B2 (en) * | 2004-09-13 | 2009-10-20 | National Instruments Corporation | System and method for in-line consistency checking of packetized data |
-
2007
- 2007-08-17 EP EP07016210A patent/EP2026470A1/en not_active Ceased
-
2008
- 2008-08-18 JP JP2010520504A patent/JP2010537460A/ja not_active Withdrawn
- 2008-08-18 US US12/673,569 patent/US20100205518A1/en not_active Abandoned
- 2008-08-18 WO PCT/EP2008/006779 patent/WO2009024313A1/en active Application Filing
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012195956A (ja) * | 2007-09-14 | 2012-10-11 | Motorola Mobility Llc | 多重層巡回冗長検査コードを使用する無線通信装置 |
US9807647B2 (en) | 2008-01-31 | 2017-10-31 | Lg Electronics Inc. | Method for determining transport block size and signal transmission method using the same |
US10425858B2 (en) | 2008-01-31 | 2019-09-24 | Lg Electronics Inc. | Method for determining transport block size and signal transmission method using the same |
US8671336B2 (en) | 2008-01-31 | 2014-03-11 | Lg Electronics Inc. | Method for determining transport block size and signal transmission method using the same |
US8739014B2 (en) | 2008-01-31 | 2014-05-27 | Lg Electronics Inc. | Method for determining transport block size and signal transmission method using the same |
US9225470B2 (en) | 2008-01-31 | 2015-12-29 | Lg Electronics Inc. | Method for determining transport block size and signal transmission method using the same |
JP2011504038A (ja) * | 2008-01-31 | 2011-01-27 | エルジー エレクトロニクス インコーポレイティド | トランスポートブロックサイズの決定方法及びこれを用いた信号伝送方法 |
US8266513B2 (en) | 2008-01-31 | 2012-09-11 | Lg Electronics Inc. | Method for determining transport block size and signal transmission method using the same |
US11671120B2 (en) | 2015-11-12 | 2023-06-06 | Qualcomm Incorporated | Puncturing for structured low density parity check (LDPC) codes |
JP2022022398A (ja) * | 2016-06-06 | 2022-02-03 | クアルコム,インコーポレイテッド | セクション式冗長検査を有する制御シグナリングの符号化および復号 |
JP7371077B2 (ja) | 2016-06-06 | 2023-10-30 | クアルコム,インコーポレイテッド | セクション式冗長検査を有する制御シグナリングの符号化および復号 |
US11831332B2 (en) | 2016-06-14 | 2023-11-28 | Qualcomm Incorporated | High performance, flexible, and compact low-density parity-check (LDPC) code |
US11942964B2 (en) | 2016-06-14 | 2024-03-26 | Qualcomm Incorporated | Methods and apparatus for compactly describing lifted low-density parity-check (LDPC) codes |
WO2018163433A1 (ja) * | 2017-03-10 | 2018-09-13 | 株式会社Nttドコモ | 通信装置、及び復号方法 |
USRE49989E1 (en) | 2017-06-10 | 2024-05-28 | Qualcomm Incorporated | Communication techniques involving pairwise orthogonality of adjacent rows in LPDC code |
Also Published As
Publication number | Publication date |
---|---|
US20100205518A1 (en) | 2010-08-12 |
EP2026470A1 (en) | 2009-02-18 |
WO2009024313A1 (en) | 2009-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2010537460A (ja) | 複数の符号化セグメントにわたる巡回冗長検査の実行 | |
CN109196801B (zh) | 用于对控制信令进行编码和解码的方法和装置 | |
US20200014401A1 (en) | Apparatus and methods for error detection coding | |
JP5466317B2 (ja) | データ伝送方法 | |
EP1040611B1 (en) | A forward error correction system for packet based real-time media | |
US20170294990A1 (en) | Data transmission method and device | |
US8745461B2 (en) | Method and apparatus for N+1 packet level mesh protection | |
US11171741B2 (en) | Polar code transmission method and apparatus | |
KR20130125813A (ko) | 유연한 소스 블록 매핑을 갖는 탄성 코드들을 이용한 인코딩 및 디코딩 | |
WO1998058468A1 (fr) | Systeme de transmission avec multiplexage de donnees d'information, multiplexeur et demultiplexeur utilises a cet effet et codeur et decodeur pour correction d'erreurs | |
JP2009171540A (ja) | 送信装置および方法、受信装置および方法、並びにプログラム | |
KR20110066084A (ko) | 정보 객체의 인코딩을 위한 방법 및 이를 이용한 인코더 | |
US8924831B2 (en) | Systems and methods for network coding using convolutional codes | |
US8495478B2 (en) | Frame boundary detection and decoding | |
TWI535220B (zh) | 重傳返回通道錯誤偵測之系統和方法 | |
EP1735795B1 (en) | Method and apparatus for protecting parts of a packet in a wireless network | |
CN108270508B (zh) | 一种循环冗余校验crc实现方法、装置及网络设备 | |
JP7371077B2 (ja) | セクション式冗長検査を有する制御シグナリングの符号化および復号 | |
US8479082B2 (en) | Packet error correction in networks | |
Babaie et al. | Double bits error correction using CRC method | |
JP2010034976A (ja) | 誤り訂正符号化装置、誤り訂正復号装置及び誤り訂正符号化方法 | |
WO2005055433A1 (ja) | 復号装置及び復号方法 | |
Lam et al. | Message authentication codes with error correcting capabilities | |
KR102118605B1 (ko) | 블록 코드에 대하여 저복잡도로 고차 신드롬을 계산하는 고차 신드롬 계산기 및 고차 신드롬 계산 방법 | |
Navimipour et al. | Double Bits Error Correction for ComputationalGrid with CRC |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110523 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20120420 |