特許第6820438号(P6820438)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ 華為技術有限公司の特許一覧

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6820438
(24)【登録日】2021年1月6日
(45)【発行日】2021年1月27日
(54)【発明の名称】情報処理方法および通信装置
(51)【国際特許分類】
   H03M 13/19 20060101AFI20210114BHJP
【FI】
   H03M13/19
【請求項の数】25
【全頁数】45
(21)【出願番号】特願2019-556313(P2019-556313)
(86)(22)【出願日】2017年7月13日
(65)【公表番号】特表2020-520570(P2020-520570A)
(43)【公表日】2020年7月9日
(86)【国際出願番号】CN2017092878
(87)【国際公開番号】WO2018227681
(87)【国際公開日】20181220
【審査請求日】2019年10月16日
(31)【優先権主張番号】201710454030.3
(32)【優先日】2017年6月15日
(33)【優先権主張国】CN
(31)【優先権主張番号】201710503056.2
(32)【優先日】2017年6月27日
(33)【優先権主張国】CN
(73)【特許権者】
【識別番号】503433420
【氏名又は名称】華為技術有限公司
【氏名又は名称原語表記】HUAWEI TECHNOLOGIES CO.,LTD.
(74)【代理人】
【識別番号】100132481
【弁理士】
【氏名又は名称】赤澤 克豪
(74)【代理人】
【識別番号】100115635
【弁理士】
【氏名又は名称】窪田 郁大
(72)【発明者】
【氏名】金 杰
(72)【発明者】
【氏名】童 文
(72)【発明者】
【氏名】王 俊
(72)【発明者】
【氏名】アレクサンダー アレクサンドロヴィッチ ペチュシュコ
(72)【発明者】
【氏名】イヴァン レオニードヴィッチ マズレンコ
(72)【発明者】
【氏名】▲張▼ 朝▲竜▼
【審査官】 吉江 一明
(56)【参考文献】
【文献】 特表2010−517444(JP,A)
【文献】 特開2006−157926(JP,A)
【文献】 Ericsson,Design of LDPC Codes for NR,3GPP TSG RAN WG1 #87 R1-1611321,2016年11月 6日
【文献】 LG Electronics,Length compatibility of LDPC, 3GPP TSG-RAN WG1#86b R1-1609242,2016年10月 1日
(58)【調査した分野】(Int.Cl.,DB名)
H03M 13/19
3GPP TSG RAN WG1−4
SA WG1−2
CT WG1
(57)【特許請求の範囲】
【請求項1】
符号化方法であって、
行列Hを使用して入力シーケンスを符号化して、符号化シーケンスを取得するステップであって、前記入力シーケンスは、Kビットを備える、ステップを備え、
前記行列Hは、ベース行列およびリフティングファクタZに従って決定され、Zは、正の整数であり、
前記ベース行列は、m行およびn列を備え、前記ベース行列中の要素は、それらの行インデックスiおよび列インデックスjによってそれぞれ表され、0≦i<m、0≦j<nであり、
前記ベース行列中の要素は、ゼロ要素または非ゼロ要素のいずれかであり、
前記ベース行列は、非ゼロ要素を有する1つまたは複数の以下の行を備え、前記非ゼロ要素の行インデックス(i)、列インデックス(j)は以下の
i=0、j=0、1、2、3、6、9、10、11、
i=1、j=0、3、4、5、6、7、8、9、11、12、
i=2、j=0、1、3、4、8、10、12、13、
i=3、j=1、2、4、5、6、7、8、9、10、13、
i=4、j=0、1、11、14、
i=5、j=0、1、5、7、11、15、
i=6、j=0、5、7、9、11、16、
i=7、j=1、5、7、11、13、17、
i=8、j=0、1、12、18、
i=9、j=1、8、10、11、19、
i=10、j=0、1、6、7、20、
i=11、j=0、7、9、13、21、
i=12、j=1、3、11、22、
i=13、j=0、1、8、13、23、
i=14、j=1、6、11、13、24、
i=15、j=0、10、11、25、
i=16、j=1、9、11、12、26、
i=17、j=1、5、11、12、27、
i=18、j=0、6、7、28、
i=19、j=0、1、10、29、
i=20、j=1、4、11、30、
i=21、j=0、8、13、31、
i=22、j=1、2、32、
i=23、j=0、3、5、33、
i=24、j=1、2、9、34、
i=25、j=0、5、35、
i=26、j=2、7、12、13、36、
i=27、j=0、6、37、
i=28、j=1、2、5、38、
i=29、j=0、4、39、
i=30、j=2、5、7、9、40、
i=31、j=1、13、41、
i=32、j=0、5、12、42、
i=33、j=2、7、10、43、
i=34、j=0、12、13、44、
i=35、j=1、5、11、45、
i=36、j=0、2、7、46、
i=37、j=10、13、47、
i=38、j=1、5、11、48、
i=39、j=0、7、12、49、
i=40、j=2、10、13、50、
i=41、j=1、5、11、51、
である、符号化方法。
【請求項2】
前記入力シーケンスは、c={c,c,c,・・・,cK−1}として表され、前記符号化シーケンスは、d={d,d,d,・・・,dN−1}として表され、Nは正の整数であり、N=(40+Kb)×Zであり、Kbは、{6,8,9,10}のうちの1つである請求項1に記載の方法。
【請求項3】
前記符号化シーケンスdは、
前記入力シーケンスc中のKビットと、
パリティシーケンス
【数1】
中のN−Kパリティビットと、
を備え、Kは、0よりも大きく、かつ、K以下の整数であり、
前記行列H、前記パリティシーケンスwおよび前記入力シーケンスcは、
【数2】
を満たし、
=[c,c,c,・・・,cK−1であり、
【数3】
であり、0は列ベクトルであり、0のすべての要素の値は0である請求項2に記載の方法。
【請求項4】
=K−2×Zである請求項3に記載の方法。
【請求項5】
前記リフティングファクタZ=Zであり、Zは、Kb×Z≧Kの関係を満たす複数のリフティングファクタの最小値である請求項2乃至4のいずれか一項に記載の方法。
【請求項6】
K>640の場合、Kbは10に等しいか、または
K>560かつK≦640の場合、Kbは9に等しいか、または
K>192かつK≦560の場合、Kbは8に等しいか、または
K≦192の場合、Kbは6に等しい
請求項2乃至5のいずれか一項に記載の方法。
【請求項7】
各ゼロ要素は、前記行列H中のサイズZ×Zの全ゼロ行列に対応し、
行iおよび列j中の各非ゼロ要素は、値Vi,jを有し、行列H中のサイズZ×Zの循環置換行列I(Pi,j)に対応し、
i,jは、0以上の整数シフト値であり、Pi,j=mod(Vi,j,Z)である
請求項1乃至6のいずれか一項に記載の方法。
【請求項8】
前記リフティングファクタZは、10×Z≧Kの関係を満たす複数のリフティングファクタの最小値である請求項1に記載の方法。
【請求項9】
前記リフティングファクタは、Z=2×2を満たすものであり、j=0、1、2、3、4、5、6、7である請求項1乃至8のいずれか一項に記載の方法。
【請求項10】
前記ベース行列は、前記非ゼロ要素を有する行0から行(m−1)の行を備え、4≦m≦42、14≦n≦52である請求項1乃至9のいずれか一項に記載の方法。
【請求項11】
前記行列Hは、前記ベース行列の置換された行列に従って決定され、前記置換された行列は、前記ベース行列に対して行置換、または列置換、または行置換および列置換を実施することによって取得される請求項1乃至10のいずれか一項に記載の方法。
【請求項12】
装置であって、
プログラム命令を記憶するように構成された1つまたは複数のメモリと、
前記1つまたは複数のメモリに結合され、前記プログラム命令を実行して、前記装置に、
行列Hを使用して入力シーケンスを符号化して、符号化シーケンスを取得させる1つまたは複数のプロセッサと、を備え、前記入力シーケンスはKビットを備え、Kは正の整数であり、
前記行列Hは、ベース行列およびリフティングファクタZに従って決定され、Zは、正の整数であり、
前記ベース行列は、m行およびn列を備え、前記ベース行列中の要素は、それらの行インデックスiおよび列インデックスjによってそれぞれ表され、0≦i<m、0≦j<nであり、
前記ベース行列中の要素は、ゼロ要素または非ゼロ要素のいずれかであり、
前記ベース行列は、非ゼロ要素を有する1つまたは複数の以下の行を備え、前記非ゼロ要素の行インデックス(i)、列インデックス(j)は以下の
i=0、j=0、1、2、3、6、9、10、11、
i=1、j=0、3、4、5、6、7、8、9、11、12、
i=2、j=0、1、3、4、8、10、12、13、
i=3、j=1、2、4、5、6、7、8、9、10、13、
i=4、j=0、1、11、14、
i=5、j=0、1、5、7、11、15、
i=6、j=0、5、7、9、11、16、
i=7、j=1、5、7、11、13、17、
i=8、j=0、1、12、18、
i=9、j=1、8、10、11、19、
i=10、j=0、1、6、7、20、
i=11、j=0、7、9、13、21、
i=12、j=1、3、11、22、
i=13、j=0、1、8、13、23、
i=14、j=1、6、11、13、24、
i=15、j=0、10、11、25、
i=16、j=1、9、11、12、26、
i=17、j=1、5、11、12、27、
i=18、j=0、6、7、28、
i=19、j=0、1、10、29、
i=20、j=1、4、11、30、
i=21、j=0、8、13、31、
i=22、j=1、2、32、
i=23、j=0、3、5、33、
i=24、j=1、2、9、34、
i=25、j=0、5、35、
i=26、j=2、7、12、13、36、
i=27、j=0、6、37、
i=28、j=1、2、5、38、
i=29、j=0、4、39、
i=30、j=2、5、7、9、40、
i=31、j=1、13、41、
i=32、j=0、5、12、42、
i=33、j=2、7、10、43、
i=34、j=0、12、13、44、
i=35、j=1、5、11、45、
i=36、j=0、2、7、46、
i=37、j=10、13、47、
i=38、j=1、5、11、48、
i=39、j=0、7、12、49、
i=40、j=2、10、13、50、
i=41、j=1、5、11、51、
である、装置。
【請求項13】
前記入力シーケンスは、c={c,c,c,・・・,cK−1}として表され、前記符号化シーケンスは、d={d,d,d,・・・,dN−1}として表され、Nは正の整数であり、N=(40+Kb)・Zであり、Kbは、{6,8,9,10}のうちの1つである請求項12に記載の装置。
【請求項14】
前記符号化シーケンスdは、
前記入力シーケンスc中のKビットと、
パリティシーケンス
【数4】
中のN−Kパリティビットと
を備え、Kは、0よりも大きく、かつK以下の整数であり、
前記行列H、前記パリティシーケンスwおよび前記入力シーケンスは、
【数5】
を満たし、
=[c,c,c,・・・,cK−1であり、
【数6】
であり、0は列ベクトルであり、0のすべての要素の値は0である請求項13に記載の装置。
【請求項15】
=K−2×Zである請求項14に記載の装置。
【請求項16】
前記リフティングファクタZ=Zであり、Zは、Kb×Z≧Kの関係を満たす複数のリフティングファクタの最小値である請求項13乃至15のいずれか一項に記載の装置。
【請求項17】
K>640の場合、Kbは10に等しいか、または
K>560かつK≦640の場合、Kbは9に等しいか、または
K>192かつK≦560の場合、Kbは8に等しいか、または
K≦192の場合、Kbは6に等しい
請求項13乃至16のいずれか一項に記載の装置。
【請求項18】
各ゼロ要素は、前記行列H中のサイズZ×Zの全ゼロ行列に対応し、
行iおよび列j中の各非ゼロ要素は、値Vi,jを有し、前記行列H中のサイズZ×Zの循環置換行列I(Pi,j)に対応し、
i,jは、0以上の整数シフト値であり、Pi,j=mod(Vi,j,Z)である
請求項12乃至17のいずれか一項に記載の装置。
【請求項19】
前記リフティングファクタZは、10×Z≧Kの関係を満たす複数のリフティングファクタの最小値である請求項12に記載の装置。
【請求項20】
前記リフティングファクタは、Z=2×2を満たすものであり、j=0、1、2、3、4、5、6、7である請求項12乃至19のいずれか一項に記載の装置。
【請求項21】
前記ベース行列は、前記非ゼロ要素を有する行0から行(m−1)の行を備え、4≦m≦42、14≦n≦52である請求項12乃至20のいずれか一項に記載の装置。
【請求項22】
前記行列Hは、前記ベース行列の置換された行列に従って決定され、前記置換された行列は、前記ベース行列に対して行置換、または列置換、または行置換および列置換を実施することによって取得される請求項12乃至21のいずれか一項に記載の装置。
【請求項23】
前記ベース行列、置換された行列、1つもしくは複数のリフティングファクタZ、または1つもしくは複数の循環置換行列を記憶するように構成された1つまたは複数のメモリをさらに備える請求項12乃至22のいずれか一項に記載の装置。
【請求項24】
前記行列Hに関連するパラメータを記憶するように構成された1つまたは複数のメモリをさらに備える請求項13乃至23のいずれか一項に記載の装置。
【請求項25】
コンピュータプログラムであって、前記コンピュータプログラムがコンピュータ上で実行されたとき、前記コンピュータに、請求項1乃至11のいずれか一項に記載の方法を実施させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本出願の実施形態は、通信分野に関し、特に、情報処理方法および通信装置に関する。
【背景技術】
【0002】
低密度パリティチェック(low density parity check、LDPC)コードは、スパースチェック行列を含む線形ブロックコードのタイプであり、柔軟な構造および低い復号複雑さによって特徴づけられる。LDPCコードを復号することは、部分的に並列な反復復号アルゴリズムを使用するので、LDPCコードは、従来のターボコードよりも高いスループットを有する。LDPCコードは、チャネル送信信頼性および電力利用率を高めるために、通信システムにおいて誤り訂正コードとして使用され得る。LDPCコードは、さらに、空間通信、光ファイバー通信、パーソナル通信システム、ADSL、磁気記録デバイスなどに広く適用され得る。LDPCコード方式は、現在、第5世代モバイル通信システムにおけるチャネルコーディング方式のうちの1つとして見なされている。
【0003】
実際的な適用では、様々な特殊構造によって特徴づけられるLDPC行列が使用され得る。特殊構造を有するLDPC行列Hは、擬似サイクリック(quasi cycle、QC)構造を有するLDPCベース行列を拡張することによって取得され得る。
【0004】
概して、符号化されるべき情報ビットシーケンスの長さは、数十ビットから数百ビットまで変動し、通信システムによって必要とされるコードレートも柔軟に可変である。システムのコードレート要件を満たすために、様々な長さの情報ビットシーケンスの符号化をどのようにサポートするかは、解決される必要がある問題となる。
【発明の概要】
【0005】
本出願の実施形態は、様々な長さの情報ビットシーケンスの符号化および復号をサポートし、通信システムの柔軟なコード長およびコードレート要件を満たすための、情報処理方法、通信装置、および通信システムを提供する。
【0006】
第1の態様によれば、符号化方法およびエンコーダが提供される。エンコーダは、低密度パリティチェックLDPC行列を使用することによって入力シーケンスを符号化する。
【0007】
第2の態様によれば、復号方法およびデコーダが提供される。デコーダは、低密度パリティチェックLDPC行列を使用することによって入力シーケンスを復号する。
【0008】
第1の態様または第2の態様の第1の実装では、LDPC行列は、ベースグラフに基づいて取得され、ベースグラフは、部分行列A、部分行列B、部分行列C、部分行列D、および部分行列Eを含み、
部分行列Aは、m行およびn列を含む行列であり、mおよびnは正の整数であり、4≦m≦7、かつn=10であり、
部分行列Bは、m行およびm列を含む行列であり、部分行列Bは、重みが3である列、および二重対角構造を有する部分行列B’を含み、
部分行列Dは、行列F中のm行を含み、行列Fは、m行および(m+n)列を含む行列であり、mおよびmは正の整数であり、0≦m≦m、かつ35≦m≦38であり、
部分行列Cは、m行およびm列を含む全ゼロ行列であり、
部分行列Eは、m行およびm列を含む単位行列である。
【0009】
上記の実装に基づいて、可能な実装では、ベースグラフ中の最後の10個の行のうちの任意の2つの隣接する行は相互に直交する。
【0010】
上記の実装に基づいて、可能な実装では、ベースグラフ中の最後の10個の行は、少なくとも5つのグループを含み、少なくとも5つのグループの各々は、少なくとも2つの行を含み、少なくとも2つの行は相互に直交する。
【0011】
上記の実装のいずれかに基づいて、可能な実装では、行列Fにおいて、9つの行の重みは3であり、1つの行の重みは2である。
【0012】
設計では、行列Fにおいて、1つの列の重みは16であり、1つの列の重みは18であり、1つの列の重みは11であり、2つの列の重みは10であり、1つの列の重みは9であり、1つの列の重みは8であり、1つの列の重みは7であり、1つの列の重みは6であり、2つの列の重みは4であり、1つの列の重みは3であり、2つの列の重みは2である。
【0013】
第1の実装に基づいて、別の可能な実装では、行列Fにおいて直交構造を有する行の行カウントは10以上であり、行列Fにおいて、1つの列の重みは16であり、1つの列の重みは18であり、1つの列の重みは11であり、2つの列の重みは10であり、1つの列の重みは9であり、1つの列の重みは8であり、1つの列の重みは7であり、1つの列の重みは6であり、2つの列の重みは4であり、1つの列の重みは3であり、2つの列の重みは2である。
【0014】
別の設計では、行列Fにおいて、9つの行の重みは3であり、1つの行の重みは2である。
【0015】
別の設計では、行列Fは、少なくとも10個の行を含み、少なくとも10個の行のうちの任意の2つの隣接する行は相互に直交する。
【0016】
別の設計では、行列Fは、少なくとも5つのグループを含み、少なくとも5つのグループの各々は、少なくとも2つの行を含み、少なくとも2つの行は相互に直交する。任意選択で、少なくとも2つの行は、連続する行であり得る。たとえば、少なくとも10個の行は、ベースグラフ30a中の最後の10個の行であり得る。
【0017】
上記の実装のいずれかにおいて、m>4である場合、行列F中のm個の列以外の列の重みは0である。
【0018】
たとえば、行列Fにおいて直交構造を有する10個の行は、たとえば、ベースグラフ30a中の行25から行34および列0から列13を含む行列ブロックの行もしくは列を含み得るか、または行列Fにおいて直交構造を有する10個の行は、たとえば、ベースグラフ30a中の行25から行34および列0から列16を含む行列ブロックの行もしくは列を含み得る。行列Fにおいて、行は互いに取り替えられてよく、列も互いに取り替えられてよい。
【0019】
上記の実装に基づいて、ベースグラフ30aのベース行列は、たとえば、ベース行列30b−1、30b−2、30b−3、30b−4、30b−5、30b−6、30b−7、および30b−8のいずれか1つ、またはベース行列30b−1、30b−2、30b−3、30b−4、30b−5、30b−6、30b−7、および30b−8のいずれか1つに対して行/列置換を実施することによって取得される行列であり得る。
【0020】
上記の実装に基づいて、行列Fのシフト行列は、30b−1から30b−8のいずれかの行列中の行7から行41および列0から列16を含む行列、もしくは30b−1から30b−8のいずれかの行列中の行7から行41および列0から列16を含む行列に対して行/列置換を実施することによって取得される行列であり得るか、または行列Fのシフト行列は、30b−1から30b−8のいずれかの行列中の行4から行41および列0から列14を含む行列、もしくは30b−1から30b−8のいずれかの行列中の行4から行41および列0から列14を含む行列に対して行/列置換を実施することによって取得される行列を含み得る。
【0021】
異なるコードブロック長をサポートするために、LDPCコードは、異なるリフティングファクタZを必要とする。上記の実装に基づいて、可能な実装では、異なるリフティングファクタZに基づいて、その異なるリフティングファクタZに対応するベース行列が使用される。たとえば、Z=a×2であり、a∈{2,3,5,7,9,11,13,15}である。
【0022】
リフティングファクタが、Z=2×2を満たすリフティングファクタであり、j=0、1、2、3、4、5、6、7である場合、行列Fのシフト行列は、30b−1中の行7から行41および列0から列16を含む行列、もしくは30b−1中の行7から行41および列0から列16を含む行列に対して行/列置換を実施することによって取得される行列であり得るか、または行列Fのシフト行列は、30b−1中の行4から行41および列0から列14を含む行列、もしくは30b−1中の行4から行41および列0から列14を含む行列に対して行/列置換を実施することによって取得される行列であり得る。対応して、ベースグラフ30aのベース行列は、30b−1に示される行列、または30b−1に示される行列に対して行/列置換を実施することによって取得される行列であり得る。
【0023】
リフティングファクタが、Z=3×2を満たすリフティングファクタであり、j=0、1、2、3、4、5、6、7である場合、行列Fのシフト行列は、30b−2中の行7から行41および列0から列16を含む行列、もしくは30b−2中の行7から行41および列0から列16を含む行列に対して行/列置換を実施することによって取得される行列であり得るか、または行列Fのシフト行列は、30b−2中の行4から行41および列0から列14を含む行列、もしくは30b−2中の行4から行41および列0から列14を含む行列に対して行/列置換を実施することによって取得される行列であり得る。対応して、ベースグラフ30aのベース行列は、30b−2に示される行列、または30b−2に示される行列に対して行/列置換を実施することによって取得される行列であり得る。
【0024】
リフティングファクタが、Z=5×2を満たすリフティングファクタであり、j=0、1、2、3、4、5、6である場合、行列Fのシフト行列は、30b−3中の行7から行41および列0から列16を含む行列、もしくは30b−3中の行7から行41および列0から列16を含む行列に対して行/列置換を実施することによって取得される行列であり得るか、または行列Fのシフト行列は、30b−3中の行4から行41および列0から列14を含む行列、もしくは30b−3中の行4から行41および列0から列14を含む行列に対して行/列置換を実施することによって取得される行列であり得る。対応して、ベースグラフ30aのベース行列は、30b−3に示される行列、または30b−3に示される行列に対して行/列置換を実施することによって取得される行列であり得る。
【0025】
リフティングファクタが、Z=7×2を満たすものであり、j=0、1、2、3、4、5である場合、行列Fのシフト行列は、30b−4中の行7から行41および列0から列16を含む行列、もしくは30b−4中の行7から行41および列0から列16を含む行列に対して行/列置換を実施することによって取得される行列であり得るか、または行列Fのシフト行列は、30b−4中の行4から行41および列0から列14を含む行列、もしくは30b−4中の行4から行41および列0から列14を含む行列に対して行/列置換を実施することによって取得される行列であり得る。対応して、ベースグラフ30aのベース行列は、30b−4に示される行列、または30b−4に示される行列に対して行/列置換を実施することによって取得される行列であり得る。
【0026】
リフティングファクタが、Z=9×2を満たすリフティングファクタであり、j=0、1、2、3、4、5である場合、行列Fのシフト行列は、30b−5中の行7から行41および列0から列16を含む行列、もしくは30b−5中の行7から行41および列0から列16を含む行列に対して行/列置換を実施することによって取得される行列であり得るか、または行列Fのシフト行列は、30b−5中の行4から行41および列0から列14を含む行列、もしくは30b−5中の行4から行41および列0から列14を含む行列に対して行/列置換を実施することによって取得される行列であり得る。対応して、ベースグラフ30aのベース行列は、30b−5に示される行列、または30b−5に示される行列に対して行/列置換を実施することによって取得される行列であり得る。
【0027】
リフティングファクタが、Z=11×2を満たすリフティングファクタであり、j=0、1、2、3、4、5である場合、行列Fのシフト行列は、30b−6中の行7から行41および列0から列16を含む行列、もしくは30b−6中の行7から行41および列0から列16を含む行列に対して行/列置換を実施することによって取得される行列であり得るか、または行列Fのシフト行列は、30b−6中の行4から行41および列0から列14を含む行列、もしくは30b−6中の行4から行41および列0から列14を含む行列に対して行/列置換を実施することによって取得される行列であり得る。対応して、ベースグラフ30aのベース行列は、30b−6に示される行列、または30b−6に示される行列に対して行/列置換を実施することによって取得される行列であり得る。
【0028】
リフティングファクタが、Z=13×2を満たすリフティングファクタであり、j=0、1、2、3、4である場合、行列Fのシフト行列は、30b−7中の行7から行41および列0から列16を含む行列、もしくは30b−7中の行7から行41および列0から列16を含む行列に対して行/列置換を実施することによって取得される行列であり得るか、または行列Fのシフト行列は、30b−7中の行4から行41および列0から列14を含む行列、もしくは30b−7中の行4から行41および列0から列14を含む行列に対して行/列置換を実施することによって取得される行列であり得る。対応して、ベースグラフ30aのベース行列は、30b−7に示される行列、または30b−7に示される行列に対して行/列置換を実施することによって取得される行列であり得る。
【0029】
リフティングファクタが、Z=15×2を満たすリフティングファクタであり、j=0、1、2、3、4である場合、行列Fのシフト行列は、30b−8中の行7から行41および列0から列16を含む行列、もしくは30b−8中の行7から行41および列0から列16を含む行列に対して行/列置換を実施することによって取得される行列であり得るか、または行列Fのシフト行列は、30b−8中の行4から行41および列0から列14を含む行列、もしくは30b−8中の行4から行41および列0から列14を含む行列に対して行/列置換を実施することによって取得される行列であり得る。対応して、ベースグラフ30aのベース行列は、30b−8に示される行列、または30b−8に示される行列に対して行/列置換を実施することによって取得される行列であり得る。
【0030】
さらに、任意選択で、上記の実装に基づいて、リフティングファクタZについて、Zのベース行列中の行iおよび列j中の要素Pi,j=f(Vi,j,Z)が、上記のセットのベース行列に従ってさらに取得されてよく、Vi,jは、リフティングファクタZが属するセットのベース行列中の行iおよび列j中の要素である。
【0031】
たとえば、
【0032】
【数7】
【0033】
である。
【0034】
別の可能な実装では、ベースグラフまたはベース行列は、ビルトインパンクチャビットに対応する少なくとも1つの列をさらに含み得る。
【0035】
上記の実装では、LDPC行列のベースグラフおよびベース行列は、ブロック長が20ビットから2560ビットであるコードブロックの性能要件を満たし得る。
【0036】
上記の態様または態様のいずれかの可能な実装に基づいて、別の可能な実装では、本方法は、リフティングファクタZを決定することをさらに含む。たとえば、リフティングファクタZの値は、入力シーケンスの長さKに従って決定される。たとえば、入力シーケンスの長さがKである場合、システムにおいて定義されている複数のリフティングファクタから、10×Z≧Kを満たす最小値が決定され得る。
【0037】
任意選択で、LDPC行列は、Zに対応するベース行列に基づいて、またはZに対応するシフト行列に基づいて取得され得る。
【0038】
送信端における通信デバイスについて、LDPC行列を使用することによって入力シーケンスを符号化することは、
リフティングファクタZに対応するLDPC行列を使用することによって入力シーケンスを符号化すること、または行列を使用することによって入力シーケンスを符号化することであって、行列はリフティングファクタZに対応するLDPC行列に対して行/列置換を実施することによって取得されることを含む。本出願では、行/列置換は、行置換、列置換、または行置換および列置換を指す。
【0039】
受信端における通信デバイスについて、LDPC行列を使用することによって入力シーケンスを復号することは、
リフティングファクタZに対応するLDPC行列を使用することによって入力シーケンスを復号するステップ、またはリフティングファクタZに対応するLDPC行列に対して行/列置換を実施し、リフティングファクタZに対応するLDPC行列に対して行/列置換を実施することによって取得される行列を使用することによって入力シーケンスを復号するステップを含む。本出願では、行/列置換は、行置換、列置換、または行置換および列置換を指す。
【0040】
可能な実装では、LDPC行列はメモリに記憶されることがあり、入力シーケンスはLDPC行列を使用することによって符号化されるか、または符号化のために使用され得るLDPC行列が、LDPC行列に基づいて置換(行/列置換)もしくはリフティングを実施することによって取得される。
【0041】
別の可能な実装では、パラメータがメモリに記憶されることがあり、符号化または復号のために使用されるLDPC行列は、パラメータに従って取得されることがあり、それにより、入力シーケンスは、LDPC行列に基づいて符号化または復号され得る。パラメータは、ベースグラフ、ベース行列、ベースグラフもしくはベース行列に対して行/列置換を実施することによって取得される置換された行列、ベースグラフもしくはベース行列に基づくリフティングされた行列、ベース行列中の非ゼロ要素のシフト値、またはLDPC行列を取得することに関係する何らかのパラメータのうちの少なくとも1つを含む。
【0042】
さらに別の可能な実装では、LDPC行列のベース行列は、メモリに記憶され得る。
【0043】
さらに別の可能な実装では、LDPC行列のベースグラフはメモリに記憶され、LDPC行列のベース行列中の非ゼロ要素のシフト値がメモリに記憶され得る。
【0044】
上記の可能な実装に基づいて、可能な設計では、LDPC符号化または復号のために使用されるベースグラフおよびベース行列のうちの少なくとも1つは、LDPC行列のベースグラフおよびベース行列のうちの少なくとも1つに対して行置換、列置換、または行置換および列置換を実施することによって取得される。
【0045】
第3の態様によれば、通信装置が提供される。通信装置は、上記の方法設計を実施するように構成された対応するモジュールを含み得る。モジュールは、ソフトウェアおよび/またはハードウェアであり得る。
【0046】
可能な設計では、第3の態様において提供される通信装置は、プロセッサおよびトランシーバ構成要素を含み、プロセッサおよびトランシーバ構成要素は、上記の符号化または復号方法における機能を実装するように構成され得る。この設計では、通信装置が端末、基地局、または別のネットワークデバイスである場合、通信装置のトランシーバ構成要素は、トランシーバであり得る。通信装置がベースバンドチップまたはベースバンド処理ボードである場合、通信装置のトランシーバ構成要素は、ベースバンドチップまたはベースバンド処理ボードの入出力回路であってよく、入出力信号を受信する/送信するように構成される。通信装置は、データおよび/または命令を記憶するように構成されたメモリを任意選択で含み得る。
【0047】
ある実装では、プロセッサは、上記の第1の態様によるエンコーダおよび決定ユニットを含み得る。決定ユニットは、入力シーケンスを符号化するために必要とされるリフティングファクタZを決定するように構成される。エンコーダは、リフティングファクタZに対応するLDPC行列を使用することによって入力シーケンスを符号化するように構成される。
【0048】
別の実装では、プロセッサは、上記の第2の態様によるデコーダおよび取得ユニットを含み得る。取得ユニットは、LDPCコードの軟値およびリフティングファクタZを取得するように構成される。デコーダは、情報ビットシーケンスを取得するために、リフティングファクタZに対応するベース行列Hに基づいてLDPCコードの軟値を復号するように構成される。
【0049】
第4の態様によれば、通信装置が提供される。通信装置は1つまたは複数のプロセッサを含む。
【0050】
可能な設計では、1つまたは複数のプロセッサは、第1の態様におけるエンコーダの機能を実装し得る。別の可能な設計では、第1の態様におけるエンコーダは、プロセッサの一部であり得る。第1の態様におけるエンコーダの機能に加えて、プロセッサは、他の機能をさらに実装し得る。
【0051】
可能な設計では、1つまたは複数のプロセッサは、第2の態様におけるデコーダの機能を実装し得る。別の可能な設計では、第2の態様におけるデコーダは、プロセッサの一部であり得る。
【0052】
任意選択で、通信装置は、トランシーバおよびアンテナをさらに含み得る。
【0053】
任意選択で、通信装置は、トランスポートブロックCRCを発生するように構成された構成要素、コードブロックセグメント化およびCRC付加のために使用される構成要素、インターリーブのために使用されるインターリーバ、変調処理のために使用される変調器などをさらに含み得る。
【0054】
任意選択で、通信装置は、復調動作のために使用される復調器、デインターリーブのために使用されるデインターリーバ、デレートマッチングのために使用される構成要素などをさらに含み得る。構成要素の機能は、1つまたは複数のプロセッサを使用することによって実装され得る。
【0055】
可能な設計では、構成要素の機能は、1つまたは複数のプロセッサを使用することによって実装され得る。
【図面の簡単な説明】
【0056】
図1】LDPCコードのベースグラフおよびベース行列、ならびにLDPCコード方式におけるベース行列の循環置換行列の概略図である。
図2】LDPCコードのベースグラフの概略構造図である。
図3a】本出願の一実施形態によるLDPCコードのベースグラフの概略図である。
図3b-1】図3aに示されているベースグラフのベース行列の概略図である。
図3b-2】図3aに示されているベースグラフのベース行列の概略図である。
図3b-3】図3aに示されているベースグラフのベース行列の概略図である。
図3b-4】図3aに示されているベースグラフのベース行列の概略図である。
図3b-5】図3aに示されているベースグラフのベース行列の概略図である。
図3b-6】図3aに示されているベースグラフのベース行列の概略図である。
図3b-7】図3aに示されているベースグラフのベース行列の概略図である。
図3b-8】図3aに示されているベースグラフのベース行列の概略図である。
図4】本出願の一実施形態による概略性能図である。
図5】本出願の一実施形態による情報処理装置の概略構造図である。
図6】本出願の一実施形態による通信システムの概略図である。
【発明を実施するための形態】
【0057】
理解を促進するために、本出願におけるいくつかの用語について以下で説明される。
【0058】
本出願では、「ネットワーク」および「システム」という用語は通常入れ替えられ、「装置」および「デバイス」という用語も通常入れ替えられる。しかしながら、当業者はそれらの意味を理解されよう。「通信装置」は、(ベースバンドチップ、もしくはデジタル信号処理チップ、もしくは汎用チップなどの)チップ、端末、基地局、または別のネットワークデバイスであり得る。端末は、通信機能を有するデバイスである。端末は、ワイヤレス通信機能を有するハンドヘルドデバイス、車載デバイス、ウェアラブルデバイス、およびコンピューティングデバイス、またはワイヤレスモデムに接続された別の処理デバイスなどを含み得る。端末は、異なるネットワークでは異なる名前を有することがあり、たとえば、ユーザ機器、移動局、ユーザユニット、局、セルラーフォン、携帯情報端末、ワイヤレスモデム、ワイヤレス通信デバイス、ハンドヘルドデバイス、ラップトップコンピュータ、コードレス電話機、およびワイヤレスローカルループ局を有する。説明しやすいように、本出願では、デバイスは略して端末と呼ばれる。基地局デバイスとも呼ばれる基地局(base station、BS)は、ワイヤレス通信機能を提供するために無線アクセスネットワーク中に展開されるデバイスである。異なる無線アクセスシステムでは、基地局の名前は異なることがある。たとえば、ユニバーサルモバイル電気通信システム(Universal Mobile Telecommunication System、UMTS)ネットワークにおける基地局はノードB(NodeB)と呼ばれるか、LTEネットワークにおける基地局は発展型ノードB(evolved NodeB、eNB、もしくはeNodeB)と呼ばれるか、新無線(new radio、NR)ネットワークにおける基地局は送受信ポイント(transmission reception point、TRP)もしくは次世代ノードB(generation nodeB、gNB)と呼ばれるか、または様々な他のネットワークにおける基地局は他の名前で呼ばれることもある。本出願はそれに限定されない。
【0059】
以下で、本出願の実施形態における添付の図面を参照しながら、本出願の実施形態における技術的解決策について説明する。
【0060】
通常、LDPCコードは、パリティチェック行列Hを使用することによって定義されることが可能である。LDPCコードのパリティチェック行列Hは、ベースグラフ(base graph)およびシフト(shift)値を使用することによって取得され得る。通常、ベースグラフは、m×n個の行列要素(entry)を含み得る。ベースグラフは、m行およびn列を含む行列を使用することによって表され得る。各行列要素の値は0または1のいずれかである。値が0である要素はゼロ要素とも時々呼ばれ、これはサイズZ×Zの全ゼロ行列(ゼロ行列)と交換され得る。値が1である要素は非ゼロ要素とも時々呼ばれ、これはサイズZ×Zの循環置換行列(circulant permutation matrix)と交換され得る。すなわち、各行列要素は全ゼロ行列または循環置換行列を表す。図1は、m=4およびn=20であり、QC構造を有するLDPCコードのベースグラフの例10aを示す。本明細書では、ベースグラフおよび行列の行インデックスおよび列インデックスはすべて0から開始して番号を付けられることに留意されたい。これは理解しやすくするためにすぎない。行インデックスおよび列インデックスは、代替として1から開始して番号を付けられてよく、対応する行インデックスおよび列インデックスは、本明細書に示されている行インデックスおよび列インデックスに基づいて1だけ増加されることが理解されよう。
【0061】
ベースグラフ中の行iおよび列j中の要素の値が1である場合、それはシフト値Pi,jを割り当てられる。Pi,jは0以上の整数であり、それは、行iおよび列j中の1の要素(非ゼロ要素)が、Pi,jに対応するサイズZ×Zの循環置換行列と交換され得ることを示す。循環置換行列は、サイズZ×Zの単位行列をPi,j回右側に循環シフトすることによって取得され得る。ベースグラフにおいて、値が0である各要素はサイズZ×Zの全ゼロ行列と交換され、値が1である各要素は、その要素のシフト値に対応するサイズZ×Zの循環置換行列と交換され、それにより、LDPCコードのパリティチェック行列が取得されることが可能であることがわかるであろう。ベースグラフは、シフト値の位置を示すために使用されることがあり、ベースグラフ中の各非ゼロ要素はシフト値に対応する。Zは正の整数であり、リフティング(lifting)ファクタと呼ばれることもあり、リフティングサイズ、リフティングファクタなどと呼ばれることも時々ある。Zは、システムによってサポートされるコードブロックサイズおよび情報データのサイズに従って決定され得る。パリティチェック行列Hは(m×Z)×(n×Z)のサイズを有することがわかるであろう。たとえば、リフティングファクタZ=4である場合、各ゼロ要素は4×4全ゼロ行列11aと交換される。P2,3=2である場合、行2および列3中の非ゼロ要素は4×4循環置換行列11dと交換される。この行列は、4×4単位行列11bを2回右側に循環シフトすることによって取得される。P2,4=0である場合、行2および列4中の非ゼロ要素は単位行列11bと交換される。本明細書では例のみについて説明され、例は限定とならないことに留意されたい。
【0062】
i,jの値はリフティングファクタZに依存し得る。したがって、ベースグラフの行iおよび列j中の1の要素(非ゼロ要素)について、Pi,jは、異なるリフティングファクタZでは異なり得る。実装しやすくするために、通常、システムにおいてm×nベース行列(base matrix)が定義される。ベース行列中の各要素は、ベースグラフ中の各要素との1対1の対応にある。ベースグラフ中のゼロ要素は、ベース行列中で同じ位置を有し、その要素は−1によって示される。ベースグラフ中の行iおよび列j中で1によって示される非ゼロ要素は、ベース行列中で同じ位置を有し、その非ゼロ要素は値Vi,jによって示され、Vi,jは、プリセットされるかまたは特定のリフティングファクタZに対して定義されるシフト値、たとえば、リフティングファクタZが属するセット中の最大リフティングファクタZmaxに対するシフト値であり得る。このようにして、Vi,jは、Zが属するセット中の最大リフティングファクタZmaxが使用されるときの、行iおよび列j中の非ゼロ要素のシフト値であり得る。本出願のこの実施形態では、ベース行列は、時々、ベースグラフの行列のシフト行列とも呼ばれる。
【0063】
i,jは、Vi,jおよびZに基づいて取得され得る。たとえば、それはPi,j=f(Vi,j,Z)として表されてよく、f(Vi,j,Z)は、パラメータとしてVi,jおよびZを使用する関数である。たとえば、
【0064】
【数8】
【0065】
である。
【0066】
図1に示されているように、10bは、ベースグラフ10aに対応するベース行列である。
【0067】
通常、LDPCコードのベースグラフまたはベース行列は、ビルトインパンクチャ(built−in puncture)ビットに対応するp個の列を含むことがあり、pは0から2の整数であり得る。これらの列は符号化において使用され得るが、ビルトインパンクチャビットに対応するシステマティックビットは送られない。LDPCコードのベース行列のコードレートはR=(n−m)/(n−p)を満たす。4行および20列(4×20)を含むベース行列では、ビルトインパンクチャビットに対応する2つの列がある場合、コードレートは(20−4)/(20−2)=8/9である。
【0068】
ワイヤレス通信システムにおいて使用されるLDPCコードでは、LDPCコードのベースグラフの行列はm×nのサイズを有し、ベースグラフは、A、B、C、D、およびEという5つの部分行列を含み得る。行列の重みは非ゼロ要素の量によって決定され、行の行重み(row weight)は行中の非ゼロ要素の量を指し、列の列重み(column weight)は列中の非ゼロ要素の量を指す。
【0069】
図2の200に示されているように、部分行列Aは、m行およびn列を含む行列であり、部分行列Aはm×nのサイズを有する。各列は、LDPCコード中のZ個のシステマティックビットに対応し、システマティックビットは情報ビットと時々呼ばれる。
【0070】
部分行列Bは、m行およびm列の正方行列であり、部分行列Bはm×mのサイズを有する。各列は、LDPCコード中のZ個のパリティビットに対応する。図2の20aに示されているように、部分行列Bは、二重対角構造を有する部分行列B’、および重みが3である行列の列(略して、重み3の列)を含み、重み3の列は部分行列B’の左側に位置し得る。部分行列Bは、列重みが1である1つまたは複数の行列の列(略して、重み1の列)をさらに含み得る。たとえば、可能な実装は図2の20bまたは20cに示されている。
【0071】
概して、部分行列Aおよび部分行列Bに基づいて生成される行列は、高コードレート符号化をサポートするために使用され得るコア行列である。
【0072】
図2において続けると、部分行列Cは全ゼロ行列であり、部分行列Cはm×mのサイズを有する。部分行列Eは単位行列であり、部分行列Eはm×mのサイズを有する。
【0073】
部分行列Dはm×(n+m)のサイズを有し、部分行列Dは、低コードレートでパリティビットを生成するために使用され得る。
【0074】
ベースグラフは、数学的定義の観点から、および部分行列Cが全ゼロ行列であり、部分行列Eが単位行列であることから上記で説明されていることが理解されよう。したがって、可能な実装では、部分行列Aおよび部分行列Bを含む行列、または部分行列A、部分行列B、および部分行列Dを含む行列は、符号化または復号において行列のベースグラフを表すために使用され得る。
【0075】
部分行列Cおよび部分行列Eの構造は比較的固定されているので、部分行列A、部分行列B、および部分行列Dの構造が、LDPCコードの符号化および復号性能に影響を及ぼす決定ファクタである。
【0076】
ラプター様の構造を有するLDPC行列が符号化のために使用されるとき、可能な実装では、部分行列Aおよび部分行列Bを含む行列の一部、すなわち、コア行列が符号化のために最初に使用されて、部分行列Bに対応する1つまたは複数のパリティビットが取得され得る。次いで、行列全体が符号化のために使用されて、部分行列Eに対応する1つまたは複数のパリティビットが取得される。部分行列Bは、二重対角構造を有する部分行列B’、および重み1の列を含み得るからである。したがって、符号化中に、二重対角構造に対応する1つまたは複数のパリティビットが最初に取得されることがあり、次いで、重み1の列に対応する1つまたは複数のパリティビットが取得される。
【0077】
以下で、符号化方法の一例を提供する。部分行列Aおよび部分行列Bを含むコア行列がHcoreであると仮定すると、重み1の列、および重み1の列中の非ゼロ要素が位置する行がHcoreから削除されて、行列Hcore−dualが取得される。パリティビットに対応するHcore−dual中の行列ブロックは、H=[He1e2]によって表され、He1は重み3の列であり、He2は二重対角構造を有する。LDPCコード行列の定義に従って、Hcore−dual・[S P=0であり、Sは、入力シーケンスであり、情報ビットを含むベクトルであり、Pは、パリティビットを含むベクトルであり、[S Pは、入力シーケンスSおよびPを含む転置行列を示す。したがって、Hcore−dualに対応するパリティビットが、入力シーケンスSおよびHcore−dualに従って最初に計算され得る。入力シーケンスSはすべての情報ビットを含む。次いで、部分行列B中の重み1の列に対応するパリティビットが、Hcore−dualおよび入力シーケンスSに対応する取得されたパリティビットに従って計算される。この場合、部分行列Bに対応するすべてのパリティビットが取得され得る。次いで、部分行列Eに対応するパリティビットが、部分行列Dを使用して、ならびに入力シーケンスS、および部分行列Bに対応する取得されたパリティビットに基づいて符号化することによって取得される。このようにして、すべての情報ビットおよびすべてのパリティビットが取得される。これらのビットは、符号化シーケンス、すなわち、LDPCコードワードを形成する。
【0078】
任意選択で、LDPC符号化は、短縮(shortening)およびパンクチャ(puncturing)動作をさらに含み得る。短縮されたビットおよびパンクチャされたビットは送られない。
【0079】
短縮は、通常、情報ビットの最後のビットから開始して実施され、様々な方式で実施され得る。たとえば、短縮されたビットの量がsであるので、入力シーケンスS中の最後のsビットは、0もしくはヌルまたは他の値に設定されるなど、既知のビットとして設定されて、入力シーケンスS’が取得されることがあり、次いで、入力シーケンスS’は、LDPC行列を使用することによって符号化される。別の例では、入力シーケンスS中の最後の(s mod Z)ビットが、0もしくはヌルまたは他の値に設定されるなど、既知のビットとして設定されて、入力シーケンスS’が取得されることがあり、部分行列A中の最後の
【0080】
【数9】
【0081】
個の列が削除されてLDPC行列H’が取得され、入力シーケンスS’は、LDPC行列H’を使用することによって符号化されるか、または部分行列A中の最後の
【0082】
【数10】
【0083】
個の列は入力シーケンスS’の符号化に関与しない。符号化が完了した後に、短縮されたビットは送られない。
【0084】
パンクチャは、ビルトインパンクチャビットに対応する1つもしくは複数の列、または入力シーケンス中の1つもしくは複数のパリティビットに対して実施され得る。通常、1つまたは複数のパリティビットをパンクチャすることも、パリティビット中の最後の1ビットからである。代替として、パリティビットをパンクチャすることは、システム中のプリセットされたパンクチャパターンに従って実施され得る。可能な実装では、入力シーケンスが最初に符号化され、次いで、パンクチャされる必要があるビットの量pに基づいて、パリティビット中の最後のpビットが選択されるか、またはシステム中のプリセットされたパンクチャパターンに従ってpビットが選択され、このpビットは送られない。別の可能な実装では、パンクチャされたビットに対応する行列のp個の列、およびこれらの列中の非ゼロ要素が位置するp個の行が決定されることがあり、これらの行および列は符号化に関与せず、したがって、対応するパリティビットは生成されない。
【0085】
本明細書で説明される符号化実装は例として使用されるにすぎないことに留意されたい。本出願において提供されるベースグラフおよび/またはベース行列に基づいて、他の知られている符号化実装が代替として使用されてよい。また、符号化実装は本出願では限定されない。本出願における復号は、様々な復号方法、たとえば、最小和(MS)復号方法、または確率伝搬復号方法において実施され得る。MS復号方法はフラッドMS復号方法と呼ばれることも時々ある。たとえば、入力シーケンスが初期化され、反復が実施される。反復の後に硬判定検出が実施され、硬判定結果がチェックされる。復号結果がチェック式を満たす場合、復号は成功し、反復は終了し、判定結果が出力される。復号結果がチェック式を満たさない場合、反復回数の最大量内で反復が再び実施される。反復回数の最大量に達したときにチェックが依然として失敗する場合、復号は失敗する。MS復号の原理が従来知られていることを理解するであろうことが理解され得、詳細について本明細書で再び説明されない。
【0086】
復号方法は本明細書において例として使用されるにすぎず、本出願において提供されるベースグラフおよび/またはベース行列に基づいて、知られている他の復号方法が代替として使用されてよく、復号方式は本出願では限定されないことに留意されたい。
【0087】
ベースグラフおよびベース行列に基づいてLDPCコードが取得されることがあり、LDPCコードの性能の上限は、ベースグラフまたはベース行列に対して密度発展を実施することによって決定され得る。LDPCコードのエラーフロアは、ベース行列中のシフト値に基づいて決定される。符号化性能および復号性能を改善し、エラーフロアを低下させることは、ベースグラフおよびベース行列を設計する目的の一部である。ワイヤレス通信システムにおいて、コード長は広く変動する。たとえば、コード長は、40ビット、1280ビットなどであり得る。図3および図3b−1乃至図3b−8は、LDPCコードのコア行列のベースグラフおよびベース行列の例である。これらの例は、20ビットから2560ビットのブロック長を有するコードブロックの性能要件を満たし得る。説明および理解しやすいように、列インデックスおよび行インデックスは、図3および図3b−1乃至図3b−8の最上側および最左側にそれぞれ示されている。
【0088】
図4は、図3および図3b−1乃至図3b−8に示されているLDPCコードに基づく性能図である。LDPC1は、ベースグラフ30aに対応するベース行列に基づいて符号化することによって取得されるLDPCコードを示し、LDPC2は、比較のために使用される、通常使用されるLDPCコードを示す。水平座標は情報ビットシーケンスの長さを示し、長さの単位はビットである。垂直座標はシンボル信号対雑音比(Es/N0)を示す。性能曲線は、BLERが0.0001であるとき、異なる情報ビットシーケンス長の場合のLDPC1およびLDPC2についてのシンボル信号対雑音比の性能を示す。同じBLERでは、異なる情報ビットシーケンス長の場合、LDPC1のシンボル信号対雑音比はLDPC2のそれよりも小さい、すなわち、LDPC1の性能はLDPC2の性能よりも良好であることがわかるであろう。
【0089】
図3aは、LDPCコードのベースグラフ30aの例を示す。ベースグラフ30aの行列は42行および52列を有する。図において、最上行中の0から51は列インデックスを示し、最左列中の0から41は行インデックスを示す。
【0090】
ベースグラフ30aにおいて、部分行列Aは、システマティックビットに対応し、m行および10列を有し、4≦m≦7である。たとえば、m=4である場合、部分行列Aは、ベースグラフ30a中の行0から行3および列0から列9中の要素を含む。別の例では、m>4である場合、例としてm=7を使用すると、部分行列Aは、ベースグラフ30a中の行0から行6および列0から列9中の要素を含む。
【0091】
部分行列Bは、パリティビットに対応し、m行およびm列を有し、ベースグラフ30a中の行0から行(m−1)および列10から列(10+m−1)中の要素を含む。
【0092】
部分行列Aおよび部分行列Bは、LDPCコードのベースグラフのコア行列、すなわち、m行および(m+n)列を含む行列を形成する。この行列は高コードレート符号化のために使用され得る。説明しやすいように、以下では例としてm=7を使用して、LDPCコードのベースグラフのコア行列は7行および17列である。
【0093】
部分行列Aは、ビルトインパンクチャビットに対応する2つの列を含み得る。パンクチャした後に、コア行列によってサポートされることが可能であるコードレートは10/(17−2)=2/3である。
【0094】
部分行列Bは1つの重み3の列を含み、すなわち、部分行列Bの列0(コア行列の列10)の列重みは3である。部分行列B中の列1から列3(コア行列中の列11から列13)および行0から行3を含む行列は二重対角構造である。部分行列Bは3つの重み1の列をさらに含む。
【0095】
例としてm=7を使用すると、ベースグラフ30aのコア行列は、重みが10である2つの行、重みが8である2つの行、重みが6である2つの行、および重みが4である1つの行を含む。すなわち、部分行列Aおよび部分行列Bを含むコア行列中の行の行重みは、それぞれ8、10、8、10、4、6、および6である。コア行列中の行は、たとえば、行0が行2と取り替えられ、行1が行3と取り替えられるなど、取り替えられてよいことに留意されたい。コア行列中の行の各々は、ベースグラフ30aのコア行列中の行0から行6および列0から列16に示されている行のうちの1つであり得る。行は互いに取り替えられてよく、列も互いに取り替えられてよい。たとえば、コア行列において列8は列14と取り替えられてよい。本明細書では例のみが提供されることに留意されたい。実際の適用では、システム要件に基づいて列置換および行置換がフレキシブルに設計され得る。
【0096】
行列において、行は互いに取り替えられてよく、列も互いに取り替えられてよく、行置換は列の重みを変化させず、列置換は行の重みを変化させないので、行列中の非ゼロ要素の量は変化しないことが理解されよう。行置換および列置換の後に、ベースグラフ中の行の重みは変化しない。行置換、列置換、または行置換および列置換の後に取得されるベースグラフの使用は性能に影響を及ぼさない。
【0097】
本出願では、性能が影響を受けないことは、全体的に、影響が許容でき、許容差範囲内に収まることを意味することに留意されたい。たとえば、いくつかのシナリオではまたはいくつかの範囲では、性能は許容できる範囲内で低下される。しかしながら、いくつかのシナリオまたはいくつかの範囲では、性能は改善される。全体的に、性能への影響はほとんどない。
【0098】
通常、LDPCコードの所与のベースグラフまたは所与のベース行列について、行列要素への少しの変更によって引き起こされる性能への影響は許容できる。たとえば、実装では、ベースグラフ30aのコア行列に基づいて少しの変更が行われることがある。たとえば、1つの行の重みは2以上および5以下であり、他の6つの行の重みは6以上および12以下である。本出願において提供される解決策を参照すると、いくつかの行の重みは1または2だけ増加または減少され得ることが理解されよう。これは本出願では限定されない。
【0099】
フレキシブルなコードレートを取得するために、コア行列に基づいて、対応するサイズの部分行列C、部分行列D、および部分行列Eが追加される。部分行列Cは全ゼロ行列であり、部分行列は単位行列であるので、行列のサイズはコードレートに従って決定され、行列の構造は比較的固定されている。符号化性能および復号性能は、主にコア行列および部分行列Dによって影響を受ける。コア行列に基づいて行および列を追加することによって、異なるコードレートが取得されて、対応する部分行列C、D、およびEが形成され得る。たとえば、ベースグラフ30aのコア行列がコア行列として使用されることがあり、対応する部分行列C、D、およびEが追加されて、異なるコードレートについて符号化または復号の要件が満たされる。
【0100】
部分行列Dの列カウントmは、部分行列Aの列カウントおよび部分行列Bの列カウントの和であり、部分行列Dの行カウントは主にコードレートに関係する。例としてベースグラフ30aを使用すると、m=4である場合、部分行列Dの対応する列カウントは(n+m)=14であるか、またはm=7である場合、部分行列Dの対応する列カウントは(n+m)=17である。LDPCコードによってサポートされるコードレートがRである場合、LDPCコードのベースグラフまたはベース行列はm×nのサイズを有し、n=n/R+pおよびm=n−n=n/R+p−nである。最小コードレートR=1/5であり、ビルトインパンクチャビットに対応する量p列が2である場合、例としてベースグラフ30aを使用すると、n=52およびm=42である。部分行列Dの行カウントmは最高m−m=42−mであることがあり、m=4の場合、0≦m≦38であるか、またはm=7の場合、0≦m≦35である。
【0101】
説明しやすいように、部分行列Dが行列F中のm行を含み得るように、m行および(m+n)列の行列Fが定義されてよく、0≦m≦m、および35≦m≦38である。例としてm=7をなお使用すると、ベースグラフ30aにおいて、m+m=42である。m=35である場合、対応して、部分行列Dは35行および17列を含む。具体的には、部分行列Dは行列Fであり、対応するLDPCコードによってサポートされるコードレートは10/50=1/5である。m=7では、ベースグラフ30a中の行7から行41および列0から列17を含む行列が行列Fであることがわかるであろう。m=4では、ベースグラフ30a中の行4から行41および列0から列13を含む行列が行列Fである。本明細書では例のみが提供され、本出願はそれに限定されないことに留意されたい。mは、代替として4から7の任意の整数値であってよく、行列Fの列カウントも対応して変化する。
【0102】
本出願では、ベースグラフ中の2つの隣接する行中の同じ列中に多くとも1つの非ゼロ要素がある場合、それらの2つの行は相互に直交する。ベースグラフ中の2つの隣接する行についてのいくつかの列とは異なる他の列では、ベースグラフ中の2つの隣接する行についての他の列のうちの同じ列中に多くとも1つの非ゼロ要素がある場合、それらの2つの行は擬似直交する。
【0103】
行列Fは、擬似直交構造を有する複数の行、および直交構造を有する少なくとも2つの行を含み得る。たとえば、行列Fは、擬似直交構造を満たす少なくとも15個の行を含む。それらの15個の行のうちのいずれか2つの隣接する行中のビルトインパンクチャビットに対応するf個の列以外の列では、同じ列中に多くとも1つの非ゼロ要素があり、すなわち、行列F中のそれらの少なくとも15個の行のうちのビルトインパンクチャビットに対応する列以外の列を含む行列ブロックは直交構造を有する。行列Fは、直交構造を満たす10から20個の行をさらに含み得る。これらの行では、いずれか2つの隣接する行中の同じ列中に多くとも1つの非ゼロ要素がある。具体的には、ビルトインパンクチャ列中に同じく多くとも1つの非ゼロ要素がある。
【0104】
たとえば、例としてベースグラフ30aを使用すると、行列F中の最後の10個の行は直交構造を有し、9つの行の重みは3であり、1つの行の重みは2である。行列Fの列重み分布は以下であり得る。すなわち、1つの列の重みが16であり、1つの列の重みが18であり、1つの列の重みが11であり、2つの列の重みが10であり、1つの列の重みが9であり、1つの列の重みが8であり、1つの列の重みが7であり、1つの列の重みが6であり、2つの列の重みが4であり、1つの列の重みが3であり、2つの列の重みが2である、であり得る。m>4である場合、行列F中の他の列の重みは0である。
【0105】
例としてm=7を使用すると、ベースグラフ30a中の行列Fの例では、行列Fの行重みは、順に5、3、4、4、4、3、4、4、3、4、4、3、3、3、3、2、3、3、2、4、2、3、2、4、2、3、3、3、3、3、2、3、3、3、および3である。
【0106】
部分行列Eが単位行列であるので、ベースグラフ30a中の行の重みは、それぞれ8、10、8、10、4、6、6、6、4、5、5、5、4、5、5、4、5、5、4、4、4、4、3、4、4、3、5、3、4、3、5、3、4、4、4、4、4、3、4、4、4、および4である。
【0107】
例としてm=7をなお使用すると、m=15である場合、LDPCコードのベースグラフ中の部分行列Dは、15行および17列を含み得る。部分行列Dは、ベースグラフ30a中の行列F中の行0から行14、すなわち、ベースグラフ30a中の行7から行21、および列0から列16を含む行列であり得る。対応するLDPCコードによってサポートされるコードレートは10/30=1/3である。すなわち、このコードレートにおいて、LDPCコードのベースグラフは、ベースグラフ30a中の行0から行21および列0から列31を含む行列に対応する。部分行列Eは、15行および15列を含む単位行列であり、部分行列Cは、7行および15列を含む全ゼロ行列である。
【0108】
=25である場合、LDPCコードのベースグラフ中の部分行列Dは、25行および17列を有する。部分行列Dは、ベースグラフ30a中の行列F中の行0から行24、すなわち、ベースグラフ30a中の行7から行31、および列0から列16を含む行列であり得る。対応するLDPCコードによってサポートされるコードレートは10/40=1/4である。すなわち、このコードレートにおいて、LDPCコードのベースグラフは、ベースグラフ30a中の行0から行31および列0から列41を含む行列に対応する。部分行列Eは、25行および25列を含む単位行列であり、部分行列Cは、7行および25列を含む全ゼロ行列である。
【0109】
残りはアナロジーによって推論されることが可能であり、詳細について1つずつ説明されない。
【0110】
LDPCコードのベースグラフおよびベース行列において、行は互いに取り替えられてよく、列も互いに取り替えられてよいことに留意されたい。たとえば、ベースグラフ30aでは、行34は行36と取り替えられてよく、列44は列45と取り替えられよい。別の例では、部分行列Dは行列F中のm行を含み、これらのm行は取り替えられないことがあるか、またはこれらのm行の1つもしくは複数が取り替えられてよく、部分行列Eはやはり対角構造であり、部分行列Eに対して行置換も列置換も実施されない。たとえば、行列Fにおいて行27は行29と取り替えられ、部分行列Dは行列F中のm行を含み、部分行列Eはやはり対角構造である。行列Fは、行置換の前に擬似直交行列であり、行置換を実施することによって依然として擬似直交行列である。ベースグラフまたはベース行列が部分行列Dを含む場合、コア行列中の列が取り替えられるとき、部分行列D中の対応する列も取り替えられる必要があることが理解されよう。
【0111】
図3−1乃至図3b−8に示されているように、ベース行列30b−1から30b−8は、ベースグラフ30aの複数のベース行列の例である。ベースグラフ30a中の行iおよび列j中の非ゼロ要素は、ベース行列30b−1から30b−8の各々中の同じ位置を有し、非ゼロ要素の値はシフト値Vi,jである。シフト行列中のゼロ要素は、−1またはヌルを使用することによって表される。ベース行列中の部分行列Dに対応する部分は、行列Fのシフト行列中のm個の行を含むことがあり、mの値は、異なるコードレートに従って選択され得る。部分行列Dに対応するシフト行列は、行列Fのシフト行列中のm個の行を含む。
【0112】
可能な実装では、行列Fのシフト行列は、行列30b−1から30b−8のいずれか1つの行7から行41および列0から列16を含む行列、もしくは行列30b−1から30b−8のいずれか1つの中の行7から行41および列0から列16を含む行列に対して行/列置換を実施することによって取得される行列であり得るか、または行列Fのシフト行列は、行列30b−1から30b−8のいずれか1つの中の行4から行41および列0から列14を含む行列、もしくは行列30b−1から30b−8のいずれか1つの中の行4から行41および列0から列14を含む行列に対して行/列置換を実施することによって取得される行列を含み得る。
【0113】
異なるブロック長をサポートするために、LDPCコードは、異なるリフティングファクタZを必要とする。たとえば、リフティングファクタZ=a×2であり、a∈{2,3,5,7,9,11,13,15}は、表1に示されている8つのセットに分割され得る。
【0114】
【表1】
【0115】
異なるリフティングファクタZのセットに基づいて、異なるブロック長におけるLDPCコード性能を保証するために、異なるリフティングファクタZのセットに対応するベース行列が別々に使用され得る。
【0116】
可能な実装では、
リフティングファクタZが、セット1中の1つのリフティングファクタである場合、行列Fのシフト行列は、30b−1中の行7から行41および列0から列16を含む行列、もしくは30b−1中の行7から行41および列0から列16を含む行列に対して行/列置換を実施することによって取得される行列であり得るか、または行列Fのシフト行列は、30b−1中の行4から行41および列0から列14を含む行列、もしくは30b−1中の行4から行41および列0から列14を含む行列に対して行/列置換を実施することによって取得される行列であり得る。対応して、ベースグラフ30aのベース行列は、30b−1に示される行列、または30b−1に示される行列に対して行/列置換を実施することによって取得される行列であり得る。
【0117】
リフティングファクタZが、セット2中の1つのリフティングファクタである場合、行列Fのシフト行列は、30b−2中の行7から行41および列0から列16を含む行列、もしくは30b−2中の行7から行41および列0から列16を含む行列に対して行/列置換を実施することによって取得される行列であり得るか、または行列Fのシフト行列は、30b−2中の行4から行41および列0から列14を含む行列、もしくは30b−2中の行4から行41および列0から列14を含む行列に対して行/列置換を実施することによって取得される行列であり得る。対応して、ベースグラフ30aのベース行列は、30b−2に示される行列、または30b−2に示される行列に対して行/列置換を実施することによって取得される行列であり得る。
【0118】
リフティングファクタZが、セット3中の1つのリフティングファクタである場合、行列Fのシフト行列は、30b−3中の行7から行41および列0から列16を含む行列、もしくは30b−3中の行7から行41および列0から列16を含む行列に対して行/列置換を実施することによって取得される行列であり得るか、または行列Fのシフト行列は、30b−3中の行4から行41および列0から列14を含む行列、もしくは30b−3中の行4から行41および列0から列14を含む行列に対して行/列置換を実施することによって取得される行列であり得る。対応して、ベースグラフ30aのベース行列は、30b−3に示される行列、または30b−3に示される行列に対して行/列置換を実施することによって取得される行列であり得る。
【0119】
リフティングファクタZが、セット4中の1つのリフティングファクタである場合、行列Fのシフト行列は、30b−4中の行7から行41および列0から列16を含む行列、もしくは30b−4中の行7から行41および列0から列16を含む行列に対して行/列置換を実施することによって取得される行列であり得るか、または行列Fのシフト行列は、30b−4中の行4から行41および列0から列14を含む行列、もしくは30b−4中の行4から行41および列0から列14を含む行列に対して行/列置換を実施することによって取得される行列であり得る。対応して、ベースグラフ30aのベース行列は、30b−4に示される行列、または30b−4に示される行列に対して行/列置換を実施することによって取得される行列であり得る。
【0120】
リフティングファクタZが、セット5中の1つのリフティングファクタである場合、行列Fのシフト行列は、30b−5中の行7から行41および列0から列16を含む行列、もしくは30b−5中の行7から行41および列0から列16を含む行列に対して行/列置換を実施することによって取得される行列であり得るか、または行列Fのシフト行列は、30b−5中の行4から行41および列0から列14を含む行列、もしくは30b−5中の行4から行41および列0から列14を含む行列に対して行/列置換を実施することによって取得される行列であり得る。対応して、ベースグラフ30aのベース行列は、30b−5に示される行列、または30b−5に示される行列に対して行/列置換を実施することによって取得される行列であり得る。
【0121】
リフティングファクタZが、セット6中の1つのリフティングファクタである場合、行列Fのシフト行列は、30b−6中の行7から行41および列0から列16を含む行列、もしくは30b−6中の行7から行41および列0から列16を含む行列に対して行/列置換を実施することによって取得される行列であり得るか、または行列Fのシフト行列は、30b−6中の行4から行41および列0から列14を含む行列、もしくは30b−6中の行4から行41および列0から列14を含む行列に対して行/列置換を実施することによって取得される行列であり得る。対応して、ベースグラフ30aのベース行列は、30b−6に示される行列、または30b−6に示される行列に対して行/列置換を実施することによって取得される行列であり得る。
【0122】
リフティングファクタZが、セット7中の1つのリフティングファクタである場合、行列Fのシフト行列は、30b−7中の行7から行41および列0から列16を含む行列、もしくは30b−7中の行7から行41および列0から列16を含む行列に対して行/列置換を実施することによって取得される行列であり得るか、または行列Fのシフト行列は、30b−7中の行4から行41および列0から列14を含む行列、もしくは30b−7中の行4から行41および列0から列14を含む行列に対して行/列置換を実施することによって取得される行列であり得る。対応して、ベースグラフ30aのベース行列は、30b−7に示される行列、または30b−7に示される行列に対して行/列置換を実施することによって取得される行列であり得る。
【0123】
リフティングファクタZが、セット8中の1つのリフティングファクタである場合、行列Fのシフト行列は、30b−8中の行7から行41および列0から列16を含む行列、もしくは30b−8中の行7から行41および列0から列16を含む行列に対して行/列置換を実施することによって取得される行列であり得るか、または行列Fのシフト行列は、30b−8中の行4から行41および列0から列14を含む行列、もしくは30b−8中の行4から行41および列0から列14を含む行列に対して行/列置換を実施することによって取得される行列であり得る。対応して、ベースグラフ30aのベース行列は、30b−8に示される行列、または30b−8に示される行列に対して行/列置換を実施することによって取得される行列であり得る。
【0124】
たとえば、リフティングファクタZの値は、入力シーケンスの長さKに基づいて決定される。たとえば、入力シーケンスの長さがKである場合、システムにおいて定義されている複数のリフティングファクタから、10×Z≧Kを満たす最小値が決定され、行列のリフティングファクタの値として使用され得る。さらに、決定されたリフティングファクタに従って、対応するベース行列が選択され得る。
【0125】
同様に、ベース行列中の行が互いに取り替えられてもよく、ベース行列中の列が互いに取り替えられてもよい。ベースグラフに対して行置換または列置換のうちの少なくとも1つが実施される場合、ベース行列中の対応する行または列に対しても同じ置換が実施される。
【0126】
本出願では、擬似直交構造は、2つの隣接する行のみに限定されないことが理解されよう。擬似直交構造を含む行列は、代替として複数のグループを含むように設計されてよく、各グループは、少なくとも2つの行、たとえば、3つの行または4つの行を含み、各グループ中に含まれる行は擬似直交する。
【0127】
図4に示されている性能曲線図では、LDPC1は、ベースグラフ30aに対応するベース行列に基づいて符号化することによってLDPCコードが取得されることを示し、LDPC2は、比較のために使用される、通常使用されるLDPCコードを示す。水平座標は情報ビットシーケンスの長さを示し、長さの単位はビットである。垂直座標はシンボル信号対雑音比(Es/N0)である。性能曲線は、BLERが0.0001であるとき、異なる情報ビットシーケンス長の場合のLDPC1およびLDPC2についてのシンボル信号対雑音比の性能を示す。同じBLERでは、異なる情報ビットシーケンス長の場合、LDPC1のシンボル信号対雑音比はLDPC2のそれよりも小さい、すなわち、LDPC1の性能はLDPC2の性能よりも良好であることがわかるであろう。
【0128】
本出願の実施形態において提供される符号化方法では、エンコーダが、LDPC行列を使用することによって入力シーケンスを符号化する。LDPC行列のベースグラフは、上記の例におけるどのようなベースグラフであってもよく、LDPC行列のベース行列は、上記の例におけるどのようなベース行列であってもよい。エンコーダの入力シーケンスは、情報ビットシーケンスであり得るか、または次の処理、すなわち、CRCビットアタッチメントもしくはフィラービット挿入の少なくとも1つのタイプを通して取得される情報ビットシーケンスであり得る。
【0129】
さらに、本方法は、リフティングファクタZを決定するステップを含む。リフティングファクタZの値は、入力シーケンスの長さKに基づいて決定され得る。情報ビットシーケンスは、コードブロック(code block)と呼ばれることも時々あり、トランスポートブロック上のコードブロックセグメント化を通して取得され得る。情報ビットシーケンスの長さがKである場合、リフティングファクタZの値として、システムにおいて定義されている複数のリフティングファクタから10×Z≧Kを満たす最小値が決定され得る。たとえば、K=128であり、システムにおいて定義されているリフティングファクタが、表1のセット中のリフティングファクタ、たとえば、2、3、4、5、6、7、8、9、10、11、12、13、14、15、16、18、20、22、24、26、28、30、32、36、40、44、48、52、56、60、64、72、80、88、96、104、112、120、128、144、160、176、192、208、224、240、および256を含む場合、Zは13であり、セット7中にあると決定され得る。本明細書では例のみが提供され、例は限定とならないことに留意されたい。
【0130】
別の可能な設計では、Kbが、LDPCコードのベース行列中の情報ビットに対応する列の列カウントであり得る。サポートされるリフティングファクタセットにおいて、Kb・Z≧Kを満たす最小値ZがリフティングファクタZの値として決定され得る。ベースグラフ30aにおいて、情報ビットに対応する列の列カウントKbmaxは10であり、ベースグラフ30aによってサポートされるリフティングファクタセットは{24,26,28,30,32,36,40,44,48,52,56,60,64,72,80,88,96,104,112,120,128,144,160,176,192,208,224,240,256,288,320,352,384}であると仮定される。
【0131】
入力シーケンスの長さKが529ビットである場合、Zは26である。入力シーケンスの長さKが5000ビットである場合、Zは240である。本明細書では例のみが提供され、例は限定とならないことに留意されたい。
【0132】
別の例では、Kbの値は、Kの値とともに変動することもあるが、Kbの値は、LDPCコードのベース行列中の情報ビットに対応する列の列カウントを超えない。たとえば、Kbのために異なるしきい値が設定され得る。
【0133】
可能な設計は以下の通りである。本明細書におけるしきい値640、560、または192は例にすぎないことに留意されたい。システム設計要件に従って他の値が設計されてよい。
【0134】
if (K>640), Kb =10;
elseif (K>560), Kb=9;
elseif (K>192), Kb =8;
else Kb= 6; end
【0135】
ここで、リフティングファクタZは、入力シーケンスの長さKに従ってエンコーダによって決定され得るか、または(プロセッサなどの)他のエンティティからエンコーダによって取得され得る。
【0136】
可能な設計では、フィラービットの値は、ヌル、もしくは0、またはシステムにおいて定義されている他の値であり得る。符号化の後に、フィラービットは識別されることが可能であり、送られない。本出願はそれに限定されない。
【0137】
エンコーダによって、LDPC行列Hを使用することによって入力シーケンスを符号化することは、リフティングファクタZに対応するLDPC行列Hを使用することによって入力シーケンスを符号化することであり得る。
【0138】
可能な実装では、入力シーケンスは、c={c,c,c,・・・,cK−1}であり、入力シーケンスcの長さはKであり、入力シーケンスcがエンコーダによって符号化された後に取得される出力シーケンスは、d={d,d,d,・・・,dN−1}であり、Kは0よりも大きい整数であり、KはリフティングファクタZの整数倍であり得る。
【0139】
出力シーケンスdは、入力シーケンスc中のKビットおよびパリティビットシーケンスw中のパリティビットを含み、Kは、0よりも大きくてK以下の整数である。パリティビットシーケンスwの長さはN−Kであり、
【0140】
【数11】
【0141】
である。
【0142】
パリティビットシーケンスwおよび入力シーケンスcは式(1)
【0143】
【数12】
【0144】
を満たし、c=[c,c,c,・・・,cK−1であり、cは、入力シーケンス中のビットを含むベクトルの転置ベクトルであり、
【0145】
【数13】
【0146】
であり、wは、パリティビットシーケンス中のビットを含むベクトルの転置ベクトルであり、0は列ベクトルであり、0のすべての要素の値は0である。
【0147】
Hは、上記の実施形態において説明されたいずれかのベースグラフに基づいて取得されるLDPC行列であり、Hのベースグラフは、m行およびn列を有し、上記の実施形態において述べられたベースグラフ30aであり得る。
【0148】
設計では、Hのベースグラフはp個のビルトインパンクチャ列を含み、pは0以上の整数であり、p個のビルトインパンクチャ列に対応する情報ビットは出力されず、出力シーケンスは、p個のビルトインパンクチャ列に対応する情報ビットを含まない。この場合、K=K−p・Zである。たとえば、p=2の場合、K=K−2・Zであり、パリティビットシーケンスwの長さはN+2・Z−Kである。p個のビルトインパンクチャ列が符号化に関与する場合、K=Kであり、パリティビットシーケンスwの長さはN−Kである。
【0149】
対応して、Hは、M行および(N+p・Z)列またはM行およびN列を有することがあり、Hのベースグラフのサイズは、m=M/Z行および
【0150】
【数14】
【0151】
列である。
【0152】
LDPC行列Hのベースグラフは[HBGBG,EXT]として表されてよく、
【0153】
【数15】
【0154】
であり、
【0155】
【数16】
【0156】
はサイズm×nの全ゼロ行列を表し、
【0157】
【数17】
【0158】
はサイズn×nの単位行列を表す。KbはKとともに変動し得るので、HBGは、HBG2中の情報ビットに対応するKb個の列を含み、HBG2中の列10から列(10+m−1)を含み、HBG2中の列カウントは10+mであり、4≦m≦7である。たとえば、Kb∈{6,8,9}である場合、HBGは、HBG2から列Kbから列9が削除された後に取得され得る。Kb=10である場合、HBG=HBG2である。
【0159】
可能な設計では、
【0160】
【数18】
【0161】
は、上記の実施形態におけるベースグラフ中の部分行列Cであり、
【0162】
【数19】
【0163】
は、上記の実施形態における部分行列Eであり、したがって、
【0164】
【数20】
【0165】
であり、A、B、およびDは、それぞれ上記の実施形態におけるベースグラフ中の部分行列A、B、およびDである。したがって、m=7、0≦n≦35であり、HBG2中の行カウントは42以下であり、4以上であり、HBG2中の列カウントは17に等しい。
【0166】
別の可能な設計では、列14から列16が重み1の列であり、これらの列中の非ゼロ要素が行4から行6中にあるので、したがって、m=6、0≦n≦36であり、HBG2中の列カウントは16であるか、またはm=5、0≦n≦37であり、HBG2中の列カウントは15であるか、またはm=4、0≦n≦38であり、HBG2中の列カウントは14である。
【0167】
対応して、LDPC行列Hは、H=[H]によって表され得る。
【0168】
は、HBG中の各ゼロ要素をサイズZ×Zの全ゼロ行列と交換し、各非ゼロ要素をサイズZ×Zの循環置換行列hi,jと交換することによって取得されてよく、循環置換行列hi,jは、サイズZ×Zの単位行列をPi,j回右側に循環シフトすることによって取得され、hi,jはI(Pi,j)によって表されることもあり、iは行インデックスであり、jは列インデックスである。可能な設計では、Pi,j=mod(Vi,j,Z)であり、Vi,jは、Zに対応するリフティングファクタセットインデックスに対応するベース行列中の行iおよび列j中の非ゼロ要素である。
【0169】
は、HBG,EXT中の各ゼロ要素をサイズZ×Zの全ゼロ行列と交換し、各非ゼロ要素をサイズZ×Zの単位行列と交換することによって取得され得る。
【0170】
エンコーダは、複数の方式で符号化および出力を実施し得る。上記の実施形態において述べられたベースグラフ30aが、下記の説明のための例として使用される。ベースグラフは、最高42行および最高52列を有し、2つのビルトインパンクチャ列を含む。説明しやすいように、本出願では、最も多くの行を有し、そして最も多くの列のベースグラフは完全ベースグラフと時々呼ばれる。
【0171】
方式1
【0172】
符号化は、できる限り多くのパリティビットが取得されることが可能になるように、完全ベースグラフに基づいて実施される。この場合、m=42およびn=52であり、上記のベースグラフにおける行0から行41および列0から列51に対応する。
【0173】
対応して、LDPC行列Hについて、Mは42×Zであり、出力シーケンスが、ビルトインパンクチャビットに対応する列に対応する情報ビットを含む場合、N=(42+Kb)×Zであるか、または出力シーケンスが、ビルトインパンクチャビットに対応する2×Z個の情報ビットを含まない場合、N=(40+Kb)・Zである。
【0174】
送られる必要がある情報ビットおよびパリティビットは、後続の処理中にエンコーダによって生成される出力シーケンスから決定され得る。
【0175】
方式2
【0176】
符号化は、完全ベースグラフ中のいくつかの行およびいくつかの列に基づいて実施される。行および列は、符号化のために完全ベースグラフから、送られる必要があるコードレート、または送られる必要がある情報ビットの量およびパリティビットの量などに基づいて選択され得る。
【0177】
たとえば、コードレートは2/3であり、m=7、およびn=17であり、すなわち、符号化は、上記のベースグラフ30a中の行0から行6および列0から列16に基づいて実施される。
【0178】
対応して、LDPC行列Hについて、M=7×Zであり、出力シーケンスが、ビルトインパンクチャ列に対応する情報ビットを含む場合、N=17×Zであるか、または出力シーケンスが、ビルトインパンクチャ列に対応する情報ビットを含まない場合、N=15×Zである。
【0179】
別の例では、コードレートは5/6であり、m=4、およびn=14である。
【0180】
別の例では、コードレートは1/5であり、m=42、およびn=52である。
【0181】
Hのベースグラフのサイズは4≦m≦42および14≦n≦52であることがわかり得る。対応して、LDPC行列Hについて、4×Z≦M≦42×Zおよび(4+Kb)×Z≦N≦(42+Kb)×Zである。
【0182】
たとえば、Zが13であり、セット7中にある場合、符号化は、セット7に対応するベース行列3b−7に基づいて取得されるLDPC行列を使用することによって入力シーケンス上で実施される。
【0183】
別の設計では、リフティングファクタZのベース行列の行iおよび列j中の要素Pi,jが以下の関係を満たしてもよい。
【0184】
【数21】
【0185】
i,jは、Zが属するセットのベース行列中の行iおよび列j中の要素のシフト値、すなわち、Zが属するセット中の最大リフティングファクタのベース行列中の行iおよび列j中の非ゼロ要素のシフト値であり得る。
【0186】
たとえば、Zが13である例を使用すると、Zのベース行列中の行iおよび列j中の要素Pi,jは、
【0187】
【数22】
【0188】
を満たし、Vi,jは、ベース行列3b−7中の行iおよび列j中の非ゼロ要素のシフト値である。
【0189】
本明細書では例のみが提供され、例は本出願において限定とならないことに留意されたい。
【0190】
上記の実装では、LDPC行列Hのベース行列Hは、上記の実施形態において述べられた任意のベース行列、または上記で説明された任意のベース行列に対して行置換、もしくは列置換、もしくは行置換および列置換を実施することによって取得されるベース行列であり得る。LDPC行列のベースグラフは、少なくとも部分行列Aおよび部分行列Bを含み、部分行列C、部分行列D、および部分行列Eをさらに含み得る。各部分行列については、上記の実施形態における説明を参照されたく、詳細について本明細書で再び説明されない。もちろん、ベース行列Hは、代替として、ベースグラフがベースグラフ30aと同じであるベース行列であり得る。本出願はそれに限定されない。
【0191】
可能な実装では、LDPCコードのベース行列Hがメモリに記憶されてよく、エンコーダは、リフティングファクタZに対応するLDPC行列を取得して、入力シーケンスを符号化する。別の可能な実装では、LDPCコードの複数のベース行列Hがあるので、行列構造に従ってベース行列が記憶されたとき、比較的大きい記憶スペースが占有される。代替として、LDPCコードのベースグラフがメモリに記憶されてよく、ベース行列中の非ゼロ要素のシフト値が行ごとにまたは列ごとに記憶されてよく、その場合、LDPC行列は、ベースグラフ、およびリフティングファクタZに対応するベース行列のシフト値に基づいて取得され得る。
【0192】
ベースグラフは、各ベース行列中の非ゼロ要素の位置を示し得る。別の可能な実装では、ベースグラフを記憶することは、ベースグラフ中の非ゼロ要素の位置を記憶することであり得る。非ゼロ要素の位置は、非ゼロ要素が位置する行および列、たとえば、行中の非ゼロ要素の列位置、または列中の非ゼロ要素の行位置によって示され得る。別の可能な実装では、ベースグラフを記憶することは、ベースグラフ中のゼロ要素の位置を記憶することでもあり得る。同様に、ゼロ要素の位置は、ゼロ要素が位置する行および列、たとえば、行中のゼロ要素の列位置、または中のゼロ要素の行位置が位置する行および列によっても示され得る。したがって、非ゼロ要素の位置は、ゼロ要素の位置を除外することによって取得され得る。本明細書では例のみが提供され、例は本出願において限定とならないことに留意されたい。
【0193】
設計では、ベースグラフまたはベース行列に関係するパラメータが表で表され得る。たとえば、関係するパラメータまたは表が1つまたは複数のメモリに記憶され得る。ベースグラフまたはベース行列を取得するために、ベースグラフまたはベース行列中の行インデックス、および非ゼロ要素が位置する列インデックスなどの関係するパラメータがメモリから読み取られる。任意選択で、各行の行重み、および各行中の非ゼロ要素のシフト値が記憶され得る。
【0194】
以下で、説明のための例として図3aを使用する。本出願において提供される別のベースグラフまたはベース行列については、同様の設計を参照されたい。
【0195】
たとえば、ベースグラフ30a中のパラメータは表2で表され得る。
【0196】
【表2-1】
【0197】
【表2-2】
【0198】
本明細書では例のみが提供され、例は限定とならないことに留意されたい。本出願において提供される他のベースグラフまたはベース行列の関係するパラメータも同様の表で表され得る。上記のベースグラフ30aおよび表2は、ベースグラフおよびベース行列の設計を理解するのを助けることを意図されることが理解され得る。ベースグラフおよびベース行列の表現形式は、上記のベースグラフ30aおよび表2の表現形式のみに限定されない。他の可能な変形形態が含まれ得る。
【0199】
ある実装では、関係するパラメータは、列インデックス、列重み、および非ゼロ要素が位置する行インデックス、または列インデックス、列重み、およびゼロ要素が位置する行インデックスであり得る。例として表3の形式を使用すると、表3は、ベースグラフのただ2つの列の例を示す。他の列はアナロジーによって推論されることが可能であり、詳細について1つずつ説明されない。列14から列51は重み1の列であってよく、代替として記憶されなくてよい。非ゼロ要素の行インデックスは列インデックスに従って計算される。
【0200】
【表3】
【0201】
ある実装では、表2または表3中のパラメータ「行重み」または「列重み」は、代替として省略されてよい。行または列の非ゼロ要素が位置する列または行に従って、行または列の中の非ゼロ要素の量が知られる。したがって、行重みまたは列重みも知られる。
【0202】
ある実装では、表2中の「非ゼロ要素の列インデックス」中のパラメータ値、および表3中の「非ゼロ要素の行インデックス」中のパラメータ値は、パラメータ値が非ゼロ要素の列にインデックス付けされるかまたは非ゼロ要素の行にインデックス付けされるとすれば、昇順ではなく他の順序でソートされてよい。
【0203】
ある実装では、表2または表3は、「非ゼロ要素のシフト値」という列をさらに含み得る。「非ゼロ要素のシフト値」という列中のパラメータ値は、「非ゼロ要素の列インデックス」中のパラメータ値との1対1の対応にある。表5は、「非ゼロ要素のシフト値」という列をさらに含み得る。「非ゼロ要素のシフト値」という列中のパラメータ値は、「非ゼロ要素の行インデックス」中のパラメータ値との1対1の対応にある。
【0204】
設計では、記憶スペースを節約するために、ベースグラフ中の比較的明確な構造を有する部分中の非ゼロ要素の位置は、行位置および列インデックスに従って計算されてよく、記憶されなくてよい。たとえば、部分行列Eは対角行列であり、行列の対角線上にのみ非ゼロ要素を含む。非ゼロ要素の列インデックスが行インデックスに従って計算されてよいか、または非ゼロ要素の行インデックスが列インデックスに従って計算されてもよい。例としてベースグラフ30aを使用すると、m≧4である、行m中の重み1の列について、非ゼロ要素の列インデックスは列(m+K)であり、この場合、K=10である。たとえば、行4中の非ゼロ要素の列インデックスは列14である。別の例では、部分行列B中の二重対角構造B’は、ベースグラフ30a中の行0から行3および列11から列13に位置する。非ゼロ要素の列位置が行インデックスに従って計算されてよいか、または非ゼロ要素の行インデックスが列インデックスに従って計算されてもよい。行mについて、0<m<3である場合、行中の非ゼロ要素の列インデックスは、列(m+K)および列(m+K+1)を含み、m=0またはm=3である場合、行中の非ゼロ要素の列インデックスは、列(m+K)を含む。
【0205】
表4に示されているように、表4は、ベースグラフ30a中の行中のパラメータを示す。列0から列13中の非ゼロ要素の列インデックスが記憶され得る。しかしながら、列14から列52中の非ゼロ要素の列インデックスは記憶されず、すなわち、重み1の列中の非ゼロ要素の列インデックスは記憶されない。表4は、14個の列を含むHBG2を示すために使用され得る。
【0206】
【表4-1】
【0207】
【表4-2】
【0208】
もちろん、15個の列を含むHBG2に記憶されたパラメータについて、行0から行3および列5から列41のパラメータは、表4のそれと同じである。行4の行重みは、表4の行4の行重み+1、すなわち、4である。行4中の非ゼロ要素の列位置は、表4の行4中の非ゼロ要素の列インデックスおよび列インデックス4、すなわち、0、1、11、および14を含む。16個の列を含むHBG2に記憶されたパラメータについて、行0から行3および列6から列41のパラメータは、表4のそれと同じである。行4の行重みは、表4の行4の行重み+1、すなわち、4である。行4中の非ゼロ要素の列位置は、表4の行4中の非ゼロ要素の列インデックスおよび列インデックス14、すなわち、0、1、11、および14を含む。行5の行重みは、表4の行5の行重み+1、すなわち、6である。行5中の非ゼロ要素の列位置は、表4の行5中の非ゼロ要素の列位置、および列インデックスが15である位置、すなわち、0、1、5、7、11、および15を含む。
【0209】
17個の列を含むHBG2に記憶されたパラメータについて、行0から行3および列7から列41のパラメータは、表4のそれと同じである。行4の行重みは、表4の行4の行重み+1、すなわち、4である。行4中の非ゼロ要素の列位置は、表4の行4中の非ゼロ要素の列インデックスおよび列インデックス14、すなわち、0、1、11、および14を含む。行5の行重みは、表4の行5の行重み+1、すなわち、6である。行5中の非ゼロ要素の列位置は、表4の行5中の非ゼロ要素の列インデックスおよび列インデックス15、すなわち、0、1、5、7、11、および15を含む。行6の行重みは、表4の行6の行重み+1、すなわち、6である。行6中の非ゼロ要素の列位置は、表4の行6中の非ゼロ要素の列インデックスおよび列インデックス16、すなわち、表5に示されているように、0、5、7、9、11、および16を含む。
【0210】
【表5-1】
【0211】
【表5-2】
【0212】
上記の設計において、各「行重み」という列は任意選択である。可能な設計では、ベースグラフにおいて、各行または各列中の1および0は2進数字と見なされ得る。記憶スペースは、2進数字を10進数字または16進数字として記憶することによって節約され得る。例として上記のベースグラフのいずれかを使用すると、各行について、先の26個の列または先の27個の列中の非ゼロ要素の位置は、4つの16進数字を使用することによって記憶され得る。たとえば、行0中の先の14個の列が11110010011100である場合、行0中の非ゼロ要素の位置は0xF2および0x70として示されてよく、すなわち、各8列が16進数字を形成する。行0中の最後の2つの列について、8ビットの整数倍に達するために0を充填することによって、対応する16進数字が取得され得る。もちろん、対応する16進数字は、代替として、8ビットの整数倍に達するために11110010011100の前に0を充填することによって取得され得る。他の行はアナロジーによって推論されることが可能であり、詳細について本明細書で再び説明されない。
【0213】
本明細書では例のみが提供され、例は本出願において限定とならないことに留意されたい。
【0214】
情報ビットシーケンスが符号化されるとき、符号化のために使用されるLDPC行列Hは、Zに従ってベース行列Hを拡張することによって取得され得る。ベース行列H中の各非ゼロ要素Pi,jについて、サイズZ×Zの循環置換行列hi,jが決定され、hi,jは、単位行列をPi,j回循環シフトすることによって取得される循環置換行列である。パリティチェック行列Hは、各非ゼロ要素Pi,jをhi,jと交換し、ベース行列H中の各ゼロ要素をサイズZ×Zの全ゼロ行列と交換することによって取得される。
【0215】
通信システムにおいて、LDPCコードは、上記の方法を使用することによる符号化によって取得され得る。LDPCコードを取得した後に、通信装置は、以下の1つまたは複数の動作、すなわち、LDPCコードに対してレートマッチングを実施すること、レートマッチングを実施することによって取得されたLDPCコードをインターリーブ方式に従ってインターリーブすること、インターリーブされたLDPCコードを変調方式に従って変調してビットシーケンスBを取得すること、およびビットシーケンスBを送ることをさらに実施し得る。
【0216】
本出願の別の実施形態において提供される復号方法では、デコーダが、LDPC行列を使用することによって入力シーケンスを復号する。LDPC行列のベースグラフは、上記の例におけるどのようなベースグラフであってもよい。LDPC行列のベース行列Hは、上記の例におけるどのようなベース行列であってもよい。デコーダの入力シーケンスはLDPCコードの軟値シーケンスであり得る。
【0217】
さらに、本方法は、リフティングファクタZを決定するステップを含む。受信端における通信デバイスは、LDPCコードを含む信号を受信し、信号中のLDPCコードの軟値シーケンスを取得し、対応するリフティングファクタZを決定し得る。
【0218】
デコーダによって、LDPC行列を使用することによって入力シーケンスを復号することは、リフティングファクタZに対応するLDPC行列を使用することによってLDPCコードの軟値シーケンスを復号することであり得る。
【0219】
復号は符号化の逆の処理である。したがって、LDPC行列HおよびLDPC行列のベースグラフの説明については、上記の符号化実施形態を参照されたい。復号中に、復号は、代替として、完全ベースグラフに基づいて、または完全ベースグラフのいくつかの行および列に基づいて実施され得る。LDPC行列のベース行列Hは、上記の実施形態において述べられた任意のベース行列、または上記で説明された任意のベース行列に対して行置換、もしくは列置換、もしくは行置換と列置換の両方を実施することによって取得されるベース行列であり得る。LDPC行列のベースグラフは、少なくとも部分行列Aおよび部分行列Bを含み、部分行列C、部分行列D、および部分行列Eをさらに含み得る。各部分については、上記の実施形態における説明を参照されたく、詳細について本明細書で再び説明されない。
【0220】
可能な設計では、LDPCコードのベース行列Hがメモリに記憶されてよく、リフティングファクタZに対応するLDPC行列を取得することによってLDPCコードの軟値が復号され得る。
【0221】
別の可能な実装では、LDPCコードの複数のベース行列があるので、行列構造に従ってベース行列が記憶されたとき、比較的大きい記憶スペースが占有される。代替として、LDPCコードのベースグラフがメモリに記憶されてよく、ベース行列中の非ゼロ要素のシフト値が行ごとにまたは列ごとに記憶されてよく、その場合、LDPC行列は、ベースグラフ、およびリフティングファクタZに対応するベース行列のシフト値に基づいて取得され得る。
【0222】
ベースグラフを記憶する方式について、ベースグラフは、上記の符号化実施形態において説明された様々な方式で記憶され得る。本明細書では例のみが提供され、例は限定とならないことに留意されたい。
【0223】
復号は符号化と逆の処理であり、復号中に使用されるベース行列Hは、符号化方法実施形態におけるベース行列と同じ特性を有する。ベース行列HをリフティングすることによってLDPC行列Hを取得することについては、符号化方法実施形態を参照されたい。
【0224】
通信システムにおいて、復号方法の前に、通信装置は、以下の1つまたは複数の動作、すなわち、LDPCコードを含む信号を受信すること、および復調を実施すること、デインターリーブすること、ならびに信号に対してデレートマッチングを実施して、LDPCコードの軟値を取得することをさらに実施し得る。
【0225】
可能な実装では、以下のうちの1つまたは複数のパラメータが記憶され得る。
【0226】
(a)上記の実装において説明されたいずれかのベース行列Hを取得するために使用されるパラメータ。ベース行列Hはパラメータに基づいて取得されてよく、たとえば、パラメータは、以下のもの、すなわち、ベース行列中のシフト値、リフティングファクタ、ベース行列のベースグラフ、コードレートなど、の1つまたは複数を含むことがあり、
(b)上記の実装において説明されたいずれかのベース行列のうちの1つである、ベース行列H
(c)ベース行列Hに基づいてリフティングを実施した後に取得される行列、
(d)上記の実装において説明されたいずれかのベース行列Hに基づいて行/列置換を実施することによって取得されるベース行列、ここで、本出願では、行/列置換は、行置換、列置換、または行置換および列置換を指し、ならびに
(e)行/列置換を実施することによって取得されたベース行列に基づいてリフティングを実施することによって取得される行列。
【0227】
可能な実装では、符号化処理または復号処理において、低密度パリティチェックLDPC行列を使用することによって入力シーケンスを符号化することは、以下の方式のうちの1つまたは複数で実施され得る。
【0228】
i 上記の(a)に基づいてベース行列Hを取得し、取得されたベース行列Hに基づいて符号化もしくは復号を実施すること、または取得されたベース行列Hに基づいて行/列置換を実施し、行/列置換を実施することによって取得されたベース行列に基づいて符号化もしくは復号を実施すること、ここで、ベース行列に基づいて符号化もしくは復号を実施することは、ベース行列のリフティングされた行列に基づいて符号化もしくは復号を実施することを任意選択でさらに含んでよく、
ii (b)もしくは(d)における記憶されたベース行列(記憶されたベース行列H、もしくはベース行列Hに基づいて行/列置換を実施することによって取得された記憶されたベース行列)に基づいて符号化もしくは復号を実施すること、または記憶されたベース行列に基づいて行/列置換を実施し、行/列置換を実施することによって取得されたベース行列に基づいて符号化もしくは復号を実施すること、ここで、ベース行列に基づいて符号化もしくは復号を実施することは、ベース行列のリフティングされた行列に基づいて符号化もしくは復号を実施することを任意選択でさらに含んでよく、ならびに
iii (c)もしくは(e)に基づいて符号化もしくは復号を実施すること。
【0229】
本出願において記憶することは、1つまたは複数のメモリに記憶することであり得る。1つまたは複数のメモリは、別々に配設され得るか、またはエンコーダ、デコーダ、プロセッサ、チップ、通信装置、もしくは端末に組み込まれ得る。代替として、1つまたは複数のメモリのうちのいくつかが別々に配設されることがあり、他のものはエンコーダ、デコーダ、プロセッサ、チップ、通信装置、または端末に組み込まれる。メモリのタイプは任意の形態の記憶媒体であり得る。これは本出願では限定されない。
【0230】
図5は、通信装置500の概略構造図である。装置500は、上記の方法実施形態において説明された方法を実装するように構成され得る。上記の方法実施形態における説明への参照が行われ得る。通信装置500は、チップ、基地局、端末、または他のネットワークデバイスであり得る。
【0231】
通信装置500は、1つまたは複数のプロセッサ501を含む。プロセッサ501は、汎用プロセッサ、特定用途向けプロセッサなどであり得る。たとえば、プロセッサ501はベースバンドプロセッサまたは中央処理ユニットであり得る。ベースバンドプロセッサは、通信プロトコルおよび通信データを処理するように構成され得る。中央処理ユニットは、(基地局、端末、またはチップなどの)通信装置を制御し、ソフトウェアプログラムを実行し、ソフトウェアプログラムのデータを処理するように構成され得る。
【0232】
可能な設計では、通信装置500は、1つまたは複数のプロセッサ501を含む。1つまたは複数のプロセッサ501は、上記のエンコーダの機能を実装し得る。別の可能な設計では、上記のエンコーダはプロセッサ501の一部であり得る。エンコーダの機能に加えて、プロセッサ501は別の機能をさらに実装し得る。
【0233】
通信装置500は、LDPC行列を使用することによって入力シーケンスを符号化する。LDPC行列のベースグラフは、上記の例における任意のベースグラフ、または上記で説明された任意のベースグラフに対して行置換、列置換、もしくは行置換と列置換の両方を実施することによって取得されるベースグラフであり得る。LDPC行列のベース行列Hは、上記の実施形態における任意のベース行列、または上記で説明された任意のベース行列に対して行置換、列置換、もしくは行置換と列置換の両方を実施することによって取得されるベース行列であり得る。エンコーダの入力シーケンスは情報ビットシーケンスであり得る。
【0234】
可能な設計では、1つまたは複数のプロセッサ501は、上記のデコーダの機能を実装し得る。別の可能な設計では、上記のデコーダはプロセッサ501の一部であり得る。
【0235】
通信装置500は、LDPC行列を使用することによって入力シーケンスを復号するように構成され得る。LDPC行列のベースグラフは、上記の例における任意のベースグラフ、または上記で説明された任意のベースグラフに対して行置換、列置換、もしくは行置換と列置換の両方を実施することによって取得されるベースグラフであり得る。LDPC行列のベース行列Hは、上記の例における任意のベース行列、または上記で説明された任意のベース行列に対して行置換、列置換、もしくは行置換と列置換の両方を実施することによって取得されるベース行列であり得る。デコーダの入力シーケンスは軟値シーケンスであり得る。
【0236】
任意選択の可能な設計では、プロセッサ501は命令503をさらに含み得る。命令は、通信装置500が上記の方法実施形態において説明された方法を実施するように、プロセッサ上で実行され得る。
【0237】
別の可能な設計では、通信装置500は回路をさらに含み得る。回路は、上記の方法実施形態におけるエンコーダの機能、デコーダの機能、またはエンコーダおよびデコーダの機能を実装し得る。
【0238】
任意選択で、通信装置500は、1つまたは複数のメモリ502を含み得る。メモリは命令504を記憶し、命令は、通信装置500が上記の方法実施形態において説明された方法を実施するように、プロセッサ上で実行され得る。任意選択で、メモリはデータをさらに記憶し得る。任意選択で、プロセッサは、命令および/またはデータをさらに記憶し得る。プロセッサとメモリは、別々に配設され得るか、または互いに一体化され得る。任意選択で、1つまたは複数のメモリ502は、ベース行列に関係するパラメータ、たとえば、シフト値、ベースグラフ、ベースグラフに基づくリフティングを通して取得された行列、ベース行列中の各行、およびリフティングファクタを記憶し得る。任意選択で、1つまたは複数のメモリ502は、ベース行列、またはベース行列に基づくリフティングを通して取得された行列を記憶し得る。
【0239】
任意選択で、通信装置500は、トランシーバ505およびアンテナ506をさらに含み得る。プロセッサ501は処理ユニットと呼ばれることがある。プロセッサ501は通信装置(端末または基地局)を制御する。トランシーバ505は、トランシーバユニット、トランシーバ回路、トランシーバなどと呼ばれることがあり、アンテナ506を使用することによって通信装置の送信および受信機能を実装するように構成される。
【0240】
任意選択で、通信装置500は、トランスポートブロックCRCを生成するように構成された構成要素、コードブロックセグメント化およびCRCアタッチメントのために使用される構成要素、インターリーブのために使用されるインターリーバ、変調処理のために使用される変調器などをさらに含み得る。構成要素の機能は、1つまたは複数のプロセッサ501を使用することによって実装され得る。
【0241】
任意選択で、通信装置500は、復調動作のために使用される復調器、デインターリーブのために使用されるデインターリーバ、デレートマッチングのために使用される構成要素などをさらに含み得る。構成要素の機能は、1つまたは複数のプロセッサ501を使用することによって実装され得る。
【0242】
図6は、通信システム600の概略図である。通信システム600は、通信デバイス60および通信デバイス61を含む。通信デバイス60と通信デバイス61との間で情報データが受信され、送られる。通信デバイス60および通信デバイス61は通信装置500であり得るか、または通信デバイス60および通信デバイス61は、情報データを受信すること、および送信することのための通信装置500をそれぞれ含む。一例では、通信デバイス60は端末であることがあり、対応して、通信デバイス61は基地局であることがある。別の例では、通信デバイス60は基地局であり、対応して、通信デバイス61は端末であることがある。
【0243】
当業者は、本出願の実施形態に列記されている様々な例示的な論理ブロック(illustrative logic block)およびステップ(step)が、電子ハードウェア、コンピュータソフトウェア、またはそれらの組合せを使用することによって実装され得ることをさらに理解されよう。機能がハードウェアを使用することによって実装されるかソフトウェアを使用することによって実装されるかは、完全なシステムの特定の適用および設計要件に依存する。特定の適用ごとに、当業者は、機能を実装するために様々な方法を使用してよい。しかしながら、この実装は、本出願の実施形態の保護範囲を越えると理解されるべきではない。
【0244】
本出願の実施形態において説明される様々な例示的な論理ユニットおよび回路は、汎用プロセッサ、デジタル信号プロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは別のプログラマブル論理装置、個別ゲートもしくはトランジスタ論理、個別ハードウェア構成要素、またはそれらの任意の組合せの設計を使用することによって、説明される機能を実装するかまたは動作させ得る。汎用プロセッサはマイクロプロセッサであり得る。任意選択で、汎用プロセッサは、いずれかの従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であってもよい。プロセッサはまた、デジタル信号プロセッサとマイクロプロセッサ、複数のマイクロプロセッサ、デジタル信号プロセッサコアを有する1つもしくは複数のマイクロプロセッサ、または任意の他の同様の構成など、コンピューティング装置の組合せによって実装され得る。
【0245】
本出願の実施形態において説明される方法またはアルゴリズムのステップは、ハードウェアに直接埋め込まれるか、プロセッサによって実行される命令であるか、またはそれらの組合せであり得る。メモリは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブル磁気ディスク、CD−ROM、または当技術分野における任意の他の形態の記憶媒体であり得る。たとえば、メモリは、プロセッサがメモリから情報を読み取り、メモリに情報を書き込み得るように、プロセッサに接続し得る。代替として、メモリは、プロセッサにさらに組み込まれ得る。プロセッサおよびメモリはASIC中に配設されてよく、ASICはUE中に配設されることがある。代替として、プロセッサおよびメモリは、UEの異なる構成要素中に配設され得る。
【0246】
上記の実施形態の説明とともに、当業者は、本出願がハードウェア、ファームウェアまたはそれらの組合せによって実装され得ることを明らかに理解されよう。ソフトウェアプログラムを使用することによって本出願が実装されるとき、本出願の全部または一部は、コンピュータプログラム製品の形態で実装され得る。コンピュータプログラム製品は1つまたは複数のコンピュータ命令を含む。コンピュータ命令がコンピュータ上にロードされ、実行されるとき、本出願の実施形態による手順または機能がすべてまたは部分的に生成される。本出願がソフトウェアプログラムによって実装されるとき、上記の機能は、コンピュータ可読媒体に記憶されるか、またはコンピュータ可読媒体中で1つもしくは複数の命令もしくはコードとして送信され得る。コンピュータは、汎用コンピュータ、専用コンピュータ、コンピュータネットワーク、または別のプログラマブル装置であり得る。コンピュータ命令は、コンピュータ可読記憶媒体に記憶され得るか、またはコンピュータ可読記憶媒体から別のコンピュータ可読記憶媒体に送信され得る。コンピュータ可読媒体はコンピュータ記憶媒体および通信媒体を含み、通信媒体は、コンピュータプログラムがある場所から別の場所に送信されることを可能にする任意の媒体を含む。記憶媒体は、コンピュータにとってアクセス可能な任意の利用可能な媒体であり得る。以下で例を提供するが、限定を課さない。すなわち、コンピュータ可読媒体は、RAM、ROM、EEPROM、CD−ROM、または別の光ディスク記憶装置もしくはディスク記憶媒体、または別の磁気記憶デバイス、または命令もしくはデータ構造の形態で期待されるプログラムコードを搬送もしくは記憶することができ、コンピュータによってアクセスされることが可能な任意の他の媒体を含み得る。加えて、どのような接続も、コンピュータ可読媒体として適切に定義され得る。たとえば、ソフトウェアが、同軸ケーブル、光ファイバー/ケーブル、ツイストペア、デジタル加入者線(DSL)、または赤外線、無線およびマイクロ波などのワイヤレス技術を使用することによってウェブサイト、サーバまたは別のリモートソースから送信される場合、同軸ケーブル、光ファイバー/ケーブル、ツイストペア、DSL、または赤外線、無線およびマイクロ波などのワイヤレス技術は、それらが属する媒体のフィクセーションの中に含まれる。たとえば、本出願によって使用されるディスク(Disk)およびディスク(disc)は、コンパクトディスク(CD)、レーザーディスク、光ディスク、デジタル多用途ディスク(DVD)、フロッピーディスクおよびブルーレイディスクを含み、ディスクは、概して磁気的手段によってデータをコピーし、ディスクは、レーザー手段によって光学的にデータをコピーする。上記の組合せもコンピュータ可読媒体の保護範囲内に含まれるべきである。
【0247】
結論として、上記で説明されたものは、本出願の技術的解決策の実施形態の例にすぎず、本出願の保護範囲を限定することを意図されない。本出願の原理から逸脱することなく行われたいかなる変更、等価な交換、または改善も、本出願の保護範囲内に入るものである。
図1
図2
図3a
図3b-1】
図3b-2】
図3b-3】
図3b-4】
図3b-5】
図3b-6】
図3b-7】
図3b-8】
図4
図5
図6