JP5359881B2 - データ処理装置、及びデータ処理方法 - Google Patents

データ処理装置、及びデータ処理方法 Download PDF

Info

Publication number
JP5359881B2
JP5359881B2 JP2009543804A JP2009543804A JP5359881B2 JP 5359881 B2 JP5359881 B2 JP 5359881B2 JP 2009543804 A JP2009543804 A JP 2009543804A JP 2009543804 A JP2009543804 A JP 2009543804A JP 5359881 B2 JP5359881 B2 JP 5359881B2
Authority
JP
Japan
Prior art keywords
code
bits
bit
column
parity
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
Application number
JP2009543804A
Other languages
English (en)
Other versions
JPWO2009069617A1 (ja
Inventor
峰志 横川
真紀子 山本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2009543804A priority Critical patent/JP5359881B2/ja
Publication of JPWO2009069617A1 publication Critical patent/JPWO2009069617A1/ja
Application granted granted Critical
Publication of JP5359881B2 publication Critical patent/JP5359881B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/11Error 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/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/116Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
    • H03M13/1165QC-LDPC codes as defined for the digital video broadcasting [DVB] specifications, e.g. DVB-Satellite [DVB-S2]
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/11Error 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/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1131Scheduling of bit node or check node processing
    • H03M13/1137Partly parallel processing, i.e. sub-blocks or sub-groups of nodes being processed in parallel
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/11Error 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/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/118Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
    • H03M13/1185Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the parity-check matrix comprises a part with a double-diagonal
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/25Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM]
    • H03M13/255Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM] with Low Density Parity Check [LDPC] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/27Coding, 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 using interleaving techniques
    • H03M13/2703Coding, 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 using interleaving techniques the interleaver involving at least two directions
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/27Coding, 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 using interleaving techniques
    • H03M13/2703Coding, 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 using interleaving techniques the interleaver involving at least two directions
    • H03M13/2707Simple row-column interleaver, i.e. pure block interleaving
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/27Coding, 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 using interleaving techniques
    • H03M13/2703Coding, 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 using interleaving techniques the interleaver involving at least two directions
    • H03M13/271Row-column interleaver with permutations, e.g. block interleaving with inter-row, inter-column, intra-row or intra-column permutations
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/65Purpose and implementation aspects
    • H03M13/6522Intended application, e.g. transmission or communication standard
    • H03M13/6552DVB-T2
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0071Use of interleaving

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Error Detection And Correction (AREA)

Description

