JP3807484B2 - 確率依存グラフにおいて汎用の符号を復号化するための方法および装置 - Google Patents
確率依存グラフにおいて汎用の符号を復号化するための方法および装置 Download PDFInfo
- Publication number
- JP3807484B2 JP3807484B2 JP2001156375A JP2001156375A JP3807484B2 JP 3807484 B2 JP3807484 B2 JP 3807484B2 JP 2001156375 A JP2001156375 A JP 2001156375A JP 2001156375 A JP2001156375 A JP 2001156375A JP 3807484 B2 JP3807484 B2 JP 3807484B2
- Authority
- JP
- Japan
- Prior art keywords
- nodes
- symbols
- bits
- decoded
- node
- 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.)
- Expired - Fee Related
Links
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/11—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 using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1145—Pipelined decoding at code word level, e.g. multiple code words being decoded simultaneously
-
- 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/11—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 using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
-
- 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/11—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 using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1108—Hard decision decoding, e.g. bit flipping, modified or weighted bit flipping
-
- 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/11—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 using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1131—Scheduling of bit node or check node processing
- H03M13/1134—Full parallel processing, i.e. all bit nodes or check nodes are processed in parallel
-
- 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/11—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 using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1191—Codes on graphs other than LDPC codes
-
- 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/11—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 using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
- H03M13/1174—Parity-check or generator matrices built from sub-matrices representing known block codes such as, e.g. Hamming codes, e.g. generalized LDPC codes
-
- 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/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
-
- 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/23—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using convolutional codes, e.g. unit memory codes
-
- 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/29—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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2906—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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
-
- 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/29—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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2957—Turbo codes and decoding
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
- Detection And Correction Of Errors (AREA)
Description
【発明の属する技術分野】
本発明は全般に情報の符号化および復号化技術に関し、より詳細には、符号化された情報信号を復号化する際に用いるための復号化器アルゴリズムおよびアーキテクチャに関する。
【0002】
【従来の技術】
符号化は、デジタル情報を伝送する際に、ビットあるいはパケット誤り率を低減するために幅広く用いられている。多くの応用形態では、この目的を果たすために、たたみ込み符号が用いられる。たたみ込み符号は、ステートマシンによって定義され、状態の遷移は符号化されることになる入力ビットによって決定される。たたみ込み符号あるいはたたみ込み符号に基づく符号の場合、ビタビアルゴリズムと最大事後確率(MAP)アルゴリズムの2つが、最もよく用いられる復号化アルゴリズムである。
【0003】
ビタビアルゴリズムはA. J. Viterbiによる「Error bounds for convolutional codes and an asymptotically optimum decoding algorithm」(IEEE Trans. Inform. Theory, Vol. IT-13, pp. 260-269, April 1967)に記載されており、参照して本明細書に援用している。そのアルゴリズムは、トレリスと呼ばれる時間的に展開される状態遷移図を通して最も可能性の高いパスを見つけることにより、受信されたビットあるいはシンボルを復号化する。
【0004】
図1は、従来のブロック直列ビタビ復号化器100を示す。復号化器100はS個の分岐メトリックユニット(BMU)102を備えており、それぞれ102−jで示されている(ただしj=0、1、...S−1である)。BMU102−jのうちの所与の1つのものは、1ビットあるいはシンボルを受信する入力と、対応する加算−比較−選択ユニット(ACSU)104−jの入力に接続される出力とを備える。また、BMU102−jおよびACSU104−jは、図面においてそれぞれBMUjおよびACSUjで示される。ACSU104の組の出力は、受信されたビットあるいはシンボルから復号化されたビットを生成する残存メモリユニット(SMU)106に加えられる。ビタビ復号化器100の動作が以下に記載される。この説明は、復号化される所与のブロックがN個の受信されたビットあるいはシンボルを含むものと仮定している。
【0005】
復号化器100は、状態が0のパスメトリックが0になり(PM0=0)、それ以外の全ての状態のパスメトリックが無限大になるように(PM1、...S−1=∞)初期化することにより初期化される。その後、復号化アルゴリズムが、受信されたビットあるいはシンボル毎に繰り返す外部ループと、トレリス内の状態毎に繰り返す内部ループとを含む以下の再帰的な繰返しを実行する。
【0006】
ブロック内で、受信されたビットあるいはシンボルRxi(ただしi=0、1、...N−1)毎に、トレリス内の各状態に対して、
1.現在の状態から可能な次の状態までの各分岐に対する分岐メトリックを計算する。トレリスの所与の分岐のための分岐メトリックは、受信されたシンボルあるいはビットRxiを与えるときに、現在の状態から、その分岐が接続する状態に遷移する可能性に関する指標である。分岐メトリック計算はBMU102によって実行される。
【0007】
2.各状態に入る最小パスメトリックを見つけるために比較を実行する。パスメトリックは、以前の状態パスメトリックと、その遷移に対して関連する分岐メトリックとの和として形成される。ここで、この最小値は、次の繰返しのための状態パスメトリックになる。比較は、ACSU104において実行される。
【0008】
3.各状態に対して、比較によってどの分岐に到達したかの判定をSMU106に格納する。
【0009】
上記のように、この繰返しプロセスは、復号化されることになるNビットあるいはシンボルからなる受信されたブロックにおいてビットあるいはシンボル毎に1回実行され、各ビットあるいはシンボルに対して、受信された系列の1つの更新された推定値を生成する1回の復号化の繰返しを完了する。スループットを最大にするために、状態並列アーキテクチャを用いることができ、図1に示されるように、内部ループ動作が多数の状態に対して並行して実行される。しかしながら、外部ループ動作は並行には実行されない。なぜなら、1回の繰返しから得られる各状態のための更新されたパスメトリックが、次の繰返しのための入力として必要とされるからである。
【0010】
その復号化アルゴリズムは、受信されたブロックの全てのビットあるいはシンボルが処理された後に、最終的に最小のパスメトリックを有する状態を特定することにより終了する。この状態は、獲得状態(winning state)と呼ばれる。獲得状態から、そこで格納された復号化判定は、その状態を先行する状態にトレースバックされる。このトレースバックプロセスは、そのブロックの開始時に対応する状態に到達するまで継続される。これらの判定によって定義されるパスは、ビットあるいはシンボルに関する最も伝送された可能性の高い系列を特定し、復号化器出力を生成するために処理される。
【0011】
ビタビアルゴリズムとは異なり、上記のMAPアルゴリズムは、伝送された系列内の各ビットあるいはシンボルの最大事後確率を見つけるために、トレリスにわたる順方向および逆方向パスを用いる。MAPアルゴリズムは、L. R. Bahl, J. Cocke, F. JelinekおよびJ. Ravivによる「Optimal decoding of linear codes for minimizing symbol error rate」(IEEE Trans. Inform. Theory, Vol. IT-20, pp. 284-287, March 1974)に、より詳細に記載されており、参照して本明細書に援用している。
【0012】
ビタビおよびMAPアルゴリズムはいずれも順次処理に基づいており、以前のビットあるいはシンボルに対するACS計算の結果に応じて、受信されたブロック内の各ビットあるいはシンボルに対して動作が実行される。この依存性により,ビットあるいはシンボルレートより高いACS動作のパイプライン化が妨げられ、それゆえ、たたみ込み符号を復号化することができる速度を制限し、それにより、復号化器のスループットを制限する。
【0013】
より高い誤り訂正能力を必要とする応用形態では、多くの場合に、2つ以上のたたみ込み符号が直列あるいは並列に連結して用いられる。連結される符号の一例が、たとえば、C. Berrou, A. GlavieuxおよびP. Thitimajshimaによる「Near Shannon limit error-correcting coding: Turbo codes」(Proc. IEEE Int. Conf. Comm., Geneva Switzerland, 1993, pp. 1064-1070)に記載される、いわゆるターボ符号であり、参照して本明細書に援用している。連結された符号の復号化は、後続の符号トレリスのために、次の符号トレリスを次々に復号化するための入力として、1つの符号トレリスを復号化した結果を必要とする。そのような繰返し直列処理は、何度も、ビタビあるいはMAP復号化器のいずれかが各トレリスを通して何度も順次にトレースし、後続する繰返しは、以前の復号化の結果を待つ必要がある。ハードウエアで実装されるとき、復号化アルゴリズムの順次実施される性質は、ビットあるいはシンボル直列アーキテクチャを必要とする。これは、実行される繰返しの数および構成する符号の数だけビタビあるいはMAP復号化器の待ち時間を増やし、それにより、連結された符号を復号化するための待ち時間が相当に長くなる。
【0014】
上記のように、ビタビおよびMAPアルゴリズムの再帰的な依存性によって、復号化器スループットを改善するために計算をパイプライン化することも不可能になる。スループットを改善し、待ち時間を最小にするために、より速いクロック速度で復号化器を駆動することはできるが、そのようなアプローチは復号化器の電力の浪費を増加させる。連結された符号を復号化することに関連する電力および待ち時間の問題は、多くの場合に、実用的な応用形態に対してそのアプローチを用いることを制限する。さらに、そのような符号が用いられる場合であっても、繰返しの数が制限され、それにより待ち時間に関する要件を満たすために符号化利得を犠牲にする場合がある。より少ない待ち時間で、そのような符号に対する復号化の各繰返しを実行できたなら、復号化器の性能は、実行される繰返しの数を増やすことにより改善することができるであろう。
【0015】
また、確率依存グラフ(probability dependency graph)を用いて、特定のクラスの符号、たとえば複合符号のブロック直列復号化プロセスを考案できることも当業者には知られている。複合符号は一般に、多数の符号の組み合わせから生成される符号のことである。たとえば、参照して本明細書に援用している、F. R. KschischangおよびB. J. Freyによる「Iterative decoding of compound codes by probability propagation in graphical models」(IEEE Journal on Selected Areas in Comm., Vol. 16, No. 2, pp. 219-230, Feb. 1998)を参照されたい。しかしながら、これまでそのような技術は、たたみ込み符号、ターボ符号あるいはその他の連結された符号等を含む、汎用の符号のブロック並列復号化に適用されてこなかった。ただし、汎用の符号は、パリティ検査行列を判定することができる任意の符号を含む。
【0016】
上記の説明から明らかなように、電力の浪費を増加させることなく、スループットを改善し、待ち時間を低減する改善された復号化アルゴリズムおよび対応する復号化器アーキテクチャが必要とされている。
【0017】
【発明が解決しようとする課題】
したがって、本発明の目的は、たとえば、たたみ込み符号、ターボ符号あるいはたたみ込み符号またはブロック符号等に基づくその他の連結された符号を含む、多種多様な符号の繰返し復号化を実行するためのブロック並列復号化アルゴリズムおよび対応する復号化器アーキテクチャを提供することである。
【0018】
【課題を解決するための手段】
本発明は、汎用の符号に対する復号化器の問題をブロック並列形式に定式化し直し、上記の従来のブロック直列復号化アルゴリズムおよび復号化器アーキテクチャに固有の直列依存性を排除し、それにより、実質的に待ち時間を低減し、スループットを高める点で有利である。
【0019】
本発明によれば、ブロック並列復号化アルゴリズムおよび対応する復号化器アーキテクチャは、確率依存グラフの形に構成された1組の相互接続された処理ノードを用いる。確率依存グラフは、ビットあるいはシンボルからなるブロックを符号化するために用いられる符号によって少なくとも部分的に特徴づけられ、処理ノードが、復号化されることになるビットあるいはシンボルからなるブロックのためのブロック並列復号化プロセスを実施する。
【0020】
本発明の例示的な実施形態では、確率依存グラフは、N個一組の変数ノードとT個一組の検査ノードとを含む2つからなる確率依存グラフの形をなし、N個の変数ノードのうちの1つが復号化されることになる所与のブロックのN個のビットあるいはシンボルそれぞれに関連する。ブロック並列復号化プロセスの1回の繰返しは、変数ノード内に、所与のブロックにおける全ビットあるいはシンボルのための更新された推定値を生成する。この場合のブロック並列復号化プロセスは、変数ノードに接続される各検査ノードに関数f(Rxi)を送信することにより開始される。ただしRxiは、受信されたビットあるいはシンボルで、i=0、1、...N−1であり、f(.)は、閾値関数、線形換算関数、あるいは近似指数関数のような、符号によって少なくとも部分的に決定される関数である。
【0021】
ブロック並列復号化プロセスは、検査ノードに接続される変数ノードからの入力の関数g(.)を各検査ノードにおいて並行して計算することと、これらの検査ノードの計算結果を接続される変数ノードに送信することとを含む。関数g(.)は、たとえば、パリティ検査関数、対数領域の双曲正接関数、あるいは対数領域の最大関数を含む場合がある。たとえば、関数g(.)は、パリティ検査関数、さらに現在の入力がパリティ検査の制約条件を満たす信頼性の指示値を更新するための関数を含む場合がある。付加的な信頼性更新関数には、対数領域の双曲正接関数を用いることができる。
【0022】
ブロック並列復号化プロセスはさらに、各変数ノードにおいて、その変数ノードに接続される検査ノードからの入力の関数h(.)を並行して計算することと、これらの変数ノードの計算結果を、接続される検査ノードに送信することとを含む。関数h(.)には、たとえば、多数決関数あるいは平均化関数を用いることができる。
【0023】
ブロック並列復号化プロセスは、全ての検査ノードが符号の制約条件を満たしたとき、あるいは最大数だけ繰り返した後に終了する。終了時に、変数ノードの値が、推定、すなわち復号化される伝送ビットあるいはシンボルと、おそらく関連する事後確率あるいは信頼性とを決定する。
【0024】
本発明の別の例示的な実施形態では、確率依存グラフは、初期レベル、少なくとも1つの中間レベルおよび最終レベルを含む多数レベルのノードを有する有向確率依存グラフ(directional probability dependency graph)の形をとり、順次的なブロック内依存性を有することなく、各レベルにおいて計算を実行できるように構成される。初期レベルのノードは、復号化されることになる所与のブロック内の各ビットあるいはシンボルのための入力ノードを含む。各中間レベルのノードは、以前のレベルのノードからのみ入力を受信し、次に続くレベルのノードにのみ出力を供給する。最終レベルのノードの出力は、所与のブロックのための伝送されたビットあるいはシンボルの推定値を与える。ブロック並列復号化プロセスは、この実施形態では、初期レベル内の各ノードへの入力として、関数f(Rxi)を与えることにより初期化される。ただし、Rxiは受信されたビットあるいはシンボルで、i=0、1、...N−1であり、f(.)は、閾値関数、線形換算関数、あるいは近似指数関数のような、符号によって少なくとも部分的に決定される関数である。その後、各中間レベルのノードは、以前のレベルのノードから到来する値の関数g(.)を計算し、次のレベルのノードにその計算結果を渡し、各ノードが、所与のブロック内の全ビットあるいはシンボルのための更新された推定値を生成できるようにする。
【0025】
本発明の別の態様によれば、相互接続される処理ノードの組は、1つあるいは複数のプログラム可能な計算ユニットを用いて実装することもできる。たとえば、異なる計算ユニットを用いて、各ノードを実装することができるか、あるいは多数のノードからなる所与の組を実装することができる。そのような計算ユニットは、種々の符号のための種々のブロック並列復号化プロセスを実施するのに適した、構成を変更可能なハードウエアあるいは他の装置を含む場合がある。
【0026】
【発明の実施の形態】
ここで、多数の例示的な復号化アルゴリズムおよび対応する復号化器アーキテクチャを用いて、本発明が例示されることになる。本発明の特定の実施形態は単なる例示にすぎず、本発明は、確率依存グラフによるブロック並列復号化に関連し、スループットを改善し、かつ待ち時間を低減することにより利益を得ることができる任意の復号化アルゴリズムおよび対応する復号化器アーキテクチャに、より幅広く適用することができることを理解されたい。
【0027】
本明細書で用いられる用語「汎用の符号」は、一例であり、限定はしないが、関連するパリティ検査行列が構成されるか、導出されるか、そうでなければ判定される場合がある任意の符号を含むことを意図している。
【0028】
用語「確率依存グラフ」は、一例であり、限定はしないが、所与のノードに関連する値の厳密な、あるいは近似的な確率が、その所与のノードに接続される1つあるいは複数のノードに関連する1つあるいは複数の値の厳密な、あるいは近似的な確率に関して表されることができるように構成された、相互接続されるノードの任意の表現を含むことを意図している。
【0029】
例示的な実施形態において、本発明は、確率依存グラフによって表される符号を復号化するためのブロック並列アルゴリズム、および対応するブロック並列復号化器アーキテクチャを提供する。本発明の一態様によれば、所与の復号化器アーキテクチャは、確率依存グラフを物理的に具体化したものを表しており、グラフ内のノードは計算ユニットあるいはその適切な部分に対応しており、グラフ内のエッジはノード間の接続に対応する。本発明は、確率依存グラフがブロック内に順次的な依存性を持たず、それゆえ、ブロック並列およびパイプライン化の両方の復号化アルゴリズムおよびアーキテクチャを開発するための原理として用いることができるという、本発明者の認識に一部基づいている。本発明による復号化器アーキテクチャは、図1とともに記載されたような従来のブロック直列復号化器アーキテクチャと比較すると、スループットと待ち時間に関して相当な利点を提供する点で有利である。
【0030】
図2および図7は、本発明によるブロック並列復号化アルゴリズムのための2つの例示的な復号化器アーキテクチャを示す。これらの例示的なアーキテクチャでは、復号化されるブロックは、N個の受信されたビットあるいはシンボルを含むものと仮定する。
【0031】
図2は、本発明による2ノード型のブロック並列確率依存グラフ復号化器200の例示的な実施形態を示す。復号化器200は、2つのタイプのノード、すなわち変数ノードおよび検査ノードを含む2ノード型の確率依存グラフの形で実装される素子を含む。N個の全変数ノードの場合に、所与のブロック内の全受信ビットあるいはシンボルが復号化されるために、1つの変数ノードが必要とされる。検査ノードの数はTで示され、その数は符号、およびブロック内のビットあるいはシンボルの数によって決定される。変数ノードおよび検査ノードの接続性は、符号によって決定される。
【0032】
図2の復号化器200では、変数ノードは白丸によって示され、検査ノードは黒丸によって示される。この実施形態における各ノードは、以下に記載される動作のうちの1つあるいは複数の動作を実行することができる計算ユニットに対応する処理ノードであると仮定される。しかしながら、変数ノードおよび検査ノードは、たとえば、スループット要件が変数ノードおよび検査ノードの処理速度よりも低い場合に、同じ処理ノードを用いて、多数のノードが評価されるようにグループ化されることを理解されたい。そのような構成では、1つの計算ユニットを用いて、確率依存グラフの多数のノードを実装することができる。したがって、所与の処理ノードは、1つの専用の計算ユニット、あるいはそのようなユニットの一部を用いて実装することができる。したがって、ここで記載される復号化器200および他の復号化器内の各ノードは、1つの計算ユニット、あるいは多数ノード計算ユニットの一部を表す場合がある。
【0033】
復号化器200は、変数ノードに接続される各検査ノードに、受信された値の関数、たとえばf(Rxi)を送信することにより初期化される。ただし、Rxiは受信されたビットあるいはシンボルで、i=0、1、...N−1であり、f(.)は、符号によって決定される関数、たとえば閾値関数、線形換算関数あるいは近似指数関数である。この初期化は、図2の変数ノードの左側に示される。その後、復号化器200は以下の動作を繰り返す。
【0034】
1.C0、C1、...CT−1で示される各検査ノードでは、その検査ノードに接続される変数ノードからの入力のおそらく異なる関数g(.)を計算する。たとえば、異なる検査ノードでは異なる関数g(.)が用いられる場合があるか、あるいは用いられる関数は、繰返しの数あるいは別のパラメータを用いて変更することができる。所与の1つの検査ノードにおける関数g(.)には、たとえば、パリティ検査関数、対数領域の双曲正接関数あるいは対数領域の最大関数を用いることができる。これらの計算の結果を接続される変数ノードに送信する。その結果は通常、接続される各変数ノードの場合に異なる値である。これらの計算は、並行して実行される場合もある。
【0035】
2.V0、V1、...VN−1で示される各変数ノードでは、その変数ノードに接続される検査ノードからの入力のおそらく異なる関数h(.)を計算する。たとえば、異なる変数ノードでは異なる関数h(.)が用いられる場合があるか、あるいは用いられる関数は、繰返しの数あるいは別のパラメータを用いて変更することができる。所与の1つの変数ノードにおける関数h(.)には、たとえば、多数決関数あるいは平均化関数を用いることができる。これらの計算の結果を接続される検査ノードに送信する。同様に、これらの計算は並行して実行される場合がある。
【0036】
このプロセスの1回の繰返しは、受信されたブロック内の全ビットあるいはシンボルに対して、1つの更新された推定値を生成する。所与の繰返しの各計算は、従来の復号化アルゴリズムおよびその対応するアーキテクチャの順次的なブロック内依存性を有することなく、ブロック内で並列に実行することができる点で有利である。
【0037】
復号化器200の復号化アルゴリズムは、全ての検査ノードが符号の制約条件を満たしたときに、あるいは最大数だけ繰り返した後に終了され、変数ノードの計算結果は、その変数のための伝送された値の復号化された推定値を与える。繰返しの最大数は一般に特定の実装形態に依存し、たとえば、特定の実装形態において利用可能な時間内で、どれだけ多くの繰返し数を達成することができるかに対応する場合がある。
【0038】
復号化器200の確率依存グラフは、対応する符号に関連するパリティ検査行列Hを用いて構成される場合があり、1つの変数ノードがHの各列に関連し、1つの検査ノードがHの各行に関連する。Hの全組の要素hnmは、変数ノードnと検査ノードmとの間の接続に対応する。それゆえ、復号化器内の変数ノードnに入るか、あるいは変数ノードnを離れる、グラフ内のエッジの数は、Hの列nにおける0ではないエントリの数に等しく、復号化器内の検査ノードmに入るか、あるいは検査ノードmを離れる、グラフ内のエッジの数は、Hの行mにおける0ではないエントリの数に等しい。Hにおいて行演算を実行して、グラフ内のエッジの数を低減し、復号化器の構造あるいは性能を改善することもできる。
【0039】
変数ノードにおいてその時点で復号化されたビットxi(ただしi∈{0、1、...N−1}が以下のパリティ検査行列を満足するか否かを試験することにより、復号化器200において完了のための試験を実行することができる。
H・x=0,
ただし、xは復号化されたビットのベクトル{x0、x1、...xN−1}であり、0はmビットゼロベクトルであり、mはパリティ検査行列の行の数と、検査ノードの数とに対応する。別の完了のための試験は、全ての検査ノードがその時点の入力によって満足されることを試験することにより実行することができる。
chki=0∀i∈{0,1,...,K−1},
ただし、chkiは、検査ノードiに対する全入力の排他的論理和である。
【0040】
図3および図4は、図2の復号化器200の硬判定実装形態における、それぞれ変数ノードおよび検査ノードの例を示す。図3を参照すると、所与の変数ノード300は、1組の要素302−0、302−1、302−2、...302−kを含み、それぞれ1組の入力の特定の部分の重み付けされた多数決関数を実施する。付加的な要素304は、1組の入力全体の重み付けされた多数決関数を実施する。重み付けされた多数決関数要素302−0、302−1、302−2、...302−kはそれぞれ、1組の2対1マルチプレクサ306−0、306−1、306−2、...306−kのうちの対応する1つのマルチプレクサに判定出力を供給する。マルチプレクサはそれぞれ共通の開始信号によって駆動され、その出力は、共通のクロック信号によって駆動されるDフリップフロップ308−0、308−1、308−2、...308−kにラッチされる。多数決関数要素304の出力は、Dフリップフロップ310にラッチされ、その出力は判定信号decsを表す。
【0041】
図4を参照すると、所与の検査ノード400は、1組の排他的論理和(XOR)ゲート402−0、402−1、402−2、...402−kを備え、それぞれ1組の入力in0、in1、in2、...inkのうちの1つを受信し、対応する1組の出力out0、out1、out2、...outkのうちの1つを生成する。検査ノード400はさらに、入力としてin0、in1、in2、...inkをそれぞれ受信し、出力として上記のchki信号を生成する付加的なXORゲート404も備える。その後、この出力は、各XORゲート402−0、402−1、402−2、...402−kに入力として供給される。
【0042】
図5および図6は、図2の復号化器200の軟判定実装形態における、変数ノードおよび検査ノードをそれぞれ示す。軟判定復号化器では、渡される各メッセージの符号に関連する信頼性が存在する。それゆえ、検査ノードは、硬判定復号化器に存在し、図4に示されるタイプのパリティ検査に加えて、信頼性を更新するように構成される回路も備える。
【0043】
図5を参照すると、軟判定復号化器のための変数ノード500の更新部分は、加算器502、および1組の減算器504−0、504−1、...504−jを備える。各変数ノードVi(ただしi∈{0、1、...N−1}内では、受信された値Rxiは、関数f(.)、たとえば線形換算関数によって演算され、結果Λiを生成する。その後、図5の変数ノード更新が、以下の式にしたがって実行される。
【数1】
ただしkは正規化定数である。図5の回路のこれらの出力は、上記の信頼性を表す。
【0044】
図6は、本発明による軟判定復号化器内の検査ノード600の信頼性更新回路部分の一例を示す。検査ノード600は、1組の入力関数要素602−0〜602−kと、1組の出力関数要素604−0〜604−kと、加算器606と、1組の減算器608−0〜608−kとを備える。入力関数要素は、この例では双曲正接の自然対数を実施し、一方、出力関数要素は相補的な演算を実施する。加算器606は、入力関数要素それぞれからの出力を受信し、生成された和を各減算器に供給する。その和と個々の関数要素出力との差が、出力関数要素に適用され、対応する更新された出力が生成される。
【0045】
図6に示される実装形態では、たとえば、双曲正接とは対照的に、max−log規則を用いて検査ノードを更新することにより簡略化することができる。この簡略形態を用いると、各出力iのための信頼性は、対数領域において実行される、入力iを除く、全ての入力の最大の信頼性として与えられる。
【数2】
【0046】
図7は、本発明によるブロック並列ベイズネットワーク確率依存復号化器700の例示的な実施形態を示す。復号化器700は、有向ベイズネットワーク確率依存グラフの形で実装される要素を含む。そのグラフは、復号化されることになるブロック内の全ビットあるいはシンボルのための入力ノードを含む。これらの入力ノードは、図面においてレベル0で示される。そのグラフはさらに、任意のノードが以前のレベルからの入力のみを有し、次に続くレベルへの出力のみを有するような、ノードのレベルを含む。この構成によって、計算は、順次的なブロック内依存性を有することなく、各レベルにおいて実行されるようになる。復号化器の段数、レベル当たりのノード、およびノード間に必要とされる接続は、符号によって決定される。ノードの最終レベルは、レベルJによって示され、伝送された系列の推定値y0、...、yk−1を生成する。
【0047】
復号化器700は、レベル0の各ノードへの入力として、受信された値の関数、たとえばf(Rxi)を与えることにより初期化される。ただし、Rxiは受信されたビットあるいはシンボルで、i=0、1、...N−1であり、f(.)は、符号によって決定される関数、たとえば、閾値関数、線形換算関数あるいは近似指数関数である。この初期化入力は、図7のレベル0ノードの左側に示される。
【0048】
復号化器700の各レベルは以前のレベルから到来する値のおそらく異なる関数g(.)を計算し、この計算の結果は、復号化器700の次のレベルに渡される。上記のように、関数g(.)には、たとえば、パリティ検査関数、対数領域の双曲正接関数、あるいは対数領域の最大関数を用いることができる。
【0049】
この復号化プロセスの1つのレベルは、受信されたブロック内の全ビットあるいはシンボルに対して更新された推定値を生成する。上記のように、復号化器の最終レベル、すなわちレベルJは、伝送された系列の推定値y0、...yK−1を生成する。出力Kの数は一般に入力の数よりも小さい、すなわちK<Nであろう。
【0050】
復号化器700の確率依存グラフ内の情報の流れは、図2の2ノード型のグラフ復号化器200の場合のような双方向の流れでないことは明らかである。再帰的な依存性を持たない、この有向構造は、非常に高いスループットの復号化器を製造するためにパイプライン化するのに非常に適している。
【0051】
図8は、本発明による硬判定有向ネットワーク確率依存グラフ復号化器800の一例を示す。復号化器800は、図7に示されるタイプの復号化器の特定の硬判定実装形態を表す。復号化器800は、相互接続されるノードの多数のレベルを含み、変数ノードは白丸で、検査ノードは黒丸で示される。ノードの第1のレベルは、レベル0で示され、それぞれ関数f(Rxi)を受信する1組の変数ノードを含む。ただしRxiは受信されたビットあるいはシンボルである。ノードの次のレベルはレベル1で示され、1組の検査ノードを含む。その後のレベルは、変数ノードのレベルと検査ノードのレベルとの間で入れ替わる。ノードの最終レベルはレベルJで示され、伝送された系列の推定値y0、...yK−1を生成する1組の変数ノードを含む。復号化器のレベル内では、変数ノードと検査ノードとの数が異なる場合があることに留意されたい。
【0052】
復号化器800内の最終レベルではない変数ノードのレベルの各変数ノードには、図に示されるようにDフリップフロップの形で実装される場合があるラッチが関連する。たとえば、復号化器800のレベル0の変数ノードには、ラッチ802−0、802−1、802−2、...802−(N−1)が関連する。レベル1のような、復号化器800の検査ノードレベルでは、以前のレベルの各変数ノードに対して1つのバッファが存在する。たとえば、復号化器800のレベル1は、全N個のバッファ804−0、804−1、804−2、...804−(N−1)を備える。各バッファは、以前のレベルの変数ノードのラッチの出力に接続される入力と、次に続くレベルの変数ノードのラッチの入力に接続される出力とを有する。
【0053】
復号化器800の種々のレベルの変数ノードと検査ノードとの間の接続は、対応する符号のパリティ検査行列によって定義される。レベルの数は、その復号化器が実行する繰返しの数を決定する。復号化器800内の変数ノードと検査ノードは、それぞれ図3および図4の2ノード型の硬判定確率グラフ復号化器の変数ノードおよび検査ノードと同じように構成することができる。
【0054】
本発明の復号化器アーキテクチャの接続性および計算ユニットは、当分野においてよく知られている、構成を変更可能なハードウエア技術を用いて、プログラム可能に行われ、それにより、同じ復号化器ハードウエア上で多くの異なる符号を復号化できるようにする。
【0055】
本発明は、たとえば、たたみ込み符号、ターボ符号、ハミング符号、積符号、低密度パリティ検査(LDPC)符号、一般化LDPC(GLD)符号、タナーグラフ(Tanner Graph)、線形あるいは巡回ブロック符号、連結ブロック符号等を含む幅広い符号に適用することができる。
【0056】
ここに記載された典型的な復号化器は、本発明の動作を例示することを目的としており、それゆえ任意の特定の実施形態あるいは一群の実施形態に本発明を限定するものと解釈されるべきでないことを再び強調しておきたい。たとえば、復号化器要素の特定の構成および相互接続性は、符号のような、用途に固有の要因によって変更されるであろう。さらに、ここで記載された確率依存グラフ復号化器の多くの異なるハードウエア実装形態が実現可能である。以下の請求の範囲内にある、これらのおよび多くの他の代替形態は当業者には明らかであろう。
【0057】
【発明の効果】
上記のように、本発明によれば、たたみ込み符号、ターボ符号あるいはたたみ込み符号またはブロック符号等に基づくその他の連結された符号を含む、多種多様な符号の繰返し復号化を実行するためのブロック並列復号化アルゴリズムおよび対応する復号化器アーキテクチャを実現することができる。
【図面の簡単な説明】
【図1】従来のブロック直列ビタビ復号化器を示す図である。
【図2】本発明の第1の例示的な実施形態による2ノード型のブロック並列確率依存グラフを示す図である。
【図3】図2に示されるように実装される硬判定復号化器において用いるための変数ノードの一例を示す図である。
【図4】図2に示されるように実装される硬判定復号化器において用いるための検査ノードの一例を示す図である。
【図5】図2に示されるように実装される軟判定復号化器において用いるための変数ノードの一例を示す図である。
【図6】図2に示されるように実装される軟判定復号化器において用いるための検査ノードの一例を示す図である。
【図7】本発明の第2の例示的な実施形態によるブロック並列有向ネットワーク確率依存グラフ復号化器を示す図である。
【図8】図7に示されるタイプのブロック並列有向ネットワーク確率依存グラフ復号化器の例示的な硬判定実装形態を示す図である。
Claims (14)
- 受信されたビットあるいはシンボルを復号化するための装置であって、
前記ビットあるいはシンボルを符号化するために用いられる符号によって少なくとも部分的に特徴づけられる確率依存グラフの形で実装される1組の相互接続される処理ノードを備え、該処理ノードは、復号化されることになる前記ビットあるいはシンボルからなる所与のブロックのためのブロック並列復号化プロセスを実施しており、
前記1組の相互接続される処理ノードは複数の検査ノード及び複数の変数ノードからなり、変数ノードの少なくとも一部分の各々は、復号されたビットまたはシンボルの対応する1つに関連しており、
前記ブロック並列復号プロセスは、
(i)検査ノードの少なくとも一部分の各々において、その検査ノードに接続された変数ノードからの入力の関数を計算し、かつ平行して行われる、これらの変数ノード計算の結果を接続された変数ノードへ送信する処理動作、及び
(ii)変数ノードの少なくとも一部分の各々において、その変数ノードに接続された検査ノードからの入力の関数を計算し、かつ平行して行われる、これらの変数ノード計算の結果を接続された検査ノードへ送信する処理動作の内の少なくとも一方を含むことを特徴とする装置。 - 受信されたビットあるいはシンボルを復号化するための装置であって、
前記ビットあるいはシンボルを符号化するために用いられる符号によって少なくとも部分的に特徴づけられる確率依存グラフの形で実装される1組の相互接続される処理ノードを備え、該処理ノードは、復号化されることになる前記ビットあるいはシンボルからなる所与のブロックのためのブロック並列復号化プロセスを実施しており、
前記所与のブロックは、復号化されることになるN個のビットあるいはシンボルを含み、前記1組の相互接続される処理ノードはさらに、N個一組の変数ノードと、T個一組の検査ノードとを含み、前記N個の変数ノードのうちの1つは、復号化されることになる前記N個のビットあるいはシンボルそれぞれと関連しており、
前記ブロック並列復号化プロセスは、Rxi(i=0,1、...、N−1)を前記受信されたビットあるいはシンボルとし、f(.)を前記符号によって少なくとも部分的に決定される関数とするとき、関数f(Rxi)を前記変数ノードに接続される前記各検査ノードに送信することによって開始されており、
前記関数f(.)は、閾値関数、線形換算関数および近似指数関数のうちの少なくとも1つを含むことを特徴とする装置。 - 受信されたビットあるいはシンボルを復号化するための装置であって、
前記ビットあるいはシンボルを符号化するために用いられる符号によって少なくとも部分的に特徴づけられる確率依存グラフの形で実装される1組の相互接続される処理ノードを備え、該処理ノードは、復号化されることになる前記ビットあるいはシンボルからなる所与のブロックのためのブロック並列復号化プロセスを実施しており、
前記所与のブロックは、復号化されることになるN個のビットあるいはシンボルを含み、前記1組の相互接続される処理ノードはさらに、N個一組の変数ノードと、T個一組の検査ノードとを含み、前記N個の変数ノードのうちの1つは、復号化されることになる前記N個のビットあるいはシンボルそれぞれと関連しており、
前記ブロック並列復号化プロセスは、全ての前記検査ノードが前記符号の制約条件を満たすときに終了することを特徴とする装置。 - 受信されたビットあるいはシンボルを復号化するための装置であって、
前記ビットあるいはシンボルを符号化するために用いられる符号によって少なくとも部分的に特徴づけられる確率依存グラフの形で実装される1組の相互接続される処理ノードを備え、該処理ノードは、復号化されることになる前記ビットあるいはシンボルからなる所与のブロックのためのブロック並列復号化プロセスを実施しており、
前記確率依存グラフは、有向確率依存グラフを含んでおり、
前記1組の相互接続された処理ノードはさらに、初期レベル、少なくとも1つの中間レベルおよび最終レベルを有する複数レベルのノードを含み、
前記複数レベルのノードは、前記少なくとも1つの中間レベル内の前記ノードが、以前のレベルのノードからのみ入力を受信し、次に続くレベルのノードにのみ出力を供給するように構成され、順次的なブロック内依存性を有することなく前記各レベルにおいて計算を実行できるようにすることを特徴とする装置。 - 受信されたビットあるいはシンボルを復号化するための装置であって、
前記ビットあるいはシンボルを符号化するために用いられる符号によって少なくとも部分的に特徴づけられる確率依存グラフの形で実装される1組の相互接続される処理ノードを備え、該処理ノードは、復号化されることになる前記ビットあるいはシンボルからなる所与のブロックのためのブロック並列復号化プロセスを実施しており、
復号化されたビットあるいはシンボルからなるワードが前記符号の有効なコードワードであるか否かに関する判定は、指示されたパリティ制約条件が満たされるか否かを判定することにより行われる装置。 - 受信されたビットあるいはシンボルを復号化するための装置であって、
前記ビットあるいはシンボルを符号化するために用いられる符号によって少なくとも部分的に特徴づけられる確率依存グラフの形で実装される1組の相互接続される処理ノードを備え、該処理ノードは、復号化されることになる前記ビットあるいはシンボルからなる所与のブロックのためのブロック並列復号化プロセスを実施しており、
復号化されたビットあるいはシンボルからなるワードが前記符号の有効なコードワードであるか否かに関する判定は、復号化された前記ワードと前記符号のパリティ検査行列との積がゼロベクトルになるか否かを判定することにより行われる装置。 - 受信されたビットあるいはシンボルを復号化するための方法であって、該方法は、
前記ビットあるいはシンボルを符号化するために用いられる符号によって少なくとも部分的に特徴づけられる確率依存グラフの形で構成される1組の相互接続される処理ノードに、前記受信されたビットあるいはシンボルを適用するステップと、
前記処理ノード内で、復号化されることになる前記ビットあるいはシンボルからなる所与のブロックのためのブロック並列復号化プロセスを実施するステップとを備え、
前記1組の相互接続される処理ノードは複数の検査ノード及び複数の変数ノードからなり、変数ノードの少なくとも一部分の各々は、復号されたビットまたはシンボルの対応する1つに関連しており、
前記ブロック並列復号プロセスは、
(i)検査ノードの少なくとも一部分の各々において、その検査ノードに接続された変数ノードからの入力の関数を計算し、かつ平行して行われる、これらの変数ノード計算の結果を接続された変数ノードへ送信することと、
(ii)変数ノードの少なくとも一部分の各々において、その変数ノードに接続された検査ノードからの入力の関数を計算し、かつ平行して行われる、これらの変数ノード計算の結果を接続された検査ノードへ送信することとの内の少なくとも一方を含むことを特徴とする方法。 - 受信されたビットあるいはシンボルを復号化するための方法であって、該方法は、
前記ビットあるいはシンボルを符号化するために用いられる符号によって少なくとも部分的に特徴づけられる確率依存グラフの形で構成される1組の相互接続される処理ノードに、前記受信されたビットあるいはシンボルを適用するステップと、
前記処理ノード内で、復号化されることになる前記ビットあるいはシンボルからなる所与のブロックのためのブロック並列復号化プロセスを実施するステップとを備え、
前記所与のブロックは、復号化されることになるN個のビットあるいはシンボルを含み、前記1組の相互接続される処理ノードはさらに、N個一組の変数ノードと、T個一組の検査ノードとを含み、前記N個の変数ノードのうちの1つは、復号化されることになる前記N個のビットあるいはシンボルそれぞれと関連しており、
前記ブロック並列復号化プロセスは、Rxi(i=0,1、...、N−1)を前記受信されたビットあるいはシンボルとし、f(.)を前記符号によって少なくとも部分的に決定される関数とするとき、関数f(Rxi)を前記変数ノードに接続される前記各検査ノードに送信することによって開始されており、
前記関数f(.)は、閾値関数、線形換算関数および近似指数関数のうちの少なくとも1つを含むことを特徴とする方法。 - 受信されたビットあるいはシンボルを復号化するための方法であって、該方法は、
前記ビットあるいはシンボルを符号化するために用いられる符号によって少なくとも部分的に特徴づけられる確率依存グラフの形で構成される1組の相互接続される処理ノードに、前記受信されたビットあるいはシンボルを適用するステップと、
前記処理ノード内で、復号化されることになる前記ビットあるいはシンボルからなる所与のブロックのためのブロック並列復号化プロセスを実施するステップとを備え、
前記所与のブロックは、復号化されることになるN個のビットあるいはシンボルを含み、前記1組の相互接続される処理ノードはさらに、N個一組の変数ノードと、T個一組の検査ノードとを含み、前記N個の変数ノードのうちの1つは、復号化されることになる前記N個のビットあるいはシンボルそれぞれと関連しており、
前記ブロック並列復号化プロセスは、全ての前記検査ノードが前記符号の制約条件を満たすときに終了することを特徴とする方法。 - 受信されたビットあるいはシンボルを復号化するための方法であって、該方法は、
前記ビットあるいはシンボルを符号化するために用いられる符号によって少なくとも部分的に特徴づけられる確率依存グラフの形で構成される1組の相互接続される処理ノードに、前記受信されたビットあるいはシンボルを適用するステップと、
前記処理ノード内で、復号化されることになる前記ビットあるいはシンボルからなる所与のブロックのためのブロック並列復号化プロセスを実施するステップとを備え、
前記確率依存グラフは、有向確率依存グラフを含み、
前記1組の相互接続された処理ノードはさらに、初期レベル、少なくとも1つの中間レベルおよび最終レベルを有する複数レベルのノードを含み、
前記複数レベルのノードは、前記少なくとも1つの中間レベル内の前記ノードが、以前のレベルのノードからのみ入力を受信し、次に続くレベルのノードにのみ出力を供給するように構成され、順次的なブロック内依存性を有することなく前記各レベルにおいて計算を実行できるようにすることを特徴とする方法。 - 受信されたビットあるいはシンボルを復号化するための方法であって、該方法は、
前記ビットあるいはシンボルを符号化するために用いられる符号によって少なくとも部分的に特徴づけられる確率依存グラフの形で構成される1組の相互接続される処理ノードに、前記受信されたビットあるいはシンボルを適用するステップと、
前記処理ノード内で、復号化されることになる前記ビットあるいはシンボルからなる所与のブロックのためのブロック並列復号化プロセスを実施するステップとを備え、
復号化されたビットあるいはシンボルからなるワードが前記符号の有効なコードワードであるか否かに関する判定は、指示されたパリティ制約条件が満たされるか否かを判定することにより行われることを特徴とする方法。 - 受信されたビットあるいはシンボルを復号化するための方法であって、該方法は、
前記ビットあるいはシンボルを符号化するために用いられる符号によって少なくとも部分的に特徴づけられる確率依存グラフの形で構成される1組の相互接続される処理ノードに、前記受信されたビットあるいはシンボルを適用するステップと、
前記処理ノード内で、復号化されることになる前記ビットあるいはシンボルからなる所与のブロックのためのブロック並列復号化プロセスを実施するステップとを備え、
復号化されたビットあるいはシンボルからなるワードが前記符号の有効なコードワードであるか否かに関する判定は、復号化された前記ワードと前記符号のパリティ検査行列との積がゼロベクトルになるか否かを判定することにより行われることを特徴とする方法。 - 受信されたビットあるいはシンボルを復号化するための装置であって、
確率依存グラフの形に構成される1組のノードを実装するための1つあるいは複数の計算ユニットを備え、該計算ユニットは、前記ビットあるいはシンボルを符号化するために用いられる符号によって少なくとも部分的に特徴づけられ、前記1組のノードは、復号化されることになる前記ビットあるいはシンボルからなる所与のブロックにブロック並列復号化プロセスを提供するように構成されており、
前記1組の相互接続される処理ノードは複数の検査ノード及び複数の変数ノードからなり、変数ノードの少なくとも一部分の各々は、復号されたビットまたはシンボルの対応する1つに関連しており、
前記ブロック並列復号プロセスは、
(i)検査ノードの少なくとも一部分の各々において、その検査ノードに接続された変数ノードからの入力の関数を計算し、かつ平行して行われる、これらの変数ノード計算の結果を接続された変数ノードへ送信することと、
(ii)変数ノードの少なくとも一部分の各々において、その変数ノードに接続された検査ノードからの入力の関数を計算し、かつ平行して行われる、これらの変数ノード計算の結果を接続された検査ノードへ送信することとの内の少なくとも一方を含むことを特徴とする装置。 - 受信されたビットあるいはシンボルを復号化するための方法であって、該方法は、
確率依存グラフの形で構成される1組のノードを実装し、かつ前記ビットあるいはシンボルを符号化するために用いられる符号によって少なくとも部分的に特徴づけられる1組の1つあるいは複数の計算ユニットに、前記受信されたビットあるいはシンボルを適用するステップと、
前記ノード内に、復号化されることになる前記ビットあるいはシンボルからなる所与のブロックのためのブロック並列復号化プロセスを実装するステップとを備え、
前記1組の相互接続される処理ノードは複数の検査ノード及び複数の変数ノードからなり、変数ノードの少なくとも一部分の各々は、復号されたビットまたはシンボルの対応する1つに関連しており、
前記ブロック並列復号プロセスは、
(i)検査ノードの少なくとも一部分の各々において、その検査ノードに接続された変数ノードからの入力の関数を計算し、かつ平行して行われる、これらの変数ノード計算の結果を接続された変数ノードへ送信することと、
(ii)変数ノードの少なくとも一部分の各々において、その変数ノードに接続された検査ノードからの入力の関数を計算し、かつ平行して行われる、これらの変数ノード計算の結果を接続された検査ノードへ送信することとの内の少なくとも一方を含むことを特徴とする方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/579,216 US6539367B1 (en) | 2000-05-26 | 2000-05-26 | Methods and apparatus for decoding of general codes on probability dependency graphs |
US09/579216 | 2000-05-26 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2002033670A JP2002033670A (ja) | 2002-01-31 |
JP2002033670A5 JP2002033670A5 (ja) | 2004-08-19 |
JP3807484B2 true JP3807484B2 (ja) | 2006-08-09 |
Family
ID=24316034
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001156375A Expired - Fee Related JP3807484B2 (ja) | 2000-05-26 | 2001-05-25 | 確率依存グラフにおいて汎用の符号を復号化するための方法および装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US6539367B1 (ja) |
EP (1) | EP1158682A3 (ja) |
JP (1) | JP3807484B2 (ja) |
Families Citing this family (83)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2344046C (en) | 1998-09-28 | 2008-02-05 | Advanced Hardware Architectures, Inc. | Turbo product code decoder |
US7356752B2 (en) * | 2000-03-14 | 2008-04-08 | Comtech Telecommunications Corp. | Enhanced turbo product codes |
JP2003534680A (ja) * | 2000-04-04 | 2003-11-18 | コムテック テレコミュニケーションズ コーポレイション | 強化型ターボプロダクト符号復号器システム |
US7184486B1 (en) * | 2000-04-27 | 2007-02-27 | Marvell International Ltd. | LDPC encoder and decoder and method thereof |
US6888897B1 (en) | 2000-04-27 | 2005-05-03 | Marvell International Ltd. | Multi-mode iterative detector |
EP1287619A1 (en) * | 2000-06-02 | 2003-03-05 | Frank Kschischang | Method and system for decoding |
US7243288B1 (en) * | 2000-06-24 | 2007-07-10 | Motorola Inc. | Method and apparatus for turbo decoding block codes |
US7072417B1 (en) | 2000-06-28 | 2006-07-04 | Marvell International Ltd. | LDPC encoder and method thereof |
US7000177B1 (en) | 2000-06-28 | 2006-02-14 | Marvell International Ltd. | Parity check matrix and method of forming thereof |
US6965652B1 (en) | 2000-06-28 | 2005-11-15 | Marvell International Ltd. | Address generator for LDPC encoder and decoder and method thereof |
US7127664B2 (en) * | 2000-09-18 | 2006-10-24 | Lucent Technologies Inc. | Reconfigurable architecture for decoding telecommunications signals |
JP4389373B2 (ja) * | 2000-10-11 | 2009-12-24 | ソニー株式会社 | 2元巡回符号を反復型復号するための復号器 |
US7099411B1 (en) | 2000-10-12 | 2006-08-29 | Marvell International Ltd. | Soft-output decoding method and apparatus for controlled intersymbol interference channels |
US7116787B2 (en) * | 2001-05-04 | 2006-10-03 | Agere Systems Inc. | Perceptual synthesis of auditory scenes |
US20030033570A1 (en) * | 2001-05-09 | 2003-02-13 | Khannanov Roman R. | Method and apparatus for encoding and decoding low density parity check codes and low density turbo product codes |
US7673223B2 (en) * | 2001-06-15 | 2010-03-02 | Qualcomm Incorporated | Node processors for use in parity check decoders |
US6633856B2 (en) * | 2001-06-15 | 2003-10-14 | Flarion Technologies, Inc. | Methods and apparatus for decoding LDPC codes |
US6938196B2 (en) * | 2001-06-15 | 2005-08-30 | Flarion Technologies, Inc. | Node processors for use in parity check decoders |
US7143336B1 (en) * | 2001-08-15 | 2006-11-28 | Regents Of The Univerisity Of Minnesota | Decoding parallel concatenated parity-check code |
WO2003030370A2 (en) * | 2001-10-04 | 2003-04-10 | Comtech Aha Corporation | Method of decoding a turbo product code utilizing a scalable and hardware efficient forward error correction decoder |
KR100891782B1 (ko) * | 2002-06-11 | 2009-04-07 | 삼성전자주식회사 | 고속 데이터 전송 시스템에서 순방향 오류 정정 장치 및방법 |
US7020829B2 (en) * | 2002-07-03 | 2006-03-28 | Hughes Electronics Corporation | Method and system for decoding low density parity check (LDPC) codes |
US7577207B2 (en) * | 2002-07-03 | 2009-08-18 | Dtvg Licensing, Inc. | Bit labeling for amplitude phase shift constellation used with low density parity check (LDPC) codes |
ATE556491T1 (de) * | 2002-07-03 | 2012-05-15 | Dtvg Licensing Inc | Methode und verfahren für die speicherverwaltung in low density parity check (ldpc) decodern |
US20040019845A1 (en) * | 2002-07-26 | 2004-01-29 | Hughes Electronics | Method and system for generating low density parity check codes |
US7864869B2 (en) | 2002-07-26 | 2011-01-04 | Dtvg Licensing, Inc. | Satellite communication system utilizing low density parity check codes |
US7178080B2 (en) * | 2002-08-15 | 2007-02-13 | Texas Instruments Incorporated | Hardware-efficient low density parity check code for digital communications |
US7216283B2 (en) * | 2003-06-13 | 2007-05-08 | Broadcom Corporation | Iterative metric updating when decoding LDPC (low density parity check) coded signals and LDPC coded modulation signals |
US7058873B2 (en) * | 2002-11-07 | 2006-06-06 | Carnegie Mellon University | Encoding method using a low density parity check code with a column weight of two |
US7702986B2 (en) | 2002-11-18 | 2010-04-20 | Qualcomm Incorporated | Rate-compatible LDPC codes |
US7296216B2 (en) * | 2003-01-23 | 2007-11-13 | Broadcom Corporation | Stopping and/or reducing oscillations in low density parity check (LDPC) decoding |
US7162684B2 (en) | 2003-01-27 | 2007-01-09 | Texas Instruments Incorporated | Efficient encoder for low-density-parity-check codes |
US6957375B2 (en) * | 2003-02-26 | 2005-10-18 | Flarion Technologies, Inc. | Method and apparatus for performing low-density parity-check (LDPC) code operations using a multi-level permutation |
US7139959B2 (en) * | 2003-03-24 | 2006-11-21 | Texas Instruments Incorporated | Layered low density parity check decoding for digital communications |
FR2853164A1 (fr) * | 2003-03-31 | 2004-10-01 | France Telecom | Procede de codage correcteur d'erreur utilisant au moins deux fois un meme code elementaire, procede de codage, dispositifs de codage et de decodage correspondants |
CN100521553C (zh) * | 2003-05-13 | 2009-07-29 | 索尼株式会社 | 解码设备和解码方法 |
JP4225163B2 (ja) * | 2003-05-13 | 2009-02-18 | ソニー株式会社 | 復号装置および復号方法、並びにプログラム |
JP4224777B2 (ja) * | 2003-05-13 | 2009-02-18 | ソニー株式会社 | 復号方法および復号装置、並びにプログラム |
US7308640B2 (en) * | 2003-08-19 | 2007-12-11 | Leanics Corporation | Low-latency architectures for high-throughput Viterbi decoders |
US20080109709A1 (en) * | 2003-08-19 | 2008-05-08 | Chao Cheng | Hardware-Efficient, Low-Latency Architectures for High Throughput Viterbi Decoders |
KR100809619B1 (ko) * | 2003-08-26 | 2008-03-05 | 삼성전자주식회사 | 이동 통신 시스템에서 블록 저밀도 패러티 검사 부호부호화/복호 장치 및 방법 |
JP4296949B2 (ja) * | 2004-02-03 | 2009-07-15 | ソニー株式会社 | 復号装置及び方法、並びに情報処理装置及び方法 |
CN1947368B (zh) * | 2004-04-28 | 2010-06-16 | 三星电子株式会社 | 对具有可变块长度的块低密度奇偶校验码编码/解码的设备和方法 |
JP4138700B2 (ja) * | 2004-05-31 | 2008-08-27 | 株式会社東芝 | 復号装置および復号回路 |
JP4282558B2 (ja) | 2004-06-30 | 2009-06-24 | 株式会社東芝 | 低密度パリティチェック符号復号器及び方法 |
US7181676B2 (en) * | 2004-07-19 | 2007-02-20 | Texas Instruments Incorporated | Layered decoding approach for low density parity check (LDPC) codes |
US7127659B2 (en) | 2004-08-02 | 2006-10-24 | Qualcomm Incorporated | Memory efficient LDPC decoding methods and apparatus |
CN101341659B (zh) * | 2004-08-13 | 2012-12-12 | Dtvg许可公司 | 用于多输入多输出通道的低密度奇偶校验码的码设计与实现的改进 |
US7506238B2 (en) * | 2004-08-13 | 2009-03-17 | Texas Instruments Incorporated | Simplified LDPC encoding for digital communications |
US7581159B2 (en) * | 2004-11-23 | 2009-08-25 | Texas Instruments Incorporated | Simplified decoding using structured and punctured LDPC codes |
KR100846869B1 (ko) | 2004-12-16 | 2008-07-16 | 한국전자통신연구원 | 저 복잡도 ldpc복호 장치 및 그 방법 |
CN1805291B (zh) * | 2005-01-10 | 2010-04-28 | 华为技术有限公司 | 一种低密度奇偶校验码并行编码方法及编码装置 |
US7634710B2 (en) * | 2005-03-25 | 2009-12-15 | Teranetics, Inc. | Efficient decoding |
JP4519694B2 (ja) * | 2005-03-29 | 2010-08-04 | 財団法人北九州産業学術推進機構 | Ldpc符号検出装置及びldpc符号検出方法 |
TWI291290B (en) * | 2005-04-21 | 2007-12-11 | Univ Nat Chiao Tung | Method for updating check-node of low-density parity-check (LDPC) codes decoder and device using the same |
US7958424B2 (en) * | 2005-06-22 | 2011-06-07 | Trident Microsystems (Far East) Ltd. | Multi-channel LDPC decoder architecture |
US7499490B2 (en) * | 2005-06-24 | 2009-03-03 | California Institute Of Technology | Encoders for block-circulant LDPC codes |
US7761768B2 (en) * | 2005-06-24 | 2010-07-20 | Intel Corporation | Techniques for reconfigurable decoder for a wireless system |
US7577892B1 (en) | 2005-08-25 | 2009-08-18 | Marvell International Ltd | High speed iterative decoder |
US7861131B1 (en) | 2005-09-01 | 2010-12-28 | Marvell International Ltd. | Tensor product codes containing an iterative code |
US7770090B1 (en) * | 2005-09-14 | 2010-08-03 | Trident Microsystems (Far East) Ltd. | Efficient decoders for LDPC codes |
US7757149B2 (en) * | 2005-10-12 | 2010-07-13 | Weizhuang Xin | Broadcast message passing decoding of low density parity check codes |
KR100809616B1 (ko) * | 2005-10-19 | 2008-03-05 | 삼성전자주식회사 | 가변 블록 길이를 가지는 블록 저밀도 패리티 검사 부호부호화/복호 장치 및 방법 |
US7895500B2 (en) * | 2006-07-28 | 2011-02-22 | Via Telecom Co., Ltd. | Systems and methods for reduced complexity LDPC decoding |
US7647548B2 (en) * | 2006-07-31 | 2010-01-12 | Agere Systems Inc. | Methods and apparatus for low-density parity check decoding using hardware-sharing and serial sum-product architecture |
EP2062364A2 (en) * | 2006-08-11 | 2009-05-27 | Aclara Power-Line Systems Inc. | Method of correcting message errors using cyclic redundancy checks |
KR100834650B1 (ko) | 2006-09-04 | 2008-06-02 | 삼성전자주식회사 | 통신 시스템에서 신호 송수신 장치 및 방법 |
US8225174B2 (en) | 2006-12-07 | 2012-07-17 | Nec Corporation | Decoding device and decoding method |
US8117523B2 (en) * | 2007-05-23 | 2012-02-14 | California Institute Of Technology | Rate-compatible protograph LDPC code families with linear minimum distance |
KR101154561B1 (ko) * | 2007-06-14 | 2012-06-11 | 인텔 코오퍼레이션 | 컨볼루션, 터보 및 ldpc 코드용 통합 디코더 |
US8423871B2 (en) * | 2007-07-13 | 2013-04-16 | Panasonic Corporation | Transmitting device and transmitting method |
US8181081B1 (en) | 2007-11-30 | 2012-05-15 | Marvell International Ltd. | System and method for decoding correlated data |
US8266493B1 (en) | 2008-01-09 | 2012-09-11 | L-3 Communications, Corp. | Low-density parity check decoding using combined check node and variable node |
US8095859B1 (en) | 2008-01-09 | 2012-01-10 | L-3 Communications, Corp. | Encoder for low-density parity check codes |
US8443033B2 (en) * | 2008-08-04 | 2013-05-14 | Lsi Corporation | Variable node processing unit |
US8225230B2 (en) * | 2008-09-19 | 2012-07-17 | International Business Machines Corporation | Providing a hierarchical filtered view of an object model and its interdependencies |
US8321769B1 (en) | 2008-11-06 | 2012-11-27 | Marvell International Ltd. | Multi-parity tensor-product code for data channel |
US8879670B2 (en) * | 2010-09-08 | 2014-11-04 | Agence Spatiale Europeenne | Flexible channel decoder |
US10084819B1 (en) * | 2013-03-13 | 2018-09-25 | Hrl Laboratories, Llc | System for detecting source code security flaws through analysis of code history |
US9104589B1 (en) * | 2013-10-16 | 2015-08-11 | L-3 Communications Corp. | Decoding vectors encoded with a linear block forward error correction code having a parity check matrix with multiple distinct pattern regions |
US10404284B1 (en) | 2015-07-21 | 2019-09-03 | L-3 Communications Corp. | Parallel-to-parallel conversion and reordering of a block of data elements |
US10129178B1 (en) | 2015-12-02 | 2018-11-13 | L-3 Communications Corp. | Combining and processing as a whole portions of a ordered segment of data elements split between two communications channels |
CN106571831B (zh) * | 2016-10-28 | 2019-12-10 | 华南理工大学 | 一种基于深度学习的ldpc硬判决译码方法及译码器 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2675971B1 (fr) * | 1991-04-23 | 1993-08-06 | France Telecom | Procede de codage correcteur d'erreurs a au moins deux codages convolutifs systematiques en parallele, procede de decodage iteratif, module de decodage et decodeur correspondants. |
-
2000
- 2000-05-26 US US09/579,216 patent/US6539367B1/en not_active Expired - Lifetime
-
2001
- 2001-05-23 EP EP01304531A patent/EP1158682A3/en not_active Ceased
- 2001-05-25 JP JP2001156375A patent/JP3807484B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
EP1158682A3 (en) | 2003-09-10 |
EP1158682A2 (en) | 2001-11-28 |
JP2002033670A (ja) | 2002-01-31 |
US6539367B1 (en) | 2003-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3807484B2 (ja) | 確率依存グラフにおいて汎用の符号を復号化するための方法および装置 | |
US6304996B1 (en) | High-speed turbo decoder | |
Richardson et al. | The capacity of low-density parity-check codes under message-passing decoding | |
US7467347B2 (en) | Method for decoding error correcting code, its program and its device | |
KR100846869B1 (ko) | 저 복잡도 ldpc복호 장치 및 그 방법 | |
US7219288B2 (en) | Running minimum message passing LDPC decoding | |
Tonnellier et al. | On systematic polarization-adjusted convolutional (PAC) codes | |
US20010021233A1 (en) | Soft-decision decoding of convolutionally encoded codeword | |
JP2014099944A (ja) | ハードウェア共用および直列和積アーキテクチャを用いる低密度パリティ検査復号の方法および装置 | |
Yuan et al. | Construction and decoding algorithms for polar codes based on 2× 2 non-binary kernels | |
Fossorier et al. | A unified method for evaluating the error-correction radius of reliability-based soft-decision algorithms for linear block codes | |
Trifonov et al. | Recursive processing algorithm for low complexity decoding of polar codes with large kernels | |
US7913153B2 (en) | Arithmetic circuit | |
US7552379B2 (en) | Method for iterative decoding employing a look-up table | |
CA2310186A1 (en) | Method and system for decoding | |
JP3974008B2 (ja) | ターボ復号器外因正規化 | |
Sarkis et al. | Unrolled polar decoders, part ii: Fast list decoders | |
Tan et al. | CRC aided short-cycle free BP decoding for polar codes | |
Zhanji et al. | A new parity-check stopping criterion for turbo decoding | |
Islam et al. | Information forwarding in LDPC decoding for Markov sources | |
Adde et al. | Design and implementation of a soft-decision decoder for cortex codes | |
Bellorado et al. | Soft-input, iterative, Reed-Solomon decoding using redundant parity-check equations | |
Amamra et al. | Non-Sliding Window Decoding of Braided Convolutional Codes | |
Chatzigeorgiou et al. | Performance analysis and design of punctured turbo codes | |
Werling | A Hardware Implementation of the Soft Output Viterbi Algorithm for Serially Concatenated Convolutional Codes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050912 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050920 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20051220 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20051226 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060320 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060412 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20060509 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060509 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 3807484 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090526 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100526 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110526 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110526 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120526 Year of fee payment: 6 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130526 Year of fee payment: 7 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130526 Year of fee payment: 7 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |