IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 中興通訊股▲ふん▼有限公司の特許一覧

特許7025349構造的LDPCの符号化、復号化方法および装置
<>
  • 特許-構造的LDPCの符号化、復号化方法および装置 図1
  • 特許-構造的LDPCの符号化、復号化方法および装置 図2
  • 特許-構造的LDPCの符号化、復号化方法および装置 図3
  • 特許-構造的LDPCの符号化、復号化方法および装置 図4
  • 特許-構造的LDPCの符号化、復号化方法および装置 図5
  • 特許-構造的LDPCの符号化、復号化方法および装置 図6
  • 特許-構造的LDPCの符号化、復号化方法および装置 図7
  • 特許-構造的LDPCの符号化、復号化方法および装置 図8
  • 特許-構造的LDPCの符号化、復号化方法および装置 図9
  • 特許-構造的LDPCの符号化、復号化方法および装置 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-02-15
(45)【発行日】2022-02-24
(54)【発明の名称】構造的LDPCの符号化、復号化方法および装置
(51)【国際特許分類】
   H03M 13/19 20060101AFI20220216BHJP
   H03M 13/27 20060101ALI20220216BHJP
【FI】
H03M13/19
H03M13/27
【請求項の数】 22
(21)【出願番号】P 2018560038
(86)(22)【出願日】2017-01-06
(65)【公表番号】
(43)【公表日】2019-06-20
(86)【国際出願番号】 CN2017070488
(87)【国際公開番号】W WO2017193614
(87)【国際公開日】2017-11-16
【審査請求日】2019-03-06
(31)【優先権主張番号】201610319410.1
(32)【優先日】2016-05-13
(33)【優先権主張国・地域又は機関】CN
(31)【優先権主張番号】201610884876.6
(32)【優先日】2016-10-10
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】511151662
【氏名又は名称】中興通訊股▲ふん▼有限公司
【氏名又は名称原語表記】ZTE CORPORATION
【住所又は居所原語表記】ZTE Plaza,Keji Road South,Hi-Tech Industrial Park,Nanshan Shenzhen,Guangdong 518057 China
(74)【代理人】
【識別番号】110002000
【氏名又は名称】特許業務法人栄光特許事務所
(72)【発明者】
【氏名】徐俊
【審査官】原田 聖子
(56)【参考文献】
【文献】米国特許出願公開第2008/0155385(US,A1)
【文献】国際公開第2009/060627(WO,A1)
【文献】国際公開第2007/142476(WO,A2)
【文献】国際公開第2015/123979(WO,A1)
【文献】中国特許出願公開第103944586(CN,A)
【文献】米国特許出願公開第2010/0275089(US,A1)
【文献】米国特許出願公開第2010/0257425(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H03M 13/19
H03M 13/27
(57)【特許請求の範囲】
【請求項1】
構造的低密度パリティ検査符号LDPCの符号化方法であって、
符号化に使用する基本行列Hbを確定し、前記基本行列Hbは、組織ビットに対応するMb×KbのブロックAと、検査ビットに対応するMb×MbのブロックBとを含み、すなわち、Hb=[A,B]であり、hbijは前記基本行列Hbのi行目とj列目の要素を示し、iは前記基本行列の行インデックスであり、jは前記基本行列の列インデックスであり、Kb=Nb-Mbであり、Kbは4以上の整数であり、Nbは3*Kb以上の整数であり、i=1,…,Mbであり、j=1,…,Nbであり、
前記基本行列Hbは1つまたは複数のサブ行列を含み、前記サブ行列は左上隅サブ行列Hb1と左上隅サブ行列Hb2とを含み、前記左上隅サブ行列Hb1および左上隅サブ行列Hb2の行数と列数はいずれも前記基本行列Hbの行数と列数よりも小さく、且つ、前記左上隅サブ行列Hb1は左上隅サブ行列Hb2の左上隅サブ行列であることと、
前記左上隅サブ行列Hb1は、前記行列Hbの最初の4行と最初のKb+4列とのインタセクションから構成され、前記左上隅サブ行列Hb1の各行の非零Z*Z正方行列に対応する要素の個数はいずれもKb+2以下Kb-2以上であり、前記左上隅サブ行列Hb1の最後の4列の正方行列は、1つの左下三角行列または準左下三角行列であり、
前記Hb1の左下三角行列とは、右上三角位置における全ての要素がZ*Z零正方行列に対応する要素であり、対角線位置における全ての要素がZ*Z単位行列に対応する要素であることを特徴とする正方行列を意味し、
前記Hb1の準左下三角行列は、1つのL×L右上角サブ正方行列を含み、且つ、前記右上角サブ正方行列が1つの左下三角行列であることを特徴とする4×4の正方行列であり、ここで、前記右上角サブ正方行列は、Hb1の最初のL行と最後のL列とのインタセクションから構成され、L=2または3であり、
前記基本行列および前記基本行列Hbに対応する拡散係数Zにより、元情報ビット系列に対してLDPC符号化演算を行い、符号語系列を得て、Zは1以上の正整数であることと、
を含む、構造的低密度パリティ検査符号LDPCの符号化方法。
【請求項2】
前記元情報ビット系列は、(Nb-Mb)×Zビットの系列であり、前記ビット符号語系列はNb×Zビットである、請求項1に記載の方法。
【請求項3】
前記左上隅サブ行列Hb2は前記行列Hbの最初のKb行と最初の2*Kb列とのインタセクションから構成され、前記左上隅サブ行列Hb2の最初の4行と最後のKb-4列とのインタセクションから構成されるサブ行列の全ての要素は、いずれもZ*Z零正方行列に対応する要素であり、前記左上隅サブ行列Hb2の最後のKb-4行と最後のKb-4列とのインタセクションから構成されるサブ行列は、サイズが(Kb-4)*(Kb-4)の左下三角行列または準左下三角行列であり、前記左上隅サブ行列Hb2の最後のKb-4行とKb+1列目~Kb+3列目とのインタセクションから構成されるサブ行列の全ての要素は、いずれもZ*Z零正方行列に対応する要素であり、
左上隅サブ行列Hb1の最後の4列の正方行列が1つの下三角行列であると、前記左上隅サブ行列Hb2の最後のKb-4行、Kb+列目には非Z*Z零正方行列に対応する要素が1つのみあり、左上隅サブ行列Hb1の最後の4列の正方行列が1つの準下三角行列であると、前記左上隅サブ行列Hb2の最後のKb-4行、Kb+列目の全ての要素はいずれもZ*Z零正方行列に対応する要素であり、
前記左上隅サブ行列Hb2の最後のKb-4行と最初のKb列とのインタセクションから1つのサブ行列を構成し、このサブ行列において、各行の非Z*Z零正方行列に対応する要素の個数はいずれもKb-2以下であり、
Nbは*Kb以上である、請求項1に記載の方法。
【請求項4】
前記拡散係数Zは1組の確定値セット{z,z,z…,z}をサポートし、z、z、…、zは昇順に配列され、z、z、z、zは前記確定値セットにおける4つの確定値の拡散係数でz≦z≦z≦z≦z≦zを満たし、V、r、s、t、uは下付き文字で1≦r≦s≦t≦u≦Vであり、Vは2以上の整数であり、
≦Z=z<zである場合、拡散係数Z=zおよび基本行列Hbに対応するLDPC符号について、各LDPC符号語における全ての重量が2よりも大きい符号語ビットにおいて、少なくとも1つのビットのgirthは4に等しく、拡散係数Z=zおよび最も重いR列を削除した基本行列Hbに対応するLDPC符号について、各LDPC符号語における全ての重量が2よりも大きい符号語ビットのgirthはいずれも6に等しく、RはKb/2以下であり、
≦Z=z<zである場合、拡散係数Z=zおよび基本行列Hbに対応するLDPC符号について、各LDPC符号語における全ての重量が2よりも大きい符号語ビットのgirthはいずれも6に等しく、
≦Z=z<zである場合、拡散係数Z=zおよび基本行列Hbに対応するLDPC符号について、各LDPC符号語における全ての重量が2よりも大きい全ての組織ビットのgirthはいずれも6に等しく、各LDPC符号語における少なくとも1つの重量が2よりも大きい検査ビットのgirthは8以上であり、
≦Z=z<zである場合、拡散係数Z=zおよび基本行列Hbに対応するLDPC符号について、各LDPC符号語における全ての重量が2よりも大きい符号語ビットのgirthはいずれも8に等しく、
≦Z=z<zである場合、拡散係数Z=zおよび基本行列Hbに対応するLDPC符号について、各LDPC符号語における全ての重量が2よりも大きい組織ビットのgirthはいずれも8に等しく、各LDPC符号語における少なくとも1つの重量が2よりも大きい検査ビットのgirthは10以上であり、
1つのLDPC符号語の各符号語ビットはパリティ検査行列の各列に対応し、前記パリティ検査行列は、対応する拡散係数Z=ziおよび基本行列Hbにより確定され、各符号語ビットの重量とは、対応する列における非ゼロ要素の個数を意味し、且つ、i=1,2,…,Vである、請求項1~請求項3のいずれか一項に記載の方法。
【請求項5】
前記基本行列Hbは、左上隅サブ行列Hb3をさらに含み、
該左上隅サブ行列Hb3は、前記基本行列Hbの最初の2*Kb行と最初の3*Kb列とのインタセクションから構成され、Hb3の最後のKb行と最後のKb列とのインタセクションから構成されるサブ行列はサイズがKb*Kbの単位行列であり、前記Hb3の単位行列は1つのKb×Kb行列であり、且つ、対角線位置における全ての要素がZ*Z単位行列に対応する要素であり、非対角線位置における全ての要素がZ*Z零行列に対応する要素であり、
Hb3の最初のKb行と最後のKb列とのインタセクションから構成されるサブ行列の全ての要素は、いずれもZ*Z零正方行列に対応する要素であり、
Hb3の最後のKb行、Kb+1列目~2*Kb列目から1つのサブ行列を構成し、該サブ行列のL1列において、各列における全ての非零正方行列に対応する要素は1つのみあり、このサブ行列の残りのKb-L1列における全ての要素は、いずれもZ*Z零正方行列に対応する要素であり、L1は0以上Kb未満の整数であり、
Nbは3*Kb以上である、請求項3に記載の方法。
【請求項6】
Nbは、区間[*Kb,12*Kb]から値をとる1つの正整数である、請求項1~請求項3のいずれか一項に記載の方法。
【請求項7】
エンハンスメント型モバイルブロードバンドeMMBのシーンおよび超高信頼低遅延URLLCのシーンでは、異なるKbの値が用いられる、請求項1に記載の方法。
【請求項8】
前記基本行列Hbのg行目の非Z*Z零正方行列に対応する要素の個数は、g+1行目の非Z*Z零正方行列に対応する要素の個数以下であり、g=1,2,…,Nb-1である、請求項1~請求項3のいずれか一項に記載の方法。
【請求項9】
前記基本行列Hbのj列目における全ての非零正方行列に対応する要素はLj個であり、上から下へ1つ目の要素は0であり、Ljは1以上の正整数であり、j=1,…,Nbである、請求項1~3のいずれか一項に記載の方法。
【請求項10】
構造的低密度パリティ検査符号LDPCの復号化方法であって、
復号化に使用する基本行列Hbを確定し、前記基本行列Hbは、組織ビットに対応するMb×KbのブロックAと、検査ビットに対応するMb×MbのブロックBとを含み、すなわち、Hb=[A,B]であり、hbijは前記基本行列Hbのi行目とj列目の要素を示し、iは前記基本行列の行インデックスであり、jは前記基本行列の列インデックスであり、Kb=Nb-Mbであり、Kbは4以上の整数であり、Nbは3*Kb以上の整数であり、i=1,…,Mbであり、j=1,…,Nbであり、
前記基本行列Hbは1つまたは複数のサブ行列を含み、前記サブ行列は左上隅サブ行列Hb1と左上隅サブ行列Hb2とを含み、前記左上隅サブ行列Hb1および左上隅サブ行列Hb2の行数と列数はいずれも前記基本行列Hbの行数と列数よりも小さく、且つ、前記左上隅サブ行列Hb1は左上隅サブ行列Hb2の左上隅サブ行列であることと、
前記左上隅サブ行列Hb1は、前記行列Hbの最初の4行と最初のKb+4列とのインタセクションから構成され、前記左上隅サブ行列Hb1の各行の非零Z*Z正方行列に対応する要素の個数はいずれもKb+2以下Kb-2以上であり、前記左上隅サブ行列Hb1の最後の4列の正方行列は、1つの左下三角行列または準左下三角行列であり、
前記Hb1の左下三角行列とは、右上三角位置における全ての要素がZ*Z零正方行列に対応する要素であり、対角線位置における全ての要素がZ*Z単位行列に対応する要素であることを特徴とする正方行列を意味し、
前記Hb1の準左下三角行列は、1つのL×L右上角サブ正方行列を含み、且つ、前記右上角サブ正方行列が1つの左下三角行列であることを特徴とする4×4の正方行列であり、ここで、前記右上角サブ正方行列は、Hb1の最初のL行と最後のL列とのインタセクションから構成され、L=2または3であり、
前記基本行列および前記基本行列Hbに対応する拡散係数Zにより、ビット数が予め設定された符号語に対して復号化演算を行い、元情報ビット系列を得て、Zは1以上の正整数であることと、
を含む、構造的低密度パリティ検査符号LDPCの復号化方法。
【請求項11】
前記元情報ビット系列は(Nb-Mb)×Zビットの系列であり、予め設定された前記ビット数はNb×Zビットである、請求項10に記載の方法。
【請求項12】
前記左上隅サブ行列Hb2は前記行列Hbの最初のKb行と最初の2*Kb列とのインタセクションから構成され、前記左上隅サブ行列Hb2の最初の4行と最後のKb-4列とのインタセクションから構成されるサブ行列の全ての要素は、いずれもZ*Z零正方行列に対応する要素であり、前記左上隅サブ行列Hb2の最後のKb-4行と最後のKb-4列とのインタセクションはサイズが(Kb-4)*(Kb-4)の左下三角行列または準左下三角行列であり、前記左上隅サブ行列Hb2の最後のKb-4行とKb+1列目~Kb+3列目とのインタセクションから構成されるサブ行列の全ての要素は、いずれもZ*Z零正方行列に対応する要素であり、
左上隅サブ行列Hb1の最後の4列の正方行列が1つの下三角行列であると、前記左上隅サブ行列Hb2の最後のKb-4行、Kb+列目の部分には非Z*Z零正方行列に対応する要素が1つのみあり、左上隅サブ行列Hb1の最後の4列の正方行列が1つの準下三角行列であると、前記左上隅サブ行列Hb2の最後のKb-4行、Kb+列目の部分の全ての要素はいずれもZ*Z零正方行列に対応する要素であり、
前記左上隅サブ行列Hb2の最後のKb-4行と最初のKb列とのインタセクションから1つのサブ行列を構成し、このサブ行列において、各行の非Z*Z零正方行列に対応する要素の個数はいずれもKb-2以下であり、
Nbは*Kb以上である、請求項10に記載の方法。
【請求項13】
前記拡散係数Zは1組の確定値セット{z,z,z…,z}をサポートし、z、z、…、zは昇順に配列され、z、z、z、zは前記確定値セットにおける4つの確定値の拡散係数でz≦z≦z≦z≦z≦zを満たし、V、r、s、t、uは下付き文字で1≦r≦s≦t≦u≦Vであり、Vは2以上の整数であり、
≦Z=z<zである場合、拡散係数Z=zおよび基本行列Hbに対応するLDPC符号について、各LDPC符号語における全ての重量が2よりも大きい符号語ビットにおいて、少なくとも1つのビットのgirthは4に等しく、拡散係数Z=zおよび最も重いR列を削除した基本行列Hbに対応するLDPC符号は、各LDPC符号語における全ての重量が2よりも大きい符号語ビットのgirthはいずれも6に等しく、RはKb/2以下であり、
≦Z=z<zである場合、拡散係数Z=ziおよび基本行列Hbに対応するLDPC符号について、各LDPC符号語における全ての重量が2よりも大きい符号語ビットのgirthはいずれも6に等しく、
≦Z=z<zである場合、拡散係数Z=zおよび基本行列Hbに対応するLDPC符号について、各LDPC符号語における全ての重量が2よりも大きい全ての組織ビットのgirthはいずれも6に等しく、各LDPC符号語における少なくとも1つの重量が2よりも大きい検査ビットのgirthは8以上であり、
≦Z=z<zである場合、拡散係数Z=ziおよび基本行列Hbに対応するLDPC符号について、各LDPC符号語における全ての重量が2よりも大きい符号語ビットのgirthはいずれも8に等しく、
≦Z=z<zである場合、拡散係数Z=zおよび基本行列Hbに対応するLDPC符号について、各LDPC符号語における全ての重量が2よりも大きい組織ビットのgirthはいずれも8に等しく、各LDPC符号語における少なくとも1つの重量が2よりも大きい検査ビットのgirthは10以上であり、
1つのLDPC符号語の各符号語ビットはパリティ検査行列の各列に対応し、前記パリティ検査行列は、対応する拡散係数Z=ziおよび基本行列Hbにより確定され、各符号語ビットの重量とは、対応する列における非ゼロ要素の個数を意味し、且つ、i=1,2,…,Vである、請求項10~請求項12のいずれか一項に記載の方法。
【請求項14】
構造的低密度パリティ検査符号LDPCの符号化装置であって、確定モジュールと符号化モジュールとを備え、
前記確定モジュールは符号化に使用する基本行列Hbを確定するように設けられ、前記基本行列Hbは、組織ビットに対応するMb×KbのブロックAと、検査ビットに対応するMb×MbのブロックBとを含み、すなわち、Hb=[A,B]であり、hbijは前記基本行列Hbのi行目とj列目の要素を示し、iは前記基本行列の行インデックスであり、jは前記基本行列の列インデックスであり、Kb=Nb-Mbであり、Kbは4以上の整数であり、Nbは3*Kb以上の整数であり、i=1,…,Mbであり、j=1,…,Nbであり、
前記基本行列Hbは1つまたは複数のサブ行列を含み、前記サブ行列は左上隅サブ行列Hb1と左上隅サブ行列Hb2とを含み、前記左上隅サブ行列Hb1および左上隅サブ行列Hb2の行数と列数はいずれも前記基本行列Hbの行数と列数よりも小さく、且つ、前記左上隅サブ行列Hb1は左上隅サブ行列Hb2の左上隅サブ行列であり、
前記左上隅サブ行列Hb1は、前記行列Hbの最初の4行と最初のKb+4列とのインタセクションから構成され、前記左上隅サブ行列Hb1の各行の非零Z*Z正方行列に対応する要素の個数はいずれもKb+2以下Kb-2以上であり、前記左上隅サブ行列Hb1の最後の4列の正方行列は、1つの左下三角行列または準左下三角行列であり、
前記Hb1の左下三角行列とは、右上三角位置における全ての要素がZ*Z零正方行列に対応する要素であり、対角線位置における全ての要素がZ*Z単位行列に対応する要素であることを特徴とする正方行列を意味し、
前記Hb1の準左下三角行列は、1つのL×L右上角サブ正方行列を含み、且つ、前記右上角サブ正方行列が1つの左下三角行列であることを特徴とする4×4の正方行列であり、ここで、前記右上角サブ正方行列は、Hb1の最初のL行と最後のL列とのインタセクションから構成され、L=2または3であり、
前記符号化モジュールは、前記基本行列および前記基本行列Hbに対応する拡散係数Zにより、元情報ビット系列に対してLDPC符号化演算を行い、符号語系列を得て、Zは1以上の正整数であるように設けられる、構造的低密度パリティ検査符号LDPCの符号化装置。
【請求項15】
前記元情報ビット系列は、(Nb-Mb)×Zビットの系列であり、前記ビット符号語系列はNb×Zビットである、請求項14に記載の装置。
【請求項16】
前記左上隅サブ行列Hb2は前記行列Hbの最初のKb行と最初の2*Kb列とのインタセクションから構成され、前記左上隅サブ行列Hb2の最初の4行と最後のKb-4列とのインタセクションから構成されるサブ行列の全ての要素は、いずれもZ*Z零正方行列に対応する要素であり、前記左上隅サブ行列Hb2の最後のKb-4行と最後のKb-4列とのインタセクションから構成されるサブ行列は、サイズが(Kb-4)*(Kb-4)の左下三角行列または準左下三角行列であり、前記左上隅サブ行列Hb2の最後のKb-4行とKb+1列目~Kb+3列目とのインタセクションから構成されるサブ行列の全ての要素は、いずれもZ*Z零正方行列に対応する要素であり、
左上隅サブ行列Hb1の最後の4列の正方行列が1つの下三角行列であると、前記左上隅サブ行列Hb2の最後のKb-4行、Kb+列目には非Z*Z零正方行列に対応する要素が1つのみあり、左上隅サブ行列Hb1の最後の4列の正方行列が1つの準下三角行列であると、前記左上隅サブ行列Hb2の最後のKb-4行、Kb+列目の全ての要素はいずれもZ*Z零正方行列に対応する要素であり、
前記左上隅サブ行列Hb2の最後のKb-4行と最初のKb列とのインタセクションから1つのサブ行列を構成し、このサブ行列において、各行の非Z*Z零正方行列に対応する要素の個数はいずれもKb-2以下であり、
Nbは*Kb以上である、請求項14に記載の装置。
【請求項17】
前記拡散係数Zは1組の確定値セット{z,z,z…,z}をサポートし、z、z、…、zは昇順に配列され、z、z、z、zは前記確定値セットにおける4つの確定値の拡散係数でz≦z≦z≦z≦z≦zを満たし、V、r、s、t、uは下付き文字で1≦r≦s≦t≦u≦Vであり、Vは2以上の整数であり、
≦Z=z<zである場合、拡散係数Z=ziおよび基本行列Hbに対応するLDPC符号について、各LDPC符号語における全ての重量が2よりも大きい符号語ビットにおいて、少なくとも1つのビットのgirthは4に等しく、拡散係数Z=ziおよび最も重いR列を削除した基本行列Hbに対応するLDPC符号について、各LDPC符号語における全ての重量が2よりも大きい符号語ビットのgirthはいずれも6に等しく、RはKb/2以下であり、
≦Z=z<zである場合、拡散係数Z=zおよび基本行列Hbに対応するLDPC符号について、各LDPC符号語における全ての重量が2よりも大きい符号語ビットのgirthはいずれも6に等しく、
≦Z=z<zである場合、拡散係数Z=zおよび基本行列Hbに対応するLDPC符号について、各LDPC符号語における全ての重量が2よりも大きい全ての組織ビットのgirthはいずれも6に等しく、各LDPC符号語における少なくとも1つの重量が2よりも大きい検査ビットのgirthは8以上であり、
≦Z=z<zである場合、拡散係数Z=zおよび基本行列Hbに対応するLDPC符号について、各LDPC符号語における全ての重量が2よりも大きい符号語ビットのgirthはいずれも8に等しく、
≦Z=z<zである場合、拡散係数Z=zおよび基本行列Hbに対応するLDPC符号について、各LDPC符号語における全ての重量が2よりも大きい組織ビットのgirthはいずれも8に等しく、各LDPC符号語における少なくとも1つの重量が2よりも大きい検査ビットのgirthは10以上であり、
1つのLDPC符号語の各符号語ビットはパリティ検査行列の各列に対応し、前記パリティ検査行列は、対応する拡散係数Z=ziおよび基本行列Hbにより確定され、各符号語ビットの重量とは、対応する列における非ゼロ要素の個数を意味し、且つ、i=1,2,…,Vである、請求項14~請求項16のいずれか一項に記載の装置。
【請求項18】
構造的低密度パリティ検査符号LDPCの復号化装置であって、確定モジュールと復号化モジュールとを備え、
前記確定モジュールは復号化に使用する基本行列Hbを確定するように設けられ、前記基本行列Hbは、組織ビットに対応するMb×KbのブロックAと、検査ビットに対応するMb×MbのブロックBとを含み、すなわち、Hb=[A,B]であり、hbijは前記基本行列Hbのi行目とj列目の要素を示し、iは前記基本行列の行インデックスであり、jは前記基本行列の列インデックスであり、Kb=Nb-Mbであり、Nbは3*Kb以上の整数であり、Kbは4以上の整数であり、i=1,…,Mbであり、j=1,…,Nbであり、
前記基本行列Hbは1つまたは複数のサブ行列を含み、前記サブ行列は左上隅サブ行列Hb1と左上隅サブ行列Hb2とを含み、前記左上隅サブ行列Hb1および左上隅サブ行列Hb2の行数と列数はいずれも前記基本行列Hbの行数と列数よりも小さく、且つ、前記左上隅サブ行列Hb1は左上隅サブ行列Hb2の左上隅サブ行列であり、
前記左上隅サブ行列Hb1は、前記行列Hbの最初の4行と最初のKb+4列とのインタセクションから構成され、前記左上隅サブ行列Hb1の各行の非零Z*Z正方行列に対応する要素の個数はいずれもKb+2以下Kb-2以上であり、前記左上隅サブ行列Hb1の最後の4列の正方行列は、1つの左下三角行列または準左下三角行列であり、
前記Hb1の左下三角行列とは、右上三角位置における全ての要素がZ*Z零正方行列に対応する要素であり、対角線位置における全ての要素がZ*Z単位行列に対応する要素であることを特徴とする正方行列を意味し、
前記Hb1の準左下三角行列は、1つのL×L右上角サブ正方行列を含み、且つ、前記右上角サブ正方行列が1つの左下三角行列であることを特徴とする4×4の正方行列であり、ここで、前記右上角サブ正方行列は、Hb1の最初のL行と最後のL列とのインタセクションから構成され、L=2または3であり、
前記復号化モジュールは、前記基本行列および前記基本行列Hbに対応する拡散係数Zにより、ビット数が予め設定された符号語に対して復号化演算を行い、元情報ビット系列を得て、Zは1以上の正整数であるように設けられる、構造的低密度パリティ検査符号LDPCの復号化装置。
【請求項19】
前記元情報ビット系列は(Nb-Mb)×Zビットの系列であり、予め設定された前記ビット数はNb×Zビットである、請求項18に記載の装置。
【請求項20】
前記拡散係数Zは1組の確定値セット{z,z,z…,z}をサポートし、z、z、…、zは昇順に配列され、z、z、z、zは前記確定値セットにおける4つの確定値の拡散係数でz≦z≦z≦z≦z≦zを満たし、V、r、s、t、uは下付き文字で1≦r≦s≦t≦u≦Vであり、Vは2以上の整数であり、
≦Z=z<zである場合、拡散係数Z=zおよび基本行列Hbに対応するLDPC符号について、各LDPC符号語における全ての重量が2よりも大きい符号語ビットにおいて、少なくとも1つのビットのgirthは4に等しく、拡散係数Z=zおよび最も重いR列を削除した基本行列Hbに対応するLDPC符号について、各LDPC符号語における全ての重量が2よりも大きい符号語ビットのgirthはいずれも6に等しく、RはKb/2以下であり、
≦Z=z<zである場合、拡散係数Z=zおよび基本行列Hbに対応するLDPC符号について、各LDPC符号語における全ての重量が2よりも大きい符号語ビットのgirthはいずれも6に等しく、
≦Z=z<zである場合、拡散係数Z=zおよび基本行列Hbに対応するLDPC符号について、各LDPC符号語における全ての重量が2よりも大きい全ての組織ビットのgirthはいずれも6に等しく、各LDPC符号語における少なくとも1つの重量が2よりも大きい検査ビットのgirthは8以上であり、
≦Z=z<zである場合、拡散係数Z=zおよび基本行列Hbに対応するLDPC符号について、各LDPC符号語における全ての重量が2よりも大きい符号語ビットのgirthはいずれも8に等しく、
≦Z=z<zである場合、拡散係数Z=zおよび基本行列Hbに対応するLDPC符号について、各LDPC符号語における全ての重量が2よりも大きい組織ビットのgirthはいずれも8に等しく、各LDPC符号語における少なくとも1つの重量が2よりも大きい検査ビットのgirthは10以上であり、
1つのLDPC符号語の各符号語ビットはパリティ検査行列の各列に対応し、前記パリティ検査行列は、対応する拡散係数Z=ziおよび基本行列Hbにより確定され、各符号語ビットの重量とは、対応する列における非ゼロ要素の個数を意味し、且つ、i=1,2,…,Vである、請求項18または19に記載の装置。
【請求項21】
エンコーダであって、メモリとプロセッサとを備え、
前記メモリは、符号化に使用する基本行列Hbを確定するように設けられ、前記基本行列Hbは、組織ビットに対応するMb×KbのブロックAと、検査ビットに対応するMb×MbのブロックBとを含み、すなわち、Hb=[A,B]であり、hbijは前記基本行列Hbのi行目とj列目の要素を示し、iは前記基本行列の行インデックスであり、jは前記基本行列の列インデックスであり、Kb=Nb-Mbであり、Kbは4以上の整数であり、Nbは3*Kb以上の整数であり、i=1,…,Mbであり、j=1,…,Nbであり、
前記基本行列Hbは1つまたは複数のサブ行列を含み、前記サブ行列は左上隅サブ行列Hb1と左上隅サブ行列Hb2とを含み、前記左上隅サブ行列Hb1および左上隅サブ行列Hb2の行数と列数はいずれも前記基本行列Hbの行数と列数よりも小さく、且つ、前記左上隅サブ行列Hb1は左上隅サブ行列Hb2の左上隅サブ行列であり、
前記左上隅サブ行列Hb1は、前記行列Hbの最初の4行と最初のKb+4列とのインタセクションから構成され、前記左上隅サブ行列Hb1の各行の非零Z*Z正方行列に対応する要素の個数はいずれもKb+2以下Kb-2以上であり、前記左上隅サブ行列Hb1の最後の4列の正方行列は、1つの左下三角行列または準左下三角行列であり、
前記Hb1の左下三角行列とは、右上三角位置における全ての要素がZ*Z零正方行列に対応する要素であり、対角線位置における全ての要素がZ*Z単位行列に対応する要素であることを特徴とする正方行列を意味し、
前記Hb1の準左下三角行列は、1つのL×L右上角サブ正方行列を含み、且つ、前記右上角サブ正方行列が1つの左下三角行列であることを特徴とする4×4の正方行列であり、ここで、前記右上角サブ正方行列は、Hb1の最初のL行と最後のL列とのインタセクションから構成され、L=2または3であり、
前記プロセッサは、前記基本行列および前記基本行列Hbに対応する拡散係数Zを確定し、元情報ビット系列に対してLDPC符号化演算を行い、符号語系列を得て、Zは1以上の正整数であるように設けられる、エンコーダ。
【請求項22】
デコーダであって、記憶モジュールとプロセッサとを備え、
前記記憶モジュールは、復号化に使用する基本行列Hbを記憶するように設けられ、前記基本行列Hbは、組織ビットに対応するMb×KbのブロックAと、検査ビットに対応するMb×MbのブロックBとを含み、すなわち、Hb=[A,B]であり、hbijは前記基本行列Hbのi行目とj列目の要素を示し、iは前記基本行列の行インデックスであり、jは前記基本行列の列インデックスであり、Kb=Nb-Mbであり、Nbは3*Kb以上の整数であり、Kbは4以上の整数であり、i=1、…、Mbであり、j=1,…,Nbであり、前記基本行列Hbは1つまたは複数のサブ行列を含み、前記サブ行列は左上隅サブ行列Hb1と左上隅サブ行列Hb2とを含み、前記左上隅サブ行列Hb1および左上隅サブ行列Hb2の行数と列数はいずれも前記基本行列Hbの行数と列数よりも小さく、且つ、前記左上隅サブ行列Hb1は左上隅サブ行列Hb2の左上隅サブ行列であり、
前記左上隅サブ行列Hb1は、前記行列Hbの最初の4行と最初のKb+4列とのインタセクションから構成され、前記左上隅サブ行列Hb1の各行の非零Z*Z正方行列に対応する要素の個数はいずれもKb+2以下Kb-2以上であり、前記左上隅サブ行列Hb1の最後の4列の正方行列は、1つの左下三角行列または準左下三角行列であり、
前記Hb1の左下三角行列とは、右上三角位置における全ての要素がZ*Z零正方行列に対応する要素であり、対角線位置における全ての要素がZ*Z単位行列に対応する要素であることを特徴とする正方行列を意味し、
前記Hb1の準左下三角行列は、1つのL×L右上角サブ正方行列を含み、且つ、前記右上角サブ正方行列が1つの左下三角行列であることを特徴とする4×4の正方行列であり、ここで、前記右上角サブ正方行列は、Hb1の最初のL行と最後のL列とのインタセクションから構成され、L=2または3であり、
前記プロセッサは、前記基本行列および前記基本行列Hbに対応する拡散係数Zを確定し、且つ、ビット数が予め設定された符号語に対して復号化演算を行い、元情報ビット系列を得て、Zは1以上の正整数であるように設けられる、デコーダ。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は通信分野に関し、具体的には、構造的低密度パリティ検査符号(Low Density ParityCheck Codes、LDPCと略称する)の符号化、復号化方法および装置に関する。
【背景技術】
【0002】
無線デジタル通信の発展および各種の高スピード、突発性の強い業務の現れに伴い、誤り訂正符号化技術に対する要求がますます高まり、図1は典型的なデジタル通信システムである。LDPCは、非常に疎なパリティ検査行列または2部グラフを用いて定義可能な線形ブロック符号であり、最初はGallagerにより発見されたため、Gallager符号と呼ばれる。数十年の沈黙を経て、コンピュータハードウェアおよび関連理論の発展に伴い、MacKayと.Nealはそれを再発見し、そしてシャノン限界に近い性能を有することを証明した。最新の研究により、LDPC符号は、復号化複雑度が低く、線形時間に符号化することができ、シャノン限界に近い性能を有し、並列に復号化することができ、長い符号長の条件でTurbo符号よりも優れるという特徴を有することが分かった。
【0003】
LDPC符号は1種類の特別な線形ブロック符号である。通信中、パケット長がNビットの符号語を送信するごとに、一定の誤り訂正能力を有するように保証するために、M個の検査ビットが必要となり、各符号語は全てHx=0を満たすことが要求され、そのうち、Hは2次元領域上のM×N次元のパリティ検査行列である。全ての演算はいずれも2次元領域GF(2)で行われ、ここで、+と-は「排他的論理和」演算であり、×は「論理積」演算である。
【0004】
LDPC符号は、疎な検査行列に基づく線形ブロック符号であり、その検査行列の疎性を利用することにより、低複雑度の符号化/復号化を実現することができ、それにより、LDPC符号を実用化させる。前述したGallager符号は、1種類の正則LDPC符号(regular ldpcc)であり、LubyとMitzenmacherらは、Gallager符号を拡張し、非正則LDPC符号(irregular ldpcc)を提出した。Gallagerが最初に提出した符号化は、規則的な符号構造を有し、その検査行列は疎な行列であり、且つ、各行に同じ個数の1を有し、各列にも同じ個数の1を有する。M.G.Lubyは、検査行列の行または列における非ゼロ要素の個数の変化が許容されると同時に、行列の疎性が保証されば、符号化の復号アルゴリズムは依然として適用されるが、符号化の性能を大幅に向上させることができ、Turbo符号の性能に達するか、さらにそれを超えることができると考えられる。これは、このような符号化構造において、2部グラフに対応する左ノードと右ノードに適当な次数分布(degree distribution)があれば、復号化する時に、1種類の波形効果(waveform effect)が存在し、復号性能を大幅に向上させるためである。非正則符号はこのような同じ種類のノードが異なる次数の低密度を有することを許容する符号であり、Gallagerが最初に提出した符号は対応して正則符号と呼ばれる。
【0005】
LDPCパリティ検査行列のグラフィック表示形式は2部グラフである。2部グラフと検査行列との間には一対一で対応する関係を有し、1つのM*Nのパリティ検査行列Hにより、各Nビットを有する符号語はM個のパリティ検査セットの制約を満たすことを定義する。1つの2部グラフは、N個の変数ノードとM個のパリティ検査ノードとを含む。m個目の検査がn個目のビットに関し、すなわち、Hにおけるm行目n列目の要素Hm、n=1である場合、検査ノードmと変数ノードnとを接続する配線が1本ある。2部グラフにおいて、いずれかの同じ種類のノードの間に接続がなく、且つ、2部グラフにおける総辺数は検査行列における非ゼロ要素の個数に等しい。
【0006】
girthという概念は、2部グラフにおけるショートループを定量的に説明するためのものである。グラフ理論において、2部グラフのgirthとは、1つの図における最も短いループのループ長を意味し、例えば、ある2部グラフに長さが6、8、10、12およびより長い長さのループがあれば、該2部グラフのgirthは6であり、変数ノードのgirthとは該ノードを通った最も短いループのループ長を意味し、1つの変数ノードが1つの符号語ビットに一意に対応するため、1つの符号語ビットのgirthは1つの変数ノードのgirthである。
【0007】
(構造的LDPC符号)
構造的LDPC符号は、工業界で最も流行なLDPC符号であり、最も広い適用を有し、現在では、IEEE802.11n/ad、IEEE802.16eなどの国際規格に現れ、このようなLDPC符号は、また、学界では準巡回LDPC符号または多重辺タイプLDPC符号と呼ばれることが多い。
【0008】
このようなLDPC符号が構造化されたLDPC符号のパリティ検査行列Hは、(M×z)×(N×z)行列とされ、M×N個のブロック行列から構成され、各ブロック行列はいずれもz×zの基本置換行列の異なるべき乗であり、基本置換行列が単位行列である場合、それらは全て単位行列の巡回シフト行列(デフォルトで右へシフトする)である。このようなべき乗jにより、各ブロック行列を一意に識別することができ、単位行列の毎回を0で示すことができ、全0正方行列は一般的に-1で示される。このように、Hの各ブロック行列を全てそのべき乗で代替すれば、1つのM×Nのべき乗の行列Hbが得られる。ここで、HbがHの基本行列であると定義し、HをHbの拡散行列と呼ぶ。実際に符号化する時、z=符号長/基本行列の列数Nであり、拡散係数と呼ぶ。
【0009】
例えば、下記行列は、以下のパラメータzと1つの2×4の基本行列Hbで拡散して得られる。
【数1】
z=3およびHbが下記のとおりである。
【数2】
【0010】
正確な定義は、(N,K)構造的LDPC符号は、サイズが(mb×z)×(nb×z)のパリティ検査行列Hにより定義され、そのうち、パリティ検査行列Hは、サイズがmb×nbの基本行列Hb、拡散係数zおよび基本置換行列Pという3つの変数により確定される。情報系列の長さK=(nb-mb)×zであり、符号語の長さN=nb×zであり、符号化率r=k/nである。基本行列Hbにおける全ての要素を全0正方行列または基本置換行列Pのhbij乗の行列に置換し、拡散後のパリティ検査行列Hを得て、そのうち、hbijはHbにおける要素である。基本行列Hbの定義は下記のとおりであり、
【数3】
拡散後のパリティ検査行列Hの定義は、下記のとおりである。
【数4】
【0011】
従って、LDPC符号のエンコーダは、基本行列Hb、拡散係数z、および選択された基本置換行列から一意に生成されるとも言える。上記基本行列の定義により、拡散係数(1つの1よりも大きい整数z)が所定される条件で、基本行列とパリティ検査行列とは本質的に1つのものであることが分かった。
【0012】
(LDPC符号の符号化)
システムブロック符号の直接符号化方法は、1つの符号語xをN-M個の情報ビットsとM個の検査ビットcとに分割し、対応して、M×Nのパリティ検査行列Hを情報ビットと検査ビットにそれぞれ対応するM×(N-M)とM×Mサイズの2ブロックに分割し、すなわち、H=[A|B]である。H×x=0により、下記式が得られる。
【数5】
【0013】
すると、A×s+B×c=0が得られ、さらに、c=B -1 Asが推測される。ブロックBが厳密な下三角構造(半確率行列)、ダブル下三角構造などのような特殊の行列構造を用いると、B -1 は非常に簡単な形式を有し、上式により符号語内の検査ビット部分cを直接算出することができ、且つ、エンコーダが線形複雑度を有することを保証することができる。
【0014】
Richarson線形時間符号化アルゴリズムを用いても良く、パリティ検査行列Hは準下三角構造を有し、Hが下記の形式を有するようにする。
【数6】
【0015】
符号化後の符号語が下記式であり、
【数7】
ここで、sは符号語の組織ビット部分であり、pとpは符号語の検査ビット部分であり、pの長さがgであり、pの長さが(m-g)である。上式において、Aの次元は(m-g)×(n-m)であり、Bは(m-g)×gであり、Tは(m-g)×(m-g)であり、Cはg×(n-m)であり、Dはg×gであり、Eはg×(m-g)である。これらの行列はいずれも疎な行列であり、Tは下三角行列であり、対角要素はいずれも1である。検査ビット部分は、下記式により得られる。
【数8】
【数9】
【数10】
【0016】
構造的LDPC符号のベクトル特徴を考慮すると、ベクトル復号化の方法の使用を考慮してもよく、1つの構造的LDPC符号の検査ビット部分が1つの厳密な下三角行列であると、以下のベクトル形態により符号化してもよく、非常に成熟して簡単である。
【0017】
(n,k)構造的LDPC符号の符号語が下記式であり、
【数11】
xは情報系列であり、bは検査系列である。
【数12】
【数13】
【0018】
入力されたk個のビットの情報系列xに対してLDPC符号化を行い、n-k個のビットを含む検査系列bを生成し、LDPC符号語c=[x,b]、そのうち、n=nb×zであり、k=kb×zであり、kb=nb-mbであり、zは拡散係数である。情報系列xはkb個の長さがzのサブ系列に分けることができ、
【数14】
そのうち、各サブ系列は、下記のとおりであり、
【数15】
検査系列bはmb個の長さがzのサブ系列に分けられ、
【数16】
そのうち、各サブ系列は、下記のとおりである。
【数17】
【0019】
中間変数系列vを定義し、そのうち、vはmb個の長さがzのサブ系列に分けられる。
【数18】
そのうち、各サブ系列は、下記のとおりである。
【数19】
【0020】
LDPC符号の符号化のステップは以下のとおりである。
(1)中間変数系列vを算出する。
【数20】
(2)検査系列bを算出する。
【数21】
【数22】
(3)LDPC符号語c=[x,b]を算出する。
【0021】
以上をまとめると、LDPC符号のエンコーダはLDPCパリティ検査行列Hにより一意に記載することができ、具体的な符号化方法は既に非常に成熟して簡単であるため、ここでは説明を省略する。また、LDPC符号のパリティ検査行列はLDPC符号デコーダの性能を決定するだけでなく、LDPC符号のエンコーダとデコーダの複雑度、記憶空間と処理遅延を決定し、さらに、何がインクリメンタルリダンダンシーHARQをサポートできるか、および十分な融通性があるかどうかを決定する。従って、適当なLDPC符号のパリティ検査行列構造を探すことは極めて重要であり、LDPC符号の使用見込みを決定する。
【0022】
具体的に実現する時に、上記直接方法またはRicharson方法または他の方法を用いて演算し、N-Mビットの元データからNビット符号語を得る符号化機能を完成することができる。実際、該エンコーダは、ソフトウェアまたはハードウェアで式中の疎な行列の乗算と加算演算を実現し、単位行列およびその巡回シフト行列に基づくLDPC符号について、疎な行列の乗算演算は複数のzビット(zが拡散係数である)のサイクリックシフトレジスタおよび複数のzビットの加算器から構成されてもよく、疎な行列の加算演算は、上記複数のzビットの加算器により完成され、該複数のzビットのサイクリックシフトレジスタおよび複数のzビットの加算器は1つのハードウェア回路で実現されるLDPCエンコーダを構造する。
【0023】
(LDPCの復号化)
LDPCパリティ検査行列のグラフィック表示形式は2部グラフである。2部グラフと検査行列との間には一対一で対応する関係を有し、1つのM*Nのパリティ検査行列Hにより、各Nビットを有する符号語はM個のパリティ検査セットの制約を満たすことを定義する。1つの2部グラフは、N個の変数ノードとM個のパリティ検査ノードとを含む。m個目の検査がn個目のビットに関し、すなわち、Hにおけるm行目n列目の要素Hm、n=1である場合、検査ノードmと変数ノードnとを接続する配線が1本ある。2部グラフにおいて、いずれかの同じ種類のノードの間に接続がなく、且つ、2部グラフにおける総辺数は検査行列における非ゼロ要素の個数に等しい。
【0024】
LDPC符号の情報転送復号アルゴリズムは、変数ノードが互いに独立すると仮定し、ショートループの存在は必ず独立性の仮設を破壊し、復号性能を著しく低減する。実際、LDPCパリティ検査行列の2部グラフに対応する最も短いループの長さが長ければ長いほど、すなわち、girth値が大きければ大きいほど、変数ノードから送信された情報が自身に転送される正帰還情報は小さく、復号性能も良好である。検査行列Hのgirthと基本行列Hbとの間に関連性があり、数学的推論和コンピュータシミュレーションの検証により、関連結論があった。
【0025】
以下、2部グラフのgirth、ノードのgirth、辺のgirthについて説明する。2部グラフにおけるショートループを定量的に説明するために、girthに関する概念を導入する。2部グラフのgirthとは、1つの図における最も短いループのループ長を意味し、例えば、ある2部グラフに長さが6、8、10、12およびより長い長さのループがあれば、該2部グラフのgirthは6である。2部グラフにおいて、あるノードuのgirth(the girth at node u)とは、ノードuを経た最も短いループのループ長を意味し、例えば、ノードuを経たもののうち長さが8、10、12およびより長い長さのループがあれば、該ノードuのgirthは8である。2部グラフにおいて、ある辺eのgirth(the girth at node u)とは、この辺eを経た最も短いループのループ長を意味し、例えば、ノードeを経たもののうち長さが8、10、12およびより長い長さのループがあれば、該ノードuのgirthは8である。
【0026】
1つの変数ノードのgirthとは、最も短いパスの長さを意味し、このノードから送信される情報が該ノード本身に転送される最も小さい反復回数に相当する。実際の反復回数がこの最も小さい反復回数に達する前に、このノードに関連する情報は2部グラフの残りの部分に最適に転送することができる。ある変数ノードのgirthが大きければ大きいほど、該変数ノードから送信される情報が自身に転送される正帰還情報は小さく、復号性能も良好である。従って、変数ノードのgirthをできるだけ大きくすることは符号性能の向上に有利である。以上をまとめると、高LDPC符号を構成する原則は以下のとおりである。まず、選択された符号の最も短いループの長さ(girth)はできるだけ大きくし、次に、同じサイズgirthを有する符号について、選択された符号の最も短いループの数はできるだけ少なくする。
【0027】
実際の適用において、基本行列からパリティ検査行列に拡散し、前記パリティ検査行列は拡散行列またはバイナリ行列とも言える。検査行列のトポロジを分析することにより、拡散行列において、z×zのブロック行列と基本行列の要素とは一意に対応し、基本行列における一部の要素がショートループを構成しなければ、これらの要素に対応するブロック行列は拡散行列においてもショートループを構成しないことが分かった。そのため、拡散行列のショートループを検討するために、基本行列にショートループが現れる場合の拡散行列を検討すればよい。
【0028】
検査行列と2部グラフのトポロジ構造を分析し、基本行列Hに長さが4のショートループが現れる場合、Hの拡散行列Hには長さが4またはそれ以上のショートループが現れる可能性があり、例えば、4つのz×zのブロック行列P、P、P、Pに対応するべき乗要素i、j、k、lはHにおいて長さが4のショートループを構成し、mod(i-j+k-l,z)=0であると、P、P、P、PはHにおいて長さが4のショートループを構成し、mod(i-j+k-l,z)=z/2であると、P、P、P、PはHにおいて長さが8のショートループを構成する。他の場合、P、P、P、PはHにおいて長さが12のショートループを構成するか、またはショートループを構成しない。
【0029】
検査行列と2部グラフのトポロジ構造を分析し、基本行列Hbに長さが6のショートループが現れる場合、Hの拡散行列Hには長さが6またはそれ以上のショートループが現れる可能性があり、例えば、6つのz×zのブロック行列P、P、P、P、P、Pに対応するべき乗要素i、j、k、l、m、nはHbにおいて長さが6のショートループを構成し、mod(i-j+k-l+m-n,z)=0であると、P、P、P、P、P、PはHにおいて長さが6のショートループを構成し、mod(i-j+k-l+m-n,z)=z/2であると、P、P、P、P、P、PはHにおいて長さが10のショートループを構成する。他の場合、P、P、P、P、P、PはHにおいて長さが12以上のショートループを構成するか、またはショートループを構成しない。
【0030】
検査行列と2部グラフのトポロジ構造を分析し、基本行列Hに長さが8のショートループが現れる場合、Hの拡散行列Hには長さが8またはそれ以上のショートループが現れる可能性があり、例えば、8つのz×zのブロック行列P、P、P、P、P、P、P、Pに対応するべき乗要素i、j、k、l、m、n、s、tはHbにおいて長さが8のショートループを構成し、mod(i-j+k-l+m-n+s-t,z)=0であると、P、P、P、P、P、P、P、PはHにおいて長さが8のショートループを構成する。他の場合、P、P、P、P、P、P、P、PはHにおいて長さが12のショートループを構成するか、またはショートループを構成しない。
【0031】
(基本行列の修正)
各異なる拡散係数に同一の基本行列を用いることができなければ、各異なる符号長に対して、前記LDPC符号のエンコーダ/デコーダはいずれも1つの基本行列を記憶する必要があり、符号長が多い場合、多くの基本行列を記憶する必要があり、大きな記憶空間を占有し、またはハードウェアで実現される回路が複雑になる。
【0032】
修正は、他の符号長の拡散係数を利用して基本行列Hbにおける非負値の要素を修正することであり、修正後の要素値は該符号長での拡散係数値よりも小さくなるべきであり、修正アルゴリズムはモジュロ(mod)、丸め(scale+floor)、または四捨五入(scale+round)などを用いることができる。Pi、jを基本行列のi行目j列目の非負の要素とし、P’i、jを修正後の要素とすると、
モジュロ(mod)方法は、下記のとおりであり、
【数23】
丸め(scale+floor)方法は、下記のとおりであり、
【数24】
四捨五入(scale+round)方法は、下記のとおりである。
【数25】
【0033】
そのうち、Nは基本行列の列数であり、nはパリティ検査行列を生成しようとする低密度パリティ検査符号の符号長である。modはモジュロ動作であり、[]はフロア動作であり、Roundは四捨五入動作である。ここで、最大符号長を2304とする。
【0034】
例えば、符号長が1152ビットの低密度パリティ検査符号に対して、その基本行列のある非負の要素を93とすると、その修正結果は、
モジュロ(mod)方法は、下記のとおりであり、
【数26】
丸め(scale+floor)方法は、下記のとおりであり、
【数27】
四捨五入(scale+round)方法は、下記のとおりである。
【数28】
【0035】
LDPC符号は、現在で最も流行な階層復号化を用いると、対数尤度比情報の読み書きはLDPC符号のパイプラインの配列に大きく影響する。具体的には、高符号化率の場合、一般的なLDPC符号の符号構造では、デコーダは、基本行列の1行の処理を完成してから次の段のパイプラインを開始する必要があり、1段のパイプラインが特に長いと、デコーダの効率を大幅に低減する。
【0036】
3GPP規格において、第5世代移動通信規格の新しい無線・アクセス技術(5G New RAT)が正式に確立され、この新しい無線・アクセス技術は、超高スループットと低処理遅延をサポートする必要があるため、現在のturbo符号化形態を代替する新しい符号化形態が必要となる。しかし、現在の通信規格のLDPC符号は、インクリメンタルリダンダンシーHARQを良好にサポートすることができず、十分な符号化率と送信ブロックサイズの融通性を有しないため、新しいLDPC符号化構造を設計する必要があり、Turbo符号に近い性能および融通性が保証される条件で、インクリメンタルリダンダンシーHARQをサポートすることができ、さらに、Turbo符号よりも遥かに低い複雑度および超高速処理能力を有する必要がある。
【発明の概要】
【発明が解決しようとする課題】
【0037】
本発明の実施例は、少なくとも関連技術における従来のLDPCエンコーダ/デコーダのインクリメンタルリダンダンシーHARQをサポートできず、融通性が不十分である問題を解決する構造的LDPCの符号化、復号化方法および装置を提供する。
【課題を解決するための手段】
【0038】
本発明の1つの実施例によれば、LDPCの符号化方法を提供し、符号化に使用する基本行列Hbを確定し、そのうち、前記基本行列Hbは、組織ビットに対応するMb×KbのブロックAと、検査ビットに対応するMb×MbのブロックBとを含み、すなわち、Hb=[A,B]であり、そのうち、hbijは前記基本行列Hbのi行目とj列目の要素を示し、iは前記基本行列の行インデックスであり、jは前記基本行列の列インデックスであり、Kb=Nb-Mbであり、Kbは4以上の整数であり、Nbは3*Kb以上の整数であり、i=1,…,Mbであり、j=1,…,Nbであり、前記基本行列Hbは1つまたは複数のサブ行列を含み、前記サブ行列は左上隅サブ行列Hb1と左上隅サブ行列Hb2とを含み、そのうち、前記左上隅サブ行列Hb1および左上隅サブ行列Hb2の行数と列数はいずれも前記基本行列Hbの行数と列数よりも小さく、且つ、前記左上隅サブ行列Hb1は左上隅サブ行列Hb2の左上隅サブ行列であることと、前記基本行列および前記基本行列Hbに対応する拡散係数Zにより、元情報ビット系列に対してLDPC符号化演算を行い、符号語系列を得て、そのうち、Zは1以上の正整数であることとを含む。
【0039】
本発明の1つの実施例によれば、LDPCの復号化方法を提供し、
復号化に使用する基本行列Hbを確定し、そのうち、前記基本行列Hbは、組織ビットに対応するMb×KbのブロックAと、検査ビットに対応するMb×MbのブロックBとを含み、すなわち、Hb=[A,B]であり、そのうち、hbijは前記基本行列Hbのi行目とj列目の要素を示し、iは前記基本行列の行インデックスであり、jは前記基本行列の列インデックスであり、Kb=Nb-Mbであり、Kbは4以上の整数であり、Nbは3*Kb以上の整数であり、i=1,…,Mbであり、j=1,…,Nbであり、前記基本行列Hbは1つまたは複数のサブ行列を含み、前記サブ行列は左上隅サブ行列Hb1と左上隅サブ行列Hb2とを含み、そのうち、前記左上隅サブ行列Hb1および左上隅サブ行列Hb2の行数と列数はいずれも前記基本行列Hbの行数と列数よりも小さく、且つ、前記左上隅サブ行列Hb1は左上隅サブ行列Hb2の左上隅サブ行列であることと、
前記基本行列および前記基本行列Hbに対応する拡散係数Zにより、ビット数が予め設定された符号語に対して復号化演算を行い、元情報ビット系列を得て、そのうち、Zは1以上の正整数であることとを含む。
【0040】
本発明の別の実施例によれば、LDPCの符号化装置を提供し、確定モジュールと符号化モジュールとを備え、
前記確定モジュールは符号化に使用する基本行列Hbを確定するように設けられ、そのうち、前記基本行列Hbは、組織ビットに対応するMb×KbのブロックAと、検査ビットに対応するMb×MbのブロックBとを含み、すなわち、Hb=[A,B]であり、そのうち、hbijは前記基本行列Hbのi行目とj列目の要素を示し、iは前記基本行列の行インデックスであり、jは前記基本行列の列インデックスであり、Kb=Nb-Mbであり、Kbは4以上の整数であり、Nbは3*Kb以上の整数であり、i=1,…,Mbであり、j=1,…,Nbであり、
前記基本行列Hbは1つまたは複数のサブ行列を含み、前記サブ行列は左上隅サブ行列Hb1と左上隅サブ行列Hb2とを含み、そのうち、前記左上隅サブ行列Hb1および左上隅サブ行列Hb2の行数と列数はいずれも前記基本行列Hbの行数と列数よりも小さく、且つ、前記左上隅サブ行列Hb1は左上隅サブ行列Hb2の左上隅サブ行列であり、
前記符号化モジュールは、前記基本行列および前記基本行列Hbに対応する拡散係数Zにより、元情報ビット系列に対してLDPC符号化演算を行い、符号語系列を得て、Zは1以上の正整数であるように設けられる。
【0041】
本発明の他の実施例によれば、LDPCの復号化装置を提供し、確定モジュールと復号化モジュールとを備え、
前記確定モジュールは復号化に使用する基本行列Hbを確定するように設けられ、そのうち、前記基本行列Hbは、組織ビットに対応するMb×KbのブロックAと、検査ビットに対応するMb×MbのブロックBとを含み、すなわち、Hb=[A,B]であり、そのうち、hbijは前記基本行列Hbのi行目とj列目の要素を示し、iは前記基本行列の行インデックスであり、jは前記基本行列の列インデックスであり、Kb=Nb-Mbであり、Kbは4以上の整数であり、Nbは3*Kb以上の整数であり、i=1,…,Mbであり、j=1,…,Nbであり、前記基本行列Hbは1つまたは複数のサブ行列を含み、前記サブ行列は左上隅サブ行列Hb1と左上隅サブ行列Hb2とを含み、そのうち、前記左上隅サブ行列Hb1および左上隅サブ行列Hb2の行数と列数はいずれも前記基本行列Hbの行数と列数よりも小さく、且つ、前記左上隅サブ行列Hb1は左上隅サブ行列Hb2の左上隅サブ行列であり、
前記復号化モジュールは、前記基本行列および前記基本行列Hbに対応する拡散係数Zにより、ビット数が予め設定された符号語に対して復号化演算を行い、元情報ビット系列を得て、Zは1以上の正整数であるように設けられる。
【0042】
本発明の他の実施例によれば、記憶媒体をさらに提供する。該記憶媒体は、
符号化に使用する基本行列Hbを確定し、そのうち、前記基本行列Hbは、組織ビットに対応するMb×KbのブロックAと、検査ビットに対応するMb×MbのブロックBとを含み、すなわち、Hb=[A,B]であり、そのうち、hbijは前記基本行列Hbのi行目とj列目の要素を示し、iは前記基本行列の行インデックスであり、jは前記基本行列の列インデックスであり、Kb=Nb-Mbであり、Kbは4以上の整数であり、Nbは3*Kb以上の整数であり、i=1,…,Mbであり、j=1,…,Nbであり、前記基本行列Hbは1つまたは複数のサブ行列を含み、前記サブ行列は左上隅サブ行列Hb1と左上隅サブ行列Hb2とを含み、そのうち、前記左上隅サブ行列Hb1および左上隅サブ行列Hb2の行数と列数はいずれも前記基本行列Hbの行数と列数よりも小さく、且つ、前記左上隅サブ行列Hb1は左上隅サブ行列Hb2の左上隅サブ行列であるステップと、前記基本行列および前記基本行列Hbに対応する拡散係数Zにより、元情報ビット系列に対してLDPC符号化演算を行い、符号語系列を得て、そのうち、Zは1以上の正整数であるステップとを実行するためのプログラムコードを記憶するように設けられる。
【0043】
本発明の更なる実施例によれば、記憶媒体をさらに提供する。該記憶媒体は、
復号化に使用する基本行列Hbを確定し、そのうち、前記基本行列Hbは、組織ビットに対応するMb×KbのブロックAと、検査ビットに対応するMb×MbのブロックBとを含み、すなわち、Hb=[A,B]であり、そのうち、hbijは前記基本行列Hbのi行目とj列目の要素を示し、iは前記基本行列の行インデックスであり、jは前記基本行列の列インデックスであり、Kb=Nb-Mbであり、Kbは4以上の整数であり、Nbは3*Kb以上の整数であり、i=1,…,Mbであり、j=1,…,Nbであり、前記基本行列Hbは1つまたは複数のサブ行列を含み、前記サブ行列は左上隅サブ行列Hb1と左上隅サブ行列Hb2とを含み、そのうち、前記左上隅サブ行列Hb1および左上隅サブ行列Hb2の行数と列数はいずれも前記基本行列Hbの行数と列数よりも小さく、且つ、前記左上隅サブ行列Hb1は左上隅サブ行列Hb2の左上隅サブ行列であるステップと、
前記基本行列および前記基本行列Hbに対応する拡散係数Zにより、ビット数が予め設定された符号語に対して復号化演算を行い、元情報ビット系列を得て、そのうち、Zは1以上の正整数であるステップとを実行するためのプログラムコードを記憶するように設けられる。
【発明の効果】
【0044】
本発明の実施例に係る形態は、適当な基本行列を設計することにより、前記基本行列およびそれに対応する拡散係数に基づき、符号化または復号化を完成し、超高速度のLDPC符号化と復号化を実現し、Turbo符号に近い符号/復号性能を実現し、従来のLDPCエンコーダ/デコーダのインクリメンタルリダンダンシーHARQをサポートできず、融通性が不十分である問題を解決した。
【図面の簡単な説明】
【0045】
ここで説明する図面は、本発明の更なる理解を提供するためのものであり、本出願の一部を構成し、本発明の模式的な実施例およびその説明は本発明を解釈するためのものであり、本発明を不当に限定するものを構成しない。図面において、
図1】関連技術におけるデジタル通信システムの構造を示すブロック図である。
図2】本発明の実施例1に係る構造的LDPC符号のエンコーダの構造模式図である。
図3】本発明の実施例1に使用する基本行列の模式図である。
図4】本発明の実施例2に係る構造的LDPC符号のデコーダの構造模式図である。
図5】本発明の実施例3に係る構造的LDPC符号の符号化方法のフローチャートである。
図6】本発明の実施例4に係る構造的LDPC符号の復号化方法のフローチャートである。
図7】本発明の実施例5に係る構造的LDPC符号の符号化装置の構造模式図である。
図8】本発明の実施例5に係る構造的LDPC符号の復号化装置の構造模式図である。
図9】本発明の実施例8に係るメモリの記憶形態の模式図1である。
図10】本発明の実施例8に係るメモリの記憶形態の模式図2である。
【発明を実施するための形態】
【0046】
以下、図面および実施例を参照しながら本発明を詳細に説明する。なお、衝突しない場合、本出願における実施例および実施例における特徴は互いに組み合わせることができる。
【0047】
なお、本発明の明細書、請求の範囲、および上記図面における用語「第1」、「第2」などは、類似する対象を区別するためのものであり、特定の順序または優先順位を説明するためのものではない。
【0048】
従来の構造的LDPC符号は、一般的にインクリメンタルリダンダンシーHARQ形態をサポートすることができず、または一般的に超高スループットを提供することができず、またはTurbo符号に近い性能を達成することができず、または融通性が不十分である。しかし、基本行列の可能な構造と構成形態の数は極めて巨大であり、従来技術には未だ総合的な実行可能な解決方法がなく、このような要求を満たす基本行列も得られない。
【0049】
上記問題を解決するために、本発明の実施例は構造的LDPC符号の符号化、復号化方法および装置、エンコーダおよびデコーダを提供する。本発明の実施例は実用性から考慮し、複数の符号化率と複数種の符号長に同じ基本行列を使用し、通常最大符号長に対応して生成され、それと同時に異なる符号長の場合に該基本行列を修正する。本発明の実施例は、異なる符号長の基本行列のGirth特徴を定義することにより、各種の符号長の条件でTurbo符号性能が達成できることを保証する。しかし、本発明はこれに限定されず、符号長ごとに1つの基本行列を用いる形態にも適用可能である。
【0050】
なお、本出願の実施例に係る解決手段は、本出願の実施例における行列の構造に限定されず、例えば、組織ビットに対応する行列と検査ビットに対応する行列との位置を左右に互換することができ、本出願の実施例における設計思想に基づく符号化/復号化形態は、いずれも本出願の保護範囲内に含まれるべきである。
【実施例1】
【0051】
本発明の実施例は、デジタル通信における構造的低密度パリティ検査符号LDPCの符号化装置を提供し、その構造が図2に示すように、少なくともプロセッサ202とメモリ201とを備える。
【0052】
前記メモリ201は少なくとも符号化に使用する基本行列を記憶するように設けられる。
【0053】
前記基本行列は、組織ビットに対応するMb×KbのブロックAと、検査ビットに対応するMb×MbのブロックBとを含み、すなわち、Hb=[A,B]であり、そのうち、hbijは前記基本行列のi行目とj列目の要素を示し、iは前記基本行列の行インデックスであり、jは前記基本行列の列インデックスであり、Kb=Nb-Mbであり、Nbは3*Kb以上の整数であり、Kbは4以上の整数である。i=1,…,Mbであり、j=1,…,Nbである。
【0054】
前記基本行列Hbは1つまたは複数のサブ行列を含み、前記サブ行列は左上隅サブ行列Hb1と左上隅サブ行列Hb2とを含み、そのうち、前記左上隅サブ行列Hb1および左上隅サブ行列Hb2の行数と列数はいずれも前記基本行列Hbの行数と列数よりも小さく、且つ、前記左上隅サブ行列Hb1は左上隅サブ行列Hb2の左上隅サブ行列である。
【0055】
好ましくは、前記行列Hbの最初のL0行と最初のKb+4列とのインタセクションから左上隅サブ行列Hb1を構成し、前記左上隅サブ行列Hb1の各行の非Z*Z零正方行列に対応する要素の個数はいずれもKb+2以下Kb-2以上であり、前記左上隅サブ行列Hb1の最後の4列の正方行列は1つの左下三角行列または準左下三角行列であり、および/または、
【0056】
前記左上隅サブ行列Hb2は前記行列Hbの最初のKb行と最初の2*Kb列とのインタセクションから構成され、前記左上隅サブ行列Hb2の最初の4行と最後のKb-4列とのインタセクションから構成されるサブ行列の全ての要素は、いずれもZ*Z零正方行列に対応する要素であり、前記左上隅サブ行列Hb2の最後のb-4行と最後のb-4列とのインタセクションから構成されるサブ行列は、サイズが(b-4)*(b-4)の左下三角行列または準左下三角行列であり、前記左上隅サブ行列Hb2の最後のb-4行とKb+1列目~Kb+3列目とのインタセクションから構成されるサブ行列の全ての要素は、いずれもZ*Z零正方行列に対応する要素である。
【0057】
左上隅サブ行列Hb1の最後の4列の正方行列が1つの下三角行列であると、前記左上隅サブ行列Hb2の最後のKb-4行、Kb+1列目には非Z*Z零正方行列に対応する要素が1つのみあり、左上隅サブ行列Hb1の最後の4列の正方行列が1つの準下三角行列であると、前記左上隅サブ行列Hb2の最後のKb-4行、Kb+1列目の全ての要素はいずれもZ*Z零正方行列に対応する要素である。
【0058】
前記左上隅サブ行列Hb2の最後のb-4行と最初のb列とのインタセクションから1つのサブ行列を構成し、このサブ行列において、各行の非Z*Z零正方行列に対応する要素の個数はいずれもKb-2以下である。
【0059】
そのうち、Nbは2*Kb以上であ
【0060】
2)前記拡散係数Zは1組の確定値セット{z,z,z…,z}をサポートし、そのうち、z、z、…、zは昇順に配列され、z、z、z、zは前記セットにおける4つの確定値の拡散係数でz≦z≦z≦z≦z≦zを満たし、そのうち、V、r、s、t、uは下付き文字で1≦r≦s≦t≦u≦Vであり、Vは2以上の整数である。
【0061】
≦Z=z<zである場合、拡散係数Z=ziおよび基本行列Hbに対応するLDPC符号について、各LDPC符号語における全ての重量が2よりも大きい符号語ビットにおいて、少なくとも1つのビットのgirthは4に等しい。拡散係数Z=ziおよび最も重いR列を削除した基本行列Hbに対応するLDPC符号について、各LDPC符号語における全ての重量が2よりも大きい符号語ビットのgirthはいずれも6に等しく、そのうち、RはKb/2以下である。
【0062】
≦Z=z<zである場合、拡散係数Z=ziおよび基本行列Hbに対応するLDPC符号について、各LDPC符号語における全ての重量が2よりも大きい符号語ビットのgirthはいずれも6に等しい。
【0063】
≦Z=z<zである場合、拡散係数Z=zおよび基本行列Hbに対応するLDPC符号について、各LDPC符号語における全ての重量が2よりも大きい全ての組織ビットのgirthはいずれも6に等しく、各LDPC符号語における少なくとも1つの重量が2よりも大きい検査ビットのgirthは8以上である。
【0064】
≦Z=z<zである場合、拡散係数Z=zおよび基本行列Hbに対応するLDPC符号について、各LDPC符号語における全ての重量が2よりも大きい符号語ビットのgirthはいずれも8に等しい。
【0065】
≦Z=z<zである場合、拡散係数Z=zおよび基本行列Hbに対応するLDPC符号について、各LDPC符号語における全ての重量が2よりも大きい組織ビットのgirthはいずれも8に等しく、各LDPC符号語における少なくとも1つの重量が2よりも大きい検査ビットのgirthは10以上である。
【0066】
そのうち、1つのLDPC符号語の各符号語ビットは前記パリティ検査行列の各列に対応し、前記パリティ検査行列は、対応する拡散係数Z=ziおよび基本行列Hbにより確定され、各符号語ビットの重量とは、対応する列における非ゼロ要素の個数を意味し、且つ、i=1,2,…,Vである。
【0067】
そのうち、1つのLDPC符号語の各符号語ビットは前記パリティ検査行列の各列に対応する。
【0068】
各符号語ビットの重量とは、対応する列における非ゼロ要素の個数を意味し、ここでは、i=1,2,…,Vである。
【0069】
前記基本行列とそれに対応する拡散係数Zにより、(Nb-Mb)×Zビットの元情報ビット系列に対するLDPC符号化演算を完成し、Nb×Zビットの符号語系列を得て、そのうち、Zは拡散係数であり、Zは1以上の正整数である。
【0070】
好ましくは、前記上記基本行列Hbはさらに以下を含んでもよい。
【0071】
該左上隅サブ行列Hb3は、前記基本行列Hbの最初の2*b行と最初の3*Kb列とのインタセクションから構成され、Hb3の最後のKb行と最後のKb列とのインタセクションから構成されるサブ行列はサイズがb*bの単位行列または単位行列の巡回シフト行列である。
【0072】
Hb3の最初のKb行と最後のKb列とのインタセクションから構成されるサブ行列の全ての要素は、いずれもZ*Z零正方行列に対応する要素である。
【0073】
Hb3のKb+1列目~2*Kb列目から1つのサブ行列を構成し、該サブ行列のL1列において、各列における全ての非零正方行列に対応する要素は1つのみあり、このサブ行列の残りのKb-L1列における全ての要素(entry)は、いずれもZ*Z零正方行列に対応する要素であり、そのうち、L1は0以上Kb未満の整数である。
【0074】
そのうち、Nbは3*Kb以上である。
【0075】
好ましくは、Nbは2*Kb~12*Kbの1つの確定された正整数である。
【0076】
好ましくは、Kbの値は2~16の間の1つの整数である。
【0077】
好ましくは、エンハンスメント型モバイルブロードバンド(Enhanced Mobile Broadband、eMMBと略称する)のシーンと超高信頼低遅延(Ultra-ReliableandLowlatencyCommunication、URLLCと略称する)のシーンでは、異なるKbの値が用いられる。
【0078】
好ましくは、基本行列Hbのg行目の非Z*Z零正方行列に対応する要素の個数は、g+1行目の非Z*Z零正方行列に対応する要素の個数以下である。そのうち、g=1,2,…,Nb-1である。
【0079】
好ましくは、前記基本行列Hbのj列目における全ての非零正方行列に対応する要素はLj個であり、上から下へ1つ目の要素は0であり、Ljは1以上の正整数であり、j=1,…,Nbである。
【0080】
なお、本発明はこのような形態に限定されるものではなく、最後の1つの要素が0であってもよく、任意の要素が0であってもよい。これらの形態はいずれも、階層復号化を用いると、サイクリックシフト逆ネットワークを使用しなくてもよく、ルーティングのオーバーヘッドを著しく減少することができ、有益な効果が得られることを保証できる。
【0081】
前記プロセッサ202は、前記基本行列および拡散係数zを確定し、(Nb-Mb)×zビットの元データからNb×zビットの符号語を得るLDPC符号化演算を完成するように設けられる。
【0082】
以下、1つのより具体的な例を挙げると、以上の記載要求を満たす基本行列Hbは図3に示すとおりである。
【0083】
図3に示す基本行列Hbは、該行列Hbに対応する符号化率が1/3であり、行列Mb=16であり、Nb=24であり、Hb1が4*12の行列であり、Hb2が8*16の行列であり、Hb3が16*24の行列である。該基本行列は拡散係数z=336に対応する。図3の行列の例は、Hb1の特徴、Hb2の特徴およびHb3の特徴を同時に満たす。Hb1の特徴を満たす場合、2/3符号化率のLDPC符号はTurbo符号に近い性能を有し、該行列が4行のみあるため、超高速処理の要求を満たす。Hb2の特徴を満たす場合、LDPCが好ましい次数分布を有することを保証するため、それと同時に特定のTBS=336*8のgirth要求を満たすため、1/2符号化率のLDPC符号はTurbo符号に近い性能を有する。該行列が8行のみあるため、超高速処理の要求を満たす。また、Hb1がHb2の左上隅サブ行列であり、入れ子構造に属するため、インクリメンタルリダンダンシーHARQをサポートすることができる。好ましくは、Hb3の特徴を満たす場合、LDPCが好ましい次数分布を有することを保証するため、それと同時に特定のTBS=336*8のgirth要求を満たすため、1/3符号化率のLDPC符号はTurbo符号に近い性能を有する。該行列が16行のみあるため、超高速処理の要求を満たす。また、Hb1およびHb2はいずれもHbの左上隅サブ行列であり、入れ子構造に属するため、インクリメンタルリダンダンシーHARQをサポートすることができる。
【0084】
前記行列Hbの最初のL0=4行と最初のKb+4=8列とのインタセクションから左上隅サブ行列Hb1を構成し、前記左上隅サブ行列Hb1の各行の非Z*Z零正方行列に対応する要素の個数は順に9、10、10および10に等しく、これらの値はいずれもKb+2=10以下Kb-2=8以上であり、前記左上隅サブ行列Hb1の最後の4列の正方行列は1つの左下三角行列または準左下三角行列である。
【0085】
上述した行列において、A部分行列はシステマティックビット部分行列であり、B部分は検査ビット部分行列であり、行列における要素値-1が全0正方行列に対応し、要素値は、非零正方行列が正方行列に対応して対応値をサイクリックシフトした後の行列である。また、基本行列Hbの全ての列において、第1対応非零正方行列の要素はいずれも0である。この時、サイクリックシフトネットワークは、サイクリックシフトの差分値を完成すればよい。この時、本発明の行列構造を有するLDPC階層デコーダはサイクリックシフト逆ネットワークを必要とせず、従来の形態と比べ、ルーティングが半減する。
【0086】
好ましくは、上記エンコーダは、拡散係数および基本置換行列により、前記基本行列を拡散し、(M×z)(N×z)低密度パリティ検査符号のパリティ検査行列を得て、前記復号化モジュールは、前記基本行列の拡散による該パリティ検査行列に対して符号化演算を行うように設けられる拡散モジュールをさらに含むという特点をさらに有してもよい。
【0087】
本発明の実施例は、提出される基本行列の構造により、情報ビットをLDPC符号化し、LDPC符号語を生成することができ、このようなLDPC符号語は、変調などのモジュールを経てからチャネルに送信し、受信端が信号を受信した後に復調などの処理を行い、受信されるLDPC符号語を生成し、受信されるLDPC符号語はLDPCデコーダに送信される。このように、LDPC符号語は、復号化のパイプライン速度が向上する効果を保証でき、すなわち、デコーダ処理の速度は向上する効果を得る。これにより、LDPC符号の効率を効果的に向上させ、復号化速度を加速する。さらに、本発明に係る基本行列の構造は、逆サイクリックシフトネットワーク(書き込み記憶に用いられる)の不使用の許容により、交換ネットワークを減少させることができ、同様にハードウェア複雑度をさらに低減する。
【実施例2】
【0088】
本発明の実施例は、デジタル通信中構造的低密度パリティ検査符号LDPCの復号化装置を提供し、その構造が図4に示すように、少なくともプロセッサ402とメモリ401とを備える。
【0089】
前記メモリ401は、少なくとも符号化に使用する基本行列を記憶するように設けられる。前記基本検査行列は以下の特徴を含む。
【0090】
前記基本行列は、組織ビットに対応するMb×KbのブロックAと、検査ビットに対応するMb×MbのブロックBとを含み、すなわち、Hb=[A,B]であり、そのうち、hbijは前記基本行列のi行目とj列目の要素を示し、iは前記基本行列の行インデックスであり、jは前記基本行列の列インデックスであり、Kb=Nb-Mbであり、Kbは4以上の整数であり、Nbは3*Kb以上の整数である。i=1,…,Mbであり、j=1,…,Nbである。
【0091】
前記基本行列Hbは1つまたは複数のサブ行列を含み、前記サブ行列は左上隅サブ行列Hb1と左上隅サブ行列Hb2とを含み、そのうち、前記左上隅サブ行列Hb1および左上隅サブ行列Hb2の行数と列数はいずれも前記基本行列Hbの行数と列数よりも小さく、且つ、前記左上隅サブ行列Hb1は左上隅サブ行列Hb2の左上隅サブ行列である。
【0092】
好ましくは、前記左上隅サブ行列Hb1は、前記行列Hbの最初のL0行と最初のKb+4列とのインタセクションから構成され、前記左上隅サブ行列Hb1の各行の非Z*Z零正方行列に対応する要素の個数はいずれもKb+2以下Kb-2以上であり、前記左上隅サブ行列Hb1の最後の4列の正方行列は1つの左下三角行列または準左下三角行列であり、および/または、
【0093】
前記左上隅サブ行列Hb2は前記行列Hbの最初のKb行と最初の2*Kb列とのインタセクションから構成され、前記左上隅サブ行列Hb2の最初の4行と最後のKb-4列とのインタセクションから構成されるサブ行列の全ての要素は、いずれもZ*Z零正方行列に対応する要素であり、前記左上隅サブ行列Hb2の最後のb-4行と最後のb-4列とのインタセクションから構成されるサブ行列は、サイズが(b-4)*(b-4)の左下三角行列または準左下三角行列であり、前記左上隅サブ行列Hb2の最後のb-4行とKb+1列目~Kb+3列目とのインタセクションから構成されるサブ行列の全ての要素は、いずれもZ*Z零正方行列に対応する要素である。
【0094】
左上隅サブ行列Hb1の最後の4列の正方行列が1つの下三角行列であると、前記左上隅サブ行列Hb2の最後のKb-4行、Kb+1列目には非Z*Z零正方行列に対応する要素が1つのみあり、左上隅サブ行列Hb1の最後の4列の正方行列が1つの準下三角行列であると、前記左上隅サブ行列Hb2の最後のKb-4行、Kb+1列目の全ての要素はいずれもZ*Z零正方行列に対応する要素である。
【0095】
前記左上隅サブ行列Hb2の最後のb-4行と最初のb列とのインタセクションから1つのサブ行列を構成し、このサブ行列において、各行の非Z*Z零正方行列に対応する要素の個数はいずれもKb-2以下である。
【0096】
そのうち、Nbは2*Kb以上であ
【0097】
2)前記拡散係数Zは1組の確定値セット{z,z,z…,z}をサポートし、そのうち、z、z、…、zは昇順に配列され、z、z、z、zは前記セットにおける4つの確定値の拡散係数でz≦z≦z≦z≦z≦zを満たし、そのうち、V、r、s、t、uは下付き文字で1≦r≦s≦t≦u≦Vであり、Vは2以上の整数である。
【0098】
≦Z=z<zである場合、拡散係数Z=ziおよび基本行列Hbに対応するLDPC符号について、各LDPC符号語における全ての重量が2よりも大きい符号語ビットにおいて、少なくとも1つのビットのgirthは4に等しい。拡散係数Z=zおよび最も重いR列を削除した基本行列Hbに対応するLDPC符号について、各LDPC符号語における全ての重量が2よりも大きい符号語ビットのgirthはいずれも6に等しく、そのうち、RはKb/2以下である。
【0099】
≦Z=z<zである場合、拡散係数Z=zおよび基本行列Hbに対応するLDPC符号について、各LDPC符号語における全ての重量が2よりも大きい符号語ビットのgirthはいずれも6に等しい。
【0100】
≦Z=z<zである場合、拡散係数Z=ziおよび基本行列Hbに対応するLDPC符号について、各LDPC符号語における全ての重量が2よりも大きい全ての組織ビットのgirthはいずれも6に等しく、各LDPC符号語における少なくとも1つの重量が2よりも大きい検査ビットのgirthは8以上である。
【0101】
≦Z=z<zである場合、拡散係数Z=ziおよび基本行列Hbに対応するLDPC符号について、各LDPC符号語における全ての重量が2よりも大きい符号語ビットのgirthはいずれも8に等しい。
【0102】
≦Z=z<zである場合、拡散係数Z=ziおよび基本行列Hbに対応するLDPC符号について、各LDPC符号語における全ての重量が2よりも大きい組織ビットのgirthはいずれも8に等しく、各LDPC符号語における少なくとも1つの重量が2よりも大きい検査ビットのgirthは10以上である。
【0103】
そのうち、1つのLDPC符号語の各符号語ビットはパリティ検査行列の各列に対応し、前記パリティ検査行列は、対応する拡散係数Z=ziおよび基本行列Hbにより確定され、各符号語ビットの重量とは、対応する列における非ゼロ要素の個数を意味し、且つ、i=1,2,…,Vである。
【0104】
そのうち、1つのLDPC符号語の各符号語ビットはパリティ検査行列の各列に対応し、前記パリティ検査行列は、対応する拡散係数Z=ziおよび基本行列Hbにより確定され、各符号語ビットの重量とは、対応する列における非ゼロ要素の個数を意味し、ここでは、i=1,2,…,Vである。
【0105】
前記基本行列とそれに対応する拡散係数Zにより、(Nb-Mb)×Zビットの元情報ビット系列に対するLDPC符号化演算を完成し、Nb×Zビットの符号語系列を得て、そのうち、Zは拡散係数であり、Zは1以上の正整数である。
【0106】
好ましくは、前記基本行列Hbは、左上隅サブ行列Hb3をさらに含む。
【0107】
好ましくは、該左上隅サブ行列Hb3は、前記基本行列Hbの最初の2*b行と最初の3*Kb列とのインタセクションから構成され、Hb3の最後のKb行と最後のKb列とのインタセクションから構成されるサブ行列はサイズがb*bの単位行列または単位行列の巡回シフト行列である。
【0108】
Hb3の最初のKb行と最後のKb列とのインタセクションから構成されるサブ行列の全ての要素は、いずれもZ*Z零正方行列に対応する要素である。
【0109】
Hb3のKb+1列目~2*Kb列目から1つのサブ行列を構成し、該サブ行列のL1列において、各列における全ての非零正方行列に対応する要素は1つのみあり、このサブ行列の残りのKb-L1列における全ての要素(entry)は、いずれもZ*Z零正方行列に対応する要素であり、そのうち、L1は0以上Kb未満の整数である。
【0110】
そのうち、Nbは3*Kb以上であり、L0は4または3に等しい。
【0111】
好ましくは、Nbは2*Kb~12*Kbの1つの確定された正整数である。
【0112】
好ましくは、Kbの値は2~16の間の1つの整数である。
【0113】
さらに、eMMBのシーンおよびURLLCのシーンでは、異なるKbの値が用いられる。
【0114】
好ましくは、基本行列Hbのg行目の非Z*Z零正方行列に対応する要素の個数は、g+1行目の非Z*Z零正方行列に対応する要素の個数以下である。そのうち、g=1,2,…,Nb-1である。
【0115】
好ましくは、前記基本行列Hbのj列目における全ての非零正方行列に対応する要素はLj個であり、上から下へ1つ目の要素は0であり、Ljは1以上の正整数であり、j=1,…,Nbである。
【0116】
基本行列Hbのj列目における全ての非零正方行列に対応する要素はLj個であり、上から下へ1つ目の要素は0であり、Ljは1以上の正整数であり、j=0、1,…,Nb-1である。
【0117】
前記1つのプロセッサ402は、前記基本行列および拡散係数zにより、Nb×zビットの符号語から(Nb-Mb)×zビットの情報データを得るLDPC復号化演算を完成するように設けられる。
【0118】
以下、1つのより具体的な例を挙げると、以上の記載要求を満たす基本行列Hbは図3に示すとおりである。
【0119】
図3に示す基本行列Hbは、該行列Hbに対応する符号化率が1/3であり、行列Mb=16であり、Nb=24であり、Hb1が4*12の行列であり、Hb2が8*16の行列であり、Hb3が16*24の行列である。該基本行列は拡散係数z=336に対応する。図3の行列の例は、Hb1の特徴、Hb2の特徴およびHb3の特徴を同時に満たす。Hb1の特徴を満たす場合、2/3符号化率のLDPC符号はTurbo符号に近い性能を有し、該行列が4行のみあるため、超高速処理の要求を満たす。Hb2の特徴を満たす場合、LDPCが好ましい次数分布を有することを保証するため、それと同時に特定のTBS=336*8のgirth要求を満たすため、1/2符号化率のLDPC符号はTurbo符号に近い性能を有する。該行列が8行のみあるため、超高速処理の要求を満たす。また、Hb1がHb2の左上隅サブ行列であり、入れ子構造に属するため、インクリメンタルリダンダンシーHARQをサポートすることができる。好ましくは、Hb3の特徴を満たす場合、LDPCが好ましい次数分布を有することを保証するため、それと同時に特定のTBS=336*8のgirth要求を満たすため、1/3符号化率のLDPC符号はTurbo符号に近い性能を有する。該行列が16行のみあるため、超高速処理の要求を満たす。また、Hb1およびHb2はいずれもHbの左上隅サブ行列であり、入れ子構造に属するため、インクリメンタルリダンダンシーHARQをサポートすることができる。
【0120】
従って、本発明の構造は非常に高いまたは比較的融通の並列度をサポートすることができ、超高速復号化に適することを満たし、それにより、Gbpsの復号化要求を達成する。本実施例は提出される基本行列の構造により情報ビットをLDPC復号化し、LDPCデコーダはLDPC符号語を受信する。基本行列の行数が非常に小さいため、このように、LDPCデコーダは、復号化のパイプライン速度が向上する効果を保証でき、すなわち、デコーダの処理速度は向上する効果を得る。これにより、LDPC符号の効率を効果的に向上させ、復号化速度を加速する。さらに、本発明に係る基本行列の構造は、逆サイクリックシフトネットワーク(書き込み記憶に用いられる)の不使用の許容により、交換ネットワークを減少させることができ、同様にハードウェア複雑度をさらに低減する。
【実施例3】
【0121】
本発明の実施例は、構造的LDPC符号の符号化方法を提供し、該方法を用いてLDPC符号化を完成するフローは図5に示すように、以下のステップを含む。
【0122】
ステップ501、符号化に使用する基本行列Hbを確定する。
【0123】
好ましくは、前記基本検査行列は以下の特徴を含む。
【0124】
前記基本行列は、組織ビットに対応するMb×KbのブロックAと、検査ビットに対応するMb×MbのブロックBとを含み、すなわち、Hb=[A,B]であり、そのうち、hbijは前記基本行列のi行目とj列目の要素を示し、iは前記基本行列の行インデックスであり、jは前記基本行列の列インデックスであり、Kb=Nb-Mbであり、Kbは4以上の整数であり、Nbは3*Kb以上の整数である。i=1,…,Mbであり、j=1,…,Nbである。
【0125】
好ましくは、前記基本行列Hbは少なくとも以下の特徴を更に有する。前記基本行列Hbは1つまたは複数のサブ行列を含み、前記サブ行列は左上隅サブ行列Hb1と左上隅サブ行列Hb2とを含み、そのうち、前記左上隅サブ行列Hb1および左上隅サブ行列Hb2の行数と列数はいずれも前記基本行列Hbの行数と列数よりも小さく、且つ、前記左上隅サブ行列Hb1は左上隅サブ行列Hb2の左上隅サブ行列である。好ましくは、上記特徴は以下の実現形態として表現することができるが、これに限定するものではない。
【0126】
前記左上隅サブ行列Hb1は、前記行列Hbの最初のL0行と最初のKb+4列とのインタセクションから構成され、前記左上隅サブ行列Hb1の各行の非Z*Z零正方行列に対応する要素の個数はいずれもKb+2以下Kb-2以上であり、前記左上隅サブ行列Hb1の最後の4列の正方行列は1つの左下三角行列または準左下三角行列であり、および/または、
【0127】
前記左上隅サブ行列Hb2は前記行列Hbの最初のKb行と最初の2*Kb列とのインタセクションから構成され、前記左上隅サブ行列Hb2の最初の4行と最後のKb-4列とのインタセクションから構成されるサブ行列の全ての要素は、いずれもZ*Z零正方行列に対応する要素であり、前記左上隅サブ行列Hb2の最後のb-4行と最後のb-4列とのインタセクションから構成されるサブ行列は、サイズが(b-4)*(b-4)の左下三角行列または準左下三角行列であり、前記左上隅サブ行列Hb2の最後のb-4行とKb+1列目~Kb+3列目とのインタセクションから構成されるサブ行列の全ての要素は、いずれもZ*Z零正方行列に対応する要素である。
【0128】
左上隅サブ行列Hb1の最後の4列の正方行列が1つの下三角行列であると、前記左上隅サブ行列Hb2の最後のKb-4行、Kb+1列目には非Z*Z零正方行列に対応する要素が1つのみあり、左上隅サブ行列Hb1の最後の4列の正方行列が1つの準下三角行列であると、前記左上隅サブ行列Hb2の最後のKb-4行、Kb+1列目の全ての要素はいずれもZ*Z零正方行列に対応する要素である。
【0129】
前記左上隅サブ行列Hb2の最後のb-4行と最初のb列とのインタセクションから1つのサブ行列を構成し、このサブ行列において、各行の非Z*Z零正方行列に対応する要素の個数はいずれもKb-2以下である。
【0130】
そのうち、Nbは2*Kb以上であ
【0131】
2)前記拡散係数Zは1組の確定値セット{z,z,z…,z}をサポートし、そのうち、z、z、…、zは昇順に配列され、z、z、z、zは前記セットにおける4つの確定値の拡散係数でz≦z≦z≦z≦z≦zを満たし、そのうち、V、r、s、t、uは下付き文字で1≦r≦s≦t≦u≦Vであり、Vは2以上の整数である。
【0132】
≦Z=z<zである場合、拡散係数Z=ziおよび基本行列Hbに対応するLDPC符号について、各LDPC符号語における全ての重量が2よりも大きい符号語ビットにおいて、少なくとも1つのビットのgirthは4に等しい。拡散係数Z=zおよび最も重いR列を削除した基本行列Hbに対応するLDPC符号について、各LDPC符号語における全ての重量が2よりも大きい符号語ビットのgirthはいずれも6に等しく、そのうち、RはKb/2以下である。
【0133】
≦Z=z<zである場合、拡散係数Z=zおよび基本行列Hbに対応するLDPC符号について、各LDPC符号語における全ての重量が2よりも大きい符号語ビットのgirthはいずれも6に等しい。
【0134】
≦Z=z<zである場合、拡散係数Z=ziおよび基本行列Hbに対応するLDPC符号について、各LDPC符号語における全ての重量が2よりも大きい全ての組織ビットのgirthはいずれも6に等しく、各LDPC符号語における少なくとも1つの重量が2よりも大きい検査ビットのgirthは8以上である。
【0135】
≦Z=z<zである場合、拡散係数Z=ziおよび基本行列Hbに対応するLDPC符号について、各LDPC符号語における全ての重量が2よりも大きい符号語ビットのgirthはいずれも8に等しい。
【0136】
≦Z=z<zである場合、拡散係数Z=ziおよび基本行列Hbに対応するLDPC符号について、各LDPC符号語における全ての重量が2よりも大きい組織ビットのgirthはいずれも8に等しく、各LDPC符号語における少なくとも1つの重量が2よりも大きい検査ビットのgirthは10以上である。
【0137】
そのうち、1つのLDPC符号語の各符号語ビットはパリティ検査行列の各列に対応し、前記パリティ検査行列は、対応する拡散係数Z=ziおよび基本行列Hbにより確定され、各符号語ビットの重量とは、対応する列における非ゼロ要素の個数を意味し、且つ、i=1,2,…,Vである。
【0138】
前記基本行列とそれに対応する拡散係数Zにより、(Nb-Mb)×Zビットの元情報ビット系列に対するLDPC符号化演算を完成し、Nb×Zビットの符号語系列を得て、そのうち、Zは拡散係数であり、Zは1以上の正整数である。
【0139】
2)については、より具体的な例は以下のとおりである。
【0140】
1つの1/3符号化率の構造的LDPC符号の基本行列Hbは以下のように定義される。
【0141】
Hbは下記のとおりである。
【数29】
【0142】
このLDPC符号の拡散係数は1組の確定値セット{z,z,z…,z}={13,50,125,250,500,750,1000}をサポートし、ここで、V=7、Zmax=1000である。各拡散係数に対応する基本行列Hb(zi)は、背景技術におけるscale+floorアルゴリズムにより得られる。
【0143】
ここで、r=2であり、z=13≦Z=z<z=50である場合、拡散係数Z=zおよび基本行列Hbに対応するLDPC符号について、各LDPC符号語における全ての重量が2よりも大きい符号語ビットにおいて、13*5=65ビットのgirthは4に等しい。拡散係数Z=zおよび最も重いR=8列を削除した基本行列Hbに対応するLDPC符号について、各LDPC符号語における全ての重量が2よりも大きい符号語ビットのgirthはいずれも6に等しく、そのうち、RはKb/2以下である。
【0144】
ここで、s=3であり、z≦Z=z<zである場合、拡散係数Z=zおよび基本行列Hbに対応するLDPC符号について、各LDPC符号語における全ての重量が2よりも大きい符号語ビットのgirthはいずれも6に等しい。
【0145】
ここで、t=4であり、z≦Z=z<zである場合、拡散係数Z=zおよび基本行列Hbに対応するLDPC符号について、各LDPC符号語における全ての重量が2よりも大きい全ての組織ビットのgirthはいずれも6に等しく、各LDPC符号語において、125個の重量が2よりも大きい検査ビットのgirthは8以上である。
【0146】
ここで、u=7であり、z≦Z=z<zである場合、拡散係数Z=zおよび基本行列Hbに対応するLDPC符号について、各LDPC符号語における全ての重量が2よりも大きい符号語ビットのgirthはいずれも8に等しい。
【0147】
ここで、u=7であり、V=7であり、z≦Z=z<zが空白であり、このような場合が存在しないと意味する。
【0148】
さらに、前記基本行列は以下の特徴をさらに有する。該左上隅サブ行列Hb3は、前記基本行列Hbの最初の2*b行と最初の3*Kb列とのインタセクションから構成され、Hb3の最後のKb行と最後のKb列とのインタセクションから構成されるサブ行列はサイズがb*bの単位行列または単位行列の巡回シフト行列である。
【0149】
Hb3の最初のKb行と最後のKb列とのインタセクションから構成されるサブ行列の全ての要素は、いずれもZ*Z零正方行列に対応する要素である。
【0150】
Hb3のKb+1列目~2*Kb列目から1つのサブ行列を構成し、該サブ行列のL1列において、各列における全ての非零正方行列に対応する要素は1つのみあり、このサブ行列の残りのKb-L1列における全ての要素(entry)は、いずれもZ*Z零正方行列に対応する要素であり、そのうち、L1は0以上Kb未満の整数である。
【0151】
そのうち、Nbは3*Kb以上である。
【0152】
好ましくは、Nbは2*Kb~12*Kbの1つの確定された正整数である。
【0153】
好ましくは、Kbの値は2~16の間の1つの整数である。
【0154】
さらに、eMMBのシーンおよびURLLCのシーンでは、異なるKbの値が用いられる。
【0155】
好ましくは、基本行列Hbのg行目の非Z*Z零正方行列に対応する要素の個数は、g+1行目の非Z*Z零正方行列に対応する要素の個数以下である。そのうち、g=1,2,…,Nb-1である。
【0156】
好ましくは、前記基本行列Hbのj列目における全ての非零正方行列に対応する要素はLj個であり、上から下へ1つ目の要素は0であり、Ljは1以上の正整数であり、j=1,…,Nbである。
【0157】
基本行列Hbのj列目における全ての非零正方行列に対応する要素はLj個であり、上から下へ1つ目の要素は0であり、Ljは1以上の正整数であり、j=0、1,…,Nb-1である。
【0158】
ステップ502、前記基本行列およびそれに対応する拡散係数により、(Nb-Mb)×zビットの元データからNb×zビットの符号語を得るLDPC符号化演算を完成する。
【0159】
そのうち、Zは拡散係数であり、Zは1以上の正整数である。
【実施例4】
【0160】
本発明の実施例は構造的LDPC符号の復号化方法を提供し、該方法を用いてLPDC符号化を完成するフローは図6に示すように、以下のステップを含む。
【0161】
ステップ601、復号化に使用する基本行列を確定する。
【0162】
そのうち、前記基本行列Hbは1つまたは複数のサブ行列を含み、前記サブ行列は左上隅サブ行列Hb1と左上隅サブ行列Hb2とを含み、そのうち、前記左上隅サブ行列Hb1および左上隅サブ行列Hb2の行数と列数はいずれも前記基本行列Hbの行数と列数よりも小さく、且つ、前記左上隅サブ行列Hb1は左上隅サブ行列Hb2の左上隅サブ行列である。
【0163】
すなわち、前記基本行列は以下の特徴を含む。
【0164】
前記基本行列および前記基本行列Hbに対応する拡散係数Zにより、ビット数が予め設定された符号語に対して復号化演算を行い、元情報ビット系列を得て、そのうち、Zは1以上の正整数である。前記基本行列は、組織ビットに対応するMb×KbのブロックAと、検査ビットに対応するMb×MbのブロックBとを含み、すなわち、Hb=[A,B]であり、そのうち、hbijは前記基本行列のi行目とj列目の要素を示し、iは前記基本行列の行インデックスであり、jは前記基本行列の列インデックスであり、Kb=Nb-Mbであり、Kbは4以上の整数である。Nbは3*Kb以上の整数であり、i=1,…,Mbであり、j=1,…,Nbである。
【0165】
前記基本行列Hbは少なくとも以下の特徴のうちの1つをさらに含む。
【0166】
前記左上隅サブ行列Hb1は、前記行列Hbの最初のL0行と最初のKb+4列とのインタセクションから構成され、前記左上隅サブ行列Hb1の各行の非Z*Z零正方行列に対応する要素の個数はいずれもKb+2以下Kb-2以上であり、前記左上隅サブ行列Hb1の最後の4列の正方行列は1つの左下三角行列または準左下三角行列であり、および/または、
【0167】
前記左上隅サブ行列Hb2は前記行列Hbの最初のKb行と最初の2*Kb列とのインタセクションから構成され、前記左上隅サブ行列Hb2の最初の4行と最後のKb-4列とのインタセクションから構成されるサブ行列の全ての要素は、いずれもZ*Z零正方行列に対応する要素であり、前記左上隅サブ行列Hb2の最後のb-4行と最後のb-4列とのインタセクションから構成されるサブ行列は、サイズが(b-4)*(b-4)の左下三角行列または準左下三角行列であり、前記左上隅サブ行列Hb2の最後のb-4行とKb+1列目~Kb+3列目とのインタセクションから構成されるサブ行列の全ての要素は、いずれもZ*Z零正方行列に対応する要素である。
【0168】
左上隅サブ行列Hb1の最後の4列の正方行列が1つの下三角行列であると、前記左上隅サブ行列Hb2の最後のKb-4行、Kb+1列目には非Z*Z零正方行列に対応する要素が1つのみあり、左上隅サブ行列Hb1の最後の4列の正方行列が1つの準下三角行列であると、前記左上隅サブ行列Hb2の最後のKb-4行、Kb+1列目の全ての要素はいずれもZ*Z零正方行列に対応する要素である。
【0169】
前記左上隅サブ行列Hb2の最後のb-4行と最初のb列とのインタセクションから1つのサブ行列を構成し、このサブ行列において、各行の非Z*Z零正方行列に対応する要素の個数はいずれもKb-2以下である。
【0170】
そのうち、Nbは2*Kb以上であ
【0171】
2)前記拡散係数Zは1組の確定値セット{z,z,z…,z}をサポートし、そのうち、z、z、…、zは昇順に配列され、z、z、z、zは前記セットにおける4つの確定値の拡散係数でz≦z≦z≦z≦z≦zを満たし、そのうち、V、r、s、t、uは下付き文字で1≦r≦s≦t≦u≦Vであり、Vは2以上の整数である。
【0172】
≦Z=z<zである場合、拡散係数Z=zおよび基本行列Hbに対応するLDPC符号について、各LDPC符号語における全ての重量が2よりも大きい符号語ビットにおいて、少なくとも1つのビットのgirthは4に等しい。拡散係数Z=zおよび最も重いR列を削除した基本行列Hbに対応するLDPC符号について、各LDPC符号語における全ての重量が2よりも大きい符号語ビットのgirthはいずれも6に等しく、そのうち、RはKb/2以下である。
【0173】
≦Z=z<zである場合、拡散係数Z=zおよび基本行列Hbに対応するLDPC符号について、各LDPC符号語における全ての重量が2よりも大きい符号語ビットのgirthはいずれも6に等しい。
【0174】
≦Z=z<zである場合、拡散係数Z=zおよび基本行列Hbに対応するLDPC符号について、各LDPC符号語における全ての重量が2よりも大きい全ての組織ビットのgirthはいずれも6に等しく、各LDPC符号語における少なくとも1つの重量が2よりも大きい検査ビットのgirthは8以上である。
【0175】
≦Z=z<zである場合、拡散係数Z=zおよび基本行列Hbに対応するLDPC符号について、各LDPC符号語における全ての重量が2よりも大きい符号語ビットのgirthはいずれも8に等しい。
【0176】
≦Z=z<zである場合、拡散係数Z=ziおよび基本行列Hbに対応するLDPC符号について、各LDPC符号語における全ての重量が2よりも大きい組織ビットのgirthはいずれも8に等しく、各LDPC符号語における少なくとも1つの重量が2よりも大きい検査ビットのgirthは10以上である。
【0177】
そのうち、1つのLDPC符号語の各符号語ビットはパリティ検査行列の各列に対応し、前記パリティ検査行列は、対応する拡散係数Z=ziおよび基本行列Hbにより確定され、各符号語ビットの重量とは、対応する列における非ゼロ要素の個数を意味し、且つ、i=1,2,…,Vである。
【0178】
前記基本行列とそれに対応する拡散係数Zにより、(Nb-Mb)×Zビットの元情報ビット系列に対するLDPC符号化演算を完成し、Nb×Zビットの符号語系列を得て、そのうち、Zは拡散係数であり、Zは1以上の正整数である。
【0179】
好ましくは、前記構造的LDPC符号の符号化方法の技術的特徴はさらに以下を含む。
【0180】
該左上隅サブ行列Hb3は、前記基本行列Hbの最初の2*b行と最初の3*Kb列とのインタセクションから構成され、Hb3の最後のKb行と最後のKb列とのインタセクションから構成されるサブ行列はサイズがb*bの単位行列または単位行列の巡回シフト行列である。
【0181】
Hb3の最初のKb行と最後のKb列とのインタセクションから構成されるサブ行列の全ての要素は、いずれもZ*Z零正方行列に対応する要素である。
【0182】
Hb3のKb+1列目~2*Kb列目から1つのサブ行列を構成し、該サブ行列のL1列において、各列における全ての非零正方行列に対応する要素は1つのみあり、このサブ行列の残りのKb-L1列における全ての要素(entry)は、いずれもZ*Z零正方行列に対応する要素であり、そのうち、L1は0以上Kb未満の整数である。
【0183】
そのうち、Nbは3*Kb以上である。
【0184】
好ましくは、Nbは2*Kb~12*Kbの1つの確定された正整数である。
【0185】
好ましくは、Kbの値は2~16の間の1つの整数である。
【0186】
さらに、eMMBのシーンおよびURLLCのシーンでは、異なるKbの値が用いられる。
【0187】
好ましくは、基本行列Hbのg行目の非Z*Z零正方行列に対応する要素の個数は、g+1行目の非Z*Z零正方行列に対応する要素の個数以下である。そのうち、g=1,2,…,Nb-1である。
【0188】
好ましくは、前記基本行列Hbのj列目における全ての非零正方行列に対応する要素はLj個であり、上から下へ1つ目の要素は0であり、Ljは1以上の正整数であり、j=1,…,Nbである。
【0189】
基本行列Hbのj列目における全ての非零正方行列に対応する要素はLj個であり、上から下へ1つ目の要素は0であり、Ljは1以上の正整数であり、j=0、1,…,Nb-1である。
【0190】
ステップ602、前記基本行列および対応する拡散係数により、Nb×zビットの符号語から(Nb-Mb)×zビットの情報データを得るLDPC復号化演算を完成する。
【0191】
そのうち、zは拡散係数であり、zは1以上の正整数である。
【実施例5】
【0192】
本発明の実施例は構造的LDPC符号の符号化装置を提供し、その構造が図7に示すように、確定モジュール701と符号化モジュール702とを備える。
【0193】
前記確定モジュール701は符号化に使用する基本行列を確定するように設けられ、前記基本検査行列は以下の特徴を含む。
【0194】
前記基本行列は、組織ビットに対応するMb×KbのブロックAと、検査ビットに対応するMb×MbのブロックBとを含み、すなわち、Hb=[A,B]であり、そのうち、hbijは前記基本行列のi行目とj列目の要素を示し、iは前記基本行列の行インデックスであり、jは前記基本行列の列インデックスであり、Kb=Nb-Mbであり、Nbは3*Kb以上の整数であり、Kbは4以上の整数である。i=1,…,Mbであり、j=1,…,Nbである。
【0195】
そのうち、前記基本行列Hbは1つまたは複数のサブ行列を含み、前記サブ行列は左上隅サブ行列Hb1と左上隅サブ行列Hb2とを含み、そのうち、前記左上隅サブ行列Hb1および左上隅サブ行列Hb2の行数と列数はいずれも前記基本行列Hbの行数と列数よりも小さく、且つ、前記左上隅サブ行列Hb1は左上隅サブ行列Hb2の左上隅サブ行列である。すなわち、前記基本行列Hbは少なくとも以下の特徴のうちの1つを含む。
【0196】
前記左上隅サブ行列Hb1は、前記行列Hbの最初のL0行と最初のKb+4列とのインタセクションから構成され、前記左上隅サブ行列Hb1の各行の非Z*Z零正方行列に対応する要素の個数はいずれもKb+2以下Kb-2以上であり、前記左上隅サブ行列Hb1の最後の4列の正方行列は1つの左下三角行列または準左下三角行列であり、および/または、
【0197】
前記左上隅サブ行列Hb2は前記行列Hbの最初のKb行と最初の2*Kb列とのインタセクションから構成され、前記左上隅サブ行列Hb2の最初の4行と最後のKb-4列とのインタセクションから構成されるサブ行列の全ての要素は、いずれもZ*Z零正方行列に対応する要素であり、前記左上隅サブ行列Hb2の最後のb-4行と最後のb-4列とのインタセクションから構成されるサブ行列は、サイズが(b-4)*(b-4)の左下三角行列または準左下三角行列であり、前記左上隅サブ行列Hb2の最後のb-4行とKb+1列目~Kb+3列目とのインタセクションから構成されるサブ行列の全ての要素は、いずれもZ*Z零正方行列に対応する要素である。
【0198】
左上隅サブ行列Hb1の最後の4列の正方行列が1つの下三角行列であると、前記左上隅サブ行列Hb2の最後のKb-4行、Kb+1列目には非Z*Z零正方行列に対応する要素が1つのみあり、左上隅サブ行列Hb1の最後の4列の正方行列が1つの準下三角行列であると、前記左上隅サブ行列Hb2の最後のKb-4行、Kb+1列目の全ての要素はいずれもZ*Z零正方行列に対応する要素である。
【0199】
前記左上隅サブ行列Hb2の最後のb-4行と最初のb列とのインタセクションから1つのサブ行列を構成し、このサブ行列において、各行の非Z*Z零正方行列に対応する要素の個数はいずれもKb-2以下である。
【0200】
そのうち、Nbは2*Kb以上であ
【0201】
2)前記拡散係数Zは1組の確定値セット{z,z,z…,z}をサポートし、そのうち、z、z、…、zは昇順に配列され、z、z、z、zは前記セットにおける4つの確定値の拡散係数でz≦z≦z≦z≦z≦zを満たし、そのうち、V、r、s、t、uは下付き文字で1≦r≦s≦t≦u≦Vであり、Vは2以上の整数である。
【0202】
≦Z=z<zである場合、拡散係数Z=zおよび基本行列Hbに対応するLDPC符号について、各LDPC符号語における全ての重量が2よりも大きい符号語ビットにおいて、少なくとも1つのビットのgirthは4に等しく、拡散係数Z=zおよび最も重いR列を削除した基本行列Hbに対応するLDPC符号について、各LDPC符号語における全ての重量が2よりも大きい符号語ビットのgirthはいずれも6に等しく、そのうち、RはKb/2以下である。
【0203】
≦Z=z<zである場合、拡散係数Z=ziおよび基本行列Hbに対応するLDPC符号について、各LDPC符号語における全ての重量が2よりも大きい符号語ビットのgirthはいずれも6に等しい。
【0204】
≦Z=z<zである場合、拡散係数Z=ziおよび基本行列Hbに対応するLDPC符号について、各LDPC符号語における全ての重量が2よりも大きい全ての組織ビットのgirthはいずれも6に等しく、各LDPC符号語における少なくとも1つの重量が2よりも大きい検査ビットのgirthは8以上であり、z≦Z=z<zである場合、拡散係数Z=ziおよび基本行列Hbに対応するLDPC符号について、各LDPC符号語における全ての重量が2よりも大きい符号語ビットのgirthはいずれも8に等しい。
【0205】
≦Z=z<zである場合、拡散係数Z=ziおよび基本行列Hbに対応するLDPC符号について、各LDPC符号語における全ての重量が2よりも大きい組織ビットのgirthはいずれも8に等しく、各LDPC符号語における少なくとも1つの重量が2よりも大きい検査ビットのgirthは10以上である。
【0206】
そのうち、1つのLDPC符号語の各符号語ビットはパリティ検査行列の各列に対応し、前記パリティ検査行列は、対応する拡散係数Z=ziおよび基本行列Hbにより確定され、各符号語ビットの重量とは、対応する列における非ゼロ要素の個数を意味し、且つ、i=1,2,…,Vである。
【0207】
前記基本行列とそれに対応する拡散係数Zにより、(Nb-Mb)×Zビットの元情報ビット系列に対するLDPC符号化演算を完成し、Nb×Zビットの符号語系列を得て、そのうち、Zは拡散係数であり、Zは1以上の正整数である。
【0208】
好ましくは、前記構造的LDPC符号の符号化方法は以下をさらに含む。
【0209】
該左上隅サブ行列Hb3は、前記基本行列Hbの最初の2*b行と最初の3*Kb列とのインタセクションから構成され、Hb3の最後のKb行と最後のKb列とのインタセクションから構成されるサブ行列はサイズがb*bの単位行列または単位行列の巡回シフト行列である。
【0210】
Hb3の最初のKb行と最後のKb列とのインタセクションから構成されるサブ行列の全ての要素は、いずれもZ*Z零正方行列に対応する要素である。
【0211】
Hb3のKb+1列目~2*Kb列目から1つのサブ行列を構成し、該サブ行列のL1列において、各列における全ての非零正方行列に対応する要素は1つのみあり、このサブ行列の残りのKb-L1列における全ての要素(entry)は、いずれもZ*Z零正方行列に対応する要素であり、そのうち、L1は0以上Kb未満の整数である。
【0212】
そのうち、Nbは3*Kb以上である。
【0213】
好ましくは、Nbは2*Kb~12*Kbの1つの確定された正整数である。
【0214】
好ましくは、Kbの値は2~16の間の1つの整数である。
【0215】
さらに、eMMBのシーンおよびURLLCのシーンでは、異なるKbの値が用いられる。
【0216】
好ましくは、基本行列Hbのg行目の非Z*Z零正方行列に対応する要素の個数は、g+1行目の非Z*Z零正方行列に対応する要素の個数以下である。そのうち、g=1,2,…,Nb-1である。
【0217】
好ましくは、前記基本行列Hbのj列目における全ての非零正方行列に対応する要素はLj個であり、上から下へ1つ目の要素は0であり、Ljは1以上の正整数であり、j=1,…,Nbである。
【0218】
基本行列Hbのj列目における全ての非零正方行列に対応する要素はLj個であり、上から下へ1つ目の要素は0であり、Ljは1以上の正整数であり、j=0、1,…,Nb-1である。
【0219】
前記符号化モジュール702は、前記基本行列およびそれに対応する拡散係数により、(Nb-Mb)×zビットの元データからNb×zビットの符号語を得るLDPC符号化演算を完成し、そのうち、Zは拡散係数であり、Zは1以上の正整数であるように設けられる。
【0220】
本発明の実施例は構造的LDPC符号の復号化装置をさらに提供し、その構造が図8に示すように、確定モジュール801と復号化モジュール802とを備える。
【0221】
前記確定モジュール801は復号化に使用する基本行列を確定するように設けられ、前記基本検査行列は以下の特徴を含む。
【0222】
前記基本行列は、組織ビットに対応するMb×KbのブロックAと、検査ビットに対応するMb×MbのブロックBとを含み、すなわち、Hb=[A,B]であり、そのうち、hbijは前記基本行列のi行目とj列目の要素を示し、iは前記基本行列の行インデックスであり、jは前記基本行列の列インデックスであり、Kb=Nb-Mbであり、Nbは3*Kb以上の整数であり、Kbは4以上の整数である。i=1,…,Mbであり、j=1,…,Nbである。
【0223】
前記基本行列Hbは少なくとも以下の特徴のうちの1つをさらに含む。
【0224】
前記左上隅サブ行列Hb1は、前記行列Hbの最初のL0行と最初のKb+4列とのインタセクションから構成され、前記左上隅サブ行列Hb1の各行の非Z*Z零正方行列に対応する要素の個数はいずれもKb+2以下Kb-2以上であり、前記左上隅サブ行列Hb1の最後の4列の正方行列は1つの左下三角行列または準左下三角行列であり、および/または、
【0225】
前記左上隅サブ行列Hb2は前記行列Hbの最初のKb行と最初の2*Kb列とのインタセクションから構成され、前記左上隅サブ行列Hb2の最初の4行と最後のKb-4列とのインタセクションから構成されるサブ行列の全ての要素は、いずれもZ*Z零正方行列に対応する要素であり、前記左上隅サブ行列Hb2の最後のb-4行と最後のb-4列とのインタセクションから構成されるサブ行列は、サイズが(b-4)*(b-4)の左下三角行列または準左下三角行列であり、前記左上隅サブ行列Hb2の最後のb-4行とKb+1列目~Kb+3列目とのインタセクションから構成されるサブ行列の全ての要素は、いずれもZ*Z零正方行列に対応する要素である。
【0226】
左上隅サブ行列Hb1の最後の4列の正方行列が1つの下三角行列であると、前記左上隅サブ行列Hb2の最後のKb-4行、Kb+1列目には非Z*Z零正方行列に対応する要素が1つのみあり、左上隅サブ行列Hb1の最後の4列の正方行列が1つの準下三角行列であると、前記左上隅サブ行列Hb2の最後のKb-4行、Kb+1列目の全ての要素はいずれもZ*Z零正方行列に対応する要素である。
【0227】
前記左上隅サブ行列Hb2の最後のb-4行と最初のb列とのインタセクションから1つのサブ行列を構成し、このサブ行列において、各行の非Z*Z零正方行列に対応する要素の個数はいずれもKb-2以下である。
【0228】
そのうち、Nbは2*Kb以上であ
【0229】
2)前記拡散係数Zは1組の確定値セット{z,z,z…,z}をサポートし、そのうち、z、z、…、zは昇順に配列され、z、z、z、zは前記セットにおける4つの確定値の拡散係数でz≦z≦z≦z≦z≦zを満たし、そのうち、V、r、s、t、uは下付き文字で1≦r≦s≦t≦u≦Vであり、Vは2以上の整数である。
【0230】
≦Z=z<zである場合、拡散係数Z=ziおよび基本行列Hbに対応するLDPC符号について、各LDPC符号語における全ての重量が2よりも大きい符号語ビットにおいて、少なくとも1つのビットのgirthは4に等しい。拡散係数Z=ziおよび最も重いR列を削除した基本行列Hbに対応するLDPC符号について、各LDPC符号語における全ての重量が2よりも大きい符号語ビットのgirthはいずれも6に等しく、そのうち、RはKb/2以下である。
【0231】
≦Z=z<zである場合、拡散係数Z=ziおよび基本行列Hbに対応するLDPC符号について、各LDPC符号語における全ての重量が2よりも大きい符号語ビットのgirthはいずれも6に等しい。
【0232】
≦Z=z<zである場合、拡散係数Z=zおよび基本行列Hbに対応するLDPC符号について、各LDPC符号語における全ての重量が2よりも大きい全ての組織ビットのgirthはいずれも6に等しく、各LDPC符号語における少なくとも1つの重量が2よりも大きい検査ビットのgirthは8以上である。
【0233】
≦Z=z<zである場合、拡散係数Z=zおよび基本行列Hbに対応するLDPC符号について、各LDPC符号語における全ての重量が2よりも大きい符号語ビットのgirthはいずれも8に等しい。
【0234】
≦Z=z<zである場合、拡散係数Z=zおよび基本行列Hbに対応するLDPC符号について、各LDPC符号語における全ての重量が2よりも大きい組織ビットのgirthはいずれも8に等しく、各LDPC符号語における少なくとも1つの重量が2よりも大きい検査ビットのgirthは10以上である。
【0235】
そのうち、1つのLDPC符号語の各符号語ビットはパリティ検査行列の各列に対応し、前記パリティ検査行列は、対応する拡散係数Z=ziおよび基本行列Hbにより確定され、各符号語ビットの重量とは、対応する列における非ゼロ要素の個数を意味し、且つ、i=1,2,…,Vである。前記基本行列とそれに対応する拡散係数Zにより、(Nb-Mb)×Zビットの元情報ビット系列に対するLDPC符号化演算を完成し、Nb×Zビットの符号語系列を得て、そのうち、Zは拡散係数であり、Zは1以上の正整数である。
【0236】
好ましくは、前記基本行列Hbは以下の特徴をさらに有する。
【0237】
該左上隅サブ行列Hb3は、前記基本行列Hbの最初の2*b行と最初の3*Kb列とのインタセクションから構成され、Hb3の最後のKb行と最後のKb列とのインタセクションから構成されるサブ行列はサイズがb*bの単位行列または単位行列の巡回シフト行列である。
【0238】
Hb3の最初のKb行と最後のKb列とのインタセクションから構成されるサブ行列の全ての要素は、いずれもZ*Z零正方行列に対応する要素である。
【0239】
Hb3のKb+1列目~2*Kb列目から1つのサブ行列を構成し、該サブ行列のL1列において、各列における全ての非零正方行列に対応する要素は1つのみあり、このサブ行列の残りのKb-L1列における全ての要素(entry)は、いずれもZ*Z零正方行列に対応する要素であり、そのうち、L1は0以上Kb未満の整数である。
【0240】
そのうち、Nbは3*Kb以上である。
【0241】
好ましくは、Nbは2*Kb~12*Kbの1つの確定された正整数である。
【0242】
好ましくは、Kbの値は2~16の間の1つの整数である。
【0243】
さらに、eMMBのシーンおよびURLLCのシーンでは、異なるKbの値が用いられる。
【0244】
好ましくは、基本行列Hbのg行目の非Z*Z零正方行列に対応する要素の個数は、g+1行目の非Z*Z零正方行列に対応する要素の個数以下である。そのうち、g=1,2,…,Nb-1である。
【0245】
好ましくは、前記基本行列Hbのj列目における全ての非零正方行列に対応する要素はLj個であり、上から下へ1つ目の要素は0であり、Ljは1以上の正整数であり、j=1,…,Nbである。
【0246】
基本行列Hbのj列目における全ての非零正方行列に対応する要素はLj個であり、上から下へ1つ目の要素は0であり、Ljは1以上の正整数であり、j=0、1,…,Nb-1である。
【0247】
前記復号化モジュール802は、前記基本行列および対応する拡散係数により、Nb×zビットの符号語から(Nb-Mb)×zビット情報データを得るLDPC復号化演算を完成し、そのうち、Zは拡散係数であり、Zは1以上の正整数であるように設けられる。
【0248】
好ましくは、前記復号化モジュール802は基本行列の行更新ユニット8021と復号化判定ユニット8022とを備える。
【0249】
前記基本行列の行更新ユニット8021は、階層BPアルゴリズムまたは修正されたmin-sumアルゴリズムを用いて、前記基本行列を行更新するように設けられ、前記辺情報が検査ノードから変数ノードまでの情報であることを含む。
【0250】
前記復号化判定ユニット8022は、前記辺情報を用いて符号語対数尤度比を算出し、硬判定を行い、且つ、正確であるか否かを検証し、正確であると正確な符号語を出力し、正確でなければ復号化処理を続けるように設けられる。
【0251】
以上をまとめると、本発明の実施例は構造的LDPC符号の符号化方法、復号化方法、符号化装置および復号化装置を提供する。符号化または復号化に使用するK0個の上下に隣接するペアを含む基本行列を確定することにより、前記基本行列およびそれに対応する拡散係数に基づき、符号化または復号化を完成し、高パイプライン速度のLDPC符号化および復号化を実現し、従来のエンコーダ/デコーダの効率が低下する問題を解決した。本発明の実施例に係る技術案は、デジタル通信システムにおけるデータ伝送の誤り訂正符号化技術に適用することができ、効率が向上したまたは複雑度が低下したLDPC符号を得て、特に超高速のシーンに適用する。
【実施例6】
【0252】
本発明の実施例は記憶媒体をさらに提供する。好ましくは、本実施例において、上記記憶媒体は、
符号化に使用する基本行列Hbを確定し、そのうち、前記基本行列Hbは、組織ビットに対応するMb×KbのブロックAと、検査ビットに対応するMb×MbのブロックBとを含み、すなわち、Hb=[A,B]であり、そのうち、hbijは前記基本行列Hbのi行目とj列目の要素を示し、iは前記基本行列の行インデックスであり、jは前記基本行列の列インデックスであり、Kb=Nb-Mbであり、Kbは4以上の整数であり、Nbは3*Kb以上の整数であり、i=1,…,Mbであり、j=1,…,Nbであり、前記基本行列Hbは1つまたは複数のサブ行列を含み、前記サブ行列は左上隅サブ行列Hb1と左上隅サブ行列Hb2とを含み、そのうち、前記左上隅サブ行列Hb1および左上隅サブ行列Hb2の行数と列数はいずれも前記基本行列Hbの行数と列数よりも小さく、且つ、前記左上隅サブ行列Hb1は左上隅サブ行列Hb2の左上隅サブ行列であるステップと、前記基本行列および前記基本行列Hbに対応する拡散係数Zにより、元情報ビット系列に対してLDPC符号化演算を行い、符号語系列を得て、そのうち、Zは1以上の正整数であるステップとを実行するためのプログラムコードを記憶するように設けられる。
【0253】
好ましくは、本実施例において、上記記憶媒体は、USBメモリ、読み出し専用メモリ(ROM:Read-Only Memory)、ランダムアクセスメモリ(RAM:Random Access Memory)、リムーバブルハードディスク、磁気ディスクまたは光ディスクなどの各種のプログラムコードが記憶可能な媒体を含むことができるが、これらに限定されない。
【実施例7】
【0254】
本発明の実施例は別の記憶媒体をさらに提供する。好ましくは、本実施例において、上記記憶媒体は、
復号化に使用する基本行列Hbを確定し、そのうち、前記基本行列Hbは、組織ビットに対応するMb×KbのブロックAと、検査ビットに対応するMb×MbのブロックBとを含み、すなわち、Hb=[A,B]であり、そのうち、hbijは前記基本行列Hbのi行目とj列目の要素を示し、iは前記基本行列の行インデックスであり、jは前記基本行列の列インデックスであり、Kb=Nb-Mbであり、Kbは4以上の整数であり、Nbは3*Kb以上の整数であり、i=1,…,Mbであり、j=1,…,Nbであり、前記基本行列Hbは1つまたは複数のサブ行列を含み、前記サブ行列は左上隅サブ行列Hb1と左上隅サブ行列Hb2とを含み、そのうち、前記左上隅サブ行列Hb1および左上隅サブ行列Hb2の行数と列数はいずれも前記基本行列Hbの行数と列数よりも小さく、且つ、前記左上隅サブ行列Hb1は左上隅サブ行列Hb2の左上隅サブ行列であるステップと、
前記基本行列および前記基本行列Hbに対応する拡散係数Zにより、ビット数が予め設定された符号語に対して復号化演算を行い、元情報ビット系列を得て、そのうち、Zは1以上の正整数であるステップとを実行するためのプログラムコードを記憶するように設けられてもよい。
【0255】
好ましくは、本実施例における具体例は、上記実施例および好ましい実施形態に記載される例を参照することができ、本実施例では説明を省略する。
【実施例8】
【0256】
前記LDPC符号はV種類の符号長をサポートし、各種の符号長はいずれも1つの同じサイズMb*Nbを有する基本行列Hbを有し、且つ、各種の符号長の基本行列の非零正方行列に対応する要素は行列に現れる位置がいずれも同じ又は最大で3つが異なる(すなわち、各種の符号長の基本行列の非零正方行列に対応する要素が行列に現れる位置において、最大で3つの非零正方行列の要素の位置は異なる)。前記拡散係数Zは1組の確定されたセット{z,z,z,…,zvmax}をサポートし、各種の符号長の拡散係数は前記拡散係数セットにおける1つの要素であり、各種の符号長の非零正方行列に対応する要素の値は、いずれも最大符号長の非零正方行列に対応する要素により算出され、少なくとも、
形態1:モジュロ(mod)方法:
【数30】
形態2:丸め(scale+floor)方法:
【数31】
形態3:四捨五入(scale+round)方法:
【数32】
における1つを含む。
【0257】
そのうち、α=Pmax/plであり、v=1,2,…,Vmaxであり、z、z、z、…、zvmaxは昇順に配列され、zvmaxは最大符号長の拡散係数であり、zはv個目の符号長の拡散係数であり、
【数33】
は最大符号長のi行目とj列目の非零正方行列に対応する要素であり、
【数34】
はv個目の符号長のi行目とj列目の非零正方行列に対応する要素である。modはモジュロ動作であり、[]はフロア動作であり、Roundは四捨五入動作である。前記拡散係数zはいずれも1つの正整数値plのn倍であり、すなわち、z=pl*nである。そのうち、前記正整数値plはサブセットPsetの1つの要素であり、そのうち、前記サブセットPsetはPmaxの全ての正整数の因数から構成されるセットにおける1つのサブセットであり、nは1つの自然数であり、Pmaxは4以上の整数である。
【0258】
ここでは、1つのより具体的な例を挙げる。
【0259】
前記Psetが{256、32}であり、nsetが{1、3、5}であり、すなわち、Pmax=256であり、6つの拡散係数を有し、拡散係数Zがサポートする1組の確定されたセットのサイズは6であり、すなわち、Vmax=6であり、1組の拡散係数セットが{32,96,160,256,768,1280}であり、対応する符号長セットが{128,384,640,1024,3072,5120}であり、対応する最大拡散係数zvmax=1280であり、その最大拡散係数zvmax=1280に対応する基本行列Hbが下記のとおりであることがわかった。
【数35】
【0260】
上述した各種の符号長に対応する基本行列における非零正方行列の要素の値は、いずれも最大符号長に対応する基本行列の非零正方行列の要素により算出され、3種類の形態を含む。そのうち、形態1により算出して他の拡散係数の基本行列を得ると、2個のステップを含む。
【0261】
ステップ1.前記形態1の計算式の前部分は、下記式である。
【数36】
【0262】
そのうち、
【数37】
は最大拡散係数zvmax=1280(vmax=6)に対応する基本行列Hbにおけるi行目とj列目の要素であり、α=Pmax/plであるため、αは2つの数を有し、1がPsetの1つ目の要素256に対応し、対応する拡散係数が{256,768,1280}であり、8がPsetの2つ目の要素32に対応し、対応する拡散係数が{32,96,160}であり、v=1、2、3、4、5である。従って、上記ステップ1に記載の方法により他の拡散係数(1280未満)の基本行列を算出することは以下を含む。
【0263】
α=8に対応する3つの拡散係数の基本行列Hb’1、Hb’2、Hb’3(拡散係数がそれぞれ{32,96,160}である)は、下記のとおりである。
【数38】
【0264】
α=1に対応する他の2つの拡散係数の基本行列Hb’4、Hb’5(拡散係数がそれぞれ{256,768}である)は、下記のとおりである。
【数39】
【0265】
α=1であるため、基本行列Hb’4およびHb’5はいずれも最大拡散係数の基本行列に等しい。
【0266】
ステップ2.前記形態1による計算式の後部分は、下記式である。
【数40】
【0267】
そのうち、v=1,2,3,4,5であり、
【数41】
は拡散係数zに対応する基本行列Hb’vにおけるi行目とj列目の要素であり、zの値は{32,96,160,256,768}である。従って、前記ステップ2の算出方法により、残りの5種類の基本行列(それぞれに対応する拡散係数が{32,96,160,256,768}である)を算出することができ、以下のとおりである。
【0268】
拡散係数32に対応する基本行列Hb
【数42】
【0269】
拡散係数96に対応する基本行列Hb
【数43】
【0270】
拡散係数160に対応する基本行列Hb
【数44】
【0271】
拡散係数256に対応する基本行列Hb
【数45】
【0272】
拡散係数768に対応する基本行列Hb
【数46】
【0273】
前記形態1の方法の有益な効果は、複数種の符号長が同じセットのデコーダを用いることができ、僅かな制御回路を増加すれば実現でき、つまり、前記形態により、LDPC符号は非常に融通の符号長の設計をサポートすることができ、従来のLDPC符号の融通の符号長が不十分である問題を解決し、並びに、LDPC符号の行列特性は大きい拡散係数から小さい拡散係数へ変化する過程における変化が大きくないことを保証でき、LDPC符号はより大きな符号長の範囲内でより高い復号性能を保持することを保証する。
【0274】
例えば、上記基本行列および拡散係数の設計方法により、受信デコーダの設計において、図9に示すような例のメモリの設計形態を用いてもよく、図9に示すものは、LDPC符号の基本行列におけるある列に対応する情報記憶形態であり、外部情報およびチャネル復調情報の記憶形態を含む。nの値は最大で5であるため、図9におけるword0~word4のように、5つのwordが必要となる。Pmax=256であるため、各wordのサイズは256である。LDPC符号化に使用する拡散係数値zに対応するPl値とは、実際のデコーダにおいてそれが各wordでのサイズに対応するものであり、例えば、Plの値がPset={256、32}の32である場合、実際のデコーダにおいて、各wordで32個の位置を占めることを意味し、256に等しい場合、実際のデコーダにおいて、各wordで256個の位置を占める(Pmaxに等しいため、word全体を占める)ことを意味する。LDPC符号化に使用する拡散係数値zに対応するn値とは、実際のデコーダにおいてそれがwordでの数に対応するものであり、例えば、nの値がnset={1、3、5}における1つの場合、実際のデコーダにおいて、1つのwordのみで基本行列における1列に対応する全てのz個の情報を記憶することを意味し、nの値がnset={1、3、5}の3である場合、実際のデコーダにおいて、3つのwordで基本行列における1列に対応する全てのz個の情報を記憶することを意味し、値がnset={1、3、5}の5である場合、実際のデコーダにおいて、5つのwordで基本行列における1列に対応する全てのz個の情報を記憶することを意味する。
【0275】
ここで、拡散係数がz=96であることを例としてLDPCデコーダにおける基本行列の1列に対応する全てのz=96個の情報の記憶形態を詳細に説明する。拡散係数がz=96であると、l=1に対応し、すなわち、p1=32であり、n=3であり、従って、上記により、拡散係数がz=96でLDPC符号化を行い、デコーダにおける基本行列に対応するいずれか1列z=96個の軟情報の記憶形態は、n=3つのwordを占め、各wordのサイズが32である。図10に示すように、デコーダにおける基本行列に対応するいずれか1列は、図10における1001ように、n=3つのword(word0~word2)を占める。各wordにおいてp=32個の位置を占め、さらに、占用方式は、図10における1002のように、最初から配置しはじめ、8つの位置ごとに1つの情報を配置し、すなわち、各wordにおいて、8つの位置ごとに1つの情報(前記情報は前記8つの位置における最初の位置に配置される)を配置する。3つのwordのみを占めるため、残りの2つのword(図10における1003のように)を使用しない。デコーダの設計において、Pmaxは最大のwordのサイズに対応することができ、nの最大値は基本行列のいずれか1列における拡散係数z個の情報のメモリにあるwordの数に対応することが分かった。前記基本行列に対応するいずれか1列におけるz=96個の情報は、1つの記憶ブロックに記憶されることができるため、異なるwordの間はアドレスのみで区分する必要があり、各wordの情報は統合される。
【0276】
上記のように各情報をwordにおける対応位置に配置し、各wordにおいて、8つの位置ごとに1つの情報を配置し、残りの位置は、本拡散係数z=96(符号長z*Nb=96*8=768)であり、復号化する前に、先に長さが768の符号語情報をインタリーブすることができるため、前記インタリーブ方法は、前記パラメータPmax、前記パラメータplおよび前記パラメータnにおける少なくとも1つのパラメータにより前記デインターリーブ方法を確定することを含む。前記インタリーブ方法は具体的に、前記復号化すべき符号語情報系列は768個の情報を含み、Nb=8つの長さがそれぞれz=96の小データブロックを含み、各小データブロックをさらにpl=32個のサブブロックに細分化し、そのうち、まず、各サブブロックにそれぞれPmax-pl=256-32=224ダミービットを充填して長さが256の復号化すべき小データブロックを得て、前記ダミービットは符号化または復号化に用いることがなく、その後、全ての前記復号化すべき小データブロックをインタリーブし、インタリーブ方法は、ビット逆順(BRO、Bit Reverse Order)法である。前記ビット逆順インタリーブ方法は、インタリーブ前のインデックスがF0であり、F0を8ビットのバイナリビット系列に変換し、そして前記バイナリビット系列を左右に反転し、すなわち、最上位のビットと最下位のビットを互換し、2番上位のビットと2番下位のビットを互換するなど、反転後のバイナリ系列を得て、前記バイナリ系列を10進数に変換すれば値がF1であることが得られ、すなわち、インタリーブ後のインデックスはF1であり、式はY’F1=YF0として記すことができ、そのうち、Yはインタリーブ前の復号化すべき小データブロックであり、Y’はインタリーブ後の復号化すべき小データブロックである。F0およびF1の例は、F0の10進数の値が15であると、その8ビットのバイナリ系列が00001111であり、反転後の8ビットのバイナリ系列が11110000であり、それに対応する10進数がF1=240であるため、インタリーブ過程において、インタリーブ後のY’において、インデックスが240の値は、インタリーブ前のYにおけるインデックスが15の値に等しい。符号化前に前記インタリーブ方法を実行すれば、対応して、符号化後にも逆の動作(デインターリーブ方法)を行ってデインターリーブ後の符号語データ系列を得る必要があり、すなわち、Y’F0=YF1から動作する。前記デインターリーブ方法は、前記パラメータPmax、前記パラメータplおよび前記パラメータnにおける少なくとも1つのパラメータにより前記デインターリーブ方法を確定することを含む。その後、デインターリーブ後の符号語データ系列から符号語ビットを選択する。上記10進数からバイナリ系列に変換する長さはPmaxにより確定され、Pmaxは2の正整数べき乗に等しい必要があり、前記正整数べき乗とはバイナリ系列の長さである。
【0277】
同様に、LDPCデコーダにおいて、上記インタリーブおよびデインターリーブ方法を用いてもよく、ビット数が予め設定された符号語に対して復号化演算を行う前に、ビット数が予め設定された符号語を先にインタリーブし、前記インタリーブ方法は上記方法と一致し、その後、LDPC復号化を行って復号化後の系列を得て、その後、復号化後の系列をデインターリーブし、そして該当するビットを選択して元情報ビット系列を得る。
【0278】
以上の分析から見られるように、前記LDPC符号のデコーダ(wordのサイズが256であり、5つのwordを有するメモリ設計)は全ての拡散係数が、Pmaxの全ての正整数係数と5以下の全ての正整数とを乗算して得られた整数値を満たすことをサポートする。本実施例において、Pmaxは2の8乗であり、実際、Pmaxは2の正整数のべき乗に限られず、他の4よりも大きい任意の整数よりも大きくなってもよい。
【0279】
並びに、上記基本行列および拡散係数の設計方法により、送信エンコーダの設計において、元情報ビット系列に対してLDPC符号化演算を行い、符号語系列を得る。前記基本行列および前記基本行列Hbに対応する拡散係数Zにより、元情報ビット系列に対してLDPC符号化演算を行い、符号語系列を得て、そのうち、Zは1以上の正整数である。
【0280】
下記形態2及び形態3において、いずれも上記符号化方法と復号化方法、インタリーブ方法とデインターリーブ方法、および関連するアルゴリズムを用いてもよい。上記符号化側インタリーブ方法をまとめると、まず、符号化前の情報ビットを均等に分割し、各セグメントの長さはplビットであり、その後、各セグメントの後ろにPmax-plビットを添加し、添加した後の各セグメントはいずれもPmaxビットを有し、続いて、各セグメントに対して長さがPmaxのバイナリビット反転BROインタリーブを行う。
【0281】
上記符号化側デインターリーブ方法をまとめると、まず、符号化後の符号語ビットを均等に分割し、各セグメントの長さはPmaxビットであり、続いて、各セグメントに対して長さがPmaxのバイナリビット反転BROデインターリーブを行う。
【0282】
そのうち、形態2により算出して他の拡散係数の基本行列を得ると、依然として2つのステップを含む。
【0283】
ステップ1.前記形態2の計算式の一部の計算式は、下記式である。
【数47】
【0284】
そのうち、
【数48】
は最大拡散係数zvmax=1280(Vmax=6)に対応する基本行列Hbにおけるi行目とj列目の要素であり、α=Pmax/plであるため、αは2つの数を有し、1がPsetの1つ目の要素256に対応し、対応する拡散係数は{256,768,1280}であり、8がPsetの2つ目の要素32に対応し、対応する拡散係数は{32,96,160}であり、v=1、2、3、4、5である。
【0285】
前記形態2におけるステップ1の方法は上記形態1におけるステップ1の方法と同じであることが分かった。そのため、上記形態2のステップ1に記載の方法により他の拡散係数(1280未満)の基本行列を算出することは、以下を含む。
【0286】
α=8に対応する3つの拡散係数の基本行列Hb’1、Hb’2、Hb’3(拡散係数がそれぞれ{32,96,160}である)は、下記のとおりである。
【数49】
【0287】
α=1に対応する別の2つの拡散係数の基本行列Hb’4、Hb’5(拡散係数がそれぞれ{256,768}である)は、下記のとおりである。
【数50】
【0288】
α=1であるため、基本行列Hb’4及びHb’5はいずれも最大拡散係数の基本行列に等しい。
【0289】
ステップ2.前記形態2による計算式の残りの計算式は、下記式である。
【数51】
【0290】
そのうち、v=1,2,3,4,5であり、
【数52】
は拡散係数zに対応する基本行列Hb’vにおけるi行目とj列目の要素であり、zの値は{32,96,160,256,768}であり、zvmax=1280である。従って、前記ステップ2の算出方法により、残りの5種類の基本行列(それぞれに対応する拡散係数が{32,96,160,256,768}である)を算出することができ、以下のとおりである。
【0291】
拡散係数32に対応する基本行列Hb
【数53】
【0292】
拡散係数96に対応する基本行列Hb
【数54】
【0293】
拡散係数160に対応する基本行列Hb
【数55】
【0294】
拡散係数256に対応する基本行列Hb
【数56】
【0295】
拡散係数768に対応する基本行列Hb
【数57】
【0296】
前記形態2の方法の有益な効果は、複数種の符号長が同じセットのデコーダを用いることができ、僅かな制御回路を増加すれば実現でき、つまり、前記形態により、LDPC符号は非常に融通の符号長の設計をサポートすることができ、従来のLDPC符号の融通の符号長が不十分である問題を解決し、並びに、LDPC符号の行列特性は大きい拡散係数から小さい拡散係数へ変化する過程における変化が大きくないことを保証でき、LDPC符号はより大きな符号長の範囲内でより高い復号性能を保持することを保証する。
【0297】
同様に、形態3により算出して他の拡散係数の基本行列を得ると、依然として2個のステップを含む。
【0298】
ステップ1.前記形態3の計算式の一部の計算式は、下記式である。
【数58】
【0299】
そのうち、
【数59】
は最大拡散係数zvmax=1280(Vmax=6)に対応する基本行列Hbにおけるi行目とj列目の要素であり、α=Pmax/plであるため、αは2つの数を有し、1がPsetの1つ目の要素256に対応し、対応する拡散係数が{256,768,1280}であり、8がPsetの2つ目の要素32に対応し、対応する拡散係数が{32,96,160}であり、v=1、2、3、4、5である。
【0300】
前記形態3におけるステップ1の方法は上記形態1におけるステップ1の方法と同じであることが分かった。従って、上記形態3のステップ1に記載の方法により他の拡散係数(1280未満)の基本行列Hb’1、Hb’2、Hb’3、Hb’4およびHb’5を算出することは、上記形態1と形態2におけるステップ1で算出したものに等しく、ここでは説明を省略する。
【0301】
ステップ2.前記形態1による計算式の残りの計算式は、
【数60】
である。
【0302】
そのうち、v=1,2,3,4,5であり、
【数61】
は拡散係数zに対応する基本行列Hb’vにおけるi行目とj列目の要素であり、zの値は{32,96,160,256,768}であり、zvmax=1280である。従って、前記ステップ2の算出方法により、残りの5種類の基本行列(それぞれに対応する拡散係数が{32,96,160,256,768}である)を算出することができ、次のとおりである。
【0303】
拡散係数32に対応する基本行列Hb
【数62】
【0304】
拡散係数96に対応する基本行列Hb
【数63】
【0305】
拡散係数160に対応する基本行列Hb
【数64】
【0306】
拡散係数256に対応する基本行列Hb
【数65】
【0307】
拡散係数768に対応する基本行列Hb
【数66】
【0308】
前記形態3の方法の有益な効果は、複数種の符号長が同じセットのデコーダを用いることができ、僅かな制御回路を増加すれば実現でき、つまり、前記形態により、LDPC符号は非常に融通の符号長の設計をサポートすることができ、従来のLDPC符号の融通の符号長が不十分である問題を解決し、並びに、LDPC符号の行列特性は大きい拡散係数から小さい拡散係数へ変化する過程における変化が大きくないことを保証でき、LDPC符号はより大きな符号長の範囲内でより高い復号性能を保持することを保証する。
【0309】
好ましくは、本実施例における具体例は上記実施例および好ましい実施形態に記載された例を参考することでき、本実施例では説明を省略する。
【実施例9】
【0310】
前記LDPC符号はV種類の符号長をサポートし、各種の符号長はいずれも1つの同じサイズMb*Nbを有する基本行列Hbに対応し、且つ、各種の符号長の基本行列の非零正方行列に対応する要素は行列に現れる位置がいずれも同じ又は最大で3つが異なる。前記拡散係数Zは1組の確定されたセット{z1,z2,z3,…,zvmax}をサポートし、各種の符号長の拡散係数は前記拡散係数セットにおける1つの要素であり、各種の符号長の非零正方行列に対応する要素の値はいずれも最大符号長の非零正方行列に対応する要素により算出され、すなわち、下記式である。
【数67】
【0311】
そのうち、α=Pmax/plであり、v=1,2,…,Vmaxであり、z、z、z、…、zvmaxは昇順に配列され、zvmaxは最大符号長の拡散係数であり、zvはv個目の符号長の拡散係数であり、
【数68】
は最大符号長のi行目とj列目の非負-1要素であり、
【数69】
はv個目の符号長ののi行目とj列目の非負-1要素である。modはモジュロ動作であり、[]はフロア動作であり、Roundは四捨五入動作である。前記拡散係数zvはいずれも1つの正整数値plのn倍であり、すなわち、z=pl*nである。そのうち、前記正整数値plはサブセットPsetの1つの要素であり、そのうち、前記サブセットPsetはPmaxの全ての正整数の因数から構成されるセットにおける1つのサブセットであり、nは1つの自然数であり、Pmaxは4以上の整数である。
【0312】
ここでは、1つのより具体的な例を挙げる。
【0313】
前記Psetは{10、20、40、80、120、240}であり、すなわち、Pmax=240であり、nの値は2であり、6つの拡散係数を有し、拡散係数Zがサポートする1組の確定されたセットのサイズは6であり、すなわち、Vmax=6であり、1組の拡散係数セットが{20,40,80,160,240,480}であり、対応する符号長セットが{100,200,400,800,1200,2400}であり、対応する最大拡散係数zvmax=480であり、その最大拡散係数zvmax=480に対応する基本行列Hbは、下記のとおりである。
【数70】
【0314】
そのうち、基本行列Hbの次元は5行10列であり、基本行列の行数(または検査列数)がMb=5であり、基本行列の総列数Nb=10であり、基本行列の組織列数Kb=Nb-Mb=10-5=5であり、すなわち、基本行列の最初のKb=5列から構成されるサブ行列は組織ビットに対応するMb×KbのブロックAであり、基本行列の最後のMb=5列から構成されるサブ行列は検査ビットに対応するMb×MbのブロックBであり、基本行列Hbは[A,B]として記載できることがわかった。他の符号長{20,40,80,160,240}での各基本行列も全てそれぞれ上記と同じ行列パラメータ(Kb,Nb,Mb)であり、ここでは説明を省略する。
【0315】
各種の符号長{100,200,400,800,1200,2400}の拡散係数は前記拡散係数セット{20,40,80,160,240,480}における1つの要素であり、各種の符号長の非零正方行列に対応する要素の値はいずれも最大符号長2400の非零正方行列に対応する要素により算出され、すなわち、下記式である。
【数71】
【0316】
そのうち、α=Pmax/plであり、plはサブセットPset={10,20,40,80,120,240}の1つの要素であり、すなわち、拡散係数セット{20,40,80,160,240,480}と一対一で対応し、拡散係数セットにおけるi0個目の要素はサブセットPsetにおけるi0個目の要素×n=2、i0=1、2、…、6に等しい。そのため、拡散係数セット{20,40,80,160,240,480}における任意の拡散係数に対応するαの値は{24、12、6、3、2、1}である。さらに、上記式により、対応する符号長が{100,200,400,800,1200}(対応する拡散係数セットが{20,40,80,160,240}である)の基本行列はそれぞれ以下のとおりであることがわかった。
【0317】
拡散係数20に対応する基本行列Hb
【数72】
【0318】
拡散係数40に対応する基本行列Hb
【数73】
【0319】
拡散係数80に対応する基本行列Hb
【数74】
【0320】
拡散係数160に対応する基本行列Hb
【数75】
【0321】
拡散係数240に対応する基本行列Hb
【数76】
【0322】
あるいは、上記全ての基本行列の間で最大で3つの非零正方行列に対応する要素が異なり、以下を例とし、6つの基本行列{Hb,Hb,Hb,Hb,Hb,Hb}の2つの間で最大で3つの非零正方行列に対応する要素が異なることは見られ、その有益な効果は、基本行列が統一の基本行列特性(例えば、度分布など特性)を保留することが保証できるとともに、新しい行列特性を増加させることができ、基本行列が各符号長で比較的優れる性能を得ることができるように保証する。
【0323】
拡散係数20に対応する基本行列Hb
【数77】
【0324】
拡散係数40に対応する基本行列Hb
【数78】
【0325】
拡散係数80に対応する基本行列Hb
【数79】
【0326】
拡散係数160に対応する基本行列Hb
【数80】
【0327】
拡散係数240に対応する基本行列Hb
【数81】
【0328】
当業者であれば、上記本発明の各モジュールまたは各ステップは通用の計算装置により実現でき、それらは単一の計算装置に集中してもよく、または複数の計算装置からなるネットワークに分布されてもよいことが明らかである。好ましくは、それらは計算装置が実行可能なプログラムコードにより実現できるため、それらを記憶装置に記憶して計算装置により実行することができ、且つ、ある場合、ここでの順序と異なる順序で示されるまたは記載されるステップを実行することができ、またはそれらを各集積回路モジュールにそれぞれ作製し、またはそれらにおける複数のモジュールまたはステップを単一の集積回路モジュールに作製して実現する。このように、本発明はいずれかの特定のハードウェアとソフトウェアとの組み合わせに限定されない。
【0329】
上記は本発明の好ましい実施例に過ぎず、本発明を限定するものではなく、当業者にとって、本発明は各種の変更と変化が可能である。本発明の精神および原則内にある全ての修正、均等置換、改良などは、いずれも本発明の保護範囲内に含まれるべきである。
【産業上の利用可能性】
【0330】
本発明の実施例に係る形態は、LDPC符号化と復号化過程に用いることができ、適当な基本行列を設計することにより、前記基本行列およびそれに対応する拡散係数に基づき、符号化または復号化を完成し、超高速度のLDPC符号化と復号化を実現し、Turbo符号に近い符号/復号性能を実現し、従来のLDPCエンコーダ/デコーダのインクリメンタルリダンダンシーHARQをサポートできないおよび融通性が不十分である問題を解決した。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10