本発明は、データ処理装置、及びデータ処理方法に関し、特に、例えば、LDPC(Low Density Parity Check)符号の、バースト(burst)誤りや、イレージャ(erasure)に対する耐性を向上させることができるようにするデータ処理装置、及びデータ処理方法に関する。
LDPC符号は、高い誤り訂正能力を有し、近年では、例えば、欧州で行われているDVB-S.2等の衛星ディジタル放送を含む伝送方式に広く採用され始めている(例えば、非特許文献1を参照)。また、LDPC符号は、次世代の地上ディジタル放送にも採用が検討されている。
LDPC符号は、近年の研究により、ターボ符号等と同様に、符号長を長くしていくにしたがって、シャノン限界に近い性能が得られることがわかりつつある。また、LDPC符号は、最小距離が符号長に比例するという性質があることから、その特徴として、ブロック誤り確率特性がよく、さらに、ターボ符号等の復号特性において観測される、いわゆるエラーフロア現象が殆ど生じないことも利点として挙げられる。
以下、このようなLDPC符号について具体的に説明する。なお、LDPC符号は、線形符号であり、必ずしも2元である必要はないが、ここでは、2元であるものとして説明する。
LDPC符号は、そのLDPC符号を定義する検査行列(parity check matrix)が疎なものであることを最大の特徴とする。ここで、疎な行列とは、行列の要素の"1"の個数が非常に少ない行列(ほとんどの要素が0の行列)である。
図1は、LDPC符号の検査行列Hの例を示している。
図1の検査行列Hでは、各列の重み(列重み)("1"の数)(weight)が"3"であり、且つ、各行の重み(行重み)が"6"になっている。
LDPC符号による符号化(LDPC符号化)では、例えば、検査行列Hに基づいて生成行列Gを生成し、この生成行列Gを2元の情報ビットに対して乗算することで、符号語(LDPC符号)が生成される。
具体的には、LDPC符号化を行う符号化装置は、まず、検査行列Hの転置行列HTとの間に、式GHT=0が成立する生成行列Gを算出する。ここで、生成行列Gが、K×N行列である場合には、符号化装置は、生成行列Gに対してKビットからなる情報ビットのビット列(ベクトルu)を乗算し、Nビットからなる符号語c(=uG)を生成する。この符号化装置によって生成された符号語(LDPC符号)は、所定の通信路を介して受信側において受信される。
LDPC符号の復号は、Gallagerが確率復号(Probabilistic Decoding)と称して提案したアルゴリズムであって、バリアブルノード(variable node(メッセージノード(message node)とも呼ばれる))と、チェックノード(check node)とからなる、いわゆるタナーグラフ(Tanner graph)上での確率伝播(belief propagation)によるメッセージ・パッシング・アルゴリズムによって行うことが可能である。ここで、以下、適宜、バリアブルノードとチェックノードを、単に、ノードともいう。
図2は、LDPC符号の復号の手順を示している。
なお、以下、適宜、受信側で受信したLDPC符号(1符号語)のi番目の符号ビットの、値の"0"らしさを対数尤度比(log likelihood ratio)で表現した実数値を、受信値u0iという。また、チェックノードから出力されるメッセージをujとし、バリアブルノードから出力されるメッセージをviとする。
まず、LDPC符号の復号においては、図2に示すように、ステップS11において、LDPC符号が受信され、メッセージ(チェックノードメッセージ)ujが"0"に初期化されるとともに、繰り返し処理のカウンタとしての整数をとる変数kが"0"に初期化され、ステップS12に進む。ステップS12において、LDPC符号を受信して得られる受信値u0iに基づいて、式(1)に示す演算(バリアブルノード演算)を行うことによってメッセージ(バリアブルノードメッセージ)viが求められ、さらに、このメッセージviに基づいて、式(2)に示す演算(チェックノード演算)を行うことによってメッセージujが求められる。
Figure 0005359881
・・・(1)
Figure 0005359881
・・・(2)
ここで、式(1)と式(2)におけるdvとdcは、それぞれ、検査行列Hの縦方向(列)と横方向(行)の"1"の個数を示す任意に選択可能とされるパラメータであり、例えば、(3,6)符号の場合には、dv=3,dc=6となる。
なお、式(1)のバリアブルノード演算、及び(2)のチェックノード演算においては、それぞれ、メッセージを出力しようとする枝(edge)(バリアブルノードとチェックノードとを結ぶ線)から入力されたメッセージを、演算の対象としないことから、演算の範囲が、1ないしdv-1又は1ないしdc-1となっている。また、式(2)のチェックノード演算は、実際には、2入力v1,v2に対する1出力で定義される式(3)に示す関数R(v1,v2)のテーブルを予め作成しておき、これを式(4)に示すように連続的(再帰的)に用いることによって行われる。
Figure 0005359881
・・・(3)
Figure 0005359881
・・・(4)
ステップS12では、さらに、変数kが"1"だけインクリメントされ、ステップS13に進む。ステップS13では、変数kが所定の繰り返し復号回数Cよりも大きいか否かが判定される。ステップS13において、変数kがCよりも大きくないと判定された場合、ステップS12に戻り、以下、同様の処理が繰り返される。
また、ステップS13において、変数kがCよりも大きいと判定された場合、ステップS14に進み、式(5)に示す演算を行うことによって最終的に出力する復号結果としてのメッセージviが求められて出力され、LDPC符号の復号処理が終了する。
Figure 0005359881
・・・(5)
ここで、式(5)の演算は、式(1)のバリアブルノード演算とは異なり、バリアブルノードに接続している全ての枝からのメッセージujを用いて行われる。
図3は、(3,6)LDPC符号(符号化率1/2、符号長12)の検査行列Hの例を示している。
図3の検査行列Hでは、図1と同様に、列の重みが3に、行の重みが6に、それぞれなっている。
図4は、図3の検査行列Hのタナーグラフを示している。
ここで、図4において、"+"で表わされるのが、チェックノードであり、"="で表わされるのが、バリアブルノードである。チェックノードとバリアブルノードは、それぞれ、検査行列Hの行と列に対応する。チェックノードとバリアブルノードとの間の結線は、枝(edge)であり、検査行列の要素の"1"に相当する。
すなわち、検査行列の第j行第i列の要素が1である場合には、図4において、上からi番目のバリアブルノード("="のノード)と、上からj番目のチェックノード("+"のノード)とが、枝により接続される。枝は、バリアブルノードに対応する符号ビットが、チェックノードに対応する拘束条件を持つことを表す。
LDPC符号の復号方法であるサムプロダクトアルゴリズム(Sum Product Algorithm)では、バリアブルノード演算とチェックノード演算とが繰り返し行われる。
図5は、バリアブルノードで行われるバリアブルノード演算を示している。
バリアブルノードでは、計算しようとしている枝に対応するメッセージviは、バリアブルノードに繋がっている残りの枝からのメッセージu1およびu2と、受信値u0iを用いた式(1)のバリアブルノード演算により求められる。他の枝に対応するメッセージも同様に求められる。
図6は、チェックノードで行われるチェックノード演算を示している。
ここで、式(2)のチェックノード演算は、式a×b=exp{ln(|a|)+ln(|b|)}×sign(a)×sign(b)の関係を用いて、式(6)に書き直すことができる。但し、sign(x)は、x≧0のとき1であり、x<0のとき-1である。
Figure 0005359881
・・・(6)
さらに、x≧0において、関数φ(x)を、式φ(x)=ln(tanh(x/2))と定義すると、式φ-1(x)=2tanh-1(e-x)が成り立つから、式(6)は、式(7)に変形することができる。
Figure 0005359881
・・・(7)
チェックノードでは、式(2)のチェックノード演算が、式(7)に従って行われる。
すなわち、チェックノードでは、図6のように、計算しようとしている枝に対応するメッセージujは、チェックノードに繋がっている残りの枝からのメッセージv1,v2,v3,v4,v5を用いた式(7)のチェックノード演算によって求められる。他の枝に対応するメッセージも同様に求められる。
なお、式(7)の関数φ(x)は、φ(x)=ln((ex+1)/(ex-1))とも表すことができ、x>0において、φ(x)=φ-1(x)である。関数φ(x)およびφ-1(x)をハードウェアに実装する際には、LUT(Look Up Table)を用いて実装される場合があるが、両者共に同一のLUTとなる。
DVB-S.2 : ETSI EN 302 307 V1.1.2 (2006-06)
LDPC符号は、AWGN(Additive White Gaussian Noise)通信路で極めて高い能力を発揮することが知られていたが、近年、その他の通信路の条件でも、従来の畳み込み符号や、畳み込み符号とRS(リードソロモン)符号の連接符号と比べると、誤り訂正能力が高いことが分かって来ている。
つまり、AWGN通信路で良い性能を持つ符号を選べば、その符号は、他の通信路でも、他の符号よりは性能が良いことが多い。
ところで、例えば、LDPC符号を地上ディジタル放送に適用するにあたり、DVB-S.2の規格に規定されているLDPC符号と、DVB-Tの規格に規定されている変調方式とを組合せ、LDPC符号化と、変調との間に、LDPC符号の符号ビットをインターリーブするインターリーバ(bitinterleaver)を設けることで、LDPC符号の、AWGN通信路での性能を向上させることが提案されている。
しかしながら、地上波で想定される通信路では、バースト(burst)誤りやイレージャ(erasure)を発生することがある。例えば、OFDM(Orthogonal Frequency Division Multiplexing)システムでは、D/U(Desired to Undesired Ratio)が0dB(Undesired=echoのパワーがDesired=メインパスのパワーと等しい)のマルチパス環境において、エコー(echo)(メインパス以外のパス)の遅延(delay)に応じて、特定のシンボルのパワーが0になってしまう(erasure)場合がある。
また、フラッタ(flutter)(遅延が0でドップラ(dopper)周波数の掛かったechoが加算される通信路)でも、D/Uが0dBである場合には、ドップラ周波数によって、特定の時刻のOFDMのシンボル全体のパワーが0になる(erasure)場合が生じる。
さらに、アンテナから受信装置までの配線の状況や、電源の不安定性により、バースト誤りが発生することもある。
従来においては、上述のようなバースト誤りやイレージャのある通信路においても、AWGN通信路で性能の良い誤り訂正符号を用いることが多い。
一方、LDPC符号の復号においては、検査行列Hの列、ひいては、LDPC符号の符号ビットに対応するバリアブルノードにおいて、図5に示したように、LDPC符号の符号ビット(の受信値u0i)の加算を伴う式(1)のバリアブルノード演算が行われるため、そのバリアブルノード演算に用いられる符号ビットにエラーが生じると、求められるメッセージの精度が低下する。
そして、LDPC符号の復号では、チェックノードにおいて、そのチェックノードに繋がっているバリアブルノードで求められるメッセージを用いて、式(7)のチェックノード演算が行われるため、繋がっている複数のバリアブルノード(に対応するLDPC符号の符号ビット)が同時にエラー(イレージャを含む)となるチェックノードの数が多くなると、復号の性能が劣化する。
すなわち、例えば、チェックノードは、そのチェックノードに繋がっているバリアブルノードの2個以上が同時にイレージャになると、全バリアブルノードに、値が0である確率と1である確率とが等確率のメッセージを戻す。この場合、等確率のメッセージを戻すチェックノードは、1回の復号処理(1セットのバリアブルノード演算及びチェックノード演算)に寄与しないこととなり、その結果、復号処理の繰り返し回数を多く必要とすることになって、復号の性能が劣化し、さらに、LDPC符号の復号を行う受信装置の消費電力が増大する。
したがって、現在、AWGN通信路での性能を維持しつつ、バースト誤りやイレージャへの耐性を向上させる手法が要請されている。
ここで、上述したように、LDPC符号化と、変調との間に、LDPC符号の符号ビットをインターリーブするインターリーバを設けることで、LDPC符号の、AWGN通信路での性能を向上させることが提案されており、そのインターリーバにおいて、チェックノードに繋がっているバリアブルノード(に対応するLDPC符号の符号ビット)の複数が同時にエラーになる確率を下げるインターリーブを行うことができれば、復号の性能を改善することができる。
本発明は、このような状況に鑑みてなされたものであり、バースト誤りや、イレージャ等の、LDPC符号の符号ビットのエラーに対する耐性を向上させることができるようにするものである。
本発明の一側面のデータ処理装置は、データをインターリーブするデータ処理装置であり、LDPC(Low Density Parity Check)符号のパリティビットに対応する部分であるパリティ行列が階段構造になっている検査行列に従ったLDPC符号化を行うことにより得られるLDPC符号のパリティビットを、他のパリティビットの位置にインターリーブするパリティインターリーブを行うパリティインターリーブ手段を備え、前記LDPC符号のパリティビットのビット数Mは、素数以外の値であり、前記パリティビットのビット数Mの1とM以外の約数のうちの2つの約数であり、かつ、積が前記パリティビットのビット数Mとなる2つの約数をP及びqと、前記LDPC符号の情報ビットのビット数をKと、0以上P未満の整数をxと、0以上q未満の整数をyと、それぞれするとき、前記パリティインターリーブ手段は、前記LDPC符号のK+1ないしK+M番目の符号ビットであるパリティビットのうちの、K+qx+y+1番目の符号ビットを、K+Py+x+1番目の符号ビットの位置にインターリーブするデータ処理装置である。
本発明の一側面のデータ処理方法は、データをインターリーブするデータ処理装置のデータ処理方法であり、前記データ処理装置が、LDPC(Low Density Parity Check)符号のパリティビットに対応する部分であるパリティ行列が階段構造になっている検査行列に従ったLDPC符号化を行うことにより得られるLDPC符号のパリティビットを、他のパリティビットの位置にインターリーブするパリティインターリーブを行うステップを含み、前記LDPC符号のパリティビットのビット数Mは、素数以外の値であり、前記パリティビットのビット数Mの1とM以外の約数のうちの2つの約数であり、かつ、積が前記パリティビットのビット数Mとなる2つの約数をP及びqと、前記LDPC符号の情報ビットのビット数をKと、0以上P未満の整数をxと、0以上q未満の整数をyと、それぞれするとき、前記パリティインターリーブを行うステップは、前記LDPC符号のK+1ないしK+M番目の符号ビットであるパリティビットのうちの、K+qx+y+1番目の符号ビットを、K+Py+x+1番目の符号ビットの位置にインターリーブするデータ処理方法である。
以上のような本発明の一側面においては、LDPC符号のパリティビットに対応する部分であるパリティ行列が階段構造になっている検査行列に従ったLDPC符号化を行うことにより得られるLDPC符号のパリティビットを、他のパリティビットの位置にインターリーブするパリティインターリーブが行われる。すなわち、前記LDPC符号のパリティビットのビット数Mが、素数以外の値であり、前記パリティビットのビット数Mの1とM以外の約数のうちの2つの約数であり、かつ、積が前記パリティビットのビット数Mとなる2つの約数をP及びqと、前記LDPC符号の情報ビットのビット数をKと、0以上P未満の整数をxと、0以上q未満の整数をyと、それぞれするとき、前記パリティインターリーブでは、前記LDPC符号のK+1ないしK+M番目の符号ビットであるパリティビットのうちの、K+qx+y+1番目の符号ビットが、K+Py+x+1番目の符号ビットの位置にインターリーブされる。
なお、データ処理装置は、独立した装置であっても良いし、1個の装置を構成している内部ブロックであっても良い。
本発明の一側面によれば、LDPC符号の符号ビットのエラーに対する耐性を向上させることができる。
LDPC符号の検査行列Hを説明する図である。 LDPC符号の復号手順を説明するフローチャートである。 LDPC符号の検査行列の例を示す図である。 検査行列のタナーグラフを示す図である。 バリアブルノードを示す図である。 チェックノードを示す図である。 本発明を適用した伝送システムの一実施の形態の構成例を示す図である。 送信装置11の構成例を示すブロック図である。 検査行列を示す図である。 パリティ行列を示す図である。 DVB-S.2の規格に規定されているLDPC符号の検査行列と列重みとを示す図である。 16QAMの信号点配置を示す図である。 64QAMの信号点配置を示す図である。 64QAMの信号点配置を示す図である。 64QAMの信号点配置を示す図である。 デマルチプレクサ25の処理を説明する図である。 デマルチプレクサ25の処理を説明する図である。 LDPC符号の復号についてのタナーグラフを示す図である。 階段構造になっているパリティ行列HTと、そのパリティ行列HTに対応するタナーグラフを示す図である。 パリティインターリーブ後のLDPC符号に対応する検査行列Hのパリティ行列HTを示す図である。 変換検査行列を示す図である。 カラムツイストインターリーバ24の処理を説明する図である。 カラムツイストインターリーブに必要なメモリ31のカラム数と、書き始めの位置のアドレスを示す図である。 カラムツイストインターリーブに必要なメモリ31のカラム数と、書き始めの位置のアドレスを示す図である。 送信処理を説明するフローチャートである。 シミュレーションで採用した通信路のモデルを示す図である。 シミュレーションで得られたエラーレートと、フラッタのドップラ周波数fdとの関係を示す図である。 シミュレーションで得られたエラーレートと、フラッタのドップラ周波数fdとの関係を示す図である。 受信装置12の構成例を示すブロック図である。 受信処理を説明するフローチャートである。 LDPC符号の検査行列の例を示す図である。 検査行列に行置換と列置換を施した行列(変換検査行列)を示す図である。 5×5単位に分割した変換検査行列を示す図である。 ノード演算をP個まとめて行う復号装置の構成例を示すブロック図である。 LDPC復号部56の構成例を示すブロック図である。 本発明を適用したコンピュータの一実施の形態の構成例を示すブロック図である。 符号化率2/3、符号長16200の検査行列初期値テーブルの例を示す図である。 符号化率2/3、符号長64800の検査行列初期値テーブルの例を示す図である。 符号化率2/3、符号長64800の検査行列初期値テーブルの例を示す図である。 符号化率2/3、符号長64800の検査行列初期値テーブルの例を示す図である。 符号化率3/4、符号長16200の検査行列初期値テーブルの例を示す図である。 符号化率3/4、符号長64800の検査行列初期値テーブルの例を示す図である。 符号化率3/4、符号長64800の検査行列初期値テーブルの例を示す図である。 符号化率3/4、符号長64800の検査行列初期値テーブルの例を示す図である。 符号化率3/4、符号長64800の検査行列初期値テーブルの例を示す図である。 符号化率4/5、符号長16200の検査行列初期値テーブルの例を示す図である。 符号化率4/5、符号長64800の検査行列初期値テーブルの例を示す図である。 符号化率4/5、符号長64800の検査行列初期値テーブルの例を示す図である。 符号化率4/5、符号長64800の検査行列初期値テーブルの例を示す図である。 符号化率4/5、符号長64800の検査行列初期値テーブルの例を示す図である。 符号化率5/6、符号長16200の検査行列初期値テーブルの例を示す図である。 符号化率5/6、符号長64800の検査行列初期値テーブルの例を示す図である。 符号化率5/6、符号長64800の検査行列初期値テーブルの例を示す図である。 符号化率5/6、符号長64800の検査行列初期値テーブルの例を示す図である。 符号化率5/6、符号長64800の検査行列初期値テーブルの例を示す図である。 符号化率8/9、符号長16200の検査行列初期値テーブルの例を示す図である。 符号化率8/9、符号長64800の検査行列初期値テーブルの例を示す図である。 符号化率8/9、符号長64800の検査行列初期値テーブルの例を示す図である。 符号化率8/9、符号長64800の検査行列初期値テーブルの例を示す図である。 符号化率8/9、符号長64800の検査行列初期値テーブルの例を示す図である。 符号化率9/10、符号長64800の検査行列初期値テーブルの例を示す図である。 符号化率9/10、符号長64800の検査行列初期値テーブルの例を示す図である。 符号化率9/10、符号長64800の検査行列初期値テーブルの例を示す図である。 符号化率9/10、符号長64800の検査行列初期値テーブルの例を示す図である。 符号化率1/4、符号長64800の検査行列初期値テーブルの例を示す図である。 符号化率1/4、符号長64800の検査行列初期値テーブルの例を示す図である。 符号化率1/3、符号長64800の検査行列初期値テーブルの例を示す図である。 符号化率1/3、符号長64800の検査行列初期値テーブルの例を示す図である。 符号化率2/5、符号長64800の検査行列初期値テーブルの例を示す図である。 符号化率2/5、符号長64800の検査行列初期値テーブルの例を示す図である。 符号化率1/2、符号長64800の検査行列初期値テーブルの例を示す図である。 符号化率1/2、符号長64800の検査行列初期値テーブルの例を示す図である。 符号化率1/2、符号長64800の検査行列初期値テーブルの例を示す図である。 符号化率3/5、符号長64800の検査行列初期値テーブルの例を示す図である。 符号化率3/5、符号長64800の検査行列初期値テーブルの例を示す図である。 符号化率3/5、符号長64800の検査行列初期値テーブルの例を示す図である。 符号化率1/4、符号長16200の検査行列初期値テーブルの例を示す図である。 符号化率1/3、符号長16200の検査行列初期値テーブルの例を示す図である。 符号化率2/5、符号長16200の検査行列初期値テーブルの例を示す図である。 符号化率1/2、符号長16200の検査行列初期値テーブルの例を示す図である。 符号化率3/5、符号長16200の検査行列初期値テーブルの例を示す図である。 符号化率3/5、符号長16200の検査行列初期値テーブルの他の例を示す図である。 検査行列初期値テーブルから検査行列Hを求める方法を説明する図である。 符号ビットの入れ替えの例を示す図である。 符号ビットの入れ替えの例を示す図である。 符号ビットの入れ替えの例を示す図である。 符号ビットの入れ替えの例を示す図である。 BERのシミュレーション結果を示す図である。 BERのシミュレーション結果を示す図である。 BERのシミュレーション結果を示す図である。 BERのシミュレーション結果を示す図である。 符号ビットの入れ替えの例を示す図である。 符号ビットの入れ替えの例を示す図である。 符号ビットの入れ替えの例を示す図である。 符号ビットの入れ替えの例を示す図である。 符号ビットの入れ替えの例を示す図である。 符号ビットの入れ替えの例を示す図である。 符号ビットの入れ替えの例を示す図である。 符号ビットの入れ替えの例を示す図である。 符号ビットの入れ替えの例を示す図である。 符号ビットの入れ替えの例を示す図である。 符号ビットの入れ替えの例を示す図である。 符号ビットの入れ替えの例を示す図である。 デインターリーバ53を構成するマルチプレクサ54の処理を説明する図である。 カラムツイストデインターリーバ55の処理を説明する図である。 受信装置12の他の構成例を示すブロック図である。 受信装置12に適用可能な受信システムの第1の構成例を示すブロック図である。 受信装置12に適用可能な受信システムの第2の構成例を示すブロック図である。 受信装置12に適用可能な受信システムの第3の構成例を示すブロック図である。
符号の説明
11 送信装置, 12 受信装置, 21 LDPC符号化部, 22 ビットインターリーバ, 23 パリティインターリーバ, 24 カラムツイストインターリーバ, 25 デマルチプレクサ, 26 マッピング部, 27 直交変調部, 31 メモリ, 32 入れ替え部, 51 直交復調部, 52 デマッピング部, 53 デインターリーバ, 54 マルチプレクサ, 55 カラムツイストインターリーバ, 56 LDPC復号部, 300 枝データ格納用メモリ, 301 セレクタ, 302 チェックノード計算部, 303 サイクリックシフト回路, 304 枝データ格納用メモリ, 305 セレクタ, 306 受信データ用メモリ, 307 バリアブルノード計算部, 308 サイクリックシフト回路, 309 復号語計算部, 310 受信データ並べ替え部, 311 復号データ並べ替え部, 401 バス, 402 CPU, 403 ROM, 404 RAM, 405 ハードディスク, 406 出力部, 407 入力部, 408 通信部, 409 ドライブ, 410 入出力インタフェース, 411 リムーバブル記録媒体, 1001 逆入れ替え部, 1002 メモリ, 1011 パリティデインターリーバ, 1021 LDPC復号部, 1101 取得部, 1101 伝送路復号処理部, 1103 情報源復号処理部, 1111 出力部, 1121 記録部
図7は、本発明を適用した伝送システム(システムとは、複数の装置が論理的に集合した物をいい、各構成の装置が同一筐体中にあるか否かは、問わない)の一実施の形態の構成例を示している。
図7において、伝送システムは、送信装置11と受信装置12とから構成される。
送信装置11は、例えば、テレビジョン放送番組の送信を行う装置であり、テレビジョン放送番組としての画像データや音声データ等の、送信の対象である対象データを、例えば、衛星回線や地上波を介して送信する。
受信装置12は、例えば、テレビジョン放送番組を受信するチューナやテレビジョン受像機であり、送信装置11から送信されてくる対象データを受信する。
図8は、図7の送信装置11の構成例を示している。
図8において、送信装置11は、LDPC符号化部21、ビットインターリーバ22、マッピング部26、及び直交変調部27から構成される。
LDPC符号化部21には、対象データが供給される。
LDPC符号化部21は、そこに供給される対象データについて、LDPC符号のパリティビットに対応する部分であるパリティ行列が階段構造になっている検査行列に従ったLDPC符号化を行い、対象データを情報ビットとするLDPC符号を出力する。
すなわち、LDPC符号化部21は、対象データを、例えば、DVB-S.2の規格に規定されているLDPC符号に符号化するLDPC符号化を行い、その結果得られるLDPC符号を出力する。
ここで、DVB-S.2の規格に規定されているLDPC符号は、IRA(Irregular Repeat Accumulate)符号であり、そのLDPC符号の検査行列におけるパリティ行列は、階段構造になっている。パリティ行列、及び、階段構造については、後述する。また、IRA符号については、例えば、"Irregular Repeat-Accumulate Codes," H. Jin, A. Khandekar, and R. J. McEliece, in Proceedings of 2nd International Symposium on Turbo codes and Related Topics, pp. 1-8, Sept. 2000に記載されている。
LDPC符号化部21が出力するLDPC符号は、ビットインターリーバ22に供給される。
ビットインターリーバ22は、データをインターリーブするデータ処理装置であり、パリティインターリーバ(parity interleaver)23、カラムツイストインターリーバ(column twist interleaver)24、及びデマルチプレクサ(DEMUX)25から構成される。
パリティインターリーバ23は、LDPC符号化部21からのLDPC符号のパリティビットを、他のパリティビットの位置にインターリーブするパリティインターリーブを行い、そのパリティインターリーブ後のLDPC符号を、カラムツイストインターリーバ24に供給する。
カラムツイストインターリーバ24は、パリティインターリーバ23からのLDPC符号について、カラムツイストインターリーブを行い、そのカラムツイストインターリーブ後のLDPC符号を、デマルチプレクサ25に供給する。
すなわち、LDPC符号は、後述するマッピング部26において、そのLDPC符号の2ビット以上の符号ビットを、直交変調の1つのシンボルにマッピングして送信される。
カラムツイストインターリーバ24では、LDPC符号化部21で用いられる検査行列の任意の1行にある1に対応するLDPC符号の複数の符号ビットが、1つのシンボルにマッピングされないように、パリティインターリーバ23からのLDPC符号の符号ビットを並び替える並び替え処理として、例えば、後述するようなカラムツイストインターリーブが行われる。
デマルチプレクサ25は、カラムツイストインターリーバ24からのLDPC符号について、シンボルにマッピングされるLDPC符号の2以上の符号ビットの位置を入れ替える入れ替え処理を行うことで、AWGNに対する耐性を強化したLDPC符号を得て、マッピング部26に供給する。
マッピング部26は、デマルチプレクサ25からのLDPC符号の2ビット以上の符号ビットを、直交変調部27で行われる直交変調(多値変調)の変調方式で定める各信号点にマッピングする。
すなわち、マッピング部26は、デマルチプレクサ25からのLDPC符号を、搬送波と同相のI成分を表すI軸と、搬送波と直交するQ成分を表すQ軸とで規定されるIQ平面(IQコンスタレーション)上の、変調方式で定める信号点が表すシンボル(シンボル値)にシンボル化する。
ここで、直交変調部27で行われる直交変調の変調方式としては、例えば、DVB-Tの規格に規定されている変調方式を含む変調方式、すなわち、例えば、QPSK(Quadrature Phase Shift Keying)や、16QAM(Quadrature Amplitude Modulation),64QAM,256QAM,1024QAM,4096QAM等がある。直交変調部27において、いずれの変調方式による直交変調が行われるかは、例えば、送信装置11のオペレータの操作に従って、あらかじめ設定される。なお、直交変調部27では、その他、例えば、4PAM(Pulse Amplitude Modulation)その他の直交変調を行うことが可能である。
マッピング部26で得られたシンボルは、直交変調部27に供給される。
直交変調部27は、マッピング部26からのシンボルに従い、搬送波の直交変調を行い、その結果得られる変調信号を送信する。
次に、図9は、図8のLDPC符号化部21でLDPC符号化に用いられる検査行列Hを示している。
検査行列Hは、LDGM(Low-Density Generation Matrix )構造になっており、LDPC符号の符号ビットのうちの、情報ビットに対応する部分の情報行列HAと、パリティビットに対応するパリティ行列HTとによって、式H=[HA|HT](情報行列HAの要素を左側の要素とし、パリティ行列HTの要素を右側の要素とする行列)で表すことができる。
ここで、1個のLDPC符号(1符号語)の符号ビットのうちの情報ビットのビット数と、パリティビットのビット数を、それぞれ、情報長Kと、パリティ長Mというとともに、1個のLDPC符号の符号ビットのビット数を、符号長N(=K+M)という。
ある符号長NのLDPC符号についての情報長Kとパリティ長Mは、符号化率によって決まる。また、検査行列Hは、行×列がM×Nの行列となる。そして、情報行列HAは、M×Kの行列となり、パリティ行列HTは、M×Mの行列となる。
図10は、DVB-S.2の規格に規定されているLDPC符号の検査行列Hのパリティ行列HTを示している。
DVB-S.2の規格に規定されているLDPC符号の検査行列Hのパリティ行列HTは、図10に示すように、1の要素が、いわば階段状に並ぶ階段構造になっている。パリティ行列HTの行重みは、1行目については1で、残りの全ての行については2になっている。また、列重みは、最後の1列については1で、残りの全ての列で2になっている。
以上のように、パリティ行列HTが階段構造になっている検査行列HのLDPC符号は、その検査行列Hを用いて、容易に生成することができる。
すなわち、LDPC符号(1符号語)を、行ベクトルcで表すとともに、その行ベクトルを転置して得られる列ベクトルを、CTと表す。また、LDPC符号である行ベクトルcのうちの、情報ビットの部分を、行ベクトルAで表すとともに、パリティビットの部分を、行ベクトルTで表すこととする。
ここで、この場合、行ベクトルcは、情報ビットとしての行ベクトルAと、パリティビットとしての行ベクトルTとによって、式c =[A|T](行ベクトルAの要素を左側の要素とし、行ベクトルTの要素を右側の要素とする行ベクトル)で表すことができる。
検査行列Hと、LDPC符号としての行ベクトルc=[A|T]とは、式HcT=0を満たす必要があり、かかる式HcT=0を満たす行ベクトルc=[A|T]を構成するパリティビットとしての行ベクトルTは、検査行列H=[HA|HT]のパリティ行列HTが、図10に示した階段構造になっている場合には、式HcT=0における列ベクトルHcTの1行目の要素から順に、各行の要素を0にしていくようにすることで、逐次的に求めることができる。
図11は、DVB-S.2の規格に規定されているLDPC符号の検査行列Hと、列重みとを示している。
すなわち、図11のAは、DVB-S.2の規格に規定されているLDPC符号の検査行列Hを示している。
検査行列Hの1列目からのKX列については、列重みがXに、その後のK3列については、列重みが3に、その後のM-1列については、列重みが2に、最後の1列については、列重みが1に、それぞれなっている。
ここで、KX+K3+M-1+1は、符号長Nに等しい。
DVB-S.2の規格において、列数KX,K3、及びM(パリティ長)、並びに、列重みXは、図11のBに示すように規定されている。
すなわち、図11のBは、DVB-S.2の規格に規定されているLDPC符号の各符号化率についての、列数KX,K3、及びM、並びに、列重みXを示している。
DVB-S.2の規格では、64800ビットと16200ビットの符号長NのLDPC符号が規定されている。
そして、図11のBに示すように、符号長Nが64800ビットのLDPC符号については、11個の符号化率(nominal rate)1/4,1/3,2/5,1/2,3/5,2/3,3/4,4/5,5/6,8/9、及び9/10が規定されており、符号長Nが16200ビットのLDPC符号については、10個の符号化率1/4,1/3,2/5,1/2,3/5,2/3,3/4,4/5,5/6、及び8/9が規定されている。
LDPC符号については、検査行列Hの列重みが大の列に対応する符号ビットほど、エラーレートが低いことが知られている。
図11に示した、DVB-S.2の規格に規定されている検査行列Hでは、先頭側(左側)の列ほど、列重みが大の傾向にあり、したがって、その検査行列Hに対応するLDPC符号については、先頭の符号ビットほど、エラーに強く(エラーに対する耐性があり)、終わりの符号ビットほど、エラーに弱い傾向がある。
図12は、図8の直交変調部27で16QAMが行われる場合の、16個のシンボル(に対応する信号点)のIQ平面上の配置を示している。
すなわち、図12のAは、16QAMのシンボルを示している。
16QAMでは、1シンボルは、4ビットを表し、16(=24)個のシンボルが存在する。そして、16個のシンボルは、IQ平面の原点を中心として、I方向×Q方向が4×4の正方形状となるように配置されている。
いま、16QAMの1シンボルが表す4ビットを最上位ビットから順に、y0,y1,y2,y3と表すこととすると、マッピング部26(図8)では、変調方式が16QAMの場合には、LDPC符号の符号ビットの4ビットは、その4ビットに一致する4ビットy0ないしy3のシンボルにマッピングされる。
図12のBは、16QAMのシンボルが表す4ビットy0ないしy3それぞれについてのビット境界を示している。
ここで、ビットyi(図12では、i=0,1,2,3)についてのビット境界とは、そのビットyiが0になっているシンボルと、1になっているシンボルとの境界を意味する。
図12のBに示すように、16QAMのシンボルが表す4ビットy0ないしy3のうちの最上位ビットy0については、IQ平面のQ軸の1箇所だけがビット境界となり、2番目(最上位ビットから2番目)のビットy1については、IQ平面のI軸の1箇所だけがビット境界となる。
また、3番目のビットy2については、4×4個のシンボルのうちの、左から1列目と2列目との間、及び3列目と4列目との間の2箇所が、ビット境界となる。
さらに、4番目のビットy3については、4×4個のシンボルのうちの、上から1行目と2行目との間、及び3行目と4行目との間の2箇所が、ビット境界となる。
シンボルが表すビットyiは、ビット境界から離れているシンボルが多いほど、誤りにくく、ビット境界に近いシンボルが多いほど、誤りやすい。
いま、誤りにくい(エラーに強い)ビットを、「強いビット」というとともに、誤りやすい(エラーに弱い)ビットを、「弱いビット」ということとすると、16QAMのシンボルが表す4ビットy0ないしy3については、最上位ビットy0、及び2番目のビットy1が強いビットになっており、3番目のビットy2、及び4番目のビットy3が弱いビットになっている。
図13ないし図15は、図8の直交変調部27で64QAMが行われる場合の、64個のシンボル(に対応する信号点)のIQ平面上の配置を示している。
64QAMでは、1シンボルは、6ビットを表し、64(=26)個のシンボルが存在する。そして、64個のシンボルは、IQ平面の原点を中心として、I方向×Q方向が8×8の正方形状となるように配置されている。
いま、64QAMの1シンボルが表す6ビットを最上位ビットから順に、y0,y1,y2,y3,y4,y5と表すこととすると、マッピング部26(図8)では、変調方式が64QAMの場合には、LDPC符号の符号ビットの6ビットは、その6ビットに一致する6ビットy0ないしy5のシンボルにマッピングされる。
ここで、図13は、64QAMのシンボルが表す6ビットy0ないしy5のうちの、最上位ビットy0と、2番目のビットy1それぞれについてのビット境界を、図14は、3番目のビットy2と、4番目のビットy3それぞれについてのビット境界を、図15は、5番目のビットy4と、6番目のビットy5それぞれについてのビット境界を、それぞれ示している。
図13に示すように、最上位ビットy0と、2番目のビットy1それぞれについてのビット境界は、1箇所になっている。また、図14に示すように、3番目のビットy2と、4番目のビットy3それぞれについてのビット境界は、2箇所になっており、図15に示すように、5番目のビットy4と、6番目のビットy5それぞれについてのビット境界は、4箇所になっている。
したがって、64QAMのシンボルが表す6ビットy0ないしy5については、最上位ビットy0、及び2番目のビットy1が、強いビットになっており、3番目のビットy2、及び4番目のビットy3が、その次に強いビットになっている。そして、5番目のビットy4と、6番目のビットy5は、弱いビットになっている。
図12、さらには、図13ないし図15から、直交変調のシンボルのビットについては、上位ビットが強いビットとなり、下位ビットが弱いビットになる傾向があることが分かる。
ここで、図11で説明したように、LDPC符号化部21(図8)が出力するLDPC符号については、エラーに強い符号ビットと、エラーに弱い符号ビットがある。
また、図12ないし図15で説明したように、直交変調部27で行われる直交変調のシンボルのビットについては、強いビットと弱いビットがある。
したがって、LDPC符号の、エラーに弱い符号ビットを、直交変調のシンボルの、弱いビットに割り当てるマッピングが行われると、全体として、エラーに対する耐性が低下する。
そこで、LDPC符号の、エラーに弱い符号ビットを、直交変調のシンボルの、強いビットに割り当てるマッピングが行われるように、LDPC符号の符号ビットをインターリーブするインターリーバが提案されている。
図8のデマルチプレクサ25は、そのインターリーバの処理を行う。
図16は、図8のデマルチプレクサ25の処理を説明する図である。
すなわち、図16のAは、デマルチプレクサ25の機能的な構成例を示している。
デマルチプレクサ25は、メモリ31及び入れ替え部32から構成される。
メモリ31には、LDPC符号が供給される。
メモリ31は、ロウ(row)(横)方向にmbビットを記憶するとともに、カラム(column)(縦)方向にN/(mb)ビットを記憶する記憶容量を有し、そこに供給されるLDPC符号の符号ビットを、カラム方向に書き込み、ロウ方向に読み出して、入れ替え部32に供給する。
ここで、mは、1シンボルにマッピングされるLDPC符号の符号ビットのビット数を表し、bは所定の正の整数で、mを整数倍するのに用いられる倍数である。また、N(=情報長K+パリティ長M)は、上述したように、LDPC符号の符号長を表す。
図16のAは、変調方式が64QAMである場合のデマルチプレクサ25の構成例を示しており、したがって、1シンボルにマッピングされるLDPC符号の符号ビットのビット数mは、6ビットである。
また、図16のAでは、倍数bは1になっており、したがって、メモリ31は、カラム方向×ロウ方向がN/(6×1)×(6×1)ビットの記憶容量を有する。
ここで、メモリ31の、ロウ方向が1ビットの、カラム方向に延びる記憶領域を、以下、適宜、カラムという。図16のAでは、メモリ31は、6(=6×1)個のカラムから構成される。
デマルチプレクサ25では、LDPC符号の符号ビットを、メモリ31を構成するカラムの上から下方向(カラム方向)に書き込むことが、左から右方向のカラムに向かって行われる。
そして、符号ビットの書き込みが、最も右のカラムの一番下まで終了すると、メモリ31を構成するすべてのカラムの1行目から、ロウ方向に、6ビット(mbビット)単位で、符号ビットが読み出され、入れ替え部32に供給される。
入れ替え部32は、メモリ31からの6ビットの符号ビットの位置を入れ替える入れ替え処理を行い、その結果得られる6ビットを、64QAMの1シンボルを表す6ビットy0,y1,y2,y3,y4,y5として出力する。
すなわち、メモリ31からロウ方向に読み出された6ビットの符号ビットを、最上位ビットから順に、b0,b1,b2,b3,b4,b5と表すこととすると、図11で説明した列重みの関係で、ビットb0の方向にある符号ビットは、エラーに強い符号ビットになっており、ビットb5の方向にある符号ビットは、エラーに弱い符号ビットになっている。
入れ替え部32では、メモリ31からの6ビットの符号ビットb0ないしb5のうちの、エラーに弱い符号ビットが、64QAMの1シンボルを表す6ビットy0ないしy5のうちの、強いビットに割り当てられるように、メモリ31からの6ビットの符号ビットb0ないしb5の位置を入れ替える入れ替え処理を行う。
ここで、メモリ31からの6ビットの符号ビットb0ないしb5をどのように入れ替えて、64QAMの1シンボルを表す6ビットy0ないしy5のそれぞれに割り当てるかの入れ替え方式としては、各社から、様々な方式が提案されている。
図16のBは、第1の入れ替え方式を、図16のCは、第2の入れ替え方式を、図16のDは、第3の入れ替え方式を、それぞれ示している。
図16のBないし図16のDにおいて(後述する図17においても同様)、ビットbiとyjとを結ぶ線分は、符号ビットbiを、シンボルのビットyjに割り当てる(ビットyjの位置に入れ替える)ことを意味する。
図16のBの第1の入れ替え方式としては、3種類のうちのいずれか1つを採用することが提案されており、図16のCの第2の入れ替え方式としては、2種類のうちのいずれか1つを採用することが提案されている。
図16のDの第3の入れ替え方式としては、6種類を順番に選択して用いることが提案されている。
図17は、変調方式が64QAMであり(したがって、1シンボルにマッピングされるLDPC符号の符号ビットのビット数mは、図16と同様に6ビットである)、かつ、倍数bが2の場合のデマルチプレクサ25の構成例と、第4の入れ替え方式を示している。
倍数bが2である場合、メモリ31は、カラム方向×ロウ方向がN/(6×2)×(6×2)ビットの記憶容量を有し、12(=6×2)個のカラムから構成される。
図17のAは、メモリ31へのLDPC符号の書き込み順を示している。
デマルチプレクサ25では、図16で説明したように、LDPC符号の符号ビットを、メモリ31を構成するカラムの上から下方向(カラム方向)に書き込むことが、左から右方向のカラムに向かって行われる。
そして、符号ビットの書き込みが、最も右のカラムの一番下まで終了すると、メモリ31を構成するすべてのカラムの1行目から、ロウ方向に、12ビット(mbビット)単位で、符号ビットが読み出され、入れ替え部32に供給される。
入れ替え部32は、メモリ31からの12ビットの符号ビットの位置を、第4の入れ替え方式で入れ替える入れ替え処理を行い、その結果得られる12ビットを、64QAMの2シンボル(b個のシンボル)を表す12ビット、つまり、64QAMの1シンボルを表す6ビットy0,y1,y2,y3,y4,y5と、次の1シンボルを表す6ビットy0,y1,y2,y3,y4,y5として出力する。
ここで、図17のBは、図17のAの入れ替え部32による入れ替え処理の第4の入れ替え方式を示している。
なお、どのような入れ替え方式が最適であるか、つまり、AWGN通信路でのエラーレートを最も良くするかは、LDPC符号の符号化率等によって異なる。
次に、図18ないし図20を参照して、図8のパリティインターリーバ23によるパリティインターリーブについて説明する。
図18は、LDPC符号の検査行列のタナーグラフ(の一部)を示している。
チェックノードは、図18に示すように、そのチェックノードに繋がっているバリアブルノード(に対応する符号ビット)の2個等の複数が同時にイレージャ等のエラーになると、そのチェックノードに繋がっている全バリアブルノードに、値が0である確率と1である確率とが等確率のメッセージを戻す。このため、同一のチェックノードに繋がっている複数のバリアブルノードが同時にイレージャ等になると、復号の性能が劣化する。
ところで、図8のLDPC符号化部21が出力する、DVB-S.2の規格に規定されているLDPC符号は、IRA符号であり、検査行列Hのパリティ行列HTは、図10に示したように、階段構造になっている。
図19は、階段構造になっているパリティ行列HTと、そのパリティ行列HTに対応するタナーグラフを示している。
すなわち、図19のAは、階段構造になっているパリティ行列HTを示しており、図19のBは、図19のAのパリティ行列HTに対応するタナーグラフを示している。
パリティ行列HTが階段構造になっている場合、そのパリティ行列HTのタナーグラフにおいて、LDPC符号の、パリティ行列HTの値が1になっている要素の列に対応する、隣接する符号ビット(パリティビット)を用いてメッセージが求められるバリアブルノードは、同一のチェックノードに繋がっている。
したがって、バースト誤りやイレージャ等によって、上述の隣接するパリティビットが同時にエラーとなると、そのエラーとなった複数のパリティビットそれぞれに対応する複数のバリアブルノード(パリティビットを用いてメッセージを求めるバリアブルノード)に繋がっているチェックノードは、値が0である確率と1である確率とが等確率のメッセージを、そのチェックノードに繋がっているバリアブルノードに戻すため、復号の性能が劣化する。そして、バースト長(バーストによってエラーとなるビット数)が大である場合には、復号の性能は、さらに劣化する。
そこで、パリティインターリーバ23(図8)は、上述した復号の性能の劣化を防止するため、LDPC符号化部21からの、LDPC符号のパリティビットを、他のパリティビットの位置にインターリーブするパリティインターリーブを行う。
図20は、図8のパリティインターリーバ23が行うパリティインターリーブ後のLDPC符号に対応する検査行列Hのパリティ行列HTを示している。
ここで、LDPC符号化部21が出力する、DVB-S.2の規格に規定されているLDPC符号に対応する検査行列Hの情報行列HAは、巡回構造になっている。
巡回構造とは、ある列が、他の列をサイクリックしたものと一致している構造をいい、例えば、P列ごとに、そのP列の各行の1の位置が、そのP列の最初の列を、パリティ長Mを除算して得られる値qに比例する値だけ、列方向にサイクリックシフトした位置になっている構造も含まれる。以下、適宜、巡回構造におけるP列を、巡回構造の単位の列数という。
LDPC符号化部21が出力する、DVB-S.2の規格に規定されているLDPC符号としては、図11で説明したように、符号長Nが64800ビットと16200ビットとの、2種類のLDPC符号がある。
いま、符号長Nが64800ビットと16200ビットの2種類のLDPC符号のうちの、符号長Nが64800ビットのLDPC符号に注目すると、その符号長Nが64800ビットのLDPC符号の符号化率は、図11で説明したように、11個ある。
この11個の符号化率それぞれの、符号長Nが64800ビットのLDPC符号については、いずれについても、DVB-S.2の規格では、巡回構造の単位の列数Pが、パリティ長Mの約数のうちの、1とMを除く約数の1つである360に規定されている。
また、11個の符号化率それぞれの、符号長Nが64800ビットのLDPC符号については、パリティ長Mは、符号化率によって異なる値qを用いて、式M=q×P=q×360で表される素数以外の値になっている。したがって、値qも、巡回構造の単位の列数Pと同様に、パリティ長Mの約数のうちの、1とMを除く約数の他の1つであり、パリティ長Mを、巡回構造の単位の列数Pで除算することにより得られる(パリティ長Mの約数であるP及びqの積は、パリティ長Mとなる)。
パリティインターリーバ23は、上述したように、情報長をKとし、また、0以上P未満の整数をxとするとともに、0以上q未満の整数をyとすると、パリティインターリーブとして、LDPC符号化部21からのLDPC符号のK+1ないしK+M(=N)番目の符号ビットであるパリティビットのうちの、K+qx+y+1番目の符号ビットを、K+Py+x+1番目の符号ビットの位置にインターリーブする。
このようなパリティインターリーブによれば、同一のチェックノードに繋がれるバリアブルノード(に対応するパリティビット)が、巡回構造の単位の列数P、すなわち、ここでは、360ビットだけ離れるので、バースト長が360ビット未満である場合には、同一のチェックノードに繋がっているバリアブルノードの複数が同時にエラーになる事態を避けることができ、その結果、バースト誤りに対する耐性を改善することができる。
なお、K+qx+y+1番目の符号ビットを、K+Py+x+1番目の符号ビットの位置にインターリーブするパリティインターリーブ後のLDPC符号は、元の検査行列Hの、K+qx+y+1番目の列を、K+Py+x+1番目の列に置換する列置換を行って得られる検査行列(以下、変換検査行列ともいう)のLDPC符号に一致する。
また、変換検査行列のパリティ行列には、図20に示すように、P列(図20では、360列)を単位とする擬似巡回構造が現れる。
ここで、擬似巡回構造とは、一部を除く部分が巡回構造になっている構造を意味する。DVB-S.2の規格に規定されているLDPC符号の検査行列に対して、パリティインターリーブに相当する列置換を施して得られる変換検査行列は、その右隅部分の360行×360列の部分(後述するシフト行列)に、1の要素が1つだけ足らず(0の要素になっており)、そのために、(完全な)巡回構造ではなく、擬似巡回構造になっている。
なお、図20の変換検査行列は、元の検査行列Hに対して、パリティインターリーブに相当する列置換の他、変換検査行列が、後述する構成行列で構成されるようにするための行の置換(行置換)も施された行列になっている。
次に、図21ないし図24を参照して、図8のカラムツイストインターリーバ24による並び替え処理としてのカラムツイストインターリーブについて説明する。
図8の送信装置11では、周波数の利用効率の向上のために、上述したように、LDPC符号の符号ビットの2ビット以上を、1個のシンボルとして送信する。すなわち、例えば、符号ビットの2ビットを1個のシンボルとする場合には、変調方式として、例えば、QPSKが用いられ、符号ビットの4ビットを1個のシンボルとする場合には、変調方式として、例えば、16QAMが用いられる。
このように、符号ビットの2ビット以上を、1個のシンボルとして送信する場合、あるシンボルに、イレージャ等が発生すると、そのシンボルの符号ビットは、すべてエラー(イレージャ)になる。
したがって、復号の性能を向上させるために、同一のチェックノードに繋がっているバリアブルノード(に対応する符号ビット)の複数が同時にイレージャになる確率を低下させるには、1個のシンボルの符号ビットに対応するバリアブルノードが、同一のチェックノードに繋がることを避ける必要がある。
一方、上述したように、LDPC符号化部21が出力する、DVB-S.2の規格に規定されているLDPC符号の検査行列Hでは、情報行列HAが巡回構造を有し、パリティ行列HTが階段構造を有している。そして、図20で説明したように、パリティインターリーブ後のLDPC符号の検査行列である変換検査行列では、パリティ行列にも巡回構造(正確には、上述したように、擬似巡回構造)が現れる。
図21は、変換検査行列を示している。
すなわち、図21のAは、符号長Nが64800ビットで、符号化率(r)が3/4のLDPC符号の検査行列Hの変換検査行列を示している。
図21のAでは、変換検査行列において、値が1になっている要素の位置が、点(・)で示されている。
図21のBは、図21のAの変換検査行列のLDPC符号、つまり、パリティインターリーブ後のLDPC符号を対象として、デマルチプレクサ25(図8)が行う処理を示している。
図21のBでは、変調方式を16QAMとして、デマルチプレクサ25のメモリ31を構成する4カラムに、パリティインターリーブ後のLDPC符号の符号ビットが、カラム方向に書き込まれている。
メモリ31を構成する4カラムに、カラム方向に書き込まれた符号ビットは、ロウ方向に、4ビット単位で読み出され、1シンボルとなる。
この場合、1シンボルとなる4ビットの符号ビットB0,B1,B2,B3は、図21のAの変換後検査行列の、任意の1行にある1に対応する符号ビットとなっていることがあり、この場合、その符号ビットB0,B1,B2,B3それぞれに対応するバリアブルノードは、同一のチェックノードに繋がっている。
したがって、1シンボルの4ビットの符号ビットB0,B1,B2,B3が、変換後検査行列の任意の1行にある1に対応する符号ビットとなっている場合には、そのシンボルに、イレージャが発生すると、符号ビットB0,B1,B2,B3それぞれに対応するバリアブルノードが繋がっている同一のチェックノードにおいて、適切なメッセージを求めることができず、その結果、復号の性能が劣化する。
符号化率が3/4以外の符号化率についても、同様に、同一のチェックノードに繋がっている複数のバリアブルノードに対応する複数の符号ビットが、16QAMの1個のシンボルとされることがある。
そこで、カラムツイストインターリーバ24は、変換検査行列の任意の1行にある1に対応する複数の符号ビットが、1個のシンボルにマッピングされないように、パリティインターリーバ23からのパリティインターリーブ後のLDPC符号の符号ビットをインターリーブするカラムツイストインターリーブを行う。
図22は、カラムツイストインターリーブを説明する図である。
すなわち、図22は、デマルチプレクサ25のメモリ31(図16、図17)を示している。
メモリ31は、図16で説明したように、カラム(縦)方向にmbビットを記憶するとともに、ロウ(横)方向にN/(mb)ビットを記憶する記憶容量を有し、mb個のカラムから構成される。そして、カラムツイストインターリーバ24は、メモリ31に対して、LDPC符号の符号ビットを、カラム方向に書き込み、ロウ方向に読み出すときの書き始めの位置を制御することで、カラムツイストインターリーブを行う。
すなわち、カラムツイストインターリーバ24では、複数のカラムそれぞれについて、符号ビットの書き込みを開始する書き始めの位置を、適宜変更することで、ロウ方向に読み出される、1シンボルとされる複数の符号ビットが、変換検査行列の任意の1行にある1に対応する符号ビットにならないようにする(検査行列の任意の1行にある1に対応する複数の符号ビットが、同一のシンボルに含まれないように、LDPC符号の符号ビットを並び替える)。
ここで、図22は、変調方式が16QAMであり、かつ、図16で説明した倍数bが1である場合の、メモリ31の構成例を示している。したがって、1シンボルにマッピングされるLDPC符号の符号ビットのビット数mは、4ビットであり、また、メモリ31は、4(=mb)個のカラムで構成されている。
図22のカラムツイストインターリーバ24は、(図16のデマルチプレクサ25に代わり)、LDPC符号の符号ビットを、メモリ31を構成する4個のカラムの上から下方向(カラム方向)に書き込むことを、左から右方向のカラムに向かって行う。
そして、符号ビットの書き込みが、最も右のカラムまで終了すると、カラムツイストインターリーバ24は、メモリ31を構成するすべてのカラムの1行目から、ロウ方向に、4ビット(mbビット)単位で、符号ビットを読み出し、カラムツイストインターリーブ後のLDPC符号として、デマルチプレクサ25の入れ替え部32(図16、図17)に出力する。
但し、図22のカラムツイストインターリーバ24では、各カラムの先頭(一番上)の位置のアドレスを0として、カラム方向の各位置のアドレスを、昇順の整数で表すこととすると、最も左のカラムについては、書き始めの位置を、アドレスが0の位置とし、(左から)2番目のカラムについては、書き始めの位置を、アドレスが2の位置とし、3番目のカラムについては、書き始めの位置を、アドレスが4の位置とし、4番目のカラムについては、書き始めの位置を、アドレスが7の位置とする。
なお、書き始めの位置が、アドレスが0の位置以外の位置のカラムについては、符号ビットを、最も下の位置まで書き込んだ後は、先頭(アドレスが0の位置)に戻り、書き始めの位置の直前の位置までの書き込みが行われる。そして、その後、次(右)のカラムへの書き込みが行われる。
以上のようなカラムツイストインターリーブを行うことにより、DVB-S.2の規格に規定されている、符号長Nが64800の全ての符号化率のLDPC符号について、同一のチェックノードに繋がっている複数のバリアブルノードに対応する複数の符号ビットが、16QAMの1個のシンボルとされること(同一のシンボルに含まれること)を回避することができ、その結果、イレージャのある通信路での復号の性能を向上させることができる。
図23は、DVB-S.2の規格に規定されている、符号長Nが64800の、11個の符号化率それぞれのLDPC符号について、カラムツイストインターリーブに必要なメモリ31のカラム数と、書き始めの位置のアドレスを、変調方式ごとに示している。
デマルチプレクサ25(図8)の入れ替え処理の入れ替え方式として、図16の第1ないし第3の入れ替え方式のうちのいずれかが採用され、かつ、変調方式として、QPSKが採用される場合、1シンボルのビット数mは、2ビットであり、倍数bは1となる。
この場合、図23によれば、メモリ31は、ロウ方向に2×1(=mb)ビットを記憶する2個のカラムを有し、カラム方向に64800/(2×1)ビットを記憶する。そして、メモリ31の2個のカラムのうちの1番目のカラムの書き始めの位置は、アドレスが0の位置と、2番目のカラムの書き始めの位置は、アドレスが2の位置と、それぞれされる。
また、デマルチプレクサ25(図8)の入れ替え処理の入れ替え方式として、図17の第4の入れ替え方式が採用され、かつ、変調方式として、QPSKが採用される場合、1シンボルのビット数mは、2ビットであり、倍数bは2となる。
この場合、図23によれば、メモリ31は、ロウ方向に2×2ビットを記憶する4個のカラムを有し、カラム方向に64800/(2×2)ビットを記憶する。そして、メモリ31の4個のカラムのうちの1番目のカラムの書き始めの位置は、アドレスが0の位置と、2番目のカラムの書き始めの位置は、アドレスが2の位置と、3番目のカラムの書き始めの位置は、アドレスが4の位置と、4番目のカラムの書き始めの位置は、アドレスが7の位置と、それぞれされる。
さらに、デマルチプレクサ25(図8)の入れ替え処理の入れ替え方式として、図16の第1ないし第3の入れ替え方式のうちのいずれかが採用され、かつ、変調方式として、16QAMが採用される場合、1シンボルのビット数mは、4ビットであり、倍数bは1となる。
この場合、図23によれば、メモリ31は、ロウ方向に4×1ビットを記憶する4個のカラムを有し、カラム方向に64800/(4×1)ビットを記憶する。そして、メモリ31の4個のカラムのうちの、1番目のカラムの書き始めの位置は、アドレスが0の位置と、2番目のカラムの書き始めの位置は、アドレスが2の位置と、3番目のカラムの書き始めの位置は、アドレスが4の位置と、4番目のカラムの書き始めの位置は、アドレスが7の位置と、それぞれされる。
また、デマルチプレクサ25(図8)の入れ替え処理の入れ替え方式として、図17の第4の入れ替え方式が採用され、かつ、変調方式として、16QAMが採用される場合、1シンボルのビット数mは、4ビットであり、倍数bは2となる。
この場合、図23によれば、メモリ31は、ロウ方向に4×2ビットを記憶する8個のカラムを有し、カラム方向に64800/(4×2)ビットを記憶する。そして、メモリ31の8個のカラムのうちの、1番目のカラムの書き始めの位置は、アドレスが0の位置と、2番目のカラムの書き始めの位置は、アドレスが0の位置と、3番目のカラムの書き始めの位置は、アドレスが2の位置と、4番目のカラムの書き始めの位置は、アドレスが4の位置と、5番目のカラムの書き始めの位置は、アドレスが4の位置と、6番目のカラムの書き始めの位置は、アドレスが5の位置と、7番目のカラムの書き始めの位置は、アドレスが7の位置と、8番目のカラムの書き始めの位置は、アドレスが7の位置と、それぞれされる。
さらに、デマルチプレクサ25(図8)の入れ替え処理の入れ替え方式として、図16の第1ないし第3の入れ替え方式のうちのいずれかが採用され、かつ、変調方式として、64QAMが採用される場合、1シンボルのビット数mは、6ビットであり、倍数bは1となる。
この場合、図23によれば、メモリ31は、ロウ方向に6×1ビットを記憶する6個のカラムを有し、カラム方向に64800/(6×1)ビットを記憶する。そして、メモリ31の6個のカラムのうちの、1番目のカラムの書き始めの位置は、アドレスが0の位置と、2番目のカラムの書き始めの位置は、アドレスが2の位置と、3番目のカラムの書き始めの位置は、アドレスが5の位置と、4番目のカラムの書き始めの位置は、アドレスが9の位置と、5番目のカラムの書き始めの位置は、アドレスが10の位置と、6番目のカラムの書き始めの位置は、アドレスが13の位置と、それぞれされる。
また、デマルチプレクサ25(図8)の入れ替え処理の入れ替え方式として、図17の第4の入れ替え方式が採用され、かつ、変調方式として、64QAMが採用される場合、1シンボルのビット数mは、6ビットであり、倍数bは2となる。
この場合、図23によれば、メモリ31は、ロウ方向に6×2ビットを記憶する12個のカラムを有し、カラム方向に64800/(6×2)ビットを記憶する。そして、メモリ31の12個のカラムのうちの、1番目のカラムの書き始めの位置は、アドレスが0の位置と、2番目のカラムの書き始めの位置は、アドレスが0の位置と、3番目のカラムの書き始めの位置は、アドレスが2の位置と、4番目のカラムの書き始めの位置は、アドレスが2の位置と、5番目のカラムの書き始めの位置は、アドレスが3の位置と、6番目のカラムの書き始めの位置は、アドレスが4の位置と、7番目のカラムの書き始めの位置は、アドレスが4の位置と、8番目のカラムの書き始めの位置は、アドレスが5の位置と、9番目のカラムの書き始めの位置は、アドレスが5の位置と、10番目のカラムの書き始めの位置は、アドレスが7の位置と、11番目のカラムの書き始めの位置は、アドレスが8の位置と、12番目のカラムの書き始めの位置は、アドレスが9の位置と、それぞれされる。
さらに、デマルチプレクサ25(図8)の入れ替え処理の入れ替え方式として、図16の第1ないし第3の入れ替え方式のうちのいずれかが採用され、かつ、変調方式として、256QAMが採用される場合、1シンボルのビット数mは、8ビットであり、倍数bは1となる。
この場合、図23によれば、メモリ31は、ロウ方向に8×1ビットを記憶する8個のカラムを有し、カラム方向に64800/(8×1)ビットを記憶する。そして、メモリ31の8個のカラムのうちの、1番目のカラムの書き始めの位置は、アドレスが0の位置と、2番目のカラムの書き始めの位置は、アドレスが0の位置と、3番目のカラムの書き始めの位置は、アドレスが2の位置と、4番目のカラムの書き始めの位置は、アドレスが4の位置と、5番目のカラムの書き始めの位置は、アドレスが4の位置と、6番目のカラムの書き始めの位置は、アドレスが5の位置と、7番目のカラムの書き始めの位置は、アドレスが7の位置と、8番目のカラムの書き始めの位置は、アドレスが7の位置と、それぞれされる。
また、デマルチプレクサ25(図8)の入れ替え処理の入れ替え方式として、図17の第4の入れ替え方式が採用され、かつ、変調方式として、256QAMが採用される場合、1シンボルのビット数mは、8ビットであり、倍数bは2となる。
この場合、図23によれば、メモリ31は、ロウ方向に8×2ビットを記憶する16個のカラムを有し、カラム方向に64800/(8×2)ビットを記憶する。そして、メモリ31の16個のカラムのうちの、1番目のカラムの書き始めの位置は、アドレスが0の位置と、2番目のカラムの書き始めの位置は、アドレスが2の位置と、3番目のカラムの書き始めの位置は、アドレスが2の位置と、4番目のカラムの書き始めの位置は、アドレスが2の位置と、5番目のカラムの書き始めの位置は、アドレスが2の位置と、6番目のカラムの書き始めの位置は、アドレスが3の位置と、7番目のカラムの書き始めの位置は、アドレスが7の位置と、8番目のカラムの書き始めの位置は、アドレスが15の位置と、9番目のカラムの書き始めの位置は、アドレスが16の位置と、10番目のカラムの書き始めの位置は、アドレスが20の位置と、11番目のカラムの書き始めの位置は、アドレスが22の位置と、12番目のカラムの書き始めの位置は、アドレスが22の位置と、13番目のカラムの書き始めの位置は、アドレスが27の位置と、14番目のカラムの書き始めの位置は、アドレスが27の位置と、15番目のカラムの書き始めの位置は、アドレスが28の位置と、16番目のカラムの書き始めの位置は、アドレスが32の位置と、それぞれされる。
さらに、デマルチプレクサ25(図8)の入れ替え処理の入れ替え方式として、図16の第1ないし第3の入れ替え方式のうちのいずれかが採用され、かつ、変調方式として、1024QAMが採用される場合、1シンボルのビット数mは、10ビットであり、倍数bは1となる。
この場合、図23によれば、メモリ31は、ロウ方向に10×1ビットを記憶する10個のカラムを有し、カラム方向に64800/(10×1)ビットを記憶する。そして、メモリ31の10個のカラムのうちの、1番目のカラムの書き始めの位置は、アドレスが0の位置と、2番目のカラムの書き始めの位置は、アドレスが3の位置と、3番目のカラムの書き始めの位置は、アドレスが6の位置と、4番目のカラムの書き始めの位置は、アドレスが8の位置と、5番目のカラムの書き始めの位置は、アドレスが11の位置と、6番目のカラムの書き始めの位置は、アドレスが13の位置と、7番目のカラムの書き始めの位置は、アドレスが15の位置と、8番目のカラムの書き始めの位置は、アドレスが17の位置と、9番目のカラムの書き始めの位置は、アドレスが18の位置と、10番目のカラムの書き始めの位置は、アドレスが20の位置と、それぞれされる。
また、デマルチプレクサ25(図8)の入れ替え処理の入れ替え方式として、図17の第4の入れ替え方式が採用され、かつ、変調方式として、1024QAMが採用される場合、1シンボルのビット数mは、10ビットであり、倍数bは2となる。
この場合、図23によれば、メモリ31は、ロウ方向に10×2ビットを記憶する20個のカラムを有し、カラム方向に64800/(10×2)ビットを記憶する。そして、メモリ31の20個のカラムのうちの、1番目のカラムの書き始めの位置は、アドレスが0の位置と、2番目のカラムの書き始めの位置は、アドレスが1の位置と、3番目のカラムの書き始めの位置は、アドレスが3の位置と、4番目のカラムの書き始めの位置は、アドレスが4の位置と、5番目のカラムの書き始めの位置は、アドレスが5の位置と、6番目のカラムの書き始めの位置は、アドレスが6の位置と、7番目のカラムの書き始めの位置は、アドレスが6の位置と、8番目のカラムの書き始めの位置は、アドレスが9の位置と、9番目のカラムの書き始めの位置は、アドレスが13の位置と、10番目のカラムの書き始めの位置は、アドレスが14の位置と、11番目のカラムの書き始めの位置は、アドレスが14の位置と、12番目のカラムの書き始めの位置は、アドレスが16の位置と、13番目のカラムの書き始めの位置は、アドレスが21の位置と、14番目のカラムの書き始めの位置は、アドレスが21の位置と、15番目のカラムの書き始めの位置は、アドレスが23の位置と、16番目のカラムの書き始めの位置は、アドレスが25の位置と、17番目のカラムの書き始めの位置は、アドレスが25の位置と、18番目のカラムの書き始めの位置は、アドレスが26の位置と、19番目のカラムの書き始めの位置は、アドレスが28の位置と、20番目のカラムの書き始めの位置は、アドレスが30の位置と、それぞれされる。
さらに、デマルチプレクサ25(図8)の入れ替え処理の入れ替え方式として、図16の第1ないし第3の入れ替え方式のうちのいずれかが採用され、かつ、変調方式として、4096QAMが採用される場合、1シンボルのビット数mは、12ビットであり、倍数bは1となる。
この場合、図23によれば、メモリ31は、ロウ方向に12×1ビットを記憶する12個のカラムを有し、カラム方向に64800/(12×1)ビットを記憶する。そして、メモリ31の12個のカラムのうちの、1番目のカラムの書き始めの位置は、アドレスが0の位置と、2番目のカラムの書き始めの位置は、アドレスが0の位置と、3番目のカラムの書き始めの位置は、アドレスが2の位置と、4番目のカラムの書き始めの位置は、アドレスが2の位置と、5番目のカラムの書き始めの位置は、アドレスが3の位置と、6番目のカラムの書き始めの位置は、アドレスが4の位置と、7番目のカラムの書き始めの位置は、アドレスが4の位置と、8番目のカラムの書き始めの位置は、アドレスが5の位置と、9番目のカラムの書き始めの位置は、アドレスが5の位置と、10番目のカラムの書き始めの位置は、アドレスが7の位置と、11番目のカラムの書き始めの位置は、アドレスが8の位置と、12番目のカラムの書き始めの位置は、アドレスが9の位置と、それぞれされる。
また、デマルチプレクサ25(図8)の入れ替え処理の入れ替え方式として、図17の第4の入れ替え方式が採用され、かつ、変調方式として、4096QAMが採用される場合、1シンボルのビット数mは、12ビットであり、倍数bは2となる。
この場合、図23によれば、メモリ31は、ロウ方向に12×2ビットを記憶する24個のカラムを有し、カラム方向に64800/(12×2)ビットを記憶する。そして、メモリ31の24個のカラムのうちの、1番目のカラムの書き始めの位置は、アドレスが0の位置と、2番目のカラムの書き始めの位置は、アドレスが5の位置と、3番目のカラムの書き始めの位置は、アドレスが8の位置と、4番目のカラムの書き始めの位置は、アドレスが8の位置と、5番目のカラムの書き始めの位置は、アドレスが8の位置と、6番目のカラムの書き始めの位置は、アドレスが8の位置と、7番目のカラムの書き始めの位置は、アドレスが10の位置と、8番目のカラムの書き始めの位置は、アドレスが10の位置と、9番目のカラムの書き始めの位置は、アドレスが10の位置と、10番目のカラムの書き始めの位置は、アドレスが12の位置と、11番目のカラムの書き始めの位置は、アドレスが13の位置と、12番目のカラムの書き始めの位置は、アドレスが16の位置と、13番目のカラムの書き始めの位置は、アドレスが17の位置と、14番目のカラムの書き始めの位置は、アドレスが19の位置と、15番目のカラムの書き始めの位置は、アドレスが21の位置と、16番目のカラムの書き始めの位置は、アドレスが22の位置と、17番目のカラムの書き始めの位置は、アドレスが23の位置と、18番目のカラムの書き始めの位置は、アドレスが26の位置と、19番目のカラムの書き始めの位置は、アドレスが37の位置と、20番目のカラムの書き始めの位置は、アドレスが39の位置と、21番目のカラムの書き始めの位置は、アドレスが40の位置と、22番目のカラムの書き始めの位置は、アドレスが41の位置と、23番目のカラムの書き始めの位置は、アドレスが41の位置と、24番目のカラムの書き始めの位置は、アドレスが41の位置と、それぞれされる。
図24は、DVB-S.2の規格に規定されている、符号長Nが16200の、10個の符号化率それぞれのLDPC符号について、カラムツイストインターリーブに必要なメモリ31のカラム数と、書き始めの位置のアドレスを、変調方式ごとに示している。
デマルチプレクサ25(図8)の入れ替え処理の入れ替え方式として、図16の第1ないし第3の入れ替え方式のうちのいずれかが採用され、かつ、変調方式として、QPSKが採用される場合、1シンボルのビット数mは、2ビットであり、倍数bは1となる。
この場合、図24によれば、メモリ31は、ロウ方向に2×1ビットを記憶する2個のカラムを有し、カラム方向に16200/(2×1)ビットを記憶する。そして、メモリ31の2個のカラムのうちの、1番目のカラムの書き始めの位置は、アドレスが0の位置と、2番目のカラムの書き始めの位置は、アドレスが0の位置と、それぞれされる。
さらに、デマルチプレクサ25(図8)の入れ替え処理の入れ替え方式として、図17の第4の入れ替え方式が採用され、かつ、変調方式として、QPSKが採用される場合、1シンボルのビット数mは、2ビットであり、倍数bは2となる。
この場合、図24によれば、メモリ31は、ロウ方向に2×2ビットを記憶する4個のカラムを有し、カラム方向に16200/(2×2)ビットを記憶する。そして、メモリ31の4個のカラムのうちの、1番目のカラムの書き始めの位置は、アドレスが0の位置と、2番目のカラムの書き始めの位置は、アドレスが2の位置と、3番目のカラムの書き始めの位置は、アドレスが3の位置と、4番目のカラムの書き始めの位置は、アドレスが3の位置と、それぞれされる。
また、デマルチプレクサ25(図8)の入れ替え処理の入れ替え方式として、図16の第1ないし第3の入れ替え方式のうちのいずれかが採用され、かつ、変調方式として、16QAMが採用される場合、1シンボルのビット数mは、4ビットであり、倍数bは1となる。
この場合、図24によれば、メモリ31は、ロウ方向に4×1ビットを記憶する4個のカラムを有し、カラム方向に16200/(4×1)ビットを記憶する。そして、メモリ31の4個のカラムのうちの、1番目のカラムの書き始めの位置は、アドレスが0の位置と、2番目のカラムの書き始めの位置は、アドレスが2の位置と、3番目のカラムの書き始めの位置は、アドレスが3の位置と、4番目のカラムの書き始めの位置は、アドレスが3の位置と、それぞれされる。
さらに、デマルチプレクサ25(図8)の入れ替え処理の入れ替え方式として、図17の第4の入れ替え方式が採用され、かつ、変調方式として、16QAMが採用される場合、1シンボルのビット数mは、4ビットであり、倍数bは2となる。
この場合、図24によれば、メモリ31は、ロウ方向に4×2ビットを記憶する8個のカラムを有し、カラム方向に16200/(4×2)ビットを記憶する。そして、メモリ31の8個のカラムのうちの、1番目のカラムの書き始めの位置は、アドレスが0の位置と、2番目のカラムの書き始めの位置は、アドレスが0の位置と、3番目のカラムの書き始めの位置は、アドレスが0の位置と、4番目のカラムの書き始めの位置は、アドレスが1の位置と、5番目のカラムの書き始めの位置は、アドレスが7の位置と、6番目のカラムの書き始めの位置は、アドレスが20の位置と、7番目のカラムの書き始めの位置は、アドレスが20の位置と、8番目のカラムの書き始めの位置は、アドレスが21の位置と、それぞれされる。
また、デマルチプレクサ25(図8)の入れ替え処理の入れ替え方式として、図16の第1ないし第3の入れ替え方式のうちのいずれかが採用され、かつ、変調方式として、64QAMが採用される場合、1シンボルのビット数mは、6ビットであり、倍数bは1となる。
この場合、図24によれば、メモリ31は、ロウ方向に6×1ビットを記憶する6個のカラムを有し、カラム方向に16200/(6×1)ビットを記憶する。そして、メモリ31の6個のカラムのうちの、1番目のカラムの書き始めの位置は、アドレスが0の位置と、2番目のカラムの書き始めの位置は、アドレスが0の位置と、3番目のカラムの書き始めの位置は、アドレスが2の位置と、4番目のカラムの書き始めの位置は、アドレスが3の位置と、5番目のカラムの書き始めの位置は、アドレスが7の位置と、6番目のカラムの書き始めの位置は、アドレスが7の位置と、それぞれされる。
さらに、デマルチプレクサ25(図8)の入れ替え処理の入れ替え方式として、図17の第4の入れ替え方式が採用され、かつ、変調方式として、64QAMが採用される場合、1シンボルのビット数mは、6ビットであり、倍数bは2となる。
この場合、図24によれば、メモリ31は、ロウ方向に6×2ビットを記憶する12個のカラムを有し、カラム方向に16200/(6×2)ビットを記憶する。そして、メモリ31の12個のカラムのうちの、1番目のカラムの書き始めの位置は、アドレスが0の位置と、2番目のカラムの書き始めの位置は、アドレスが0の位置と、3番目のカラムの書き始めの位置は、アドレスが0の位置と、4番目のカラムの書き始めの位置は、アドレスが2の位置と、5番目のカラムの書き始めの位置は、アドレスが2の位置と、6番目のカラムの書き始めの位置は、アドレスが2の位置と、7番目のカラムの書き始めの位置は、アドレスが3の位置と、8番目のカラムの書き始めの位置は、アドレスが3の位置と、9番目のカラムの書き始めの位置は、アドレスが3の位置と、10番目のカラムの書き始めの位置は、アドレスが6の位置と、11番目のカラムの書き始めの位置は、アドレスが7の位置と、12番目のカラムの書き始めの位置は、アドレスが7の位置と、それぞれされる。
また、デマルチプレクサ25(図8)の入れ替え処理の入れ替え方式として、図16の第1ないし第3の入れ替え方式のうちのいずれかが採用され、かつ、変調方式として、256QAMが採用される場合、1シンボルのビット数mは、8ビットであり、倍数bは1となる。
この場合、図24によれば、メモリ31は、ロウ方向に8×1ビットを記憶する8個のカラムを有し、カラム方向に16200/(8×1)ビットを記憶する。そして、メモリ31の8個のカラムのうちの、1番目のカラムの書き始めの位置は、アドレスが0の位置と、2番目のカラムの書き始めの位置は、アドレスが0の位置と、3番目のカラムの書き始めの位置は、アドレスが0の位置と、4番目のカラムの書き始めの位置は、アドレスが1の位置と、5番目のカラムの書き始めの位置は、アドレスが7の位置と、6番目のカラムの書き始めの位置は、アドレスが20の位置と、7番目のカラムの書き始めの位置は、アドレスが20の位置と、8番目のカラムの書き始めの位置は、アドレスが21の位置と、それぞれされる。
さらに、デマルチプレクサ25(図8)の入れ替え処理の入れ替え方式として、図16の第1ないし第3の入れ替え方式のうちのいずれかが採用され、かつ、変調方式として、1024QAMが採用される場合、1シンボルのビット数mは、10ビットであり、倍数bは1となる。
この場合、図24によれば、メモリ31は、ロウ方向に10×1ビットを記憶する10個のカラムを有し、カラム方向に16200/(10×1)ビットを記憶する。そして、メモリ31の10個のカラムのうちの、1番目のカラムの書き始めの位置は、アドレスが0の位置と、2番目のカラムの書き始めの位置は、アドレスが1の位置と、3番目のカラムの書き始めの位置は、アドレスが2の位置と、4番目のカラムの書き始めの位置は、アドレスが2の位置と、5番目のカラムの書き始めの位置は、アドレスが3の位置と、6番目のカラムの書き始めの位置は、アドレスが3の位置と、7番目のカラムの書き始めの位置は、アドレスが4の位置と、8番目のカラムの書き始めの位置は、アドレスが4の位置と、9番目のカラムの書き始めの位置は、アドレスが5の位置と、10番目のカラムの書き始めの位置は、アドレスが7の位置と、それぞれされる。
また、デマルチプレクサ25(図8)の入れ替え処理の入れ替え方式として、図17の第4の入れ替え方式が採用され、かつ、変調方式として、1024QAMが採用される場合、1シンボルのビット数mは、10ビットであり、倍数bは2となる。
この場合、図24によれば、メモリ31は、ロウ方向に10×2ビットを記憶する20個のカラムを有し、カラム方向に16200/(10×2)ビットを記憶する。そして、メモリ31の20個のカラムのうちの、1番目のカラムの書き始めの位置は、アドレスが0の位置と、2番目のカラムの書き始めの位置は、アドレスが0の位置と、3番目のカラムの書き始めの位置は、アドレスが0の位置と、4番目のカラムの書き始めの位置は、アドレスが2の位置と、5番目のカラムの書き始めの位置は、アドレスが2の位置と、6番目のカラムの書き始めの位置は、アドレスが2の位置と、7番目のカラムの書き始めの位置は、アドレスが2の位置と、8番目のカラムの書き始めの位置は、アドレスが2の位置と、9番目のカラムの書き始めの位置は、アドレスが5の位置と、10番目のカラムの書き始めの位置は、アドレスが5の位置と、11番目のカラムの書き始めの位置は、アドレスが5の位置と、12番目のカラムの書き始めの位置は、アドレスが5の位置と、13番目のカラムの書き始めの位置は、アドレスが5の位置と、14番目のカラムの書き始めの位置は、アドレスが7の位置と、15番目のカラムの書き始めの位置は、アドレスが7の位置と、16番目のカラムの書き始めの位置は、アドレスが7の位置と、17番目のカラムの書き始めの位置は、アドレスが7の位置と、18番目のカラムの書き始めの位置は、アドレスが8の位置と、19番目のカラムの書き始めの位置は、アドレスが8の位置と、20番目のカラムの書き始めの位置は、アドレスが10の位置と、それぞれされる。
さらに、デマルチプレクサ25(図8)の入れ替え処理の入れ替え方式として、図16の第1ないし第3の入れ替え方式のうちのいずれかが採用され、かつ、変調方式として、4096QAMが採用される場合、1シンボルのビット数mは、12ビットであり、倍数bは1となる。
この場合、図24によれば、メモリ31は、ロウ方向に12×1ビットを記憶する12個のカラムを有し、カラム方向に16200/(12×1)ビットを記憶する。そして、メモリ31の12個のカラムのうちの、1番目のカラムの書き始めの位置は、アドレスが0の位置と、2番目のカラムの書き始めの位置は、アドレスが0の位置と、3番目のカラムの書き始めの位置は、アドレスが0の位置と、4番目のカラムの書き始めの位置は、アドレスが2の位置と、5番目のカラムの書き始めの位置は、アドレスが2の位置と、6番目のカラムの書き始めの位置は、アドレスが2の位置と、7番目のカラムの書き始めの位置は、アドレスが3の位置と、8番目のカラムの書き始めの位置は、アドレスが3の位置と、9番目のカラムの書き始めの位置は、アドレスが3の位置と、10番目のカラムの書き始めの位置は、アドレスが6の位置と、11番目のカラムの書き始めの位置は、アドレスが7の位置と、12番目のカラムの書き始めの位置は、アドレスが7の位置と、それぞれされる。
また、デマルチプレクサ25(図8)の入れ替え処理の入れ替え方式として、図17の第4の入れ替え方式が採用され、かつ、変調方式として、4096QAMが採用される場合、1シンボルのビット数mは、12ビットであり、倍数bは2となる。
この場合、図24によれば、メモリ31は、ロウ方向に12×2ビットを記憶する24個のカラムを有し、カラム方向に16200/(12×2)ビットを記憶する。そして、メモリ31の24個のカラムのうちの、1番目のカラムの書き始めの位置は、アドレスが0の位置と、2番目のカラムの書き始めの位置は、アドレスが0の位置と、3番目のカラムの書き始めの位置は、アドレスが0の位置と、4番目のカラムの書き始めの位置は、アドレスが0の位置と、5番目のカラムの書き始めの位置は、アドレスが0の位置と、6番目のカラムの書き始めの位置は、アドレスが0の位置と、7番目のカラムの書き始めの位置は、アドレスが0の位置と、8番目のカラムの書き始めの位置は、アドレスが1の位置と、9番目のカラムの書き始めの位置は、アドレスが1の位置と、10番目のカラムの書き始めの位置は、アドレスが1の位置と、11番目のカラムの書き始めの位置は、アドレスが2の位置と、12番目のカラムの書き始めの位置は、アドレスが2の位置と、13番目のカラムの書き始めの位置は、アドレスが2の位置と、14番目のカラムの書き始めの位置は、アドレスが3の位置と、15番目のカラムの書き始めの位置は、アドレスが7の位置と、16番目のカラムの書き始めの位置は、アドレスが9の位置と、17番目のカラムの書き始めの位置は、アドレスが9の位置と、18番目のカラムの書き始めの位置は、アドレスが9の位置と、19番目のカラムの書き始めの位置は、アドレスが10の位置と、20番目のカラムの書き始めの位置は、アドレスが10の位置と、21番目のカラムの書き始めの位置は、アドレスが10の位置と、22番目のカラムの書き始めの位置は、アドレスが10の位置と、23番目のカラムの書き始めの位置は、アドレスが10の位置と、24番目のカラムの書き始めの位置は、アドレスが11の位置と、それぞれされる。
次に、図25のフローチャートを参照して、図8の送信装置11で行われる送信処理について説明する。
LDPC符号化部21は、そこに、対象データが供給されるのを待って、ステップS101において、対象データを、LDPC符号に符号化し、そのLDPC符号を、ビットインターリーバ22に供給して、処理は、ステップS102に進む。
ビットインターリーバ22では、ステップS102において、LDPC符号化部21からのLDPC符号を対象として、ビットインターリーブが行われ、そのビットインターリーブ後のLDPC符号が、マッピング部26に供給されて、処理は、ステップS103に進む。
すなわち、ステップS102では、ビットインターリーバ22において、バリティインターリーバ23が、LDPC符号化部21からのLDPC符号を対象として、パリティインターリーブを行い、そのパリティインターリーブ後のLDPC符号を、カラムツイストインターリーバ24に供給する。
カラムツイストインターリーバ24は、パリティインターリーバ23からのLDPC符号を対象として、カラムツイストインターリーブを行い、デマルチプレクサ25は、カラムツイストインターリーバ24によるカラムツイストインターリーブ後のLDPC符号を対象として、入れ替え処理を行う。そして、入れ替え処理後のLDPC符号は、デマルチプレクサ25から、マッピング部26に供給される。
マッピング部26は、ステップS103において、デマルチプレクサ25からのLDPC符号のmビットの符号ビットを、直交変調部27で行われる直交変調の変調方式で定める信号点が表すシンボルにマッピングし、直交変調部27に供給して、処理は、ステップS104に進む。
直交変調部27は、ステップS104において、マッピング部26からのシンボルに従い、搬送波の直交変調を行って、処理は、ステップS105に進み、直交変調の結果得られる変調信号を送信して、処理を終了する。
なお、図25の送信処理は繰り返し行われる。
以上のように、パリティインターリーブや、カラムツイストインターリーブを行うことで、LDPC符号の複数の符号ビットを1個のシンボルとして送信する場合の、イレージャやバースト誤りに対する耐性を向上させることができる。
ここで、図8では、説明の便宜のため、パリティインターリーブを行うブロックであるパリティインターリーバ23と、カラムツイストインターリーブを行うブロックであるカラムツイストインターリーバ24とを、別個に構成するようにしたが、パリティインターリーバ23とカラムツイストインターリーバ24とは、一体的に構成することができる。
すなわち、パリティインターリーブと、カラムツイストインターリーブとは、いずれも、メモリに対する符号ビットの書き込み、及び読み出しによって行うことができ、符号ビットの書き込みを行うアドレス(書き込みアドレス)を、符号ビットの読み出しを行うアドレス(読み出しアドレス)に変換する行列によって表すことができる。
したがって、パリティインターリーブを表す行列と、カラムツイストインターリーブを表す行列とを乗算して得られる行列を求めておけば、その行列によって、符号ビットを変換することで、パリティインターリーブを行い、さらに、そのパリティインターリーブ後のLDPC符号をカラムツイストインターリーブした結果を得ることができる。
また、パリティインターリーバ23とカラムツイストインターリーバ24に加えて、デマルチプレクサ25も、一体的に構成することが可能である。
すなわち、デマルチプレクサ25で行われる入れ替え処理も、LDPC符号を記憶するメモリ31の書き込みアドレスを、読み出しアドレスに変換する行列によって表すことができる。
したがって、パリティインターリーブを表す行列、カラムツイストインターリーブを表す行列、及び、入れ替え処理を表す行列を乗算して得られる行列を求めておけば、その行列によって、パリティインターリーブ、カラムツイストインターリーブ、及び、入れ替え処理を、一括して行うことができる。
なお、パリティインターリーブと、カラムツイストインターリーブとについては、そのうちのいずれか一方だけを行うようにすることが可能である。
次に、図26ないし図28を参照して、図8の送信装置11について行った、エラーレート(bit error rate)を計測するシミュレーションについて説明する。
シミュレーションは、D/Uが0dBのフラッタ(flutter)がある通信路を採用して行った。
図26は、シミュレーションで採用した通信路のモデルを示している。
すなわち、図26のAは、シミュレーションで採用したフラッタのモデルを示している。
また、図26のBは、図26のAのモデルで表されるフラッタがある通信路のモデルを示している。
なお、図26のBにおいて、Hは、図26のAのフラッタのモデルを表す。また、図26のBにおいて、Nは、ICI(Inter Carrier Interference)を表し、シミュレーションでは、そのパワーの期待値E[N2]を、AWGNで近似した。
図27及び図28は、シミュレーションで得られたエラーレートと、フラッタのドップラ周波数fdとの関係を示している。
なお、図27は、変調方式が16QAMで、符号化率(r)が(3/4)で、入れ替え方式が第1の入れ替え方式である場合の、エラーレートとドップラ周波数fdとの関係を示している。また、図28は、変調方式が64QAMで、符号化率(r)が(5/6)で、入れ替え方式が第1の入れ替え方式である場合の、エラーレートとドップラ周波数fdとの関係を示している。
さらに、図27及び図28において、太線は、パリティインターリーブ、カラムツイストインターリーブ、及び、入れ替え処理のすべてを行った場合の、エラーレートとドップラ周波数fdとの関係を示しており、細線は、パリティインターリーブ、カラムツイストインターリーブ、及び、入れ替え処理のうちの、入れ替え処理だけを行った場合の、エラーレートとドップラ周波数fdとの関係を示している。
図27及び図28のいずれにおいても、パリティインターリーブ、カラムツイストインターリーブ、及び、入れ替え処理のすべてを行った場合の方が、入れ替え処理だけを行った場合よりも、エラーレートが向上する(小さくなる)ことが分かる。
次に、図29は、図7の受信装置12の構成例を示すブロック図である。
図29において、受信装置12は、送信装置11(図7)からの変調信号を受信するデータ処理装置であり、直交復調部51、デマッピング部52、デインターリーバ53、及びLDPC復号部56から構成される。
直交復調部51は、送信装置11からの変調信号を受信し、直交復調を行って、その結果得られるシンボル(I及びQ軸方向それぞれの値)を、デマッピング部52に供給する。
デマッピング部52は、直交復調部51からのシンボルを、LDPC符号の符号ビットにするデマッピングを行い、デインターリーバ53に供給する。
デインターリーバ53は、マルチプレクサ(MUX)54、及びカラムツイストデインターリーバ55から構成され、デマッピング部52からのLDPC符号の符号ビットのデインターリーブを行う。
すなわち、マルチプレクサ54は、デマッピング部52からのLDPC符号を対象として、図8のデマルチプレクサ25が行う入れ替え処理に対応する逆入れ替え処理(入れ替え処理の逆の処理)、すなわち、入れ替え処理によって入れ替えられた符号ビットの位置を元の位置に戻す逆入れ替え処理を行い、その結果得られるLDPC符号を、カラムツイストデインターリーバ55に供給する。
カラムツイストデインターリーバ55は、マルチプレクサ54からのLDPC符号を対象として、図8のカラムツイストインターリーバ24が行う並び替え処理としてのカラムツイストインターリーブに対応するカラムツイストデインターリーブ(カラムツイストインターリーブの逆の処理)、すなわち、並び替え処理としてのカラムツイストインターリーブによって並びが変更されたLDPC符号の符号ビットを、元の並びに戻す逆並び替え処理としての、例えば、カラムツイストデインターリーブを行う。
具体的には、カラムツイストデインターリーバ55は、図22等に示したメモリ31と同様に構成される、デインターリーブ用のメモリに対して、LDPC符号の符号ビットを書き込み、さらに読み出すことで、カラムツイストデインターリーブを行う。
但し、カラムツイストデインターリーバ55では、符号ビットの書き込みは、メモリ31からの符号ビットの読み出し時の読み出しアドレスを、書き込みアドレスとして用いて、デインターリーブ用のメモリのロウ方向に行われる。また、符号ビットの読み出しは、メモリ31への符号ビットの書き込み時の書き込みアドレスを、読み出しアドレスとして用いて、デインターリーブ用のメモリのカラム方向に行われる。
カラムツイストデインターリーブの結果得られるLDPC符号は、カラムツイストデインターリーバ55からLDPC復号部56に供給される。
ここで、デマッピング部52から、デインターリーバ53に供給されるLDPC符号には、パリティインターリーブ、カラムツイストインターリーブ、及び入れ替え処理が、その順番で施されているが、デインターリーバ53では、入れ替え処理に対応する逆入れ替え処理、及び、カラムツイストインターリーブに対応するカラムツイストデインターリーブしか行われず、したがって、パリティインターリーブに対応するパリティデインターリーブ(パリティインターリーブの逆の処理)、すなわち、パリティインターリーブによって並びが変更されたLDPC符号の符号ビットを、元の並びに戻すパリティデインターリーブは、行われない。
したがって、デインターリーバ53(のカラムツイストデインターリーバ55)から、LDPC復号部56には、逆入れ替え処理、及び、カラムツイストデインターリーブが行われ、かつ、パリティデインターリーブが行われていないLDPC符号が供給される。
LDPC復号部56は、デインターリーバ53からのLDPC符号のLDPC復号を、図8のLDPC符号化部21がLDPC符号化に用いた検査行列Hに対して、パリティインターリーブに相当する列置換を少なくとも行って得られる変換検査行列を用いて行い、その結果得られるデータを、対象データの復号結果として出力する。
図30は、図29の受信装置12が行う受信処理を説明するフローチャートである。
直交復調部51は、ステップS111において、送信装置11からの変調信号を受信して、処理は、ステップS112に進み、その変調信号の直交復調を行う。直交復調部51は、直交復調の結果得られるシンボルを、デマッピング部52に供給して、処理は、ステップS112からステップS113に進む。
ステップS113では、デマッピング部52は、直交復調部51からのシンボルを、LDPC符号の符号ビットにするデマッピングを行い、デインターリーバ53に供給して、処理は、ステップS114に進む。
ステップS114では、デインターリーバ53は、デマッピング部52からのLDPC符号の符号ビットのデインターリーブを行って、処理は、ステップS115に進む。
すなわち、ステップS114では、デインターリーバ53において、マルチプレクサ54が、デマッピング部52からのLDPC符号を対象として、逆入れ替え処理を行い、その結果得られるLDPC符号を、カラムツイストデインターリーバ55に供給する。
カラムツイストデインターリーバ55は、マルチプレクサ54からのLDPC符号を対象として、カラムツイストデインターリーブを行い、その結果得られるLDPC符号を、LDPC復号部56に供給する。
ステップS115では、LDPC復号部56が、カラムツイストデインターリーバ55からのLDPC符号のLDPC復号を、図8のLDPC符号化部21がLDPC符号化に用いた検査行列Hに対して、パリティインターリーブに相当する列置換を少なくとも行って得られる変換検査行列を用いて行い、その結果得られるデータを、対象データの復号結果として出力して、処理は終了する。
なお、図30の受信処理は、繰り返し行われる。
また、図29でも、図8の場合と同様に、説明の便宜のため、逆入れ替え処理を行うマルチプレクサ54と、カラムツイストデインターリーブを行うカラムツイストデインターリーバ55とを、別個に構成するようにしたが、マルチプレクサ54とカラムツイストデインターリーバ55とは、一体的に構成することができる。
さらに、図8の送信装置11において、カラムツイストインターリーブを行わない場合には、図29の受信装置12において、カラムツイストデインターリーバ55は、設ける必要がない。
次に、図29のLDPC復号部56で行われるLDPC復号について、さらに説明する。
図29のLDPC復号部56では、上述したように、カラムツイストデインターリーバ55からの、逆入れ替え処理、及び、カラムツイストデインターリーブが行われ、かつ、パリティデインターリーブが行われていないLDPC符号のLDPC復号が、図8のLDPC符号化部21がLDPC符号化に用いた検査行列Hに対して、パリティインターリーブに相当する列置換を少なくとも行って得られる変換検査行列を用いて行われる。
ここで、LDPC復号を、変換検査行列を用いて行うことで、回路規模を抑制しつつ、動作周波数を十分実現可能な範囲に抑えることが可能となるLDPC復号が先に提案されている(例えば、特開2004-343170号公報を参照)。
そこで、まず、図31ないし図34を参照して、先に提案されている、変換検査行列を用いたLDPC復号について説明する。
図31は、符号長Nが90で、符号化率が2/3のLDPC符号の検査行列Hの例を示している。
なお、図31では(後述する図32及び図33においても同様)、0を、ピリオド(.)で表現している。
図31の検査行列Hでは、パリティ行列が階段構造になっている。
図32は、図31の検査行列Hに、式(8)の行置換と、式(9)の列置換を施して得られる検査行列H'を示している。
行置換:6s+t+1行目→5t+s+1行目
・・・(8)
列置換:6x+y+61列目→5y+x+61列目
・・・(9)
但し、式(8)及び(9)において、s,t,x,yは、それぞれ、0≦s<5,0≦t<6,0≦x<5,0≦t<6の範囲の整数である。
式(8)の行置換によれば、6で割って余りが1になる1,7,13,19,25行目を、それぞれ、1,2,3,4,5行目に、6で割って余りが2になる2,8,14,20,26行目を、それぞれ、6,7,8,9,10行目に、という具合に置換が行われる。
また、式(9)の列置換によれば、61列目以降(パリティ行列)に対して、6で割って余りが1になる61,67,73,79,85列目を、それぞれ、61,62,63,64,65列目に、6で割って余りが2になる62,68,74,80,86列目を、それぞれ、66,67,68,69,70列目に、という具合に置換が行われる。
このようにして、図31の検査行列Hに対して、行と列の置換を行って得られた行列(matrix)が、図32の検査行列H'である。
ここで、検査行列Hの行置換を行っても、LDPC符号の符号ビットの並びには影響しない。
また、式(9)の列置換は、上述の、K+qx+y+1番目の符号ビットを、K+Py+x+1番目の符号ビットの位置にインターリーブするパリティインターリーブの、情報長Kを60と、巡回構造の単位の列数Pを5と、パリティ長M(ここでは、30)の約数q(=M/P)を6と、それぞれしたときのパリティインターリーブに相当する。
図32の検査行列(以下、適宜、置換検査行列という)H'に対して、図31の検査行列(以下、適宜、元の検査行列という)HのLDPC符号に、式(9)と同一の置換を行ったものを乗じると、0ベクトルが出力される。すなわち、元の検査行列HのLDPC符号(1符号語)としての行ベクトルcに、式(9)の列置換を施して得られる行ベクトルをc'と表すこととすると、検査行列の性質から、HcTは、0ベクトルとなるから、H'c'Tも、当然、0ベクトルとなる。
以上から、図32の変換検査行列H'は、元の検査行列HのLDPC符号cに、式(9)の列置換を行って得られるLDPC符号c'の検査行列になっている。
したがって、元の検査行列HのLDPC符号cに、式(9)の列置換を行い、その列置換後のLDPC符号c'を、図32の変換検査行列H'を用いて復号(LDPC復号)し、その復号結果に、式(9)の列置換の逆置換を施すことで、元の検査行列HのLDPC符号を、その検査行列Hを用いて復号する場合と同様の復号結果を得ることができる。
図33は、5×5の行列の単位に間隔を空けた、図32の変換検査行列H'を示している。
図33においては、変換検査行列H'は、5×5の単位行列、その単位行列の1のうち1個以上が0になった行列(以下、適宜、準単位行列という)、単位行列または準単位行列をサイクリックシフト(cyclic shift)した行列(以下、適宜、シフト行列という)、単位行列、準単位行列、またはシフト行列のうちの2以上の和(以下、適宜、和行列という)、5×5の0行列の組合わせで表されている。
図33の変換検査行列H'は、5×5の単位行列、準単位行列、シフト行列、和行列、0行列で構成されているということができる。そこで、変換検査行列H'を構成する、これらの5×5の行列を、以下、適宜、構成行列という。
P×Pの構成行列で表される検査行列で表されるLDPC符号の復号には、チェックノード演算、及びバリアブルノード演算を、P個同時に行うアーキテクチャ(architecture)を用いることができる。
図34は、そのような復号を行う復号装置の構成例を示すブロック図である。
すなわち、図34は、図31の元の検査行列Hに対して、少なくとも、式(9)の列置換を行って得られる図33の変換検査行列H'を用いて、LDPC符号の復号を行う復号装置の構成例を示している。
図34の復号装置は、6つのFIFO3001ないし3006からなる枝データ格納用メモリ300、FIFO3001ないし3006を選択するセレクタ301、チェックノード計算部302、2つのサイクリックシフト回路303及び308、18個のFIFO3041ないし30418からなる枝データ格納用メモリ304、FIFO3041ないし30418を選択するセレクタ305、受信情報を格納する受信データ用メモリ306、バリアブルノード計算部307、復号語計算部309、受信データ並べ替え部310、復号データ並べ替え部311からなる。
まず、枝データ格納用メモリ300と304へのデータの格納方法について説明する。
枝データ格納用メモリ300は、図33の変換検査行列H'の行数30を構成行列の行数5で除算した数である6つのFIFO3001ないし3006から構成されている。FIFO300y(y=1,2,・・・,6)は、複数の段数の記憶領域からなり、各段数の記憶領域には、構成行列の行数及び列数である5つの枝に対応するメッセージを同時に読み出しもしくは書き込むことができるようになっている。また、FIFO300yの記憶領域の段数は、図33の変換検査行列の行方向の1の数(ハミング重み)の最大数である9になっている。
FIFO3001には、図33の変換検査行列H'の第1行目から第5行目までの1の位置に対応するデータ(バリアブルノードからのメッセージvi)が、各行共に横方向に詰めた形に(0を無視した形で)格納される。すなわち、第j行第i列を、(j,i)と表すこととすると、FIFO3001の第1段の記憶領域には、変換検査行列H'の(1,1)から(5,5)の5×5の単位行列の1の位置に対応するデータが格納される。第2段の記憶領域には、変換検査行列H'の(1,21)から(5,25)のシフト行列(5×5の単位行列を右方向に3つだけサイクリックシフトしたシフト行列)の1の位置に対応するデータが格納される。第3から第8段の記憶領域も同様に、変換検査行列H'と対応付けてデータが格納される。そして、第9段の記憶領域には、変換検査行列H'の(1,86)から(5,90)のシフト行列(5×5の単位行列のうちの1行目の1を0に置き換えて1つだけ左にサイクリックシフトしたシフト行列)の1の位置に対応するデータが格納される。
FIFO3002には、図33の変換検査行列H'の第6行目から第10行目までの1の位置に対応するデータが格納される。すなわち、FIFO3002の第1段の記憶領域には、変換検査行列H'の(6,1)から(10,5)の和行列(5×5の単位行列を右に1つだけサイクリックシフトした第1のシフト行列と、右に2つだけサイクリックシフトした第2のシフト行列の和である和行列)を構成する第1のシフト行列の1の位置に対応するデータが格納される。また、第2段の記憶領域には、変換検査行列H'の(6,1)から(10,5)の和行列を構成する第2のシフト行列の1の位置に対応するデータが格納される。
すなわち、重みが2以上の構成行列については、その構成行列を、重みが1であるP×Pの単位行列、その要素である1のうち1個以上が0になった準単位行列、又は単位行列もしくは準単位行列をサイクリックシフトしたシフト行列のうちの複数の和の形で表現したときの、その重みが1の単位行列、準単位行列、又はシフト行列の1の位置に対応するデータ(単位行列、準単位行列、又はシフト行列に属する枝に対応するメッセージ)は、同一アドレス(FIFO3001ないし3006のうちの同一のFIFO)に格納される。
以下、第3から第9段の記憶領域についても、変換検査行列H'に対応付けてデータが格納される。
FIFO3003ないし3006も同様に変換検査行列H'に対応付けてデータを格納する。
枝データ格納用メモリ304は、変換検査行列H'の列数90を、構成行列の列数である5で割った18個のFIFO3041ないし30418から構成されている。FIFO304x(x=1,2,・・・,18)は、複数の段数の記憶領域からなり、各段の記憶領域には、変換構成行列H'の行数及び列数である5つの枝に対応するメッセージを同時に読み出しもしくは書き込むことができるようになっている。
FIFO3041には、図33の変換検査行列H'の第1列目から第5列目までの1の位置に対応するデータ(チェックノードからのメッセージuj)が、各列共に縦方向に詰めた形に(0を無視した形で)格納される。すなわち、FIFO3041の第1段の記憶領域には、変換検査行列H'の(1,1)から(5,5)の5×5の単位行列の1の位置に対応するデータが格納される。第2段の記憶領域には、変換検査行列H'の(6,1)から(10,5)の和行列(5×5の単位行列を右に1つだけサイクリックシフトした第1のシフト行列と、右に2つだけサイクリックシフトした第2のシフト行列との和である和行列)を構成する第1のシフト行列の1の位置に対応するデータが格納される。また、第3段の記憶領域には、変換検査行列H'の(6,1)から(10,5)の和行列を構成する第2のシフト行列の1の位置に対応するデータが格納される。
すなわち、重みが2以上の構成行列については、その構成行列を、重みが1であるP×Pの単位行列、その要素である1のうち1個以上が0になった準単位行列、又は単位行列もしくは準単位行列をサイクリックシフトしたシフト行列のうちの複数の和の形で表現したときの、その重みが1の単位行列、準単位行列、又はシフト行列の1の位置に対応するデータ(単位行列、準単位行列、又はシフト行列に属する枝に対応するメッセージ)は、同一アドレス(FIFO3041ないし30418のうちの同一のFIFO)に格納される。
以下、第4及び第5段の記憶領域についても、変換検査行列H'に対応付けて、データが格納される。このFIFO3041の記憶領域の段数は、変換検査行列H'の第1列から第5列における行方向の1の数(ハミング重み)の最大数である5になっている。
FIFO3042と3043も同様に変換検査行列H'に対応付けてデータを格納し、それぞれの長さ(段数)は、5である。FIFO3044ないし30412も同様に、変換検査行列H'に対応付けてデータを格納し、それぞれの長さは3である。FIFO30413ないし30418も同様に、変換検査行列H'に対応付けてデータを格納し、それぞれの長さは2である。
次に、図34の復号装置の動作について説明する。
枝データ格納用メモリ300は、6つのFIFO3001ないし3006からなり、前段のサイクリックシフト回路308から供給される5つのメッセージD311が、変換検査行列H'どの行に属するかの情報(Matrixデータ)D312に従って、データを格納するFIFOを、FIFO3001ないし3006の中から選び、選んだFIFOに5つのメッセージD311をまとめて順番に格納していく。また、枝データ格納用メモリ300は、データを読み出す際には、FIFO3001から5つのメッセージD3001を順番に読み出し、次段のセレクタ301に供給する。枝データ格納用メモリ300は、FIFO3001からのメッセージの読み出しの終了後、FIFO3002ないし3006からも、順番に、メッセージを読み出し、セレクタ301に供給する。
セレクタ301は、セレクト信号D301に従って、FIFO3001ないし3006のうちの、現在データが読み出されているFIFOからの5つのメッセージを選択し、メッセージD302として、チェックノード計算部302に供給する。
チェックノード計算部302は、5つのチェックノード計算器3021ないし3025からなり、セレクタ301を通して供給されるメッセージD302(D3021ないしD3025)(式(7)のメッセージvi)を用いて、式(7)に従ってチェックノード演算を行い、そのチェックノード演算の結果得られる5つのメッセージD303(D3031ないしD3035)(式(7)のメッセージuj)をサイクリックシフト回路303に供給する。
サイクリックシフト回路303は、チェックノード計算部302で求められた5つのメッセージD3031ないしD3035を、対応する枝が変換検査行列H'において元となる単位行列を幾つサイクリックシフトしたものであるかの情報(Matrixデータ)D305を元にサイクリックシフトし、その結果をメッセージD304として、枝データ格納用メモリ304に供給する。
枝データ格納用メモリ304は、18個のFIFO3041ないし30418からなり、前段のサイクリックシフト回路303から供給される5つのメッセージD304が変換検査行列H'のどの行に属するかの情報D305に従って、データを格納するFIFOを、FIFO3041ないし30418の中から選び、選んだFIFOに5つのメッセージD304をまとめて順番に格納していく。また、枝データ格納用メモリ304は、データを読み出す際には、FIFO3041から5つのメッセージD3061を順番に読み出し、次段のセレクタ305に供給する。枝データ格納用メモリ304は、FIFO3041からのデータの読み出しの終了後、FIFO3042ないし30418からも、順番に、メッセージを読み出し、セレクタ305に供給する。
セレクタ305は、セレクト信号D307に従って、FIFO3041ないし30418のうちの、現在データが読み出されているFIFOからの5つのメッセージを選択し、メッセージD308として、バリアブルノード計算部307と復号語計算部309に供給する。
一方、受信データ並べ替え部310は、通信路を通して受信したLDPC符号D313を、式(9)の列置換を行うことにより並べ替え、受信データD314として、受信データ用メモリ306に供給する。受信データ用メモリ306は、受信データ並べ替え部310から供給される受信データD314から、受信LLR(対数尤度比)を計算して記憶し、その受信LLRを5個ずつまとめて受信値D309として、バリアブルノード計算部307と復号語計算部309に供給する。
バリアブルノード計算部307は、5つのバリアブルノード計算器3071ないし3075からなり、セレクタ305を通して供給されるメッセージD308(D3081ないしD3085)(式(1)のメッセージuj)と、受信データ用メモリ306から供給される5つの受信値D309(式(1)の受信値u0i)を用いて、式(1)に従ってバリアブルノード演算を行い、その演算の結果得られるメッセージD310(D3101ないしD3105)(式(1)のメッセージvi)を、サイクリックシフト回路308に供給する。
サイクリックシフト回路308は、バリアブルノード計算部307で計算されたメッセージD3101ないしD3105を、対応する枝が変換検査行列H'において元となる単位行列を幾つサイクリックシフトしたものであるかの情報を元にサイクリックシフトし、その結果をメッセージD311として、枝データ格納用メモリ300に供給する。
以上の動作を1巡することで、LDPC符号の1回の復号を行うことができる。図34の復号装置は、所定の回数だけLDPC符号を復号した後、復号語計算部309及び復号データ並べ替え部311において、最終的な復号結果を求めて出力する。
すなわち、復号語計算部309は、5つの復号語計算器3091ないし3095からなり、セレクタ305が出力する5つのメッセージD308(D3081ないしD3085)(式(5)のメッセージuj)と、受信データ用メモリ306から供給される5つの受信値D309(式(5)の受信値u0i)を用い、複数回の復号の最終段として、式(5)に基づいて、復号結果(復号語)を計算して、その結果得られる復号データD315を、復号データ並べ替え部311に供給する。
復号データ並べ替え部311は、復号語計算部309から供給される復号データD315を対象に、式(9)の列置換の逆置換を行うことにより、その順序を並べ替え、最終的な復号結果D316として出力する。
以上のように、検査行列(元の検査行列)に対して、行置換と列置換のうちの一方又は両方を施し、P×Pの単位行列、その要素の1のうち1個以上が0になった準単位行列、単位行列もしくは準単位行列をサイクリックシフトしたシフト行列、単位行列、準単位行列、もしくはシフト行列の複数の和である和行列、P×Pの0行列の組合せ、つまり、構成行列の組み合わせで表すことができる検査行列(変換検査行列)に変換することで、LDPC符号の復号を、チェックノード演算とバリアブルノード演算をP個同時に行うアーキテクチャ(architecture)を採用することが可能となり、これにより、ノード演算を、P個同時に行うことで動作周波数を実現可能な範囲に抑えて、多数の繰り返し復号を行うことができる。
図29の受信装置12を構成するLDPC復号部56は、図34の復号装置と同様に、チェックノード演算とバリアブルノード演算をP個同時に行うことで、LDPC復号を行うようになっている。
すなわち、いま、説明を簡単にするために、図8の送信装置11を構成するLDPC符号化部21が出力するLDPC符号の検査行列が、例えば、図31に示した、パリティ行列が階段構造になっている検査行列Hであるとすると、送信装置11のパリティインターリーバ23では、K+qx+y+1番目の符号ビットを、K+Py+x+1番目の符号ビットの位置にインターリーブするパリティインターリーブが、情報長Kを60に、巡回構造の単位の列数Pを5に、パリティ長Mの約数q(=M/P)を6に、それぞれして行われる。
このパリティインターリーブは、上述したように、式(9)の列置換に相当するから、LDPC復号部56では、式(9)の列置換を行う必要がない。
このため、図29の受信装置12では、上述したように、カラムツイストデインターリーバ55から、LDPC復号部56に対して、パリティデインターリーブが行われていないLDPC符号、つまり、式(9)の列置換が行われた状態のLDPC符号が供給され、LDPC復号部56では、式(9)の列置換を行わないことを除けば、図34の復号装置と同様の処理が行われる。
すなわち、図35は、図29のLDPC復号部56の構成例を示している。
図35において、LDPC復号部56は、図34の受信データ並べ替え部310が設けられていないことを除けば、図34の復号装置と同様に構成されており、式(9)の列置換が行われないことを除いて、図34の復号装置と同様の処理を行うため、その説明は省略する。
以上のように、LDPC復号部56は、受信データ並べ替え部310を設けずに構成することができるので、図34の復号装置よりも、規模を削減することができる。
なお、図31ないし図35では、説明を簡単にするために、LDPC符号の符号長Nを90と、情報長Kを60と、巡回構造の単位の列数(構成行列の行数及び列数)Pを5と、パリティ長Mの約数q(=M/P)を6と、それぞれしたが、符号長N、情報長K、巡回構造の単位の列数P、及び約数q(=M/P)のそれぞれは、上述した値に限定されるものではない。
すなわち、図8の送信装置11において、LDPC符号化部21が出力するのは、例えば、符号長Nを64800と、情報長KをN-Pq(=N-M)と、巡回構造の単位の列数Pを360と、約数qをM/Pと、それぞれするLDPC符号であるが、図35のLDPC復号部56は、そのようなLDPC符号を対象として、チェックノード演算とバリアブルノード演算をP個同時に行うことで、LDPC復号を行う場合にも適用可能である。
次に、上述した一連の処理は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
そこで、図36は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示している。
プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク405やROM403に予め記録しておくことができる。
あるいはまた、プログラムは、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory),MO(Magneto Optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体411に、一時的あるいは永続的に格納(記録)しておくことができる。このようなリムーバブル記録媒体411は、いわゆるパッケージソフトウエアとして提供することができる。
なお、プログラムは、上述したようなリムーバブル記録媒体411からコンピュータにインストールする他、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを、通信部408で受信し、内蔵するハードディスク405にインストールすることができる。
コンピュータは、CPU(Central Processing Unit)402を内蔵している。CPU402には、バス401を介して、入出力インタフェース410が接続されており、CPU402は、入出力インタフェース410を介して、ユーザによって、キーボードや、マウス、マイク等で構成される入力部407が操作等されることにより指令が入力されると、それに従って、ROM(Read Only Memory)403に格納されているプログラムを実行する。あるいは、また、CPU402は、ハードディスク405に格納されているプログラム、衛星若しくはネットワークから転送され、通信部408で受信されてハードディスク405にインストールされたプログラム、又はドライブ409に装着されたリムーバブル記録媒体411から読み出されてハードディスク405にインストールされたプログラムを、RAM(Random Access Memory)404にロードして実行する。これにより、CPU402は、上述したフローチャートに従った処理、あるいは上述したブロック図の構成により行われる処理を行う。そして、CPU402は、その処理結果を、必要に応じて、例えば、入出力インタフェース410を介して、LCD(Liquid Crystal Display)やスピーカ等で構成される出力部406から出力、あるいは、通信部408から送信、さらには、ハードディスク405に記録等させる。
ここで、本明細書において、コンピュータに各種の処理を行わせるためのプログラムを記述する処理ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含むものである。
また、プログラムは、1のコンピュータにより処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
すなわち、本実施の形態では、DVB-S.2に規定されているLDPC符号を対象として、パリティインターリーブや、並び替え処理としてのカラムツイストインターリーブを行うようにしたが、パリティインターリーブは、パリティ行列が階段構造になっていれば、情報行列が巡回構造になっていない検査行列のLDPC符号に適用可能であり、並び替え処理としてのカラムツイストインターリーブは、例えば、少なくとも列置換によって擬似巡回構造となる検査行列のLDPC符号や、検査行列の全体が巡回構造になっているQC(Quasi-Cyclic)-LDPC符号等にも適用可能である。
すなわち、パリティインターリーブの対象とするLDPC符号の検査行列は、そのパリティ行列が階段構造になっていればよく、情報行列が巡回構造になっている必要はない。
また、並び替え処理としてのカラムツイストインターリーブの対象とするLDPC符号の検査行列は、特に構造が限定されるものではない。
なお、並び替え処理は、検査行列の任意の1行にある1に対応する複数の符号ビットが、同一のシンボルに含まれないように、LDPC符号の符号ビットを並び替えることができればよく、カラムツイストインターリーブ以外の方法で行うことが可能である。すなわち、並び替え処理は、カラム方向及びロウ方向にデータを記憶するメモリ31ではなく、例えば、1方向にのみデータを記憶するメモリを用い、書き込みアドレス及び読み出しアドレスを制御することによって行うことが可能である。
次に、送信装置11のLDPC符号化部21によるLDPC符号化の処理について、さらに説明する。
例えば、DVB-S.2の規格では、64800ビットと16200ビットとの2通りの符号長NのLDPC符号が規定されている。
そして、符号長Nが64800ビットのLDPC符号については、11個の符号化率1/4,1/3,2/5,1/2,3/5,2/3,3/4,4/5,5/6,8/9、及び9/10が規定されており、符号長Nが16200ビットのLDPC符号については、10個の符号化率1/4,1/3,2/5,1/2,3/5,2/3,3/4,4/5,5/6、及び8/9が規定されている。
LDPC符号化部21は、このような、符号長Nが64800ビットや16200ビットの各符号化率のLDPC符号による符号化(誤り訂正符号化)を、符号長Nごと、及び符号化率ごとに用意された検査行列Hに従って行う。
すなわち、LDPC符号化部21は、検査行列Hを生成するための、後述する検査行列初期値テーブルを、符号長Nごと、及び符号化率ごとに記憶している。
ここで、DVB-S.2の規格では、上述のように、64800ビットと16200ビットとの2通りの符号長NのLDPC符号が規定されており、符号長Nが64800ビットのLDPC符号については、11個の符号化率が、符号長Nが16200ビットのLDPC符号については、10個の符号化率が、それぞれ規定されている。
したがって、送信装置11が、DVB-S.2の規格に準拠した処理を行う装置である場合、LDPC符号化部21には、符号長Nが64800ビットのLDPC符号についての、11個の符号化率それぞれに対応する検査行列初期値テーブルと、符号長Nが16200ビットのLDPC符号についての、10個の符号化率それぞれに対応する検査行列初期値テーブルとが記憶される。
LDPC符号化部21は、例えば、オペレータの操作等に応じて、LDPC符号の符号長Nと符号化率rとを設定する。ここで、以下、適宜、LDPC符号化部21で設定された符号長Nと符号化率rを、それぞれ、設定符号長Nと設定符号化率rともいう。
LDPC符号化部21は、設定符号長N及び設定符号化率rに対応する検査行列初期値テーブルに基づいて、設定符号長N及び設定符号化率rに応じた情報長K(=Nr=符号長N-パリティ長M)に対応する情報行列HAの1の要素を列方向に360列(巡回構造の単位の列数P)ごとの周期で配置して検査行列Hを生成する。
そして、LDPC符号化部21は、送信装置11に供給される、画像データや音声データ等の、送信の対象である対象データから、情報長K分の情報ビットを抽出する。さらに、LDPC符号化部21は、検査行列Hに基づいて、情報ビットに対するパリティビットを算出し、1符号長分の符号語(LDPC符号)を生成する。
すなわち、LDPC符号化部21は、次式を満たす符号語cのパリティビットを順次演算する。
HcT=0
ここで、上式において、cは、符号語(LDPC符号)としての行ベクトルを表し、cTは、行ベクトルcの転置を表す。
LDPC符号(1符号語)としての行ベクトルcのうちの、情報ビットの部分を、行ベクトルAで表すとともに、パリティビットの部分を、行ベクトルTで表す場合には、行ベクトルcは、情報ビットとしての行ベクトルAと、パリティビットとしての行ベクトルTとによって、式c =[A|T]で表すことができる。
また、検査行列Hは、LDPC符号の符号ビットのうちの、情報ビットに対応する部分の情報行列HAと、パリティビットに対応するパリティ行列HTとによって、式H=[HA|HT](情報行列HAの要素を左側の要素とし、パリティ行列HTの要素を右側の要素とする行列)で表すことができる。
さらに、例えば、DVB-S.2の規格では、検査行列H=[HA|HT]のパリティ行列HTが階段構造になっている。
検査行列Hと、LDPC符号としての行ベクトルc=[A|T]とは、式HcT=0を満たす必要があり、かかる式HcT=0を満たす行ベクトルc=[A|T]を構成するパリティビットとしての行ベクトルTは、検査行列H=[HA|HT]のパリティ行列HTが階段構造になっている場合には、式HcT=0における列ベクトルHcTの1行目の要素から順に、各行の要素を0にしていくようにすることで、逐次的に求めることができる。
LDPC符号化部21は、情報ビットAに対して、パリティビットTを求めると、その情報ビットAとパリティビットTとによって表される符号語c =[A|T]を、情報ビットAのLDPC符号化結果として出力する。
以上のように、LDPC符号化部21は、各符号長N、及び、各符号化率rに対応する検査行列初期値テーブルを記憶しており、設定符号長Nの、設定符号化率rのLDPC符号化を、その設定符号長N、及び、設定符号化率rに対応する検査行列初期値テーブルから生成される検査行列Hを用いて行う。
検査行列初期値テーブルは、検査行列Hの、LDPC符号(検査行列Hによって定義されるLDPC符号)の符号長N及び符号化率rに応じた情報長Kに対応する情報行列HAの1の要素の位置を360列(巡回構造の単位の列数P)ごとに表すテーブルであり、各符号長N及び各符号化率rの検査行列Hごとに、あらかじめ作成される。
図37ないし図82は、DVB-S.2の規格に規定されている検査行列初期値テーブルを含む、様々な検査行列Hを生成するための検査行列初期値テーブルを示している。
すなわち、図37は、DVB-S.2の規格に規定されている、符号長Nが16200ビットの、符号化率rが2/3の検査行列Hに対する検査行列初期値テーブルを示している。
図38ないし図40は、DVB-S.2の規格に規定されている、符号長Nが64800ビットの、符号化率rが2/3の検査行列Hに対する検査行列初期値テーブルを示している。
なお、図39は、図38に続く図であり、図40は、図39に続く図である。
図41は、DVB-S.2の規格に規定されている、符号長Nが16200ビットの、符号化率rが3/4の検査行列Hに対する検査行列初期値テーブルを示している。
図42ないし図45は、DVB-S.2の規格に規定されている、符号長Nが64800ビットの、符号化率rが3/4の検査行列Hに対する検査行列初期値テーブルを示している。
なお、図43は、図42に続く図であり、図44は、図43に続く図である。また、図45は、図44に続く図である。
図46は、DVB-S.2の規格に規定されている、符号長Nが16200ビットの、符号化率rが4/5の検査行列Hに対する検査行列初期値テーブルを示している。
図47ないし図50は、DVB-S.2の規格に規定されている、符号長Nが64800ビットの、符号化率rが4/5の検査行列Hに対する検査行列初期値テーブルを示している。
なお、図48は、図47に続く図であり、図49は、図48に続く図である。また、図50は、図49に続く図である。
図51は、DVB-S.2の規格に規定されている、符号長Nが16200ビットの、符号化率rが5/6の検査行列Hに対する検査行列初期値テーブルを示している。
図52ないし図55は、DVB-S.2の規格に規定されている、符号長Nが64800ビットの、符号化率rが5/6の検査行列Hに対する検査行列初期値テーブルを示している。
なお、図53は、図52に続く図であり、図54は、図53に続く図である。また、図55は、図54に続く図である。
図56は、DVB-S.2の規格に規定されている、符号長Nが16200ビットの、符号化率rが8/9の検査行列Hに対する検査行列初期値テーブルを示している。
図57ないし図60は、DVB-S.2の規格に規定されている、符号長Nが64800ビットの、符号化率rが8/9の検査行列Hに対する検査行列初期値テーブルを示している。
なお、図58は、図57に続く図であり、図59は、図58に続く図である。また、図60は、図59に続く図である。
図61ないし図64は、DVB-S.2の規格に規定されている、符号長Nが64800ビットの、符号化率rが9/10の検査行列Hに対する検査行列初期値テーブルを示している。
なお、図62は、図61に続く図であり、図63は、図62に続く図である。また、図64は、図63に続く図である。
図65及び図66は、DVB-S.2の規格に規定されている、符号長Nが64800ビットの、符号化率rが1/4の検査行列Hに対する検査行列初期値テーブルを示している。
なお、図66は、図65に続く図である。
図67及び図68は、DVB-S.2の規格に規定されている、符号長Nが64800ビットの、符号化率rが1/3の検査行列Hに対する検査行列初期値テーブルを示している。
なお、図68は、図67に続く図である。
図69及び図70は、DVB-S.2の規格に規定されている、符号長Nが64800ビットの、符号化率rが2/5の検査行列Hに対する検査行列初期値テーブルを示している。
なお、図70は、図69に続く図である。
図71ないし図73は、DVB-S.2の規格に規定されている、符号長Nが64800ビットの、符号化率rが1/2の検査行列Hに対する検査行列初期値テーブルを示している。
なお、図72は、図71に続く図であり、図73は、図72に続く図である。
図74ないし図76は、DVB-S.2の規格に規定されている、符号長Nが64800ビットの、符号化率rが3/5の検査行列Hに対する検査行列初期値テーブルを示している。
なお、図75は、図74に続く図であり、図76は、図75に続く図である。
図77は、DVB-S.2の規格に規定されている、符号長Nが16200ビットの、符号化率rが1/4の検査行列Hに対する検査行列初期値テーブルを示している。
図78は、DVB-S.2の規格に規定されている、符号長Nが16200ビットの、符号化率rが1/3の検査行列Hに対する検査行列初期値テーブルを示している。
図79は、DVB-S.2の規格に規定されている、符号長Nが16200ビットの、符号化率rが2/5の検査行列Hに対する検査行列初期値テーブルを示している。
図80は、DVB-S.2の規格に規定されている、符号長Nが16200ビットの、符号化率rが1/2の検査行列Hに対する検査行列初期値テーブルを示している。
図81は、DVB-S.2の規格に規定されている、符号長Nが16200ビットの、符号化率rが3/5の検査行列Hに対する検査行列初期値テーブルを示している。
図82は、図81の検査行列初期値テーブルに代えて用いることができる、符号長Nが16200ビットの、符号化率rが3/5の検査行列Hに対する検査行列初期値テーブルを示している。
送信装置11のLDPC符号化部21は、検査行列初期値テーブルを用いて、以下のように、検査行列Hを求める。
すなわち、図83は、検査行列初期値テーブルから検査行列Hを求める方法を示している。
なお、図83の検査行列初期値テーブルは、図37に示した、DVB-S.2の規格に規定されている、符号長Nが16200ビットの、符号化率rが2/3の検査行列Hに対する検査行列初期値テーブルを示している。
検査行列初期値テーブルは、上述したように、LDPC符号の符号長N及び符号化率rに応じた情報長Kに対応する情報行列HAの1の要素の位置を、360列(巡回構造の単位の列数P)ごとに表すテーブルであり、そのi行目には、検査行列Hの1+360×(i-1)列目の1の要素の行番号(検査行列Hの1行目の行番号を0とする行番号)が、その1+360×(i-1)列目の列が持つ列重みの数だけ並んでいる。
ここで、検査行列Hの、パリティ長Mに対応するパリティ行列HTは、階段構造になっており、あらかじめ決まっていることとする。検査行列初期値テーブルによれば、検査行列Hのうちの、情報長Kに対応する情報行列HAが求められる。
検査行列初期値テーブルの行数k+1は、情報長Kによって異なる。
情報長Kと、検査行列初期値テーブルの行数k+1との間には、次式の関係が成り立つ。
K=(k+1)×360
ここで、上式の360は、巡回構造の単位の列数Pである。
図83の検査行列初期値テーブルでは、1行目から3行目までに、13個の数値が並び、4行目からk+1行目(図83では、30行目)までに、3個の数値が並んでいる。
したがって、図83の検査行列初期値テーブルから求められる検査行列Hの列重みは、1列目から、1+360×(3-1)-1列目までは、13であり、1+360×(3-1)列目から、K列目までは、3である。
図83の検査行列初期値テーブルの1行目は、0,2084,1613,1548,1286,1460,3196,4297,2481,3369,3451,4620,2622となっており、これは、検査行列Hの1列目において、行番号が、0,2084,1613,1548,1286,1460,3196,4297,2481,3369,3451,4620,2622の行の要素が1であること(かつ、他の要素が0であること)を示している。
また、図83の検査行列初期値テーブルの2行目は、1,122,1516,3448,2880,1407,1847,3799,3529,373,971,4358,3108となっており、これは、検査行列Hの361(=1+360×(2−1))列目において、行番号が、1,122,1516,3448,2880,1407,1847,3799,3529,373,971,4358,3108の行の要素が1であることを示している。
以上のように、検査行列初期値テーブルは、検査行列Hの情報行列HAの1の要素の位置を360列ごとに表す。
検査行列Hの1+360×(i-1)列目以外の列、つまり、2+360×(i-1)列目から、360×i列目までの各列は、検査行列初期値テーブルによって定まる1+360×(i-1)列目の1の要素を、パリティ長Mに従って下方向(列の下方向)に、周期的にサイクリックシフトして配置したものになっている。
すなわち、例えば、2+360×(i-1)列目は、1+360×(i-1)列目を、M/360(=q)だけ下方向にサイクリックシフトしたものとなっており、次の3+360×(i-1)列目は、1+360×(i-1)列目を、2×M/360(=2×q)だけ下方向にサイクリックシフトしたもの(2+360×(i-1)列目を、M/360(=q)だけ下方向にサイクリックシフトしたもの)となっている。
いま、検査行列初期値テーブルのi行目(上からi番目)のj列目(左からj番目)の数値を、hi,jと表すとともに、検査行列Hのw列目の、j個目の1の要素の行番号を、Hw-jと表すこととすると、検査行列Hの1+360×(i-1)列目以外の列であるw列目の、1の要素の行番号Hw-jは、次式で求めることができる。
Hw-j=mod{hi,j+mod((w-1),P)×q,M)
ここで、mod(x,y)はxをyで割った余りを意味する。
また、Pは、上述した巡回構造の単位の列数であり、例えば、DVB-S.2の規格では、360である。さらに、qは、パリティ長Mを、巡回構造の単位の列数P(=360)で除算することにより得られる値M/360である。
LDPC符号化部21は、検査行列初期値テーブルによって、検査行列Hの1+360×(i-1)列目の1の要素の行番号を特定する。
さらに、LDPC符号化部21は、検査行列Hの1+360×(i-1)列目以外の列であるw列目の、1の要素の行番号Hw-jを求め、以上により得られた行番号の要素を1とする検査行列Hを生成する。
次に、送信装置11におけるデマルチプレクサ25の入れ替え部32による入れ替え処理でのLDPC符号の符号ビットの入れ替え方、すなわち、LDPC符号の符号ビットと、シンボルを表すシンボルビットとの割り当てパターン(以下、ビット割り当てパターンともいう)のバリエーションについて説明する。
デマルチプレクサ25では、LDPC符号の符号ビットが、カラム方向×ロウ方向が(N/(mb))×(mb)ビットのメモリ31のカラム方向に書き込まれ、その後、mbビット単位でロウ方向に読み出される。さらに、デマルチプレクサ25では、入れ替え部32において、メモリ31のロウ方向に読み出されるmbビットの符号ビットが入れ替えられ、入れ替え後の符号ビットが、(連続する)b個のシンボルのmbビットのシンボルビットとされる。
すなわち、入れ替え部32は、メモリ31のロウ方向に読み出されるmbビットの符号ビットの最上位ビットからi+1ビット目を、符号ビットbiとするとともに、(連続する)b個のシンボルのmbビットのシンボルビットの最上位ビットからi+1ビット目を、シンボルビットyiとして、所定のビット割り当てパターンに従い、mbビットの符号ビットb0ないしbmb-1を入れ替える。
図84は、LDPC符号が、符号長Nが64800ビットで、符号化率が5/6又は9/10のLDPC符号であり、さらに、変調方式が4096QAMで、倍数bが1である場合に採用することができるビット割り当てパターンの例を示している。
LDPC符号が、符号長Nが64800ビットで、符号化率が5/6又は9/10のLDPC符号であり、さらに、変調方式が4096QAMで、倍数bが1である場合、デマルチプレクサ25では、カラム方向×ロウ方向が(64800/(12×1))×(12×1)ビットのメモリ31に書き込まれた符号ビットが、ロウ方向に、12×1(=mb)ビット単位で読み出され、入れ替え部32に供給される。
入れ替え部32は、メモリ31から読み出される12×1(=mb)ビットの符号ビットb0ないしb11を、図84に示すように、1(=b)個のシンボルの12×1(=mb)ビットのシンボルビットy0ないしy11に割り当てるように、12×1(=mb)ビットの符号ビットb0ないしb11を入れ替える。
すなわち、図84によれば、入れ替え部32は、符号長Nが64800ビットのLDPC符号のうちの、符号化率が5/6のLDPC符号、及び、符号化率が9/10のLDPC符号については、いずれのLDPC符号についても、
符号ビットb0を、シンボルビットy8に、
符号ビットb1を、シンボルビットy0に、
符号ビットb2を、シンボルビットy6に、
符号ビットb3を、シンボルビットy1に、
符号ビットb4を、シンボルビットy4に、
符号ビットb5を、シンボルビットy5に、
符号ビットb6を、シンボルビットy2に、
符号ビットb7を、シンボルビットy3に、
符号ビットb8を、シンボルビットy7に、
符号ビットb9を、シンボルビットy10に、
符号ビットb10を、シンボルビットy11に、
符号ビットb11を、シンボルビットy9に、
それぞれ割り当てる入れ替えを行う。
図85は、LDPC符号が、符号長Nが64800ビットで、符号化率が5/6又は9/10のLDPC符号であり、さらに、変調方式が4096QAMで、倍数bが2である場合に採用することができるビット割り当てパターンの例を示している。
LDPC符号が、符号長Nが64800ビットで、符号化率が5/6又は9/10のLDPC符号であり、さらに、変調方式が4096QAMで、倍数bが2である場合、デマルチプレクサ25では、カラム方向×ロウ方向が(64800/(12×2))×(12×2)ビットのメモリ31に書き込まれた符号ビットが、ロウ方向に、12×2(=mb)ビット単位で読み出され、入れ替え部32に供給される。
入れ替え部32は、メモリ31から読み出される12×2(=mb)ビットの符号ビットb0ないしb23を、図85に示すように、連続する2(=b)個のシンボルの12×2(=mb)ビットのシンボルビットy0ないしy23に割り当てるように、12×2(=mb)ビットの符号ビットb0ないしb23を入れ替える。
すなわち、図85によれば、入れ替え部32は、符号長Nが64800ビットのLDPC符号のうちの、符号化率が5/6のLDPC符号、及び、符号化率が9/10のLDPC符号については、いずれのLDPC符号についても、
符号ビットb0を、シンボルビットy8に、
符号ビットb2を、シンボルビットy0に、
符号ビットb4を、シンボルビットy6に、
符号ビットb6を、シンボルビットy1に、
符号ビットb8を、シンボルビットy4に、
符号ビットb10を、シンボルビットy5に、
符号ビットb12を、シンボルビットy2に、
符号ビットb14を、シンボルビットy3に、
符号ビットb16を、シンボルビットy7に、
符号ビットb18を、シンボルビットy10に、
符号ビットb20を、シンボルビットy11に、
符号ビットb22を、シンボルビットy9に、
符号ビットb1を、シンボルビットy20に、
符号ビットb3を、シンボルビットy12に、
符号ビットb5を、シンボルビットy18に、
符号ビットb7を、シンボルビットy13に、
符号ビットb9を、シンボルビットy16に、
符号ビットb11を、シンボルビットy17に、
符号ビットb13を、シンボルビットy14に、
符号ビットb15を、シンボルビットy15に、
符号ビットb17を、シンボルビットy19に、
符号ビットb19を、シンボルビットy22に、
符号ビットb21を、シンボルビットy23に、
符号ビットb23を、シンボルビットy21に、
それぞれ割り当てる入れ替えを行う。
ここで、図85のビット割り当てパターンは、倍数bが1である場合の図84のビット割り当てパターンを、そのまま利用している。すなわち、図85において、符号ビットb0,b2,・・・,b22のシンボルビットyiへの割り当て方、及び、符号ビットb1,b3,・・・,b23のシンボルビットyiへの割り当て方は、いずれも、図84の符号ビットb0ないしb11のシンボルビットyiへの割り当て方と同様になっている。
図86は、変調方式が1024QAMであり、かつ、LDPC符号が、符号長Nが16200ビットで、符号化率が3/4,5/6、又は8/9のLDPC符号であり、倍数bが2である場合と、LDPC符号が、符号長Nが64800ビットで、符号長が3/4,5/6、又は9/10のLDPC符号であり、倍数bが2である場合に採用することができるビット割り当てパターンの例を示している。
LDPC符号が、符号長Nが16200ビットで、符号化率が3/4,5/6、又は8/9のLDPC符号であり、さらに、変調方式が1024QAMで、倍数bが2である場合、デマルチプレクサ25では、カラム方向×ロウ方向が(16200/(10×2))×(10×2)ビットのメモリ31に書き込まれた符号ビットが、ロウ方向に、10×2(=mb)ビット単位で読み出され、入れ替え部32に供給される。
また、LDPC符号が、符号長Nが64800ビットで、符号化率が3/4,5/6、又は9/10のLDPC符号であり、さらに、変調方式が1024QAMで、倍数bが2である場合、デマルチプレクサ25では、カラム方向×ロウ方向が(64800/(10×2))×(10×2)ビットのメモリ31に書き込まれた符号ビットが、ロウ方向に、10×2(=mb)ビット単位で読み出され、入れ替え部32に供給される。
入れ替え部32は、メモリ31から読み出される10×2(=mb)ビットの符号ビットb0ないしb19を、図86に示すように、連続する2(=b)個のシンボルの10×2(=mb)ビットのシンボルビットy0ないしy19に割り当てるように、10×2(=mb)ビットの符号ビットb0ないしb19を入れ替える。
すなわち、図86によれば、入れ替え部32は、符号長Nが16200ビットのLDPC符号のうちの、符号化率が3/4のLDPC符号、符号化率が5/6のLDPC符号、及び、符号化率が8/9のLDPC符号、並びに、符号長Nが64800ビットのLDPC符号のうちの、符号化率が3/4のLDPC符号、符号化率が5/6のLDPC符号、及び、符号化率が9/10のLDPC符号については、いずれのLDPC符号についても、
符号ビットb0を、シンボルビットy8に、
符号ビットb1を、シンボルビットy3に、
符号ビットb2を、シンボルビットy7に、
符号ビットb3を、シンボルビットy10に、
符号ビットb4を、シンボルビットy19に、
符号ビットb5を、シンボルビットy4に、
符号ビットb6を、シンボルビットy9に、
符号ビットb7を、シンボルビットy5に、
符号ビットb8を、シンボルビットy17に、
符号ビットb9を、シンボルビットy6に、
符号ビットb10を、シンボルビットy14に、
符号ビットb11を、シンボルビットy11に、
符号ビットb12を、シンボルビットy2に、
符号ビットb13を、シンボルビットy18に、
符号ビットb14を、シンボルビットy16に、
符号ビットb15を、シンボルビットy15に、
符号ビットb16を、シンボルビットy0に、
符号ビットb17を、シンボルビットy1に、
符号ビットb18を、シンボルビットy13に、
符号ビットb19を、シンボルビットy12に、
それぞれ割り当てる入れ替えを行う。
図87は、変調方式が4096QAMであり、かつ、LDPC符号が、符号長Nが16200ビットで、符号化率が5/6又は8/9のLDPC符号であり、倍数bが2である場合と、LDPC符号が、符号長Nが64800ビットで、符号長が5/6又は9/10のLDPC符号であり、倍数bが2である場合に採用することができるビット割り当てパターンの例を示している。
LDPC符号が、符号長Nが16200ビットで、符号化率が5/6又は8/9のLDPC符号であり、さらに、変調方式が4096QAMで、倍数bが2である場合、デマルチプレクサ25では、カラム方向×ロウ方向が(16200/(12×2))×(12×2)ビットのメモリ31に書き込まれた符号ビットが、ロウ方向に、12×2(=mb)ビット単位で読み出され、入れ替え部32に供給される。
また、LDPC符号が、符号長Nが64800ビットで、符号化率が5/6又は9/10のLDPC符号であり、さらに、変調方式が4096QAMで、倍数bが2である場合、デマルチプレクサ25では、カラム方向×ロウ方向が(64800/(12×2))×(12×2)ビットのメモリ31に書き込まれた符号ビットが、ロウ方向に、12×2(=mb)ビット単位で読み出され、入れ替え部32に供給される。
入れ替え部32は、メモリ31から読み出される12×2(=mb)ビットの符号ビットb0ないしb23を、図87に示すように、連続する2(=b)個のシンボルの12×2(=mb)ビットのシンボルビットy0ないしy23に割り当てるように、12×2(=mb)ビットの符号ビットb0ないしb23を入れ替える。
すなわち、図87によれば、入れ替え部32は、符号長Nが16200ビットのLDPC符号のうちの、符号化率が5/6のLDPC符号、及び、符号化率が8/9のLDPC符号、並びに、符号長Nが64800ビットのLDPC符号のうちの、符号化率が5/6のLDPC符号、及び、符号化率が9/10のLDPC符号については、いずれのLDPC符号についても、
符号ビットb0を、シンボルビットy10に、
符号ビットb1を、シンボルビットy15に、
符号ビットb2を、シンボルビットy4に、
符号ビットb3を、シンボルビットy19に、
符号ビットb4を、シンボルビットy21に、
符号ビットb5を、シンボルビットy16に、
符号ビットb6を、シンボルビットy23に、
符号ビットb7を、シンボルビットy18に、
符号ビットb8を、シンボルビットy11に、
符号ビットb9を、シンボルビットy14に、
符号ビットb10を、シンボルビットy22に、
符号ビットb11を、シンボルビットy5に、
符号ビットb12を、シンボルビットy6に、
符号ビットb13を、シンボルビットy17に、
符号ビットb14を、シンボルビットy13に、
符号ビットb15を、シンボルビットy20に、
符号ビットb16を、シンボルビットy1に、
符号ビットb17を、シンボルビットy3に、
符号ビットb18を、シンボルビットy9に、
符号ビットb19を、シンボルビットy2に、
符号ビットb20を、シンボルビットy7に、
符号ビットb21を、シンボルビットy8に、
符号ビットb22を、シンボルビットy12に、
符号ビットb23を、シンボルビットy0に、
それぞれ割り当てる入れ替えを行う。
図84ないし図87に示したビット割り当てパターンによれば、複数種類のLDPC符号について、同一のビット割り当てパターンを採用することができ、しかも、その複数種類のLDPC符号のいずれについても、エラーに対する耐性を所望の性能とすることができる。
すなわち、図88ないし図91は、図84ないし図87のビット割り当てパターンに従った入れ替え処理を行った場合のBER(Bit Error Rate)のシミュレーションの結果を示している。
なお、図88ないし図91において、横軸は、Es/N0(1シンボルあたりの信号電力対雑音電力比)を表し、縦軸は、BERを表す。
また、実線が、入れ替え処理を行った場合のBERを表し、一点鎖線が、入れ替え処理を行わない場合のBERを表す。
図88は、符号長Nが64800で、符号化率が5/6及び9/10それぞれのLDPC符号について、変調方式として、4096QAMを採用し、倍数bを1として、図84のビット割り当てパターンに従った入れ替え処理を行った場合のBERを示している。
図89は、符号長Nが64800で、符号化率が5/6及び9/10それぞれのLDPC符号について、変調方式として、4096QAMを採用し、倍数bを2として、図85のビット割り当てパターンに従った入れ替え処理を行った場合のBERを示している。
なお、図88及び図89において、三角形の印を付してあるグラフが、符号化率が5/6のLDPC符号についてのBERを表し、アスタリスク(星印)を付してあるグラフが、符号化率が9/10のLDPC符号についてのBERを表す。
図90は、符号長Nが16200で、符号化率が3/4,5/6、及び8/9それぞれのLDPC符号と、符号長Nが64800で、符号化率が3/4,5/6、及び9/10それぞれのLDPC符号とについて、変調方式として、1024QAMを採用し、倍数bを2として、図86のビット割り当てパターンに従った入れ替え処理を行った場合のBERを示している。
なお、図90において、アスタリスクを付してあるグラフが、符号長Nが64800で、符号化率が9/10のLDPC符号についてのBERを表し、上向きの三角形の印を付してあるグラフが、符号長Nが64800で、符号化率が5/6のLDPC符号についてのBERを表す。また、正方形の印を付してあるグラフが、符号長Nが64800で、符号化率が3/4のLDPC符号についてのBERを表す。
さらに、図90において、丸印を付してあるグラフが、符号長Nが16200で、符号化率が8/9のLDPC符号についてのBERを表し、下向きの三角形の印を付してあるグラフが、符号長Nが16200で、符号化率が5/6のLDPC符号についてのBERを表す。また、プラスの印を付してあるグラフが、符号長Nが16200で、符号化率が3/4のLDPC符号についてのBERを表す。
図91は、符号長Nが16200で、符号化率が5/6及び8/9それぞれのLDPC符号と、符号長Nが64800で、符号化率が5/6及び9/10それぞれのLDPC符号とについて、変調方式として、4096QAMを採用し、倍数bを2として、図87のビット割り当てパターンに従った入れ替え処理を行った場合のBERを示している。
なお、図91において、アスタリスクを付してあるグラフが、符号長Nが64800で、符号化率が9/10のLDPC符号についてのBERを表し、上向きの三角形の印を付してあるグラフが、符号長Nが64800で、符号化率が5/6のLDPC符号についてのBERを表す。
また、図91において、丸印を付してあるグラフが、符号長Nが16200で、符号化率が8/9のLDPC符号についてのBERを表し、下向きの三角形の印を付してあるグラフが、符号長Nが16200で、符号化率が5/6のLDPC符号についてのBERを表す。
図88ないし図91によれば、複数種類のLDPC符号について、同一のビット割り当てパターンを採用することができ、しかも、同一のビット割り当てパターンを採用した複数種類のLDPC符号のいずれについても、エラーに対する耐性を所望の性能とすることができることが分かる。
すなわち、符号長や符号化率が異なる複数種類のLDPC符号それぞれについて、そのLDPC符号に専用のビット割り当てパターンを採用する場合には、エラーに対する耐性を極めて高性能にすることができるが、異なる種類のLDPC符号ごとに、ビット割り当てパターンの変更が必要になる。
一方、図84ないし図87のビット割り当てパターンによれば、符号長や符号化率が異なる複数種類のLDPC符号それぞれについて、同一のビット割り当てパターンを採用することができ、複数種類のLDPC符号それぞれについて、そのLDPC符号に専用のビット割り当てパターンを採用する場合のように、異なる種類のLDPC符号ごとに、ビット割り当てパターンの変更をする必要がなくなる。
さらに、図84ないし図87のビット割り当てパターンによれば、複数種類のLDPC符号それぞれについて、そのLDPC符号に専用のビット割り当てパターンを採用する場合には多少及ばないものの、それでも、エラーに対する耐性を高性能にすることができる。
すなわち、例えば、変調方式が4096QAMである場合には、符号長Nが64800で、符号化率が5/6及び9/10それぞれのLDPC符号については、いずれのLDPC符号についても、図84又は図85の、同一のビット割り当てパターンを採用することができる。そして、このように、同一のビット割り当てパターンを採用しても、エラーに対する耐性を高性能にすることができる。
さらに、例えば、変調方式が1024QAMである場合には、符号長Nが16200で、符号化率が3/4,5/6、及び8/9それぞれのLDPC符号と、符号長Nが64800で、符号化率が3/4,5/6、及び9/10それぞれのLDPC符号とについては、いずれのLDPC符号についても、図86の、同一のビット割り当てパターンを採用することができる。そして、このように、同一のビット割り当てパターンを採用しても、エラーに対する耐性を高性能にすることができる。
また、例えば、変調方式が4096QAMである場合には、符号長Nが16200で、符号化率が5/6及び8/9それぞれのLDPC符号と、符号長Nが64800で、符号化率が5/6及び9/10それぞれのLDPC符号とについては、いずれのLDPC符号についても、図87の、同一のビット割り当てパターンを採用することができる。そして、このように、同一のビット割り当てパターンを採用しても、エラーに対する耐性を高性能にすることができる。
ビット割り当てパターンのバリエーションについて、さらに説明する。
図92は、LDPC符号が、符号長Nが16200又は64800ビットで、符号化率が、例えば、図37ないし図82に示した検査行列初期値テーブルから生成される検査行列Hで定義されるLDPC符号の符号化率のうちの3/5以外のLDPC符号であり、さらに、変調方式がQPSKで、倍数bが1である場合に採用することができるビット割り当てパターンの例を示している。
LDPC符号が、符号長Nが16200又は64800ビットで、符号化率が3/5以外のLDPC符号であり、さらに、変調方式がQPSKで、倍数bが1である場合、デマルチプレクサ25では、カラム方向×ロウ方向が(N/(2×1))×(2×1)ビットのメモリ31に書き込まれた符号ビットが、ロウ方向に、2×1(=mb)ビット単位で読み出され、入れ替え部32に供給される。
入れ替え部32は、メモリ31から読み出される2×1(=mb)ビットの符号ビットb0及びb1を、図92に示すように、1(=b)個のシンボルの2×1(=mb)ビットのシンボルビットy0及びy1に割り当てるように、2×1(=mb)ビットの符号ビットb0及びb1を入れ替える。
すなわち、図92によれば、入れ替え部32は、
符号ビットb0を、シンボルビットy0に、
符号ビットb1を、シンボルビットy1に、
それぞれ割り当てる入れ替えを行う。
なお、この場合、入れ替えは行われず、符号ビットb0及びb1が、それぞれ、そのまま、シンボルビットy0及びy1とされると考えることもできる。
図93は、LDPC符号が、符号長Nが16200又は64800ビットで、符号化率が3/5以外のLDPC符号であり、さらに、変調方式が16QAMで、倍数bが2である場合に採用することができるビット割り当てパターンの例を示している。
LDPC符号が、符号長Nが16200又は64800ビットで、符号化率が3/5以外のLDPC符号であり、さらに、変調方式が16QAMで、倍数bが2である場合、デマルチプレクサ25では、カラム方向×ロウ方向が(N/(4×2))×(4×2)ビットのメモリ31に書き込まれた符号ビットが、ロウ方向に、4×2(=mb)ビット単位で読み出され、入れ替え部32に供給される。
入れ替え部32は、メモリ31から読み出される4×2(=mb)ビットの符号ビットb0ないしb7を、図93に示すように、連続する2(=b)個のシンボルの4×2(=mb)ビットのシンボルビットy0ないしy7に割り当てるように、4×2(=mb)ビットの符号ビットb0ないしb7を入れ替える。
すなわち、図93によれば、入れ替え部32は、
符号ビットb0を、シンボルビットy7に、
符号ビットb1を、シンボルビットy1に、
符号ビットb2を、シンボルビットy4に、
符号ビットb3を、シンボルビットy2に、
符号ビットb4を、シンボルビットy5に、
符号ビットb5を、シンボルビットy3に、
符号ビットb6を、シンボルビットy6に、
符号ビットb7を、シンボルビットy0に、
それぞれ割り当てる入れ替えを行う。
図94は、変調方式が64QAMであり、かつ、LDPC符号が、符号長Nが16200又は64800ビットで、符号化率が3/5以外のLDPC符号であり、倍数bが2である場合に採用することができるビット割り当てパターンの例を示している。
LDPC符号が、符号長Nが16200又は64800ビットで、符号化率が3/5以外のLDPC符号であり、さらに、変調方式が64QAMで、倍数bが2である場合、デマルチプレクサ25では、カラム方向×ロウ方向が(N/(6×2))×(6×2)ビットのメモリ31に書き込まれた符号ビットが、ロウ方向に、6×2(=mb)ビット単位で読み出され、入れ替え部32に供給される。
入れ替え部32は、メモリ31から読み出される6×2(=mb)ビットの符号ビットb0ないしb11を、図94に示すように、連続する2(=b)個のシンボルの6×2(=mb)ビットのシンボルビットy0ないしy11に割り当てるように、6×2(=mb)ビットの符号ビットb0ないしb11を入れ替える。
すなわち、図94によれば、入れ替え部32は、
符号ビットb0を、シンボルビットy11に、
符号ビットb1を、シンボルビットy7に、
符号ビットb2を、シンボルビットy3に、
符号ビットb3を、シンボルビットy10に、
符号ビットb4を、シンボルビットy6に、
符号ビットb5を、シンボルビットy2に、
符号ビットb6を、シンボルビットy9に、
符号ビットb7を、シンボルビットy5に、
符号ビットb8を、シンボルビットy1に、
符号ビットb9を、シンボルビットy8に、
符号ビットb10を、シンボルビットy4に、
符号ビットb11を、シンボルビットy0に、
それぞれ割り当てる入れ替えを行う。
図95は、変調方式が256QAMであり、かつ、LDPC符号が、符号長Nが64800ビットで、符号化率が3/5以外のLDPC符号であり、倍数bが2である場合に採用することができるビット割り当てパターンの例を示している。
LDPC符号が、符号長Nが64800ビットで、符号化率が3/5以外のLDPC符号であり、さらに、変調方式が256QAMで、倍数bが2である場合、デマルチプレクサ25では、カラム方向×ロウ方向が(64800/(8×2))×(8×2)ビットのメモリ31に書き込まれた符号ビットが、ロウ方向に、8×2(=mb)ビット単位で読み出され、入れ替え部32に供給される。
入れ替え部32は、メモリ31から読み出される8×2(=mb)ビットの符号ビットb0ないしb15を、図95に示すように、連続する2(=b)個のシンボルの8×2(=mb)ビットのシンボルビットy0ないしy15に割り当てるように、8×2(=mb)ビットの符号ビットb0ないしb15を入れ替える。
すなわち、図95によれば、入れ替え部32は、
符号ビットb0を、シンボルビットy15に、
符号ビットb1を、シンボルビットy1に、
符号ビットb2を、シンボルビットy13に、
符号ビットb3を、シンボルビットy3に、
符号ビットb4を、シンボルビットy8に、
符号ビットb5を、シンボルビットy11に、
符号ビットb6を、シンボルビットy9に、
符号ビットb7を、シンボルビットy5に、
符号ビットb8を、シンボルビットy10に、
符号ビットb9を、シンボルビットy6に、
符号ビットb10を、シンボルビットy4に、
符号ビットb11を、シンボルビットy7に、
符号ビットb12を、シンボルビットy12に、
符号ビットb13を、シンボルビットy2に、
符号ビットb14を、シンボルビットy14に、
符号ビットb15を、シンボルビットy0に、
それぞれ割り当てる入れ替えを行う。
図96は、変調方式が256QAMであり、かつ、LDPC符号が、符号長Nが16200ビットで、符号化率が3/5以外のLDPC符号であり、倍数bが1である場合に採用することができるビット割り当てパターンの例を示している。
LDPC符号が、符号長Nが16200ビットで、符号化率が3/5以外のLDPC符号であり、さらに、変調方式が256QAMで、倍数bが1である場合、デマルチプレクサ25では、カラム方向×ロウ方向が(16200/(8×1))×(8×1)ビットのメモリ31に書き込まれた符号ビットが、ロウ方向に、8×1(=mb)ビット単位で読み出され、入れ替え部32に供給される。
入れ替え部32は、メモリ31から読み出される8×1(=mb)ビットの符号ビットb0ないしb7を、図96に示すように、1(=b)個のシンボルの8×1(=mb)ビットのシンボルビットy0ないしy7に割り当てるように、8×1(=mb)ビットの符号ビットb0ないしb7を入れ替える。
すなわち、図96によれば、入れ替え部32は、
符号ビットb0を、シンボルビットy7に、
符号ビットb1を、シンボルビットy3に、
符号ビットb2を、シンボルビットy1に、
符号ビットb3を、シンボルビットy5に、
符号ビットb4を、シンボルビットy2に、
符号ビットb5を、シンボルビットy6に、
符号ビットb6を、シンボルビットy4に、
符号ビットb7を、シンボルビットy0に、
それぞれ割り当てる入れ替えを行う。
図97は、LDPC符号が、符号長Nが16200又は64800ビットで、符号化率が3/5のLDPC符号であり、さらに、変調方式がQPSKで、倍数bが1である場合に採用することができるビット割り当てパターンの例を示している。
LDPC符号が、符号長Nが16200又は64800ビットで、符号化率が3/5のLDPC符号であり、さらに、変調方式がQPSKで、倍数bが1である場合、デマルチプレクサ25では、カラム方向×ロウ方向が(N/(2×1))×(2×1)ビットのメモリ31に書き込まれた符号ビットが、ロウ方向に、2×1(=mb)ビット単位で読み出され、入れ替え部32に供給される。
入れ替え部32は、メモリ31から読み出される2×1(=mb)ビットの符号ビットb0及びb1を、図97に示すように、1(=b)個のシンボルの2×1(=mb)ビットのシンボルビットy0及びy1に割り当てるように、2×1(=mb)ビットの符号ビットb0及びb1を入れ替える。
すなわち、図97によれば、入れ替え部32は、
符号ビットb0を、シンボルビットy0に、
符号ビットb1を、シンボルビットy1に、
それぞれ割り当てる入れ替えを行う。
なお、この場合、入れ替えは行われず、符号ビットb0及びb1が、それぞれ、そのまま、シンボルビットy0及びy1とされると考えることもできる。
図98は、LDPC符号が、符号長Nが64800ビットで、符号化率が3/5のLDPC符号であり、さらに、変調方式が16QAMで、倍数bが2である場合に採用することができるビット割り当てパターンの例を示している。
LDPC符号が、符号長Nが64800ビットで、符号化率が3/5のLDPC符号であり、さらに、変調方式が16QAMで、倍数bが2である場合、デマルチプレクサ25では、カラム方向×ロウ方向が(64800/(4×2))×(4×2)ビットのメモリ31に書き込まれた符号ビットが、ロウ方向に、4×2(=mb)ビット単位で読み出され、入れ替え部32に供給される。
入れ替え部32は、メモリ31から読み出される4×2(=mb)ビットの符号ビットb0ないしb7を、図98に示すように、連続する2(=b)個のシンボルの4×2(=mb)ビットのシンボルビットy0ないしy7に割り当てるように、4×2(=mb)ビットの符号ビットb0ないしb7を入れ替える。
すなわち、図98によれば、入れ替え部32は、
符号ビットb0を、シンボルビットy0に、
符号ビットb1を、シンボルビットy5に、
符号ビットb2を、シンボルビットy1に、
符号ビットb3を、シンボルビットy2に、
符号ビットb4を、シンボルビットy4に、
符号ビットb5を、シンボルビットy7に、
符号ビットb6を、シンボルビットy3に、
符号ビットb7を、シンボルビットy6に、
それぞれ割り当てる入れ替えを行う。
図99は、LDPC符号が、符号長Nが16200ビットで、符号化率が3/5のLDPC符号であり、さらに、変調方式が16QAMで、倍数bが2である場合に採用することができるビット割り当てパターンの例を示している。
LDPC符号が、符号長Nが16200ビットで、符号化率が3/5のLDPC符号であり、さらに、変調方式が16QAMで、倍数bが2である場合、デマルチプレクサ25では、カラム方向×ロウ方向が(16200/(4×2))×(4×2)ビットのメモリ31に書き込まれた符号ビットが、ロウ方向に、4×2(=mb)ビット単位で読み出され、入れ替え部32に供給される。
入れ替え部32は、メモリ31から読み出される4×2(=mb)ビットの符号ビットb0ないしb7を、図99に示すように、連続する2(=b)個のシンボルの4×2(=mb)ビットのシンボルビットy0ないしy7に割り当てるように、4×2(=mb)ビットの符号ビットb0ないしb7を入れ替える。
すなわち、図99によれば、入れ替え部32は、
符号ビットb0を、シンボルビットy7に、
符号ビットb1を、シンボルビットy1に、
符号ビットb2を、シンボルビットy4に、
符号ビットb3を、シンボルビットy2に、
符号ビットb4を、シンボルビットy5に、
符号ビットb5を、シンボルビットy3に、
符号ビットb6を、シンボルビットy6に、
符号ビットb7を、シンボルビットy0に、
それぞれ割り当てる入れ替えを行う。
図100は、変調方式が64QAMであり、かつ、LDPC符号が、符号長Nが64800ビットで、符号化率が3/5のLDPC符号であり、倍数bが2である場合に採用することができるビット割り当てパターンの例を示している。
LDPC符号が、符号長Nが64800ビットで、符号化率が3/5のLDPC符号であり、さらに、変調方式が64QAMで、倍数bが2である場合、デマルチプレクサ25では、カラム方向×ロウ方向が(64800/(6×2))×(6×2)ビットのメモリ31に書き込まれた符号ビットが、ロウ方向に、6×2(=mb)ビット単位で読み出され、入れ替え部32に供給される。
入れ替え部32は、メモリ31から読み出される6×2(=mb)ビットの符号ビットb0ないしb11を、図100に示すように、連続する2(=b)個のシンボルの6×2(=mb)ビットのシンボルビットy0ないしy11に割り当てるように、6×2(=mb)ビットの符号ビットb0ないしb11を入れ替える。
すなわち、図100によれば、入れ替え部32は、
符号ビットb0を、シンボルビットy2に、
符号ビットb1を、シンボルビットy7に、
符号ビットb2を、シンボルビットy6に、
符号ビットb3を、シンボルビットy9に、
符号ビットb4を、シンボルビットy0に、
符号ビットb5を、シンボルビットy3に、
符号ビットb6を、シンボルビットy1に、
符号ビットb7を、シンボルビットy8に、
符号ビットb8を、シンボルビットy4に、
符号ビットb9を、シンボルビットy11に、
符号ビットb10を、シンボルビットy5に、
符号ビットb11を、シンボルビットy10に、
それぞれ割り当てる入れ替えを行う。
図101は、変調方式が64QAMであり、かつ、LDPC符号が、符号長Nが16200ビットで、符号化率が3/5のLDPC符号であり、倍数bが2である場合に採用することができるビット割り当てパターンの例を示している。
LDPC符号が、符号長Nが16200ビットで、符号化率が3/5のLDPC符号であり、さらに、変調方式が64QAMで、倍数bが2である場合、デマルチプレクサ25では、カラム方向×ロウ方向が(16200/(6×2))×(6×2)ビットのメモリ31に書き込まれた符号ビットが、ロウ方向に、6×2(=mb)ビット単位で読み出され、入れ替え部32に供給される。
入れ替え部32は、メモリ31から読み出される6×2(=mb)ビットの符号ビットb0ないしb11を、図101に示すように、連続する2(=b)個のシンボルの6×2(=mb)ビットのシンボルビットy0ないしy11に割り当てるように、6×2(=mb)ビットの符号ビットb0ないしb11を入れ替える。
すなわち、図101によれば、入れ替え部32は、
符号ビットb0を、シンボルビットy11に、
符号ビットb1を、シンボルビットy7に、
符号ビットb2を、シンボルビットy3に、
符号ビットb3を、シンボルビットy10に、
符号ビットb4を、シンボルビットy6に、
符号ビットb5を、シンボルビットy2に、
符号ビットb6を、シンボルビットy9に、
符号ビットb7を、シンボルビットy5に、
符号ビットb8を、シンボルビットy1に、
符号ビットb9を、シンボルビットy8に、
符号ビットb10を、シンボルビットy4に、
符号ビットb11を、シンボルビットy0に、
それぞれ割り当てる入れ替えを行う。
図102は、変調方式が256QAMであり、かつ、LDPC符号が、符号長Nが64800ビットで、符号化率が3/5のLDPC符号であり、倍数bが2である場合に採用することができるビット割り当てパターンの例を示している。
LDPC符号が、符号長Nが64800ビットで、符号化率が3/5のLDPC符号であり、さらに、変調方式が256QAMで、倍数bが2である場合、デマルチプレクサ25では、カラム方向×ロウ方向が(64800/(8×2))×(8×2)ビットのメモリ31に書き込まれた符号ビットが、ロウ方向に、8×2(=mb)ビット単位で読み出され、入れ替え部32に供給される。
入れ替え部32は、メモリ31から読み出される8×2(=mb)ビットの符号ビットb0ないしb15を、図102に示すように、連続する2(=b)個のシンボルの8×2(=mb)ビットのシンボルビットy0ないしy15に割り当てるように、8×2(=mb)ビットの符号ビットb0ないしb15を入れ替える。
すなわち、図102によれば、入れ替え部32は、
符号ビットb0を、シンボルビットy2に、
符号ビットb1を、シンボルビットy11に、
符号ビットb2を、シンボルビットy3に、
符号ビットb3を、シンボルビットy4に、
符号ビットb4を、シンボルビットy0に、
符号ビットb5を、シンボルビットy9に、
符号ビットb6を、シンボルビットy1に、
符号ビットb7を、シンボルビットy8に、
符号ビットb8を、シンボルビットy10に、
符号ビットb9を、シンボルビットy13に、
符号ビットb10を、シンボルビットy7に、
符号ビットb11を、シンボルビットy14に、
符号ビットb12を、シンボルビットy6に、
符号ビットb13を、シンボルビットy15に、
符号ビットb14を、シンボルビットy5に、
符号ビットb15を、シンボルビットy12に、
それぞれ割り当てる入れ替えを行う。
図103は、変調方式が256QAMであり、かつ、LDPC符号が、符号長Nが16200ビットで、符号化率が3/5のLDPC符号であり、倍数bが1である場合に採用することができるビット割り当てパターンの例を示している。
LDPC符号が、符号長Nが16200ビットで、符号化率が3/5のLDPC符号であり、さらに、変調方式が256QAMで、倍数bが1である場合、デマルチプレクサ25では、カラム方向×ロウ方向が(16200/(8×1))×(8×1)ビットのメモリ31に書き込まれた符号ビットが、ロウ方向に、8×1(=mb)ビット単位で読み出され、入れ替え部32に供給される。
入れ替え部32は、メモリ31から読み出される8×1(=mb)ビットの符号ビットb0ないしb7を、図103に示すように、1(=b)個のシンボルの8×1(=mb)ビットのシンボルビットy0ないしy7に割り当てるように、8×1(=mb)ビットの符号ビットb0ないしb7を入れ替える。
すなわち、図103によれば、入れ替え部32は、
符号ビットb0を、シンボルビットy7に、
符号ビットb1を、シンボルビットy3に、
符号ビットb2を、シンボルビットy1に、
符号ビットb3を、シンボルビットy5に、
符号ビットb4を、シンボルビットy2に、
符号ビットb5を、シンボルビットy6に、
符号ビットb6を、シンボルビットy4に、
符号ビットb7を、シンボルビットy0に、
それぞれ割り当てる入れ替えを行う。
次に、受信装置12を構成するデインターリーバ53について説明する。
図104は、デインターリーバ53を構成するマルチプレクサ54の処理を説明する図である。
すなわち、図104のAは、マルチプレクサ54の機能的な構成例を示している。
マルチプレクサ54は、逆入れ替え部1001、及びメモリ1002から構成される。
マルチプレクサ54は、前段のデマッピング部52から供給されるシンボルのシンボルビットを対象として、送信装置11のデマルチプレクサ25が行う入れ替え処理に対応する逆入れ替え処理(入れ替え処理の逆の処理)、すなわち、入れ替え処理によって入れ替えられたLDPC符号の符号ビット(シンボルビット)の位置を元の位置に戻す逆入れ替え処理を行い、その結果得られるLDPC符号を、後段のカラムツイストデインターリーバ55に供給する。
すなわち、マルチプレクサ54において、逆入れ替え部1001には、(連続する)b個のシンボルの単位で、そのb個のシンボルのmbビットのシンボルビットy0,y1,・・・,ymb-1が供給される。
逆入れ替え部1001は、mbビットのシンボルビットy0ないしymb-1を、元のmbビットの符号ビットb0,b1,・・・,bmb-1の並び(送信装置11側のデマルチプレクサ25を構成する入れ替え部32での入れ替えが行われる前の符号ビットb0ないしbmb-1の並び)に戻す逆入れ替えを行い、その結果得られるmbビットの符号ビットb0ないしbmb-1を出力する。
メモリ1002は、送信装置11側のデマルチプレクサ25を構成するメモリ31と同様に、ロウ(row)(横)方向にmbビットを記憶するとともに、カラム(column)(縦)方向にN/(mb)ビットを記憶する記憶容量を有する。すなわち、メモリ1002は、N/(mb)ビットを記憶するmb個のカラムから構成される。
但し、メモリ1002では、送信装置11のデマルチプレクサ25のメモリ31からの符号ビットの読み出しが行われる方向に、逆入れ替え部1001が出力するLDPC符号の符号ビットの書き込みが行われ、メモリ31への符号ビットの書き込みが行われる方向に、メモリ1002に書き込まれた符号ビットの読み出しが行われる。
すなわち、受信装置12のマルチプレクサ54では、図104のAに示すように、逆入れ替え部1001が出力するLDPC符号の符号ビットを、mbビット単位で、ロウ方向に書き込むことが、メモリ1002の1行目から下の行に向かって順次行われる。
そして、1符号長分の符号ビットの書き込みが終了すると、マルチプレクサ54では、メモリ1002から、符号ビットを、カラム方向に読み出して、後段のカラムツイストデインターリーバ55に供給する。
ここで、図104のBは、メモリ1002からの符号ビットの読み出しを示す図である。
マルチプレクサ54では、LDPC符号の符号ビットを、メモリ1002を構成するカラムの上から下方向(カラム方向)に読み出すことが、左から右方向のカラムに向かって行われる。
次に、図105を参照して、受信装置12におけるデインターリーバ53を構成するカラムツイストデインターリーバ55の処理を説明する。
図105は、マルチプレクサ54のメモリ1002の構成例を示している。
メモリ1002は、カラム(縦)方向にmbビットを記憶するとともに、ロウ(横)方向にN/(mb)ビットを記憶する記憶容量を有し、mb個のカラムから構成される。
カラムツイストデインターリーバ55は、メモリ1002に対して、LDPC符号の符号ビットを、ロウ方向に書き込み、カラム方向に読み出すときの読み出し始めの位置を制御することで、カラムツイストデインターリーブを行う。
すなわち、カラムツイストデインターリーバ55では、複数のカラムそれぞれについて、符号ビットの読み出しを開始する読み出し始めの位置を、適宜変更することで、カラムツイストインターリーブで並び替えられた符号ビットの並びを、元の並びに戻す逆並び替え処理を行う。
ここで、図105は、変調方式が16QAMであり、かつ、倍数bが1である場合の、メモリ1002の構成例を示している。したがって、1シンボルのビット数mは、4ビットであり、また、メモリ1002は、4(=mb)個のカラムで構成される。
カラムツイストデインターリーバ55は、(マルチプレクサ54に代わり、)入れ替え部1001が出力するLDPC符号の符号ビットのロウ方向への書き込みを、メモリ1002の1行目から下の行に向かって順次行う。
そして、1符号長分の符号ビットの書き込みが終了すると、カラムツイストデインターリーバ55は、符号ビットを、メモリ1002の上から下方向(カラム方向)に読み出すことを、左から右方向のカラムに向かって行う。
但し、カラムツイストデインターリーバ55は、送信装置11側のカラムツイストインターリーバ24が符号ビットを書き込む書き始めの位置を、符号ビットの読み出し始めの位置として、メモリ1002からの符号ビットの読み出しを行う。
すなわち、各カラムの先頭(一番上)の位置のアドレスを0として、カラム方向の各位置のアドレスを、昇順の整数で表すこととすると、変調方式が16QAMであり、かつ、倍数bが1である場合には、カラムツイストデインターリーバ55では、最も左のカラムについては、読み出し始めの位置を、アドレスが0の位置とし、(左から)2番目のカラムについては、読み出し始めの位置を、アドレスが2の位置とし、3番目のカラムについては、読み出し始めの位置を、アドレスが4の位置とし、4番目のカラムについては、読み出し始めの位置を、アドレスが7の位置とする。
なお、読み出し始めの位置が、アドレスが0の位置以外の位置のカラムについては、符号ビットの読み出しを、最も下の位置まで行った後は、先頭(アドレスが0の位置)に戻り、読み出し始めの位置の直前の位置までの読み出しが行われる。そして、その後、次(右)のカラムからの読み出しが行われる。
以上のようなカラムツイストデインターリーブを行うことにより、カラムツイストインターリーブで並び替えられた符号ビットの並びが、元の並びに戻される。
次に、図106は、受信装置12の他の構成例を示すブロック図である。
図106において、受信装置12は、送信装置11からの変調信号を受信するデータ処理装置であり、直交復調部51、デマッピング部52、デインターリーバ53、及びLDPC復号部1021から構成される。
直交復調部51は、送信装置11からの変調信号を受信し、直交復調を行って、その結果得られるシンボル(I及びQ軸方向それぞれの値)を、デマッピング部52に供給する。
デマッピング部52は、直交復調部51からのシンボルを、LDPC符号の符号ビットにするデマッピングを行い、デインターリーバ53に供給する。
デインターリーバ53は、マルチプレクサ(MUX)54、カラムツイストデインターリーバ55、及び、パリティデインターリーバ1011から構成され、デマッピング部52からのLDPC符号の符号ビットのデインターリーブを行う。
すなわち、マルチプレクサ54は、デマッピング部52からのLDPC符号を対象として、送信装置11のデマルチプレクサ25が行う入れ替え処理に対応する逆入れ替え処理(入れ替え処理の逆の処理)、すなわち、入れ替え処理によって入れ替えられた符号ビットの位置を元の位置に戻す逆入れ替え処理を行い、その結果得られるLDPC符号を、カラムツイストデインターリーバ55に供給する。
カラムツイストデインターリーバ55は、マルチプレクサ54からのLDPC符号を対象として、送信装置11のカラムツイストインターリーバ24が行う並び替え処理としてのカラムツイストインターリーブに対応するカラムツイストデインターリーブを行う。
カラムツイストデインターリーブの結果得られるLDPC符号は、カラムツイストデインターリーバ55からパリティデインターリーバ1011に供給される。
パリティデインターリーバ1011は、カラムツイストデインターリーバ55でのカラムツイストデインターリーブ後の符号ビットを対象として、送信装置11のパリティインターリーバ23が行うパリティインターリーブに対応するパリティデインターリーブ(パリティインターリーブの逆の処理)、すなわち、パリティインターリーブによって並びが変更されたLDPC符号の符号ビットを、元の並びに戻すパリティデインターリーブを行う。
パリティデインターリーブの結果得られるLDPC符号は、パリティデインターリーバ1011からLDPC復号部1021に供給される。
したがって、図106の受信装置12では、LDPC復号部1021には、逆入れ替え処理、カラムツイストデインターリーブ、及び、パリティデインターリーブが行われたLDPC符号、すなわち、検査行列Hに従ったLDPC符号化によって得られるLDPC符号が供給される。
LDPC復号部1021は、デインターリーバ53からのLDPC符号のLDPC復号を、送信装置11のLDPC符号化部21がLDPC符号化に用いた検査行列Hそのもの、又は、その検査行列Hに対して、パリティインターリーブに相当する列置換を少なくとも行って得られる変換検査行列を用いて行い、その結果得られるデータを、対象データの復号結果として出力する。
ここで、図106の受信装置12では、デインターリーバ53(のパリティデインターリーバ1011)からLDPC復号部1021に対して、検査行列Hに従ったLDPC符号化によって得られるLDPC符号が供給されるため、そのLDPC符号のLDPC復号を、送信装置11のLDPC符号化部21がLDPC符号化に用いた検査行列Hそのものを用いて行う場合には、LDPC復号部1021は、例えば、メッセージ(チェックノードメッセージ、バリバブルノードメッセージ)の演算を1個のノードずつ順次行うフルシリアルデコーディング(full serial decoding)方式によるLDPC復号を行う復号装置や、メッセージの演算をすべてのノードについて同時(並列)に行うフルパラレルデコーディング(full parallel decoding)方式によるLDPC復号を行う復号装置で構成することができる。
また、LDPC復号部1021において、LDPC符号のLDPC復号を、送信装置11のLDPC符号化部21がLDPC符号化に用いた検査行列Hに対して、パリティインターリーブに相当する列置換を少なくとも行って得られる変換検査行列を用いて行う場合には、チェックノード演算、及びバリアブルノード演算を、P(又はPの1以外の約数)個同時に行うアーキテクチャ(architecture)の復号装置であって、変換検査行列を得るための列置換と同様の列置換を、LDPC符号に施すことにより、そのLDPC符号の符号ビットを並び替える受信データ並べ替え部310を有する復号装置で構成することができる。
なお、図106では、説明の便宜のため、逆入れ替え処理を行うマルチプレクサ54、カラムツイストデインターリーブを行うカラムツイストデインターリーバ55、及び、パリティデインターリーブを行うパリティデインターリーバ1011それぞれを、別個に構成するようにしたが、マルチプレクサ54、カラムツイストデインターリーバ55、及び、パリティデインターリーバ1011の2以上は、送信装置11のパリティインターリーバ23、カラムツイストインターリーバ24、及び、デマルチプレクサ25と同様に、一体的に構成することができる。
次に、図107は、受信装置12に適用可能な受信システムの第1の構成例を示すブロック図である。
図107において、受信システムは、取得部1101、伝送路復号処理部1102、及び、情報源復号処理部1103から構成される。
取得部1101は、番組の画像データや音声データ等の対象データを、少なくともLDPC符号化することで得られるLDPC符号を含む信号を、例えば、地上ディジタル放送、衛星ディジタル放送、CATV網、インターネットその他のネットワーク等の、図示せぬ伝送路を介して取得し、伝送路復号処理部1102に供給する。
ここで、取得部1101が取得する信号が、例えば、放送局から、地上波や、衛星波、CATV(Cable Television)網等を介して放送されてくる場合には、取得部1101は、チューナやSTB(Set Top Box)等で構成される。また、取得部1101が取得する信号が、例えば、webサーバから、IPTV(Internet Protocol Television)のようにマルチキャストで送信されてくる場合には、取得部11は、例えば、NIC(Network Interface Card)等のネットワークI/F(Inter face)で構成される。
伝送路復号処理部1102は、取得部1101が伝送路を介して取得した信号に対して、伝送路で生じる誤りを訂正する処理を少なくとも含む伝送路復号処理を施し、その結果得られる信号を、情報源復号処理部1103に供給する。
すなわち、取得部1101が伝送路を介して取得した信号は、伝送路で生じる誤りを訂正するための誤り訂正符号化を、少なくとも行うことで得られた信号であり、伝送路復号処理部1102は、そのような信号に対して、例えば、誤り訂正処理等の伝送路復号処理を施す。
ここで、誤り訂正符号化としては、例えば、LDPC符号化や、リードソロモン符号化等がある。ここでは、誤り訂正符号化として、少なくとも、LDPC符号化が行われている。
また、伝送路復号処理には、変調信号の復調等が含まれることがある。
情報源復号処理部1103は、伝送路復号処理が施された信号に対して、圧縮された情報を元の情報に伸張する処理を少なくとも含む情報源復号処理を施す。
すなわち、取得部1101が伝送路を介して取得した信号には、情報としての画像や音声等のデータ量を少なくするために、情報を圧縮する圧縮符号化が施されていることがあり、その場合、情報源復号処理部1103は、伝送路復号処理が施された信号に対して、圧縮された情報を元の情報に伸張する処理(伸張処理)等の情報源復号処理を施す。
なお、取得部1101が伝送路を介して取得した信号に、圧縮符号化が施されていない場合には、情報源復号処理部1103では、圧縮された情報を元の情報に伸張する処理は行われない。
ここで、伸張処理としては、例えば、MPEGデコード等がある。また、伝送路復号処理には、伸張処理の他、デスクランブル等が含まれることがある。
以上のように構成される受信システムでは、取得部1101において、例えば、画像や音声等のデータに対して、MPEG符号化等の圧縮符号化が施され、さらに、LDPC符号化等の誤り訂正符号化が施された信号が、伝送路を介して取得され、伝送路復号処理部1102に供給される。
伝送路復号処理部1102では、取得部1101からの信号に対して、例えば、直交復調部51や、デマッピング部52、デインターリーバ53、LDPC復号部56(又はLDPC復号部1021)と同様の処理が、伝送路復号処理として施され、その結果得られる信号が、情報源復号処理部1103に供給される。
情報源復号処理部1103では、伝送路復号処理部1102からの信号に対して、MPEGデコード等の情報源復号処理が施され、その結果得られる画像、又は音声が出力される。
以上のような図107の受信システムは、例えば、ディジタル放送としてのテレビジョン放送を受信するテレビチューナ等に適用することができる。
なお、取得部1101、伝送路復号処理部1102、及び、情報源復号処理部1103は、それぞれ、1つの独立した装置(ハードウェア(IC(Integrated Circuit)等))、又はソフトウエアモジュール)として構成することが可能である。
また、取得部1101、伝送路復号処理部1102、及び、情報源復号処理部1103については、取得部1101と伝送路復号処理部1102とのセットや、伝送路復号処理部1102と情報源復号処理部1103とのセット、取得部1101、伝送路復号処理部1102、及び、情報源復号処理部1103のセットを、1つの独立した装置として構成することが可能である。
図108は、受信装置12に適用可能な受信システムの第2の構成例を示すブロック図である。
なお、図中、図107の場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
図108の受信システムは、取得部1101、伝送路復号処理部1102、及び、情報源復号処理部1103を有する点で、図107の場合と共通し、出力部1111が新たに設けられている点で、図107の場合と相違する。
出力部1111は、例えば、画像を表示する表示装置や、音声を出力するスピーカであり、情報源復号処理部1103から出力される信号としての画像や音声等を出力する。すなわち、出力部1111は、画像を表示し、あるいは、音声を出力する。
以上のような図108の受信システムは、例えば、ディジタル放送としてのテレビジョン放送を受信するTV(テレビジョン受像機)や、ラジオ放送を受信するラジオ受信機等に適用することができる。
なお、取得部1101において取得された信号に、圧縮符号化が施されていない場合には、伝送路復号処理部1102が出力する信号が、出力部1111に供給される。
図109は、受信装置12に適用可能な受信システムの第3の構成例を示すブロック図である。
なお、図中、図107の場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
図109の受信システムは、取得部1101、及び、伝送路復号処理部1102を有する点で、図107の場合と共通する。
但し、図109の受信システムは、情報源復号処理部1103が設けられておらず、記録部1121が新たに設けられている点で、図107の場合と相違する。
記録部1121は、伝送路復号処理部1102が出力する信号(例えば、MPEGのTSのTSパケット)を、光ディスクや、ハードディスク(磁気ディスク)、フラッシュメモリ等の記録(記憶)媒体に記録する(記憶させる)。
以上のような図109の受信システムは、テレビジョン放送を録画するレコーダ等に適用することができる。
なお、図109において、受信システムは、情報源復号処理部1103を設けて構成し、情報源復号処理部1103で、情報源復号処理が施された後の信号、すなわち、デコードによって得られる画像や音声を、記録部1121で記録することができる。

Claims (6)

  1. データをインターリーブするデータ処理装置において、
    LDPC(Low Density Parity Check)符号のパリティビットに対応する部分であるパリティ行列が階段構造になっている検査行列に従ったLDPC符号化を行うことにより得られるLDPC符号のパリティビットを、他のパリティビットの位置にインターリーブするパリティインターリーブを行うパリティインターリーブ手段を備え、
    前記LDPC符号のパリティビットのビット数Mは、素数以外の値であり、
    前記パリティビットのビット数Mの1とM以外の約数のうちの2つの約数であり、かつ、積が前記パリティビットのビット数Mとなる2つの約数をP及びqと、
    前記LDPC符号の情報ビットのビット数をKと、
    0以上P未満の整数をxと、
    0以上q未満の整数をyと、
    それぞれするとき、
    前記パリティインターリーブ手段は、前記LDPC符号のK+1ないしK+M番目の符号ビットであるパリティビットのうちの、K+qx+y+1番目の符号ビットを、K+Py+x+1番目の符号ビットの位置にインターリーブする
    ータ処理装置。
  2. 前記LDPC符号が、そのLDPC符号の2ビット以上の符号ビットを1個のシンボルとして送信される場合において、
    前記検査行列の任意の1行にある1に対応する複数の符号ビットが、同一のシンボルに含まれないように、前記パリティインターリーブ後のLDPC符号の符号ビットを並び替える並び替え処理を行う並び替え手段をさらに備える
    請求項に記載のデータ処理装置。
  3. 前記LDPC符号は、前記LDPC符号の検査行列のうちの、前記LDPC符号の情報ビットに対応する部分である情報行列が巡回構造になっているLDPC符号であり、
    ロウ方向とカラム方向にLDPC符号の符号ビットを記憶する記憶手段の前記カラム方向に書き込まれ、前記ロウ方向に読み出される前記LDPC符号の符号ビットがシンボルとされる場合において、前記記憶手段の前記カラム方向に、前記LDPC符号の符号ビットが書き込まれるときの書き始めの位置を、前記記憶手段のカラムごとに変更するカラムツイストインターリーブを、前記LDPC符号の符号ビットを並び替える並び替え処理として行う並び替え手段をさらに備える
    請求項に記載のデータ処理装置。
  4. 前記LDPC符号の検査行列のうちの前記パリティ行列は、前記パリティインターリーブに相当する列置換によって、前記パリティ行列の一部を除く部分が巡回構造になっている擬似巡回構造になる
    請求項に記載のデータ処理装置。
  5. 前記LDPC符号のmビットの符号ビットが、1個のシンボルにされる場合において、
    前記LDPC符号の符号長をNビットとするとともに、所定の正の整数をbとするとき、
    前記記憶手段は、前記ロウ方向にmbビットを記憶するとともに、前記カラム方向にN/(mb)ビットを記憶し、
    前記LDPC符号の符号ビットは、前記記憶手段の前記カラム方向に書き込まれ、その後、前記ロウ方向に読み出され、
    前記記憶手段の前記ロウ方向に読み出されたmbビットの符号ビットが、b個のシンボルにされる
    請求項に記載のデータ処理装置。
  6. データをインターリーブするデータ処理装置のデータ処理方法において、
    前記データ処理装置が、LDPC(Low Density Parity Check)符号のパリティビットに対応する部分であるパリティ行列が階段構造になっている検査行列に従ったLDPC符号化を行うことにより得られるLDPC符号のパリティビットを、他のパリティビットの位置にインターリーブするパリティインターリーブを行う
    ステップを含み、
    前記LDPC符号のパリティビットのビット数Mは、素数以外の値であり、
    前記パリティビットのビット数Mの1とM以外の約数のうちの2つの約数であり、かつ、積が前記パリティビットのビット数Mとなる2つの約数をP及びqと、
    前記LDPC符号の情報ビットのビット数をKと、
    0以上P未満の整数をxと、
    0以上q未満の整数をyと、
    それぞれするとき、
    前記パリティインターリーブを行うステップは、前記LDPC符号のK+1ないしK+M番目の符号ビットであるパリティビットのうちの、K+qx+y+1番目の符号ビットを、K+Py+x+1番目の符号ビットの位置にインターリーブする
    データ処理方法。
JP2009543804A 2007-11-26 2008-11-26 データ処理装置、及びデータ処理方法 Expired - Fee Related JP5359881B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009543804A JP5359881B2 (ja) 2007-11-26 2008-11-26 データ処理装置、及びデータ処理方法

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP2007304689 2007-11-26
JP2007304689 2007-11-26
JP2008070467 2008-03-18
JP2008070467 2008-03-18
PCT/JP2008/071384 WO2009069617A1 (ja) 2007-11-26 2008-11-26 データ処理装置、及びデータ処理方法
JP2009543804A JP5359881B2 (ja) 2007-11-26 2008-11-26 データ処理装置、及びデータ処理方法

Publications (2)

Publication Number Publication Date
JPWO2009069617A1 JPWO2009069617A1 (ja) 2011-04-14
JP5359881B2 true JP5359881B2 (ja) 2013-12-04

Family

ID=40678512

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009543804A Expired - Fee Related JP5359881B2 (ja) 2007-11-26 2008-11-26 データ処理装置、及びデータ処理方法

Country Status (15)

Country Link
US (1) US8489956B2 (ja)
EP (2) EP2237429B1 (ja)
JP (1) JP5359881B2 (ja)
KR (1) KR101577469B1 (ja)
CN (1) CN101911504B (ja)
AU (1) AU2008330660B2 (ja)
BR (1) BRPI0819643A2 (ja)
CO (1) CO6311047A2 (ja)
DK (1) DK2237429T3 (ja)
EA (1) EA021877B1 (ja)
MY (1) MY158260A (ja)
NZ (1) NZ585417A (ja)
TW (1) TWI497920B (ja)
WO (1) WO2009069617A1 (ja)
ZA (1) ZA201003528B (ja)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7334181B2 (en) * 2003-09-04 2008-02-19 The Directv Group, Inc. Method and system for providing short block length low density parity check (LDPC) codes
US7376883B2 (en) * 2003-10-27 2008-05-20 The Directv Group, Inc. Method and system for providing long and short block length low density parity check (LDPC) codes
US7434138B2 (en) * 2005-06-27 2008-10-07 Agere Systems Inc. Structured interleaving/de-interleaving scheme for product code encoders/decorders
ES2562031T3 (es) 2007-10-30 2016-03-02 Sony Corporation Aparato y método de procesamiento de datos
DE602008000874D1 (de) * 2007-12-12 2010-05-06 Lg Electronics Inc Vorrichtung zum Senden und Empfangen eines Signals und Verfahren zum Senden und Empfangen eines Signals
EP2282471A1 (en) * 2009-08-07 2011-02-09 Thomson Licensing Data transmission using low density parity check coding and constellation mapping
EP2282470A1 (en) 2009-08-07 2011-02-09 Thomson Licensing Data reception using low density parity check coding and constellation mapping
JP5542580B2 (ja) * 2010-08-25 2014-07-09 日本放送協会 送信装置及び受信装置
KR101551919B1 (ko) 2010-10-22 2015-09-09 한국전자통신연구원 무선 통신 시스템에서 데이터 블록 전송 방법 및 전송기
JP5601182B2 (ja) 2010-12-07 2014-10-08 ソニー株式会社 データ処理装置、及びデータ処理方法
JP5630278B2 (ja) * 2010-12-28 2014-11-26 ソニー株式会社 データ処理装置、及びデータ処理方法
JP5637393B2 (ja) * 2011-04-28 2014-12-10 ソニー株式会社 データ処理装置、及び、データ処理方法
EP2525496A1 (en) 2011-05-18 2012-11-21 Panasonic Corporation Bit-interleaved coding and modulation (BICM) with quasi-cyclic LDPC codes
EP2525495A1 (en) * 2011-05-18 2012-11-21 Panasonic Corporation Bit-interleaved coding and modulation (BICM) with quasi-cyclic LDPC codes
EP2525498A1 (en) 2011-05-18 2012-11-21 Panasonic Corporation Bit-interleaved coding and modulation (BICM) with quasi-cyclic LDPC codes
EP2525497A1 (en) 2011-05-18 2012-11-21 Panasonic Corporation Bit-interleaved coding and modulation (BICM) with quasi-cyclic LDPC codes
JP5648852B2 (ja) * 2011-05-27 2015-01-07 ソニー株式会社 データ処理装置、及び、データ処理方法
US8971435B2 (en) 2011-07-25 2015-03-03 Blackberry Limited Multi-user communication using sparse space codes
EP2552043A1 (en) 2011-07-25 2013-01-30 Panasonic Corporation Spatial multiplexing for bit-interleaved coding and modulation with quasi-cyclic LDPC codes
EP2560311A1 (en) 2011-08-17 2013-02-20 Panasonic Corporation Cyclic-block permutations for spatial multiplexing with quasi-cyclic LDPC codes
JP2014045436A (ja) * 2012-08-28 2014-03-13 Jvc Kenwood Corp 送信装置、受信装置、送信方法、受信方法
WO2014123018A1 (ja) * 2013-02-08 2014-08-14 ソニー株式会社 データ処理装置、及びデータ処理方法
CN104969478B (zh) * 2013-02-08 2019-05-07 索尼公司 数据处理装置以及数据处理方法
MX2015009839A (es) * 2013-02-08 2015-12-01 Sony Corp Dispositivo de procesamiento de datos y metodo de procesamiento de datos.
WO2014123016A1 (ja) * 2013-02-08 2014-08-14 ソニー株式会社 データ処理装置、及びデータ処理方法
GB201312243D0 (en) * 2013-07-08 2013-08-21 Samsung Electronics Co Ltd Non-Uniform Constellations
US9742609B2 (en) * 2013-08-01 2017-08-22 Lg Electronics Inc. Apparatus for transmitting broadcast signals, apparatus for receiving broadcast signals, method for transmitting broadcast signals and method for receiving broadcast signals
CA2923588A1 (en) * 2013-09-20 2015-03-26 Sony Corporation Data processing device and data processing method
MX369485B (es) 2013-09-20 2019-11-11 Sony Corp Dispositivo de procesamiento de datos y metodo de procesamiento de datos.
WO2015041073A1 (ja) 2013-09-20 2015-03-26 ソニー株式会社 データ処理装置、及びデータ処理方法
MX2016003228A (es) * 2013-09-20 2016-06-07 Sony Corp Dispositivo de procesamiento de datos y metodo de procesamiento de datos.
CN105556858A (zh) * 2013-09-24 2016-05-04 索尼公司 数据处理装置和数据处理方法
KR102359183B1 (ko) * 2013-10-30 2022-02-07 삼성전자주식회사 송신 장치 및 그의 신호 처리 방법
WO2015124107A1 (zh) * 2014-02-20 2015-08-27 上海数字电视国家工程研究中心有限公司 Ldpc码字的交织映射方法及解交织解映射方法
US9602135B2 (en) * 2014-02-20 2017-03-21 Electronics And Telecommunications Research Institute Bit interleaver for low-density parity check codeword having length of 64800 and code rate of 5/15 and 64-symbol mapping, and bit interleaving method using same
WO2015178214A1 (ja) * 2014-05-21 2015-11-26 ソニー株式会社 データ処理装置、及び、データ処理方法
KR102178262B1 (ko) 2014-07-08 2020-11-12 삼성전자주식회사 패리티 검사 행렬 생성 방법, 그를 이용한 부호화 장치, 부호화 방법, 복호화 장치 및 복호화 방법
DE112015005883T5 (de) * 2015-01-30 2017-09-28 Hewlett-Packard Development Company, L.P. M-äre zyklische codierung
KR102287614B1 (ko) * 2015-02-12 2021-08-10 한국전자통신연구원 길이가 64800이며, 부호율이 2/15인 ldpc 부호어 및 16-심볼 맵핑을 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법
US9762346B2 (en) * 2015-05-19 2017-09-12 Samsung Electronics Co., Ltd. Transmitting apparatus and mapping method thereof
CN109245846B (zh) * 2017-07-10 2022-07-05 中兴通讯股份有限公司 一种阶梯码解码方法和阶梯码解码装置
JP7077627B2 (ja) * 2018-01-18 2022-05-31 ソニーグループ株式会社 送信装置、送信方法、受信装置、及び、受信方法
CN110098891B (zh) * 2018-01-30 2021-09-07 华为技术有限公司 交织方法和交织装置
CN110288069B (zh) * 2019-06-26 2023-05-02 百度在线网络技术(北京)有限公司 二维码生成和解析的方法、装置、设备及可读存储介质
CN112052702B (zh) * 2020-08-10 2023-12-19 北京智通云联科技有限公司 一种识别二维码的方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001352252A (ja) * 2000-06-08 2001-12-21 Sony Corp 符号化装置及び符号化方法、並びに、復号装置及び復号方法
JP2005051469A (ja) * 2003-07-28 2005-02-24 Sony Corp 符号化装置および符号化方法、並びにプログラム
JP2007036776A (ja) * 2005-07-28 2007-02-08 Sony Corp 復号装置および復号方法
JP5048629B2 (ja) * 2007-10-30 2012-10-17 ソニー株式会社 データ処理装置及び方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6353900B1 (en) * 1998-09-22 2002-03-05 Qualcomm Incorporated Coding system having state machine based interleaver
EP1463255A1 (en) * 2003-03-25 2004-09-29 Sony United Kingdom Limited Interleaver for mapping symbols on the carriers of an OFDM system
JP4224777B2 (ja) 2003-05-13 2009-02-18 ソニー株式会社 復号方法および復号装置、並びにプログラム
KR100505694B1 (ko) * 2003-07-09 2005-08-02 삼성전자주식회사 직접 계산 방식에 의한 코드화 직교 주파수 분할 다중화수신기의 채널 상태 평가 장치 및 그 방법
KR20050118056A (ko) * 2004-05-12 2005-12-15 삼성전자주식회사 다양한 부호율을 갖는 Block LDPC 부호를 이용한이동 통신 시스템에서의 채널부호화 복호화 방법 및 장치
US7165205B2 (en) * 2004-05-14 2007-01-16 Motorola, Inc. Method and apparatus for encoding and decoding data
CN101341659B (zh) * 2004-08-13 2012-12-12 Dtvg许可公司 用于多输入多输出通道的低密度奇偶校验码的码设计与实现的改进
US7996746B2 (en) * 2004-10-12 2011-08-09 Nortel Networks Limited Structured low-density parity-check (LDPC) code
KR20060097503A (ko) * 2005-03-11 2006-09-14 삼성전자주식회사 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 채널인터리빙/디인터리빙 장치 및 그 제어 방법
KR100860504B1 (ko) * 2005-06-09 2008-09-26 삼성전자주식회사 이동통신 시스템에서 송수신 장치 및 방법
JP2007096658A (ja) 2005-09-28 2007-04-12 Matsushita Electric Ind Co Ltd 無線送信装置および無線受信装置
US7941725B2 (en) * 2005-12-21 2011-05-10 Stmicroelectronics Sa Method for ciphering data with error correction code
FR2895176B1 (fr) * 2005-12-21 2008-02-22 St Microelectronics Sa Transmission securisee avec code correcteur d'erreur
KR20090003164A (ko) * 2006-01-10 2009-01-09 미쓰비시덴키 가부시키가이샤 검사 행렬 생성 방법
US7493548B2 (en) * 2006-02-06 2009-02-17 Motorola, Inc Method and apparatus for encoding and decoding data
JP2007214783A (ja) * 2006-02-08 2007-08-23 Kddi Corp 送信装置、受信装置及び伝送方法
TWI427937B (zh) * 2007-11-26 2014-02-21 Sony Corp Data processing device and data processing method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001352252A (ja) * 2000-06-08 2001-12-21 Sony Corp 符号化装置及び符号化方法、並びに、復号装置及び復号方法
JP2005051469A (ja) * 2003-07-28 2005-02-24 Sony Corp 符号化装置および符号化方法、並びにプログラム
JP2007036776A (ja) * 2005-07-28 2007-02-08 Sony Corp 復号装置および復号方法
JP5048629B2 (ja) * 2007-10-30 2012-10-17 ソニー株式会社 データ処理装置及び方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
JPN6013021678; 伝送路符号化部 DVB-S.2規格の概要 , 20060224, pp.3,7-13,20-30, 社団法人 電波産業会 デジタル放送システム開発部会 *
JPN6013021681; Takashi Yokokawa et al.: 'Parity and column twist bit interleaver for DVB-T2 LDPC codes' Turbo Codes and Related Topics, 2008 5th International Symposium on , 20090905, pp.123-127 *
JPN6013021683; 鈴木 陽一 外8名: '高度BSデジタル放送用LDPC符号の設計' 映像情報メディア学会誌 Vol.62, No.12, 20081201, pp.1997-2004 *

Also Published As

Publication number Publication date
TW200947878A (en) 2009-11-16
KR20100099127A (ko) 2010-09-10
DK2237429T3 (en) 2018-02-19
EA021877B1 (ru) 2015-09-30
BRPI0819643A2 (pt) 2015-05-26
CO6311047A2 (es) 2011-08-22
CN101911504A (zh) 2010-12-08
EP2237429A1 (en) 2010-10-06
JPWO2009069617A1 (ja) 2011-04-14
AU2008330660A1 (en) 2009-06-04
ZA201003528B (en) 2011-10-26
EP2237429A4 (en) 2015-02-18
CN101911504B (zh) 2014-06-11
US20100257426A1 (en) 2010-10-07
MY158260A (en) 2016-09-30
AU2008330660B2 (en) 2013-08-29
NZ585417A (en) 2013-05-31
EP2852064B1 (en) 2021-04-28
KR101577469B1 (ko) 2015-12-14
TWI497920B (zh) 2015-08-21
EP2852064A1 (en) 2015-03-25
EP2237429B1 (en) 2018-01-10
WO2009069617A1 (ja) 2009-06-04
EA201070631A1 (ru) 2010-12-30
US8489956B2 (en) 2013-07-16

Similar Documents

Publication Publication Date Title
JP5359881B2 (ja) データ処理装置、及びデータ処理方法
JP5359882B2 (ja) データ処理装置、及びデータ処理方法
JP5273054B2 (ja) データ処理装置、及びデータ処理方法、並びに、符号化装置、及び符号化方法
JP5601182B2 (ja) データ処理装置、及びデータ処理方法
JP5288212B2 (ja) データ処理装置、及びデータ処理方法
JP5630278B2 (ja) データ処理装置、及びデータ処理方法
JP5648852B2 (ja) データ処理装置、及び、データ処理方法
JP5664919B2 (ja) データ処理装置、及び、データ処理方法
JP5637393B2 (ja) データ処理装置、及び、データ処理方法
JP5672489B2 (ja) データ処理装置、及び、データ処理方法
JP5630282B2 (ja) データ処理装置、及び、データ処理方法
JP5288213B2 (ja) データ処理装置、及びデータ処理方法
JP5630283B2 (ja) データ処理装置、及び、データ処理方法
WO2009104319A1 (ja) 符号化装置、及び符号化方法
JP6364416B2 (ja) データ処理装置、データ処理方法、及び、記録媒体
JP2011176782A (ja) データ処理装置、及びデータ処理方法
JP2012151655A (ja) データ処理装置、及び、データ処理方法
WO2011105219A1 (ja) データ処理装置、及びデータ処理方法
JP2012151656A (ja) データ処理装置、及び、データ処理方法
JP2011176783A (ja) データ処理装置、及びデータ処理方法
JP2011182073A (ja) データ処理装置、及びデータ処理方法
JPWO2015041072A1 (ja) データ処理装置、及びデータ処理方法
JP2011176784A (ja) データ処理装置、及びデータ処理方法
JPWO2015041075A1 (ja) データ処理装置、及びデータ処理方法
JP2012239130A (ja) データ処理装置、及び、データ処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110929

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130509

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130708

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: 20130806

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130819

R151 Written notification of patent or utility model registration

Ref document number: 5359881

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees