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

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

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

特開2022-179504情報処理方法、装置、および通信装置
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022179504
(43)【公開日】2022-12-02
(54)【発明の名称】情報処理方法、装置、および通信装置
(51)【国際特許分類】
   H03M 13/19 20060101AFI20221125BHJP
【FI】
H03M13/19
【審査請求】有
【請求項の数】16
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2022145260
(22)【出願日】2022-09-13
(62)【分割の表示】P 2019571976の分割
【原出願日】2018-04-12
(31)【優先権主張番号】201710503056.2
(32)【優先日】2017-06-27
(33)【優先権主張国・地域又は機関】CN
(31)【優先権主張番号】201710572364.0
(32)【優先日】2017-07-13
(33)【優先権主張国・地域又は機関】CN
(71)【出願人】
【識別番号】503433420
【氏名又は名称】華為技術有限公司
【氏名又は名称原語表記】HUAWEI TECHNOLOGIES CO.,LTD.
【住所又は居所原語表記】Huawei Administration Building, Bantian, Longgang District, Shenzhen, Guangdong 518129, P.R. China
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133569
【弁理士】
【氏名又は名称】野村 進
(72)【発明者】
【氏名】金 杰
(72)【発明者】
【氏名】イヴァン・レオニードヴィッチ・マズレンコ
(72)【発明者】
【氏名】アレクサンドル・アレクサンドロヴィッチ・ペティウシュコ
(72)【発明者】
【氏名】▲張▼ 朝▲龍▼
(57)【要約】
【課題】本出願は、エンコード方法、装置、通信デバイス、および通信システムを開示する。
【解決手段】方法は、低密度パリティチェック(LDPC)行列を使用することによって入力ビットシーケンスをエンコードすることを含み、ここで、LDPC行列は、リフティングファクタZおよび基本行列に基づいて取得され、基本行列は、図3b-1から図3b-8において示された行列のうちの1つにおける行0から行6および列0から列16を含み、または基本行列は、図3b-1から図3b-8において示されたいずれかの行列における行0から行6、および列0から列16のうちのいくつかの列を含む。本出願におけるエンコード方法、装置、通信デバイス、および通信システムは、複数の長さの情報ビットシーケンスに対するエンコード要件をサポートすることができる。
【選択図】図3
【特許請求の範囲】
【請求項1】
入力シーケンスcを通信装置によって取得するステップであって、前記入力シーケンスが、K個のビットを含み、K≧1である、ステップと、
エンコードされたシーケンスdを取得するために行列Hを使用して、前記入力シーケンスcを前記通信装置によってエンコードするステップであって、前記エンコードされたシーケンスdが、N個のビットを含み、Nが、正の整数である、ステップと、
前記エンコードされたシーケンスdを前記通信装置によって出力するステップと、
を含み、
前記行列Hが、基本行列およびリフティングファクタZに応じて判断され、Zが、正の整数であり、
前記基本行列が、m行およびn列を含み、前記基本行列における要素が、これらの行インデックスiおよび列インデックスjによってそれぞれ表され、ここで、0≦i<mであり、0≦j<nであり、
前記基本行列における要素が、ゼロの要素または非ゼロの要素であり、行iおよび列jにおける非ゼロの要素が、値Vi,jを有し、
前記基本行列における各ゼロの要素が、前記行列HにおけるサイズZ×Zの全てゼロの行列に対応し、前記基本行列における行iおよび列jにおける非ゼロの要素が、前記行列HにおけるサイズZ×Zの巡回置換行列hi,jに対応し、
前記巡回置換行列hi,jが、Pi,j回、右に円形シフトされたZ×Zの単位行列に等しく、ここで、Pi,j=mod(Vi,j, Z)であり、
前記基本行列が、行インデックス(i)、列インデックス(j)、および対応する値Vi,jが、以下のようなものである以下の非ゼロの要素を含む、
【表1】
ワイヤレス通信のための方法。
【請求項2】
Nが、50×Zに等しい、請求項1に記載の方法。
【請求項3】
前記入力シーケンスcが、c={c0, c1, c2, ..., cK-1}と表され、前記エンコードされたシーケンスdが、d={d0, d1, d2, ..., dN-1}と表され、前記行列Hを使用して前記入力シーケンスcをエンコードする際、前記入力シーケンスcにおける要素ck(k=0, 1, 2, ..., K-1)、および前記エンコードされたシーケンスdにおける要素dn(n=0, 1, 2, ..., N-1)が以下を満たす、
k=2ZからK-1までの間、
ckが、充填ビットではない場合、dk-2z=ckであり、
ckが、充填ビットである場合、ck=0であり、dk-2Zが、充填ビットである、
請求項1または2に記載の方法。
【請求項4】
前記入力シーケンスcが、c={c0, c1, c2, ..., cK-1}と表され、前記エンコードされたシーケンスdが、d={d0, d1, d2, ..., dN-1}と表され、前記エンコードされたシーケンスdが、前記入力シーケンスcからのK0個のビット、およびパリティシーケンスwからのN-K0個のパリティビットを含み、前記パリティシーケンスwが、w={w0, w1, w2, ..., wN-K0-1}と表され、K0が整数であり、0<K0≦Kであり、
前記行列H、前記パリティシーケンスw、および前記入力シーケンスcが以下を満たし、
【数1】
c=[c0, c1, c2, ..., cK-1]Tであり、w=[w0, w1, w2, ..., wn-K0-1]Tであり、0が、全ての要素がゼロに等しい列ベクトルである、
請求項1から3のいずれか一項に記載の方法。
【請求項5】
前記パリティシーケンスwが、N+2Z-K個のビットを有し、前記パリティシーケンスwが、w={w0, w1, w2, ..., wN+2Z-K-1}と表される、
請求項4に記載の方法。
【請求項6】
前記行列Hを使用して前記入力シーケンスcをエンコードする際、前記パリティシーケンスwにおける要素、および前記エンコードされたシーケンスdにおける要素が以下を満たす、
k=KからN+2Z-1までの間、
dk-2z=wk-Kである、
請求項4または5に記載の方法。
【請求項7】
Zが、Kb×Z≧Kを満たす最低値であり、Kbが、{6、8、9、10}のうちの1つである、請求項1から6のいずれか一項に記載の方法。
【請求項8】
Kbが以下を満たす、
【数2】
請求項7に記載の方法。
【請求項9】
Zが、5、10、20、40、80、160、および320のうちの1つである、請求項1から8のいずれか一項に記載の方法。
【請求項10】
m≦42であり、n≦52である、請求項1から9のいずれか一項に記載の方法。
【請求項11】
前記基本行列が、非ゼロの要素を有する1つまたは複数の行をさらに含み、前記非ゼロの要素の行インデックス(i)、列インデックス(j)、および対応する値Vi,jが、以下のようなものである、
【表2A】
【表2B】
請求項1から10のいずれか一項に記載の方法。
【請求項12】
入力シーケンスcを取得することであって、前記入力シーケンスが、K個のビットを含み、K≧1である、取得することと、
エンコードされたシーケンスdを取得するために、行列Hを使用して前記入力シーケンスcをエンコードすることであって、前記エンコードされたシーケンスdが、N個のビットを含み、Nが、正の整数である、エンコードすることと、
前記エンコードされたシーケンスdを出力することと、
を行うように構成された少なくとも1つのプロセッサを備え、
前記行列Hが、基本行列およびリフティングファクタZに応じて判断され、Zが、正の整数であり、
前記基本行列が、m行およびn列を含み、前記基本行列における要素が、これらの行インデックスiおよび列インデックスjによってそれぞれ表され、ここで、0≦i<mであり、0≦j<nであり、
前記基本行列における要素が、ゼロの要素または非ゼロの要素であり、行iおよび列jにおける非ゼロの要素が、値Vi,jを有し、
前記基本行列における各ゼロの要素が、前記行列HにおけるサイズZ×Zの全てゼロの行列に対応し、前記基本行列における行iおよび列jにおける非ゼロの要素が、前記行列HにおけるサイズZ×Zの巡回置換行列hi,jに対応し、
前記巡回置換行列hi,jが、Pi,j回、右に円形シフトされたZ×Zの単位行列に等しく、ここで、Pi,j=mod(Vi,j, Z)であり、
前記基本行列が、行インデックス(i)、列インデックス(j)、および対応する値Vi,jが、以下のようなものである以下の非ゼロの要素を含む、
【表3】
ワイヤレス通信のための装置。
【請求項13】
Nが、50×Zに等しい、請求項12に記載の装置。
【請求項14】
前記入力シーケンスcが、c={c0, c1, c2, ..., cK-1}と表され、前記エンコードされたシーケンスdが、d={d0, d1, d2, ..., dN-1}と表され、前記行列Hを使用して前記入力シーケンスcをエンコードする際、前記入力シーケンスcにおける要素ck(k=0, 1, 2, ..., K-1)、および前記エンコードされたシーケンスdにおける要素dn(n=0, 1, 2, ..., N-1)が以下を満たす、
k=2ZからK-1までの間、
ckが、充填ビットではない場合、dk-2z=ckであり、
ckが、充填ビットである場合、ck=0であり、dk-2Zが、充填ビットである、
請求項12または13に記載の装置。
【請求項15】
前記入力シーケンスcが、c={c0, c1, c2, ..., cK-1}と表され、前記エンコードされたシーケンスdが、d={d0, d1, d2, ..., dN-1}と表され、前記エンコードされたシーケンスdが、前記入力シーケンスcからのK0個のビット、およびパリティシーケンスwからのN-K0個のパリティビットを含み、前記パリティシーケンスwが、w={w0, w1, w2, ..., wN-K0-1}と表され、K0が整数であり、0<K0≦Kであり、
前記行列H、前記パリティシーケンスw、および前記入力シーケンスcが以下を満たし、
【数3】
c=[c0, c1, c2, ..., cK-1]Tであり、w=[w0, w1, w2, ..., wn-K0-1]Tであり、0が、全ての要素がゼロに等しい列ベクトルである、
請求項12から14のいずれか一項に記載の装置。
【請求項16】
前記パリティシーケンスwが、N+2Z-K個のビットを有し、前記パリティシーケンスwが、w={w0, w1, w2, ..., wN+2Z-K-1}と表される、
請求項15に記載の装置。
【請求項17】
前記行列Hを使用して前記入力シーケンスcをエンコードする際、前記パリティシーケンスwにおける要素、および前記エンコードされたシーケンスdにおける要素が以下を満たす、
k=KからN+2Z-1までの間、
dk-2z=wk-Kである、
請求項15または16に記載の装置。
【請求項18】
Zが、Kb×Z≧Kを満たす最低値であり、Kbが、{6、8、9、10}のうちの1つである、請求項12から17のいずれか一項に記載の装置。
【請求項19】
Kbが以下を満たす、
【数4】
請求項18に記載の装置。
【請求項20】
Zが、5、10、20、40、80、160、および320のうちの1つである、請求項12から19のいずれか一項に記載の装置。
【請求項21】
m≦42であり、n≦52である、請求項12から20のいずれか一項に記載の装置。
【請求項22】
前記基本行列が、非ゼロの要素を有する1つまたは複数の行をさらに含み、前記非ゼロの要素の行インデックス(i)、列インデックス(j)、および対応する値Vi,jが、以下のようなものである、
【表4A】
【表4B】
請求項12から21のいずれか一項に記載の装置。
【請求項23】
前記基本行列、1つもしくは複数のリフティングファクタZ、または1つもしくは複数の巡回置換行列を格納するように構成された少なくとも1つのメモリをさらに備える、請求項12から22のいずれか一項に記載の装置。
【請求項24】
前記行列Hと関連付けられたパラメータを格納するように構成された少なくとも1つのメモリをさらに備える、請求項12から23のいずれか一項に記載の装置。
【請求項25】
前記入力シーケンスを受信し、前記エンコードされたシーケンスdを伝送すること
を行うように構成されたトランシーバをさらに備える、請求項12から24のいずれか一項に記載の装置。
【請求項26】
コンピュータによって実行されると、
入力シーケンスcを取得することであって、前記入力シーケンスが、K個のビットを含み、K≧1である、取得することと、
エンコードされたシーケンスdを取得するために、行列Hを使用して前記入力シーケンスcをエンコードすることであって、前記エンコードされたシーケンスdが、N個のビットを含み、Nが、正の整数である、エンコードすることと、
前記エンコードされたシーケンスdを出力することと、
を含む処理を前記コンピュータに行わせる命令を格納し、
前記行列Hが、基本行列およびリフティングファクタZに応じて判断され、
前記基本行列が、m行およびn列を含み、前記基本行列における要素が、これらの行インデックスiおよび列インデックスjによってそれぞれ表され、ここで、0≦i<mであり、0≦j<nであり、
前記基本行列における要素が、ゼロの要素または非ゼロの要素であり、行iおよび列jにおける非ゼロの要素が、値Vi,jを有し、
前記基本行列における各ゼロの要素が、前記行列HにおけるサイズZ×Zの全てゼロの行列に対応し、前記基本行列における行iおよび列jにおける非ゼロの要素が、前記行列HにおけるサイズZ×Zの巡回置換行列hi,jに対応し、
前記巡回置換行列hi,jが、Pi,j回、右に円形シフトされたZ×Zの単位行列に等しく、ここで、Pi,j=mod(Vi,j, Z)であり、
前記基本行列が、行インデックス(i)、列インデックス(j)、および対応する値Vi,jが、以下のようなものである以下の非ゼロの要素を含む、
【表5】
コンピュータ可読ストレージ媒体。
【請求項27】
Nが、50×Zに等しい、請求項26に記載のコンピュータ可読ストレージ媒体。
【請求項28】
前記入力シーケンスcが、c={c0, c1, c2, ..., cK-1}と表され、前記エンコードされたシーケンスdが、d={d0, d1, d2, ..., dN-1}と表され、前記入力シーケンスcにおける要素ck(k=0, 1, 2, ..., K-1)、および前記エンコードされたシーケンスdにおける要素dn(n=0, 1, 2, ..., N-1)が以下を満たす、
k=2ZからK-1までの間、
ckが、充填ビットではない場合、dk-2z=ckであり、
ckが、充填ビットである場合、ck=0であり、dk-2Zが、充填ビットである、
請求項26または27に記載のコンピュータ可読ストレージ媒体。
【請求項29】
前記入力シーケンスcが、c={c0, c1, c2, ..., cK-1}と表され、前記エンコードされたシーケンスdが、d={d0, d1, d2, ..., dN-1}と表され、前記エンコードされたシーケンスdが、前記入力シーケンスcからのK0個のビット、およびパリティシーケンスwからのN-K0個のパリティビットを含み、前記パリティシーケンスwが、w={w0, w1, w2, ..., wN-K0-1}と表され、K0が整数であり、0<K0≦Kであり、
前記行列H、前記パリティシーケンスw、および前記入力シーケンスcが以下を満たし、
【数5】
c=[c0, c1, c2, ..., cK-1]Tであり、w=[w0, w1, w2, ..., wn-K0-1]Tであり、0が、全ての要素がゼロに等しい列ベクトルである、
請求項26から28のいずれか一項に記載のコンピュータ可読ストレージ媒体。
【請求項30】
前記パリティシーケンスwが、N+2Z-K個のビットを有し、前記パリティシーケンスwが、w={w0, w1, w2, ..., wN+2Z-K-1}と表され、前記パリティシーケンスwにおける要素、および前記エンコードされたシーケンスdにおける要素が以下を満たす、
k=KからN+2Z-1までの間、
dk-2z=wk-Kである、
請求項29に記載のコンピュータ可読ストレージ媒体。
【請求項31】
Zが、Kb×Z≧Kを満たす最低値であり、Kbが、{6、8、9、10}のうちの1つである、請求項26から30のいずれか一項に記載のコンピュータ可読ストレージ媒体。
【請求項32】
Kbが以下を満たす、
【数6】
請求項31に記載のコンピュータ可読ストレージ媒体。
【請求項33】
Zが、5、10、20、40、80、160、および320のうちの1つである、請求項26から32のいずれか一項に記載のコンピュータ可読ストレージ媒体。
【請求項34】
m≦42であり、n≦52である、請求項26から33のいずれか一項に記載のコンピュータ可読ストレージ媒体。
【請求項35】
前記基本行列が、非ゼロの要素を有する1つまたは複数の行をさらに含み、前記非ゼロの要素の行インデックス(i)、列インデックス(j)、および対応する値Vi,jが、以下のようなものである、
【表6A】
【表6B】
請求項26から34のいずれか一項に記載のコンピュータ可読ストレージ媒体。
【請求項36】
前記基本行列、1つもしくは複数のリフティングファクタZ、または1つもしくは複数の巡回置換行列を格納するように構成された、請求項26から35のいずれか一項に記載のコンピュータ可読ストレージ媒体。
【請求項37】
前記行列Hと関連付けられたパラメータを格納するように構成された、請求項26から36のいずれか一項に記載のコンピュータ可読ストレージ媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本出願の実施形態は通信分野に関し、詳細には、情報処理方法および通信装置に関する。
【背景技術】
【0002】
低密度パリティチェック(low density parity check, LDPC)コードは、スパースチェック行列によって特徴づけられ、構造が柔軟で、デコードの複雑性が小さい一種の線形ブロック符号である。部分的並列反復デコードアルゴリズムは、LDPC符号化された符号語をデコードする際に使用されることが可能なので、LDPC符号は、従来のTurbo符号よりスループットが高い。LDPC符号は、チャネルベース伝送における信頼性および電力利用率を改善するために、通信システムにおいてエラー訂正符号として使用されることが可能である。LDPC符号は、空間通信、光ファイバ通信、個人通信システム、非対称型デジタル加入者ループ(ADSL)、磁気記録デバイス、および同様のものにおいて広く使用されることもある。現在、LDPC符号は、第5世代(5G)移動体通信システムにおけるチャネル符号体系の1つと考えられている。
【0003】
実際の用途において、種々の特殊構造を有するLDPC行列が使用されることが可能である。LDPC行列Hは、特殊構造を有し、準巡回(quasi cycle, QC)構造を有するLDPC基本行列を拡張させること(リフティングとも呼ばれる)によって取得されることが可能である。QC-LDPC行列を使用する符号体系は、高度の並列性を有するハードウェアに適しており、より高いスループットをもたらす。QC-LDPC行列は、チャネル符号化に適しているように設計されることが可能である。
【0004】
QC-LDPC行列を使用する符号体系は、高度の並列性を有するハードウェアに適しており、より高いスループットをもたらす。QC-LDPC行列は、チャネル符号化に適しているように設計されることが可能である。
【発明の概要】
【課題を解決するための手段】
【0005】
本出願の実施形態は、複数の長さの情報ビットシーケンスのエンコードおよびデコードをサポートするための情報処理方法、ならびに通信装置およびシステムを提供する。
【0006】
第1の態様によれば、エンコード方法およびエンコーダが提供される。エンコーダは、低密度パリティチェック(LDPC)行列を使用することによって入力シーケンスをエンコードする。
【0007】
第2の態様によれば、デコード方法およびデコーダが提供される。デコーダは、LDPC行列を使用することによって入力シーケンスをデコードする。
【0008】
第1の態様または第2の態様についての第1の実装形態において、LDPC行列は、リフティングファクタZおよび基本行列に基づいて取得される。
【0009】
前述の実装形態に基づいて、基本グラフの基本行列は、以下のうちの1つを含む。
基本行列は、図3b-1から図3b-8において示された行列のうちの1つの行0から行6、列0から列16を含む、または
基本行列は、図3b-1から図3b-8において示された行列のうちの1つにおける行0から行6、列0から列16のうちのいくつかの列を含む、または
基本行列は、図3b-1から図3b-8において示された行列のうちの1つにおける行0から行6、列0から列16に対して行/列変換を行うことによって取得される行列である、または
基本行列は、図3b-1から図3b-8において示された行列のうちの1つにおける行0から行6、列0から列16のうちのいくつかの列に対して行/列変換を行うことによって取得される行列である。
【0010】
異なる符号ブロック長をサポートするために、異なるリフティングファクタZが、LDPC符号のために必要とされる。前述の実装形態に基づいて、異なるリフティングファクタZに対応する基本行列は、異なるリフティングファクタZに基づいて使用される。いくつかの実装形態において、Z=a×2jであり、ここで、0≦j<7であり、a∈{2,3,5,7,9,11,13,15}である。
【0011】
さらに、前述の実装形態に基づいて、LDPC行列は、リフティングファクタZ、および前述の基本行列をオフセットすることによって取得される行列Hsに基づいて取得されることが可能である。代替として、LDPC行列は、リフティングファクタZ、および行列Hsに対して行/列変換を行うことによって取得される行列に基づいて取得されることが可能であり、Hsは、前述の基本行列をオフセットすることによって取得される。前述の基本行列をオフセットすることは、オフセットによって1つまたは複数の列における0以上のシフト値を増加または減少させることであることが可能である。
【0012】
前述の実装形態におけるLDPC行列の基本グラフおよび基本行列は、複数のブロック長の符号ブロックの性能要件を満たすことができる。
【0013】
リフティングファクタZは、入力シーケンスの長さKに基づいてエンコーダまたはデコーダによって判断されることが可能であり、または別のデバイスによって判断され、入力パラメータとしてエンコーダもしくはデコーダに提供されることが可能である。任意選択として、LDPC行列は、取得されたリフティングファクタZ、およびリフティングファクタZに対応する基本行列に基づいて取得されることが可能である。
【0014】
第1の態様または第2の態様についての第2の実装形態において、LDPC行列は、リフティングファクタZ、およびLDPC行列のパラメータに基づいて取得される。
【0015】
LDPC行列のパラメータは、行インデックス、非ゼロの要素がある列の列インデックス、および非ゼロの要素のシフト値を含むことができる。パラメータは、表2および表3b-1から表3b-8のうちの1つに、行0から行6のような手法で格納される。LDPC行列のパラメータは、行重みをさらに含むことができる。列における非ゼロの要素の位置は、非ゼロの要素のシフト値と1対1の対応関係にある。
【0016】
伝送側の通信デバイスについて、LDPC行列を使用することによって入力シーケンスをエンコードすることは、リフティングファクタZに対応するLDPC行列を使用することによって入力シーケンスをエンコードすること、またはリフティングファクタZに対応するLDPC行列に対して行/列変換を行うことによって取得される行列を使用することによって入力シーケンスをエンコードすること、を含むことができる。本出願における行/列変換は、行変換、列変換、または行変換かつ列変換を意味する。
【0017】
受信側の通信デバイスについて、LDPC行列を使用することによって入力シーケンスをデコードすることは、リフティングファクタZに対応するLDPC行列を使用することによって入力シーケンスをデコードすること、またはリフティングファクタZに対応するLDPC行列に対して行/列変換を行うことによって取得される行列を使用することによって入力シーケンスをデコードすること、を含むことができる。本出願における行/列変換は、行変換、列変換、または行変換かつ列変換を意味する。
【0018】
可能な実装形態において、LDPC行列が格納されることが可能であり、LDPC行列は、入力シーケンスをエンコードするために使用され、またはエンコードするために使用されることが可能なLDPC行列は、LDPC行列に基づいて変換(行/列変換)もしくはリフティングを行うことによって取得される。
【0019】
別の可能な実装形態において、1つまたは複数のパラメータが格納されることが可能であり、エンコードまたはデコードするために使用されるLDPC行列は、LDPC行列に基づいて入力シーケンスがエンコードまたはデコードされることが可能になるように、パラメータに基づいて取得されることが可能である。1つまたは複数のパラメータは、基本グラフ、基本行列、基本グラフもしくは基本行列に対して行/列変換を行うことによって取得された変換後行列、基本グラフもしくは基本行列に基づくリフティング行列、基本行列における非ゼロの要素のシフト値、またはLDPC行列を取得するために使用される任意のパラメータ、のうちの少なくとも1つを含む。
【0020】
さらに別の可能な実装形態において、LDPC行列の基本行列は、メモリに格納されることが可能である。
【0021】
さらに別の可能な実装形態において、LDPC行列の基本グラフは、メモリに格納されることが可能であり、LDPC行列の基本行列における非ゼロの要素のシフト値は、メモリに格納されることが可能である。
【0022】
さらに別の可能な実装形態において、LDPC行列のパラメータは、表2もしくは表3b-1から表3b-8のような手法でメモリに格納されるか、またはパラメータのいくつかの要素グループが格納されることが可能である。
【0023】
前述の可能な実装形態に基づいて、可能な設計において、LDPCのエンコードまたはデコードのために使用される基本グラフおよび基本行列のうちの少なくとも1つは、LDPC行列の基本グラフおよび基本行列のうちの少なくとも1つに対して行変換、または列変換、または行変換かつ列変換を行うことによって取得される。
【0024】
第3の態様によれば、通信装置が提供される。通信装置は、前述の方法の設計を実行するように構成されたソフトウェアモジュールおよび/またはハードウェア構成要素を含むことができる。
【0025】
可能な設計において、第3の態様において提供される通信装置は、プロセッサおよびトランシーバ構成要素を含む。プロセッサおよびトランシーバ構成要素は、エンコード方法またはデコード方法の可能な実装形態のうちのいずれか1つを行うように構成されることが可能である。通信装置は、端末、基地局、または別のネットワークデバイスであることが可能であり、通信装置のトランシーバ構成要素は、トランシーバであることが可能である。通信装置は、ベースバンドチップまたはベースバンド基板であることが可能であり、通信装置のトランシーバ構成要素は、ベースバンドチップまたはベースバンド基板の入力/出力回路であることが可能であり、入力/出力信号を受信/送信するように構成される。任意選択として、通信装置はメモリをさらに含み、データおよび/または命令を格納するように構成されることが可能である。
【0026】
1つの実装形態において、プロセッサは、第1の態様によるエンコーダ、および判断ユニットを含むことができる。判断ユニットは、入力シーケンスをエンコードするのに必要なリフティングファクタZを判断するように構成される。エンコーダは、リフティングファクタZに対応するLDPC行列を使用することによって入力シーケンスをエンコードするように構成される。
【0027】
別の実装形態において、プロセッサは、第2の態様によるデコーダ、および取得ユニットを含むことができる。取得ユニットは、LDPC符号の軟値、およびリフティングファクタZを取得するように構成される。デコーダは、情報ビットシーケンスを取得するために、リフティングファクタZに対応する基本行列HBに基づいて、LDPC符号の軟値をデコードするように構成される。
【0028】
第4の態様によれば、通信装置が提供される。通信装置は、1つまたは複数のプロセッサを含む。可能な設計において、1つまたは複数のプロセッサは、第1の態様によるエンコーダの可能な実装形態のうちのいずれか1つを行うように構成される。別の可能な設計において、第1の態様によるエンコーダは、プロセッサの一部であることが可能である。第1の態様によるエンコーダの機能に加えて、プロセッサは、他の機能をさらに実行することができる。可能な設計において、1つまたは複数のプロセッサは、第2の態様によるデコーダの機能を実行することができる。別の可能な設計において、第2の態様によるデコーダは、プロセッサの一部であることが可能である。
【0029】
任意選択として、通信装置は、トランシーバおよびアンテナをさらに含むことができる。任意選択として、通信装置は、トランスポートブロック巡回冗長検査(CRC)のための構成要素、符号ブロックセグメンテーションおよびCRCチェックのための構成要素、インターリーブするためのインターリーバ、変調処理のためのモジュレータ、または同様のものをさらに含むことができる。可能な設計において、これらの構成要素の機能は、1つまたは複数のプロセッサを使用することによって実行されることが可能である。
【0030】
任意選択として、通信装置は、復調動作のためのデモジュレータ、デインターリーブするためのデインターリーバ、レートデマッチングのための構成要素、または同様のものをさらに含むことができる。これらのデバイスの機能は、1つまたは複数のプロセッサを使用することによって実行されることが可能である。
【0031】
第5の態様によれば、本出願の実施形態は、通信システムを提供する。システムは、第3の態様による通信装置を含む。
【0032】
第6の態様によれば、本出願の実施形態は、通信システムを提供する。システムは、第4の態様による1つまたは複数の通信装置を含む。
【0033】
さらに別の態様によれば、本出願の実施形態は、コンピュータストレージ媒体を提供する。コンピュータストレージ媒体はプログラムを格納し、プログラムが動くと、コンピュータは、前述の態様において説明された方法を行うことを行わされる。
【0034】
本出願のさらに別の態様は、コンピュータによって実行されると、前述の態様による方法をコンピュータに行わせる1つまたは複数の命令を含むコンピュータプログラム製品を提供する。
【0035】
本出願の実施形態における情報処理方法、装置、通信デバイス、および通信システムによれば、柔軟な符号長、およびシステムの符号レート要件は、エンコード性能およびエラーフロアの観点から満たされることが可能である。
【図面の簡単な説明】
【0036】
図1】LDPC符号において使用される基本グラフ、基本行列、および巡回置換行列の例を示す図である。
図2】LDPC符号において使用される基本グラフの概略構造図である。
図3a】本出願の実施形態によるLDPC符号において使用される基本グラフの概略図である。
図3b-1】本出願の実施形態による基本行列の概略図である。
図3b-2】本出願の実施形態による別の基本行列の概略図である。
図3b-3】本出願の実施形態による別の基本行列の概略図である。
図3b-4】本出願の実施形態による別の基本行列の概略図である。
図3b-5】本出願の実施形態による別の基本行列の概略図である。
図3b-6】本出願の実施形態による別の基本行列の概略図である。
図3b-7】本出願の実施形態による別の基本行列の概略図である。
図3b-8】本出願の実施形態による別の基本行列の概略図である。
図4】本出願の実施形態によって提供される性能図である。
図5】本出願の実施形態による情報処理手順の流れ図である。
図6】本出願の実施形態による情報処理手順の流れ図である。
図7】本出願の実施形態による通信装置の簡素化したブロック図である。
図8】本出願の実施形態による通信システムのブロック図である。
【発明を実施するための形態】
【0037】
理解を容易にするために、以下は、本出願において使用されるいくつかの用語を説明する。
【0038】
本出願において、用語「ネットワーク」および「システム」は区別なく使用されることが多く、「装置」および「デバイス」は区別なく使用されることが多く、「情報」および「データ」も区別なく使用されることが多い。これらの用語の意味は、慣習的に理解される。「通信装置」は、チップ(例えば、ベースバンドチップ、デジタル信号処理チップ、または汎用チップ)、端末、基地局、または他のネットワークデバイスを指すことができる。端末は、通信機能を有するデバイスである。端末は、ハンドヘルドデバイス、車載デバイス、ウェアラブルデバイス、またはワイヤレス通信機能を有する他の種類のデバイスであることが可能である。端末は、ユーザ機器、移動局、加入者ユニット、ステーション、セルラー電話、パーソナルデジタルアシスタント、ワイヤレスモデム、ワイヤレス通信デバイス、ハンドヘルドデバイス、ラップトップコンピュータ、コードレス電話セット、またはワイヤレスローカルループステーションなどの、種々のネットワークにおける種々の名前で呼ばれることがある。説明を容易にするために、これらのデバイスは、本出願において一括して端末と呼ばれる。基地局デバイスと呼ばれる基地局(base station, BS)は、ワイヤレス通信機能を提供するために無線アクセスネットワークにおいて導入されるデバイスである。基地局は、種々のワイヤレスアクセスシステムにおける種々の名前で呼ばれることがある。例えば、ユニバーサル移動体通信システム(Universal Mobile Telecommunication System, UMTS)ネットワークにおける基地局は、ノードB (Node B)と呼ばれる。ロングタームエボリューション(LTE)ネットワークにおける基地局は、エボルブドノードB(evolved Node B, eNBまたはeNodeB)と呼ばれる。新無線(new radio, NR)ネットワークにおける基地局は、伝送受信ポイント(transmission reception point, TRP)または次世代ノードB(generation node B, gNB)と呼ばれる。他のネットワークにおける基地局は、他の名前で呼ばれることがある。これは、本出願において限定されない。
【0039】
本出願の実施形態において技術的解決策は、添付の図面を参照しながら下記において説明される。
【0040】
LDPC符号は、パリティチェック行列Hによって定義されることが可能である。1つの実装形態において、LDPC符号のためのパリティチェック行列Hは、LDPC行列とも呼ばれ、基本グラフ(base graph)と呼ばれる行列で表され、基本グラフにおける各要素は、Z×Zの拡散(lifting)行列を表す。Zは、正の整数であり、lifting factorと呼ばれる。Zは、lifting sizeまたは同様のものと呼ばれることもある。基本グラフは、ゼロの要素および非ゼロの要素の位置を示すために使用される。基本グラフ(base graph)における各非ゼロの要素は、シフト(shift)値に対応する。LDPC符号のためのパリティチェック行列Hは、基本グラフおよびシフト値に基づいて取得されることが可能である。通常、基本グラフは、m×nの行列要素(entryとも呼ばれる)を含み、m行およびn列の行列で表される。各行列要素の値は、0または1である。値が0の要素はゼロの要素と呼ばれ、Z列×Z行の全てゼロの行列(zero matrix)に対応する。値が1の要素は非ゼロの要素と呼ばれ、Z列×Z行の巡回置換行列(circular permutation matrix)に対応する。言い換えれば、基本グラフの各要素は、全てゼロの行列または巡回置換行列を表す。図1において示された基本グラフの例10aにおいて、m=7およびn=17であり、基本グラフ10aは、QC構造を有する。本出願の全体を通して、基本グラフおよび基本行列の行インデックスおよび列インデックスは、0から始まる番号をつけられるが、これは、説明を容易にするためにすぎないということに留意されたい。例えば、列インデックス0は、基本グラフまたは基本行列における第1の列を表し、列インデックス1は、基本グラフまたは基本行列における第2の列を表し、行インデックス0は、基本グラフまたは基本行列における第1の行を表し、行インデックス1は、基本グラフまたは基本行列における第2の行を表す、などである。
【0041】
行および列は、代替として、1から始まる番号をつけられることが可能であるということが理解されよう。この場合、本明細書において示される行インデックスおよび列インデックスは、適宜、1ずつ増やされる。例えば、行インデックスおよび列インデックスが1から始まる番号をつけられる場合、列1は、基本グラフおよび行列における第1の列を表し、列2は、基本グラフおよび行列における第2の列を表し、行1は、基本グラフおよび行列における第1の行を表し、行2は、基本グラフおよび行列における第2の行を表す、などである。
【0042】
別の実装形態において、m行およびn列の基本行列(base matrix)が定義されることが可能であり、時にはPCM(parity check matrix)と呼ばれることがある。例えば、図3b-1から図3b-8において示されたいずれかの行列、または図3b-1から図3b-8におけるいずれかの行列におけるいくつかの行および列を含む行列、が定義される。基本行列における要素は、基本グラフにおける要素と1対1の対応関係にある。基本グラフにおけるゼロの要素は、基本行列における同じポジションを有する。基本行列において、ゼロの要素は、-1または「null」で表されることが可能である。基本グラフにおいて値が1である行iおよび列jにおける非ゼロの要素の位置は、基本行列における同じポジションを有し、非ゼロの要素は、Vi,jと表される。基本行列におけるVi,jの値は、システムによって定義されることが可能であり、また予め定義されることも可能であり、またVi,jは、基本グラフにおける非ゼロの要素のシフト値Pi,j、およびリフティングファクタZに基づいて取得されることが可能である。Pi,jは、所定のまたは特定のリフティングファクタZに対応するシフト値である。Pi,jは、ZおよびVi,jに基づいて取得されることが可能である。1つの実装形態において、Pi,jおよびVi,jは以下の関係を見たす。
Pi,j=mod(Vi,j, Z)
ここで、iおよびjは、非ゼロの要素の行インデックスおよび列インデックスを表し、基本行列における要素の位置を示す。
【0043】
本出願の実施形態において、基本行列は、時には基本グラフのシフト行列とも呼ばれる。基本行列は、基本グラフおよびシフト値に応じて取得されることが可能である。基本グラフの行iおよび列jにおける要素が値1を有し、要素のシフト値がPi,jであり、ここで、Pi,jが0以上の整数である場合、Pi,jに対応するZ×Zの巡回置換行列によって要素が置き替えられることが可能であるということを示す。巡回置換行列は、シフト行列と呼ばれることもある。巡回置換行列は、Z×Zの単位行列をPi,j回、右または左に円形シフトすることによって取得されることが可能である。1つの実装形態において、
Pi,j=mod(Vi,j, Z)
であり、ここで、Vi,jは、基本グラフにおける非ゼロの要素に対応する基本行列における値である。Vi,jは、時には、シフト値、巡回シフト値、またはシフト係数と呼ばれることもある。Vi,jは、例えば、最大リフティングファクタZmaxに対応するシフト値であることが可能である。Zmaxは、Zの値のセットにおける最大値である。基本グラフにおける行iおよび列jにおける要素の値が0である場合、要素は、Z×Zの全てゼロの行列で置き替えられることが可能である。基本グラフにおける行iおよび列jにおける要素の値が1である場合、要素は、シフト値Pi,jを有するZ×Zの巡回置換行列で置き替えられることが可能である。このようにして、LDPC符号のためのパリティチェック行列Hが取得される。Zは、正の整数であり、lifting factor、lifting size、または同様のものと呼ばれることが可能である。Zは、システムによってサポートされる符号ブロックサイズおよび情報データサイズに基づいて判断されることが可能である。m行×n列の基本グラフについて、LDPC符号のためのパリティチェック行列Hのサイズは、(m×Z)行×(n×Z)列であるということがわかる。例えば、リフティングファクタZが4である場合、各ゼロの要素は、サイズ4×4の全てゼロの行列(図1の11aを参照)で置き替えられる。P2,3=2の場合、基本行列の行2および列3における非ゼロの要素は、図1の4×4の巡回置換行列11dで置き替えられる。行列11dは、4×4の単位行列11bを右の方へ2回、円形シフトすることによって取得される。P2,4=0の場合、行2および列4における非ゼロの要素は、単位行列11bで置き替えられる。この例は、例証のためにすぎず、制限を加えることを意図するものではないということに留意されたい。
【0044】
Pi,jの値は、リフティングファクタZに依存することが可能である。基本グラフにおける1の要素について、Pi,jは、リフティングファクタZによって異なることが可能である。基本グラフ10aに対応する基本行列が、図1における10bによって示される。例えば、基本グラフ10aにおける行1および列3における1の値について、基本行列10bにおける行1および列3における対応するシフト値Vi,jは、27である。Pi,jの値は、Pi,j=mod(Vi,j, Z)に応じて取得されることが可能である。このようにして、行1および列3における要素は、サイズZ×Zの単位行列をPi,j回、右方向にまたは左方向に円形シフトすることによって取得される巡回置換行列で置き替えられることが可能である。
【0045】
通常、LDPC符号のための基本グラフまたは基本行列は、ビルトインパンクチャ(built-in puncture)列のp列をさらに含むことができ、ここで、pは、0から2までの整数である。これらの列は、エンコードする際に使用されることが可能であるが、ビルトインパンクチャ列に対応するエンコードされたシステムビットは、送信されない。この場合、LDPC符号のための基本行列の符号レートは、R=(n-m)/(n-p)を満たす。基本グラフ10aを例として使用すると、2つのビルトインパンクチャ列がある場合、符号レートは、(17-7)/(17-2)=0.667であり、これは、およそ2/3である。
【0046】
ワイヤレス通信システムにおいて使用されるLDPC符号は、QC-LDPC符号である。QC-LDPC符号のパリティビット部分は、二重対角構造またはraptor-like構造を有する。これは、エンコードを簡単にし、インクリメンタルリダンダンシハイブリッドリピートをサポートすることができる。QC-LDPC符号のためのデコーダは、通常、QC-LDPCシフトネットワーク(QC-LDPC shift network, QSN)、Banyanネットワーク、またはBenesネットワークを循環シフト情報のために使用する。
【0047】
QC-LDPC符号のための基本グラフ200は、raptor-like構造を有し、m行およびn列の行列である。基本グラフ200は、5つの部分行列A、B、C、D、およびEを含むことができる。行列の行または列の重みは、行または列における非ゼロの要素の数によって判断される。行の重み(行重み)は、行における非ゼロの要素の数を意味し、列の重み(列重み)は、列における非ゼロの要素の数を意味する。以下は、図2の基本グラフ200において示されている。
【0048】
部分行列Aは、mA行およびnA列の行列であり、部分行列Aのサイズは、mA×nAである。各列は、LDPC符号におけるZ個のシステムビットに対応し、システムビットは、時には情報ビットと呼ばれることがある。
【0049】
部分行列Bは、mA行およびmA列の行列であり、部分行列Bのサイズは、mA×mAである。各列は、LDPC符号におけるZ個のパリティビットに対応する。部分行列Bは、二重対角構造、および列重みが3である行列の列(略して、重み3の列)を有する部分行列B'を含む。重み3の列は、図2における20aによって示されるように、部分行列B'の左側にあることが可能である。部分行列Bは、列重みが1である1つまたは複数の行列の列(略して、重み1の列)をさらに含むことができる。図2の20bおよび20cは、重み1の列の可能な位置の例である。
【0050】
通常、部分行列AおよびBに基づいて生成された行列は、コア行列と呼ばれることが可能であり、高符号レートのエンコーディングをサポートするために使用されることが可能である。
【0051】
部分行列Cは、全てゼロの行列であり、部分行列Cのサイズは、mA×mDである。
【0052】
部分行列Eは、単位行列であり、部分行列Eのサイズは、mD×mDであり、ここで、mD=m-mAである。
【0053】
部分行列Dのサイズは、mD×(nA+mA)であり、通常、低符号レートのパリティビットを生成するために使用されることが可能である。
【0054】
部分行列CおよびEは、比較的明確な構造を有するので、3つの部分行列A、B、およびDの構造は、LDPC符号のエンコード/デコード性能に影響を及ぼすファクタのいくつかである。
【0055】
前述は、原理の観点から基本グラフ/基本行列の構造を説明しているということが理解されよう。部分行列A、B、C、D、およびEの分割は、原理の観点からの理解を容易にするためにすぎない。部分行列A、B、C、D、およびEの分割は、前述の分割手法に限定されないということが理解されよう。1つの実装形態において、Cは、全てゼロの行列であり、Eは、単位行列であり、CおよびEの構造は、既知である。したがって、LDPC行列は、部分行列A、B、C、D、およびEの全てを使用しなくても、単純な形で表されることが可能である。例えば、LDPC行列は、部分行列A、B、およびDによって、部分行列A、B、C、およびDによって、または部分行列A、B、D、およびEによって、単純な形で表されることが可能である。別の実装形態において、部分行列Bは、1つまたは複数の重み1の列を含むので、部分行列Bにおける1つまたは複数の重み1の列について、構造は、比較的明確である。したがって、1つまたは複数の重み1の列は、LDPC行列を表すために使用されなくてよい。例えば、部分行列A、部分行列Bにおけるいくつかの列、および部分行列Dにおける対応する列が、LDPC行列を表すために使用されることが可能である。raptor-like構造を有するLDPC行列がエンコードのために使用されるとき、可能な実装形態は、部分行列Bに対応する1つまたは複数のパリティビットを取得するために、部分行列AおよびB、すなわちコア行列を含む行列の一部が、エンコードする際に最初に使用されることが可能であるというものである。次に、部分行列Eに対応する1つまたは複数のパリティビットを取得するために、LDPC行列の全体が、エンコードする際に使用される。部分行列Bは、二重対角構造、および1つまたは複数の重み1の列を有する部分行列B'を含むことができるので、エンコード中に、部分行列B'に対応するパリティビットが最初に取得されることが可能であり、重み1の列に対応するパリティビットが次に取得されることが可能である。
【0056】
エンコード方式の例が、下記において示される。部分行列AおよびBを含むコア行列が、Hcoreであると仮定する。Hcoreの最終行および最終列は除去される。言い換えれば、重み1の列、および重み1の列における非ゼロの要素がある行は、行列Hcore-dualを取得するためにHcoreから除去される。Hcore-dualのパリティビット部分は、He=[He1 He2]と表され、ここで、He1は、重み3の列であり、He2は、二重対角構造を有する。LDPC行列の定義に応じて、Hcore-dual・[S Pe]T=0であり、ここで、Sは、入力シーケンスであり、情報ビットのベクトルで表され、Peは、パリティビットのベクトルであり、[S Pe]Tは、入力シーケンスSおよびPeで形成された転置行列を表す。したがって、Hcore-dualに対応するパリティビットが、入力シーケンスSおよびHcore-dualに基づいて最初に計算されることが可能であり、ここで、入力シーケンスSは、全ての情報ビットを含む。次に、部分行列Bにおける1つまたは複数の重み1の列に対応するパリティビットは、Hcore-dualに対応するパリティビット、および入力シーケンスSに基づいて計算される。この場合、部分行列Bに対応する全てのパリティビットが取得されることが可能である。部分行列Eに対応するパリティビットは、全ての情報ビットおよび全てのパリティビットを取得するために、入力シーケンスS、および部分行列Bに対応するパリティビットに基づいて部分行列Dをエンコードすることによって取得される。これらのビットは、エンコードされたシーケンス、すなわちLDPC符号語とみなされる。
【0057】
LDPC符号は、エンコードされたシーケンスに対する短縮(shortening)動作またはパンクチャ(puncturing)動作をさらに含むことができる。短縮されたビットまたはパンクチャされたビットは送信されない。
【0058】
短縮は、通常、情報ビットの最後のビットからスタートして行われ、種々の手法で行われることが可能である。例えば、短縮されたビットの量がs0である場合、入力シーケンスSにおける最後のs0個のビットは、入力シーケンスS'を取得するために、既知のビットとしてセットされること、例えば、0、null、または他の値にセットされることが可能である。次に、入力シーケンスS'は、LDPC行列を使用することによってエンコードされる。別の例として、入力シーケンスSにおける最後の(s0 mod Z)ビットは、代替として、入力シーケンスS'を取得するために、既知のビットとしてセットされること、例えば、ゼロ、null、または他のいくつかの値としてセットされること、が可能である。部分行列Aにおける最後の[s0/Z]列は、LDPC行列H'を取得するために削除され、入力シーケンスS'は、LDPC行列H'を使用することによってエンコードされ、または部分行列Aにおける最後の[s0/Z]列は、入力シーケンスS'のエンコードに関与しない。エンコードの後、短縮されたビットは送信されない。
【0059】
パンクチャは、ビルトインパンクチャビット、または入力シーケンスにおけるパリティビットに対して行われることが可能である。パリティビットをパンクチャすることは、通常、パリティビットにおける最後のビットからスタートして行われる。代替として、パリティビットをパンクチャすることは、システムの予めセットされたパンクチャ順に応じて行われることが可能である。可能な実装形態は、入力シーケンスが最初にエンコードされ、次に、パリティビットにおける最後のp個のビットが、パンクチャされる必要があるビットの量pに基づいて選択されるか、p個のビットが、システムの予めセットされたパンクチャ順に基づいて選択される、というようなものである。p個のビットは、送信されない。別の可能な実装形態において、代替として、パンクチャされたビットに対応する行列におけるp列、およびこの列における非ゼロの要素があるp行が判断されることが可能である。これらの行および列は、エンコードに関与せず、対応するパリティビットは生成されない。
【0060】
本明細書において説明されるエンコードの実装形態は例にすぎず、当業者に知られている他のエンコードの実装形態が代替として、本出願の実施形態において提供される基本グラフおよび/または基本行列に基づいて使用されることが可能であるということに留意されたい。これは、本出願において限定されない。本出願におけるデコードは、複数のデコード方法で行われることが可能であり、例えば、min-sum(MS)デコード方法またはbelief propagationデコード方法が使用されることが可能である。MSデコード方法は、時にはFlood MSデコード方法と呼ばれることがある。例えば、入力シーケンスが初期化され、次に、反復処理が行われる。反復後、ハード判定検出が行われ、ハード判定結果に対してチェックが行われる。チェック方程式をデコード結果が満たす場合、デコードが成功し、反復が終了し、判定結果が出力される。チェック方程式をデコード結果が満たさない場合、反復の最大数の中で反復処理が再び行われる。反復の最大数に到達したときに依然としてチェックがパスしていない場合、デコードは失敗する。MSデコードの原理は当業者によって理解されており、詳細は本明細書において説明されない。
【0061】
本明細書において説明されるデコード方法は例にすぎず、当業者によって知られている他のデコード方法が代替として、本出願において提供される基本グラフおよび/または基本行列に基づいて使用されることが可能であるということに留意されたい。デコード方法は、本出願において限定されない。
【0062】
LDPC符号語は、基本グラフまたは基本行列の設計に応じて取得される。例えば、LDPC符号の性能上限値は、基本グラフまたは基本行列に対して密度進化を行うことによって判断されることが可能である。LDPC符号のエラーフロアは、基本行列におけるシフト値に基づいて判断される。エンコード性能またはデコード性能は改善されることが可能であり、エラーフロアは、基本グラフまたは基本行列を正しく設計することによって小さくされることが可能である。ワイヤレス通信システムにおいて、符号長は柔軟であり、例えば、2560ビットまたは38400ビットである。図3aは、LDPC符号のための基本グラフの例を示す。図3b-1から図3b-8は、図3aにおける基本グラフに対応する基本行列の例を示す。基本行列は、複数のブロック長の性能要件を満たすことができる。説明および理解を容易にするために、列インデックスおよび行インデックスが、それぞれ、図3aおよび図3b-1から図3b-8における一番上側および一番左側に示される。
【0063】
図4は、図3aにおいて示されたLDPC符号の概略性能図である。図4において示された性能図において、図3b-1から図3b-8において示された行列のうちのいずれか1つを使用するエンコード性能曲線が示される。水平座標は、情報ビットシーケンスの長さをビット単位で表し、垂直座標は、対応するブロックエラーレート(BLER)に到達するのに必要なシンボルの信号対雑音比(Es/N0)である。各符号レートの2つの線は、2つのBLER、0.01および0.0001に対応する。同じ符号レートについて、0.01は、上の方の曲線に対応しており、0.0001は、下の方の曲線に対応している。曲線が平らになる場合、これは、異なるブロック長のケースにおいて行列が比較的高い性能を有することを示す。
【0064】
図3aは、LDPC符号の基本グラフの例を示す。図3aの基本グラフにおいて、一番上の行における数字0から51は列インデックスであり、基本グラフの列0から列51にそれぞれ対応する。一番左の列における数字0から41は行インデックスであり、基本グラフの行0から行41にそれぞれ対応する。すなわち、基本グラフは、42行および52列のサイズを有する。
【0065】
1つの実装形態において、部分行列Aおよび部分行列Bの組合せは、LDPC符号のための基本グラフのコア行列とみなされることが可能であり、コア行列は、高符号レートのエンコーディングのために使用されることが可能である。図3aに示されるように、基本グラフの上隅における7行および17列の行列は、基本グラフのコア行列とみなされることが可能である。コア行列は、部分行列Aおよび部分行列Bを含む。部分行列Aは7行および10列の行列であり、図3aにおける基本行列の行0から行6および列0から列9によって占められる。部分行列Bは7行および7列の行列であり、図3aにおける基本行列の行0から行6および列10から列16によって占められる。
【0066】
別の実装形態において、図3aにおいて示された基本グラフにおける左上隅における、7行および14列によって占められる行列、または7行および15列によって占められる行列、または7行および16列によって占められる行列は、コア部分とみなされることが可能である。言い換えれば、図3aにおいて示された基本グラフにおいて、行0から行6および列0から列13によって占められる行列、または行0から行6および列0から列14によって占められる行列、または行0から行6および列0から列15によって占められる行列は、コア部分とみなされることが可能である。それに対応して、図3aの基本グラフにおけるコア部分に対応する図3b-1から図3b-8において示された行列のうちのいずれか1つにおける部分は、代替として、コア部分とみなされることが可能である。
【0067】
1つの実装形態において、部分行列Aは、1つまたは複数のビルトインパンクチャ列を含むことができる。例えば、部分行列Aは、2つのビルトインパンクチャ列を含むことができる。この場合、パンクチャの後、コア行列によってサポートされることが可能な符号レートは2/3である。部分行列Bは、1つの重み1の列を含むことができる。具体的には、部分行列Bにおける第1の列の列重みは3である(コア行列における列10)。部分行列Bにおける第2の列の列重みは5である(コア行列における列11)。第2の列から第4の列(コア行列における列11から列13)、および部分行列Bにおける行0から行3は二重対角構造のものであり、ここで、第3の列および第4の列(コア行列における列12および列13)の列重みは2である。部分行列Bは、3つの重み1の列(コア行列における列14から列16)をさらに含む。
【0068】
1つの実装形態において、部分行列Aは、システムビットに対応することが可能であり、時には情報ビットとも呼ばれ、mA行および10列のサイズを有し、ここで、mA=5である。部分行列Aは、図3aにおける基本グラフ30aにおける行0から行4および列0から列9における要素によって占められる。
【0069】
1つの実装形態において、部分行列Bは、パリティビットに対応することが可能であり、mA行およびmA列のサイズを有する。部分行列Bは、図3aにおける基本グラフ30aにおける行0から行6および列10から列16における要素によって占められる。
【0070】
柔軟な符号レートを取得するために、対応するサイズの部分行列C、部分行列D、および部分行列Eは、種々の符号レートを取得するために、コア行列に基づいて追加されることが可能である。部分行列Cはゼロ行列であり、部分行列Eは単位行列であり、部分行列のサイズは符号レートに基づいて主に判断されるので、構造は比較的固定されている。エンコード/デコード性能は、コア行列および部分行列Dによって主に影響を受ける。行および列は、対応する部分C、D、およびEを形成するために、コア行列に基づいて追加され、このことにより、種々の符号レートを取得する。
【0071】
部分行列Dにおける列の数mDは、部分行列Aおよび部分行列Bにおける列の数の合計である。部分行列Dにおける行の数は、符号レートに主に関するものである。図3aにおける基本グラフ30aを例として使用すると、部分行列Dは17列を有する。LDPC符号によってサポートされる符号レートがRmである場合、LDPC符号のための基本グラフまたは基本行列はm行およびn列を有し、ここで、n=nA/Rm+p、m=n-nA=nA/Rm+p-nAであり、pは、ビルトインパンクチャ列の数である。LDPC符号によってサポートされる符号レートは、公式に基づいて取得されることが可能である。最も低い符号レートがRm=1/3であり、ビルトインパンクチャ列の数pが2である場合、例として図3aにおける基本グラフ30aの例において、n=52、m=42、および部分行列Dにおける行の数mDは、0≦mD≦35になるように、m-mA=42-7=35までであることが可能である。
【0072】
図3aにおける基本グラフ30aを例として使用すると、部分行列Dは、行7から行41におけるmD行を含むことができる。
【0073】
本出願において、基本グラフにおける2つの隣接行に対する各列の中に多くても1つの非ゼロの要素がある場合、2つの行は直交である。基本グラフにおける2つの隣接行に対するいくつかの列とは異なる他の列において、2つの隣接行に対する他の列の各列の中に多くても1つの非ゼロの要素がある場合、2つの隣接行は準直交である。例えば、2つの隣接行について、ビルトインパンクチャ列以外の各列において、ただ1つの非ゼロの要素がある場合、2つの隣接行が準直交であるとみなされることが可能である。
【0074】
図3aにおける基本グラフ30aにおける行7から行41は、準直交構造の中に複数の行、および直交構造の中に少なくとも2つの行を含むことができる。例えば、図3aにおける基本グラフ30aにおける行32および行33は直交であり、行34および行35は直交であり、行36、37、および38は直交である。任意の2つの隣接行において、ビルトインパンクチャ列とは異なる他の列において、各列の中に多くても1つの非ゼロの要素がある場合、2つの隣接行は準直交構造を満たす。ビルトインパンクチャ列が含まれる場合、列のうちのいずれか1つの中に多くても1つの非ゼロの要素があり、2つの隣接行は、直交構造を満たす。
【0075】
mD=15である場合、LDPC符号の基本グラフにおける部分行列Dは15行および17列を有し、図3aにおける基本グラフ30aにおける行7から行21および列0から列16によって占められる行列であることが可能である。LDPC符号によってサポートされる対応する符号レートは、前述の計算公式に基づいて取得されることが可能である。
【0076】
部分行列Eは、15行および15列の単位行列であり、部分行列Cは、7行および15列の全てゼロの行列である。
【0077】
mD=19である場合、LDPC符号の基本グラフにおける部分行列Dは19行および17列を有し、図3aにおける基本グラフ30aにおける行7から行25および列0から列16によって占められる行列であることが可能である。LDPC符号によってサポートされる対応する符号レートは、前述の計算公式に基づいて取得されることが可能である。この符号レートにおいて、LDPC符号の基本グラフは、図3aにおける基本グラフ30aにおける行0から行25および列0から列16によって占められる行列に対応している。部分行列Eは、16行および16列の単位行列であり、部分行列Cは、7行および16列の全てゼロの行列である。mDが他の値である場合も同様であり、詳細は説明されない。
【0078】
1つの設計において、基本グラフおよび/または基本行列に対して行/列置換が行われることが可能である。行/列置換は、場合によっては、行置換、列置換、または行置換かつ列置換である。行/列置換は、行重みも列重みも変えず、非ゼロの要素の数も変えない。したがって、行/列置換を行うことによって取得される基本グラフおよび/または基本行列には、システム性能に対する限定的な影響がある。全体として、行/列置換によるシステム性能に対する影響は受入れ可能であり、許容範囲内である。例えば、性能は、いくつかのシナリオにおいて、またはいくつかの範囲において許容範囲内で低下するが、いくつかのシナリオにおいて、またはいくつかの範囲において、性能は、ある程度まで改善し、全体的な性能は、あまり大きな影響を受けない。
【0079】
例えば、図3aにおける基本グラフ30aの行34および行36は交換されることが可能であり、列44および列45は交換されることが可能である。別の例として、部分行列Dは、行列FにおけるmD行を含む。行交換は、mD行に対して行われることはなく、また行交換は、mD行の1つまたは複数に対して行われることが可能である。部分行列Eは依然として対角構造のものであり、行交換または列交換は、部分行列Eに対して行われない。例えば、行交換は、行列Fにおける行27および行29に対して行われる。部分行列Dは、行列FにおけるmD行を含み、部分行列Eは依然として対角構造のものである。基本グラフまたは基本行列が部分行列Dを含む場合、コア行列に対して列交換が行われるとき、列交換は、それに対応して、部分行列Dに対して行われる必要があるということが理解されよう。
【0080】
図3b-1から図3b-8において示された行列は、図3aにおける基本グラフ30aに対応する基本行列の例である。図3aにおける基本グラフ30aにおける行iおよび列jにおける非ゼロの要素の位置は、図3b-1から図3b-8において示された行列におけるものと同じである。非ゼロの要素のシフト値はVi,jである。ゼロの要素は、基本行列において値-1またはnullとして表される。基本行列における部分行列Dの対応する部分は、基本行列のうちのいずれか1つにおける行7から行41におけるmD行を含むことができ、mDの値は、種々の符号レートに基づいて選択されることが可能である。基本グラフが、図3aにおける基本グラフ30aに対して行/列変換を適宜行うことによって取得される行列である場合、基本行列は、行/列変換を行うことによって取得される対応する行列である。
【0081】
可能な設計において、部分行列CおよびEの構造は比較的固定されているので、LDPC符号の基本グラフ/基本行列は、部分行列A、B、およびD、すなわち図3aまたは図3b-1から図3b-8において示された行列のいずれかにおける行0から行41および列0から列16を使用することによって表されることが可能である。
【0082】
可能な設計において、列14から列51は比較的明確な構造を有するので、LDPC符号の基本グラフ/基本行列は、図3aまたは図3b-1から図3b-8において示された行列のいずれかにおける行0から行41および列0から列13を使用することによって単純な形で表されることが可能である。
【0083】
可能な設計において、LDPC符号の基本グラフ/基本行列は、図3aまたは図3b-1から図3b-8において示された行列のいずれかにおける列14から列51のうちのいくつかに加えて、行0から行41および列0から列13を使用することによって表されることが可能である。例えば、LDPC符号の基本グラフ/基本行列は、図3aまたは図3b-1から図3b-8において示された行列のいずれかにおける行0から行41および列0から列15、または行0から行41および列0から列14を使用することによって表されることが可能である。
【0084】
可能な設計において、LDPC符号の基本行列は、図3b-1から図3b-8において示された行列のうちのいずれか1つにおける行0から行6および列0から列16を含むことができる。この場合、図3b-1から図3b-8において示された行列のうちのいずれか1つにおける行0から行6および列0から列16によって占められる行列は、基本行列のコア部分として使用されることが可能である。この設計において、LDPC符号の基本行列の、例えば部分行列C、D、およびEといった別の部分の構造は限定されない。例えば、図3b-1から図3b-8において示されたいずれかの構造、または別の行列設計が使用されることが可能である。
【0085】
別の可能な設計において、LDPC符号の基本行列は、図3b-1から図3b-8において示された行列のうちのいずれか1つにおける行0から行m-1および列0から列n-1によって占められる行列を含むことができ、ここで、7≦m≦42であり、mは整数であり、18≦n≦52であり、nは整数である。
【0086】
この設計において、LDPC符号の基本行列の別の部分の構造は限定されない。例えば、図3b-1から図3b-8において示されたいずれかの構造、または別の行列設計が使用されることが可能である。
【0087】
さらに別の可能な設計において、LDPC符号の基本行列は、図3b-1から図3b-8において示された行列3b-1から行列3b-8のうちのいずれか1つにおける行0から行6、および列0から列16のうちのいくつかの列を含むことができる。例えば、図3b-1から図3b-8において示された行列のコア部分(行0から行6および列0から列16)は、短縮(shortening)および/またはパンクチャ(puncturing)されることが可能である。1つの実装形態において、LDPC符号の基本行列は、短縮および/またはパンクチャされたビットに対応する列を含まなくてよい。
【0088】
この設計において、LDPC符号の基本行列の他の部分は限定されない。例えば、図3b-1から図3b-8において示された構造が使用されることが可能であり、他の構造が使用されることも可能である。
【0089】
さらに別の可能な設計において、LDPC符号の基本行列は、図3b-1から図3b-8において示された行列のうちのいずれか1つにおける行0から行m-1、および列0から列n-1のいくつかの列によって占められる行列を含むことができ、ここで、7≦m≦42であり、mは整数であり、18≦n≦52であり、nは整数である。例えば、図3b-1から図3b-8において示された行列のうちのいずれか1つの行0から行m-1および列0から列n-1に対して短縮動作および/またはパンクチャ動作が行われることが可能である。1つの実装形態において、LDPC符号の基本行列は、短縮(shortening)および/またはパンクチャ(puncturing)されたビットに対応する列を含まなくてよい。この設計において、LDPC符号の基本行列の他の部分は限定されない。例えば、図3b-1から図3b-8のいずれかにおいて示された構造が使用されることが可能であり、他の構造が使用されることも可能である。
【0090】
1つの実装形態において、短縮動作は、情報ビットを短縮することであってよい。図3b-1から図3b-8において示された行列のうちのいずれか1つを例として使用すると、列0から列9の1つまたは複数の列が短縮される。この場合、LDPC符号の基本行列は、図3b-1から図3b-8において示された行列のうちのいずれか1つにおける1つまたは複数の短縮された列を含まなくてよい。例えば、列9が短縮される場合、LDPC符号の基本行列は、図3b-1から図3b-8における行列のうちのいずれか1つにおける列0から列8および列10から列16を含むことができる。
【0091】
別の実装形態において、パンクチャ動作は、パリティビットをパンクチャすることであってよい。図3b-1から図3b-8において示された行列のうちのいずれか1つを例として使用すると、列10から列16の1つまたは複数の列がパンクチャされる。この場合、LDPC符号の基本行列は、図3b-1から図3b-8において示された行列のうちのいずれか1つにおける1つまたは複数のパンクチャされた列を含まなくてよい。例えば、列16がパンクチャされる場合、LDPC符号の基本行列は、図3b-1から図3b-8において示された行列のうちのいずれか1つにおける列0から列15を含むことができる。
【0092】
種々のブロック長をサポートするために、LDPC符号は、種々のリフティングファクタZを必要とする。可能な設計において、比較的高い性能を実現するために、種々のリフティングファクタに対して種々の基本行列が使用されることが可能である。例えば、リフティングファクタはZ=a×2jであり、ここで、0≦j<7、およびa∈{2,3,5,7,9,11,13,15}である。表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, 288, 320, 352, 384}を示す。一番上の行および一番左の列を除くセルのそれぞれは、対応するaおよびjの値に対応するZの値を表す。例えば、列a=2および行j=1について、Zは4である。別の例として、a=11およびj=3について、Zは88である。類推によって、詳細は説明されない。
【0093】
【表1】
【0094】
表1は、リフティングファクタセットを説明する形式を示しているにすぎないということが理解されよう。実際の製品の実装形態は、表1における形式に限定されず、リフティングファクタは、別の表現形式を有することができる。
【0095】
例えば、それぞれ、値は、リフティングファクタのセットに対応している。リフティングファクタセットは、セットされたインデックスによって識別されることが可能である。例えば、表1'は、リフティングファクタセットの別の表現形式を示している。
【0096】
【表1dash】
【0097】
基本グラフによってサポートされるリフティングファクタセットは、表1または表1'における全てのリフティングファクタまたはいくつかのリフティングファクタを含むことができる。例えば、リフティングファクタセットは、{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}であることが可能である。言い換えれば、Zは、24以上である。別の例として、リフティングファクタセットは、{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}と、{2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 20, 22}の1つまたは複数との和集合のセットであることが可能である。これは、本明細書における例にすぎないということに留意されたい。基本グラフによってサポートされるリフティングファクタセットは、aの値に基づいて異なるサブセットに分割されることが可能である。例えば、a=2である場合、リフティングファクタZのサブセットは、{2, 4, 8, 16, 32, 64, 128, 256}の1つまたは複数を含むことができ、別の例として、a=3である場合、リフティングファクタZのサブセットは、{3, 6, 12, 24, 48, 96, 192, 384}の1つまたは複数を含むことができる、などである。
【0098】
基本グラフによってサポートされるリフティングファクタセットは、aの異なる値に基づいて分割されることが可能であり、対応する基本行列が判断される。
【0099】
a=2、またはリフティングファクタZの値が、{2, 4, 8, 16, 32, 64, 128, 256}のうちの1つである場合、基本行列は、図3b-1から図3b-8において示された行列のうちのいずれか1つにおける行0から行6および列0から列16を含むことができ、または基本行列は、図3b-1において示された行列における行0から行m-1および列0から列n-1を含み、ここで、7≦m≦42であり、mは整数であり、17≦n≦52であり、nは整数であり、または基本行列は、図3b-1において示された行列における行0から行m-1、および列0から列n-1のいくつかの列を含み、ここで、7≦m≦42であり、mは整数であり、17≦n≦52であり、nは整数である。
【0100】
a=3、またはリフティングファクタZの値が、{3, 6, 12, 24, 48, 96, 192, 384}のうちの1つである場合、基本行列は、図3b-2において示された行列における行0から行6および列0から列16を含むことができ、または基本行列は、図3b-2において示された行列における行0から行m-1および列0から列n-1を含み、ここで、7≦m≦42であり、mは整数であり、17≦n≦52であり、nは整数であり、または基本行列は、図3b-2において示された行列における行0から行m-1、および列0から列n-1のいくつかの列を含み、ここで、7≦m≦42であり、mは整数であり、17≦n≦52であり、nは整数である。
【0101】
例えば、基本行列PCMは、図3b-2における行0から行41および列0から列13、または列0から列14、または列0から列15を含む。
【0102】
a=5、またはリフティングファクタZの値が、{5, 10, 20, 40, 80, 160, 320}のうちの1つである場合、基本行列は、図3b-3において示された行列における行0から行6および列0から列16を含むことができ、または基本行列は、図3b-3において示された行列における行0から行m-1および列0から列n-1を含み、ここで、7≦m≦42であり、mは整数であり、17≦n≦52であり、nは整数であり、または基本行列は、図3b-3において示された行列における行0から行m-1、および列0から列n-1のいくつかの列を含み、ここで、7≦m≦42であり、mは整数であり、17≦n≦52であり、nは整数である。
【0103】
a=7、またはリフティングファクタZの値が、{7、14、28、56、112、224}のうちの1つである場合、基本行列は、図3b-4において示された行列における行0から行6および列0から列16を含むことができ、または基本行列は、図3b-4において示された行列における行0から行m-1および列0から列n-1を含み、ここで、7≦m≦42であり、mは整数であり、17≦n≦52であり、nは整数であり、または基本行列は、図3b-4において示された行列における行0から行m-1、および列0から列n-1のいくつかの列を含み、ここで、7≦m≦42であり、mは整数であり、17≦n≦52であり、nは整数である。
【0104】
a=9、またはリフティングファクタZの値が、{9、18、36、72、144、288}のうちの1つである場合、基本行列は、図3b-5において示された行列における行0から行6および列0から列16を含むことができ、または基本行列は、図3b-5において示された行列における行0から行m-1および列0から列n-1を含み、ここで、7≦m≦42であり、mは整数であり、17≦n≦52であり、nは整数であり、または基本行列は、図3b-5において示された行列における行0から行m-1、および列0から列n-1のいくつかの列を含み、ここで、7≦m≦42であり、mは整数であり、17≦n≦52であり、nは整数である。
【0105】
a=11、またはリフティングファクタZの値が、{11、22、44、88、176、352}のうちの1つである場合、基本行列は、図3b-6において示された行列における行0から行6および列0から列16を含むことができ、または基本行列は、図3b-6において示された行列における行0から行m-1および列0から列n-1を含み、ここで、7≦m≦42であり、mは整数であり、17≦n≦52であり、nは整数であり、または基本行列は、図3b-6において示された行列における行0から行m-1、および列0から列n-1のいくつかの列を含み、ここで、7≦m≦42であり、mは整数であり、17≦n≦52であり、nは整数である。
【0106】
a=13、またはリフティングファクタZの値が、{13, 26, 52, 104, 208}のうちの1つである場合、基本行列は、図3b-7において示された行列における行0から行6および列0から列16を含むことができ、または基本行列は、図3b-7において示された行列における行0から行m-1および列0から列n-1を含み、ここで、7≦m≦42であり、mは整数であり、17≦n≦52であり、nは整数であり、または基本行列は、図3b-7において示された行列における行0から行m-1、および列0から列n-1のいくつかの列を含み、ここで、7≦m≦42であり、mは整数であり、17≦n≦52であり、nは整数である。
【0107】
a=15、またはリフティングファクタZの値が、{15, 30, 60, 120, 240}のうちの1つである場合、基本行列は、行列3b-8における行0から行6および列0から列16を含むことができ、または基本行列は、図3b-8において示された行列における行0から行m-1および列0から列n-1を含み、ここで、7≦m≦42であり、mは整数であり、17≦n≦52であり、nは整数であり、または基本行列は、図3b-8において示された行列における列0から列n-1のいくつかの列を含み、ここで、7≦m≦42であり、mは整数であり、17≦n≦52であり、nは整数である。
【0108】
任意選択として、LDPC符号のための基本行列について、1つまたは複数の列における非ゼロの要素のシフト値は、補償値Offsetsによって増加または減少させることが可能であり、システム性能にあまり大きな影響を及ぼさない。異なる列における非ゼロの要素の補償値は同じでも異なってもよい。例えば、行列における1つまたは複数の列を補償するために、異なる列に対する補償値は同じでも異なってもよい。これは、本出願において限定されない。
【0109】
システム性能にあまり大きな影響を及ぼさないことは、システム性能に対する影響が受入れ可能であり、許容範囲内であることを意味する。例えば、性能はいくつかのシナリオにおいて、またはいくつかの範囲において許容範囲内で低下する。しかし、いくつかのシナリオにおいて、またはいくつかの範囲において、性能は、ある程度まで改善する。全体的な性能は、あまり大きな影響を受けない。
【0110】
例えば、補償値Offsetsは、補償された行列Hsを取得するために、図3b-1から図3b-8において示された行列のうちのいずれか1つにおける列sにおける0以上の各シフト値に加算されるか、各シフト値から減算され、ここで、Offsetsは0以上の整数であり、sは、0以上かつ11未満の整数である。1つまたは複数の列に対する補償値Offsetsは同じでも異なってもよい。
【0111】
図4において示された性能図において、図3b-1および図3b-2において示された行列をエンコードする性能曲線に基づいて、水平座標は、情報ビットシーケンスの長さを表し、長さの単位はビットであり、垂直座標は、対応するBLERに到達するのに必要なシンボルの信号対雑音比(Es/N0)である。各符号レートの2つの線は、BLER0.01と0.0001という2つのケースに対応している。同じ符号レートにおいて、0.01は、上の方の曲線に対応しており、0.0001は、下の方の曲線に対応している。曲線が平らな場合、これは、異なるブロック長のケースにおいて、行列が比較的高い性能を有することを示す。
【0112】
図1から図3aおよび図3b-1から図3b-8は、LDPC符号に関する基本グラフおよび基本行列の構造を示す。本出願の実装形態における基本グラフおよび/または基本行列の設計を十分に説明するために、基本行列の構造は、システムによって識別されることが可能な別の形式、例えば、表形式で表されることが可能である。
【0113】
1つの設計において、図1における10aによって示された基本グラフは、7行および10列の行列であり、関連パラメータは、表2において表されることが可能である。
【0114】
【表2】
【0115】
基本グラフ10aにおける列14から列16は、列重みが1の列であり、列の位置は、比較的固定されているか、簡単に判断されるので、列14から列16における非ゼロの要素の位置は、表2において記録されなくてよいが、別の形式で記録されるということが理解されよう。
【0116】
1つの設計において、図3b-1から図3b-8において示された基本行列を例として使用すると、基本行列に関するパラメータは、表3b-1から表3b-8においてそれぞれ表されることが可能である。
【0117】
【表3b-1】
【0118】
【表3b-2】
【0119】
【表3b-3】
【0120】
【表3b-4】
【0121】
【表3b-5】
【0122】
【表3b-6】
【0123】
【表3b-7】
【0124】
【表3b-8】
【0125】
図3a図3b-1から図3b-8、表2、および表3b-1から表3b-8は、基本グラフおよび基本行列の設計の理解に役立てることを意図するものであり、基本グラフおよび基本行列の表現形式は、これらに限定されないということが理解されよう。他の可能な変形形態が含まれることも可能である。例えば、表3b-1および表3b-3から表3b-8の変形形態については、表3b-2'の形式に対して参照が行われることが可能である。比較的明確な構造を有し、シフト値0に対応している列14から列51などの列における要素についての情報は、テーブルに選択的に含まれてよく、またストレージ空間を節約するために、テーブルに含まれなくてもよい。
【0126】
1つの設計において、基本グラフまたは基本行列において比較的明確な構造を有する部分について、基本グラフまたは基本行列の非ゼロの要素の位置は、行/列位置に基づいて計算を通じて取得されることが可能であり、非ゼロの要素の位置は格納されなくてよい。図3b-2および表3b-2を例として使用すると、図3b-2において示された行列における列14から列51の位置は比較的明確であり、シフト値Vi,jは全て0である。非ゼロの要素の位置は、既知の非ゼロの要素に基づいて計算されることが可能である。表3b-2において、列14から列51についての情報は含まれなくてよく、または列14から列51のいくつかの列についての情報は含まれなくてよい。例えば、列16から列51における非ゼロの要素および対応する非ゼロの要素のシフト値は含まれなくてよい。例えば、図3b-2において示された行列は、代替として、表3b-2'において表されることが可能である。
【0127】
【表3b-2dash】
【0128】
別の例として、図3b-2を例として使用すると、行0におけるシフト値Vi,jも0であり、行0についての情報は格納されなくてよく、計算を通じて取得される。
【0129】
1つの実装形態において、表2、表3b-1から表3b-8、および表3b-2'におけるパラメータ「行重み」は、代替として、省略されることが可能である。行における非ゼロの要素の数は、行における非ゼロの要素がある列に基づいて知られることが可能である。したがって、行重みも知られる。
【0130】
1つの実装形態において、表2、表3b-1から表3b-8、および表3b-2'における「非ゼロの要素がある列」におけるパラメータ値は、非ゼロの要素がある列にパラメータ値がインデックスをつけられる場合、昇順に配置されなくてよい。その上、表2および表3b-1から表3b-8における「非ゼロの要素のシフト値」におけるパラメータ値は、「非ゼロの要素のシフト値」におけるパラメータ値が「非ゼロの要素の列インデックス」におけるパラメータ値と1対1の対応関係にある場合、列順に配置されなくてよい。
【0131】
1つの実装形態において、前述の異なる基本行列は、表現のために1つまたは複数のテーブルに組み合わされることが可能である。例えば、異なる基本行列に対応する非ゼロの要素は、同じ位置および同じ行番号を有するが、異なるシフト値Vi,jを有する。したがって、複数の基本行列は、行番号、非ゼロの要素がある列インデックス、および非ゼロの要素の複数のグループのシフト値を掲載することによって、1つのテーブルを使用することによって表されることが可能である。例えば、非ゼロの要素の2つのグループのシフト値は、異なる列において掲載されることが可能であり、インデックスを使用することによって示される。
【0132】
1つの実装形態において、基本グラフは、非ゼロの要素の位置を示すために使用されることが可能である。前述のテーブルにおいてパラメータ「非ゼロの要素の列インデックス」は、代替として、任意選択であることが可能である。
【0133】
1つの実装形態において、図3aおよび図3b-1から図3b-8において示された行列は、代替として、列番号(列インデックス)、非ゼロの要素がある行、および非ゼロの要素のシフト値を使用することによって表されることが可能である。任意選択として、列重みが含まれることが可能である。
【0134】
別の実装形態において、基本グラフまたは基本行列における各行または各列における1および0は、2進数とみなされてよく、10進数または16進数で2進数を格納することは、ストレージ空間を節約することができる。前述のいずれかの基本グラフまたは基本行列を例として使用すると、最初の14列または最初の17列における非ゼロの要素の位置は、16進数を使用することによって格納されることが可能である。例えば、行0における最初の14列が11110010011100である場合、行0における非ゼロの要素の位置は、0xF2および0x70として記録されることが可能である。すなわち、8列毎に16進数を形成する。最後の2列について、対応する16進数は、8ビットの整数倍に達するようにゼロを充填することによって取得されることが可能である。代替として、対応する16進数は、8ビットの整数倍に達するように最初の2列にゼロを充填することによって取得されることが可能である。他の行についても同様であり、詳細は本明細書において説明されない。
【0135】
図5は、データ処理プロセスの流れ図を示す。データ処理プロセスは、通信装置を使用することによって実行されることが可能である。通信装置は、基地局、端末、または通信チップ、もしくはエンコーダ/デコーダ、等などの他のエンティティであることが可能である。
【0136】
ブロック501:入力シーケンスを取得する。1つの実装形態において、エンコードのための入力シーケンスは、情報ビットシーケンス、充填された情報ビットシーケンス、またはCRCビットシーケンスを情報ビットシーケンスに追加することによって取得されるシーケンスであることが可能である。情報ビットシーケンスは、時には符号ブロック(code block)とも呼ばれ、例えば、トランスポートブロックに対して符号ブロックセグメンテーションを行うことによって取得される出力シーケンスであることが可能である。1つの実装形態において、デコードのための入力シーケンスは、LDPC符号の軟値シーケンスであることが可能である。
【0137】
ブロック502:LDPC行列に基づいて入力シーケンスをエンコード/デコードする。LDPC行列の基本行列は、前述の例において示されたいずれかの基本行列であることが可能である。
【0138】
1つの実装形態において、LDPC行列は、リフティングファクタZおよび基本行列に基づいて取得されることが可能である。
【0139】
1つの実装形態において、LDPC行列に関するパラメータが格納されることが可能である。パラメータは、以下の1つまたは複数を含む。
(a)前述の実装形態において掲載されたいずれかの基本行列を取得するために使用されるパラメータ。基本行列は、このパラメータに基づいて取得されることが可能である。例えば、パラメータは、行インデックス、行重み、列インデックス、列重み、(非ゼロの要素の行インデックス、または非ゼロの要素の列インデックスなどの)非ゼロの要素の位置、基本行列におけるシフト値、非ゼロの要素のシフト値および非ゼロの要素の対応する位置、補償値、リフティングファクタZ、基本グラフ、符号レート、ならびに同様のものうちの1つまたは複数であることが可能である、
(b)前述の実装形態において掲載されたいずれかの基本行列のうちの1つである基本行列、
(c)前述の実装形態において掲載されたいずれかの基本行列に対して少なくとも1つの列を補償することによって取得される補償行列Hs
(d)基本行列をリフティングすること(拡張すること)によって取得された、または基本行列の補償行列Hsからリフティングされた行列、
(e)前述の実装形態において掲載されたいずれかの基本行列または基本行列の補償行列Hsに対して行/列変換を行うことによって取得された基本行列、
(f)行/列変換された基本行列または基本行列の行/列変換された補償行列Hsをリフティングすることによって取得された行列、および
(g)前述の実装形態において掲載されたいずれかの基本行列または基本行列の補償行列Hsに対して短縮動作またはパンクチャ動作を行うことによって取得された基本行列。
【0140】
可能な実装形態において、低密度パリティチェック(LDPC)行列に基づいて入力シーケンスをエンコード/デコードすることは、以下の手法の1つまたは複数におけるエンコード/デコード処理の中で行われることが可能である。
i.前述の項目(a)において掲載されたパラメータのいくつかまたは全てに基づいて基本行列を取得し、その後、
取得した基本行列に基づいて情報をエンコード/デコードする、または
取得した基本行列に対して行/列変換を行うこと、および行/列変換した基本行列に基づいて情報をエンコード/デコードする、または
取得した基本行列の補償行列Hsに基づいて情報をエンコード/デコードする、または
基本行列の補償行列Hsに対して行/列変換を行うことによって取得された行列に基づいて情報をエンコード/デコードする。代替として、基本行列もしくは補償行列Hsに基づいて情報をエンコード/デコードすることは、基本行列もしくは基本行列の補償行列Hsからリフティングされた基本行列に基づいて情報をエンコード/デコードすることをさらに含むことができる、または
基本行列もしくは補償行列Hsに対して短縮動作もしくはパンクチャ動作を行うことによって取得された行列に基づいて情報をエンコード/デコードする。
ii.前述の項目(b)、(c)、(d)、または(e)に応じて格納された行列に基づいて情報をエンコード/デコードする。行列は、格納された基本行列、基本行列の補償行列Hs、基本行列に対して行/列変換を行うことによって取得された行列、または補償行列Hsに対して行/列変換を行うことによって取得された行列であることが可能である。代替として、格納された基本行列に対して行/列変換が行われ、行/列変換を行うことによって取得された行列に基づいてエンコード/デコードが行われる。本明細書において、任意選択として、基本行列または補償行列Hsに基づいてエンコード/デコードすることは、基本行列の拡散行列もしくは補償行列Hsの拡散行列に基づいてエンコード/デコードを行うこと、または基本行列もしくは補償行列Hsに対して短縮動作もしくはパンクチャ動作を行った後に取得された行列に基づいてエンコード/デコードを行うこと、をさらに含むことができる。
iii.前述の(d)、(f)、または(g)において説明された行列に基づいて情報をエンコード/デコードする。
【0141】
ブロック503:エンコード/デコードされたビットシーケンスを出力する。1つの設計において、入力シーケンスc={c0,c1,c2, ..., cK-1}は、出力シーケンスd={d0,d1,d2, ..., dN-1}を取得するためにエンコードされることが可能であり、ここで、KおよびNは、0より大きい整数である。出力シーケンスdは、入力シーケンスcにおけるK0個のビット、およびパリティチェックシーケンスwにおけるパリティビットを含み、ここで、K0は整数であり、0<K0≦Kである。パリティシーケンスwおよび入力シーケンスcは以下の公式を満たし、
【0142】
【数1】
【0143】
ここで、cT=[c0,c1,c2, ..., cK-1]Tは、入力シーケンスcにおけるビットによって形成されたベクトルの転置ベクトルであり、wT=[w0,w1,w2, ..., wN-K0-1]Tは、パリティシーケンスwにおけるビットによって形成されたベクトルの転置ベクトルであり、0Tは列ベクトルであり、0Tにおける全ての要素の値は0であり、Hは、低密度パリティチェック(LDPC)行列である。Hの基本グラフは、HBGおよびHBG,EXTを含む。
【0144】
【数2】
【0145】
ここで、
【0146】
【数3】
【0147】
は、サイズmc×ncの全てゼロの行列を表し、
【0148】
【数4】
【0149】
は、サイズnc×ncの単位行列を表し、HBGは、HBG2における情報ビットのKb列、およびHBG2における列10から列10+mA-1に対応する列を含み、ここで、HBG2における列の数は10+mAであり、4≦mA≦7であり、ここで、Kb∈{6,8,9,10}である。mc=7、および0≦nc≦35について、HBG2における列の数は17に等しく、またはmc=6、および0≦nc≦36について、HBG2における列の数は16に等しく、またはmc=5、および0≦nc≦37について、HBG2における列の数は15に等しく、またはmc=4、および0≦nc≦38について、HBG2における列の数は14に等しい。
【0150】
図6は、図5におけるブロック502に適用されることが可能なデータ処理プロセスの流れ図を示す。
【0151】
ブロック601:リフティングファクタZを取得する。可能な設計において、入力シーケンスを取得するために、情報ビットシーケンスに対して充填が行われることが可能である。入力シーケンスの長さは、K=Kb・Z、およびZ=K/Kbである。別の可能な設計において、情報ビットシーケンスにおいてパンクチャまたは短縮される必要があるビットが充填されることが可能である。言い換えれば、フィラービットは、エンコードした後、フィラービットが識別されることが可能になり、かつ送信されないように、パンクチャまたは短縮される必要があるビットを置き替えるために使用される。例えば、null値、値0、システムにおいて決定された値、または予め定義された値が、フィラービットの値として使用されることが可能である。1つの設計において、パンクチャされる必要があるビットは、充填せずにパンクチャされる。フィラービットは、情報ビットシーケンスの後に充填される。
【0152】
1つの実装形態において、リフティングファクタZは、入力シーケンスの長さKに基づいて判断されることが可能である。例えば、Kb・Z0≧Kを満たす最低値Z0は、サポートされるリフティングファクタセットにおける複数のリフティングファクタから判断されることが可能であり、リフティングファクタZの値として使用されることが可能である。可能な設計において、Kbは、LDPC符号の基本行列における情報ビットの列の数であることが可能である。図3aにおける基本グラフ30aについて、情報ビットの列の数はKbmax=10である。図3aにおける基本グラフ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}であることが想定される。入力シーケンスの長さがK=529ビットである場合、Zは26に等しい。入力シーケンスの長さがK=5000ビットである場合、Zは240に等しい。これは、本明細書における例にすぎず、これに限定されないということに留意されたい。
【0153】
別の例として、Kbの値は、Kの値と共に変化する可能性があるが、LDPC符号の基本行列における情報ビットの列の数を超過しない。例えば、Kbに対して異なる閾値がセットされることが可能である。
【0154】
1つの設計において、本明細書における閾値640、560、および192は例にすぎないということに留意されたい。代替として、システム設計要件に応じて別の値が設計されることが可能である。
if(K>640), Kb=10;
else if(K>560), Kb=9;
else if(K>192), Kb=8;
else Kb=6; end
【0155】
リフティングファクタZは、入力シーケンスの長さKに基づいて通信装置によって判断されることが可能であり、また別のエンティティ(例えば、プロセッサ)から通信装置によって取得されることも可能である。
【0156】
ブロック602:リフティングファクタおよび基本行列に基づいてLDPC行列を取得する。基本行列は、前述の実装形態において掲載されたいずれかの基本行列、上記で掲載されたいずれかの基本行列における少なくとも1つの列を補償することによって取得された補償行列、または上記で掲載されたいずれかの基本行列、もしくは補償行列の行順、列順、もしくは行順かつ列順に従って変換が行われた後に取得された基本行列である。基本行列の基本グラフは、少なくとも部分行列Aおよび部分行列Bを含む。任意選択として、基本グラフは、部分行列C、部分行列D、および部分行列Eをさらに含むことができる。部分行列の説明については、前述の実施形態における説明に対して参照が行われることが可能である。詳細は本明細書において再び説明されない。基本行列は、基本グラフおよびシフト値に基づいて取得されることが可能であり、前述の実装形態において掲載されたいずれかの格納された基本行列であることが可能であり、また前述の実装形態において掲載されたいずれかの基本行列の変形形態を通じて取得されることも可能である。
【0157】
可能な実装形態において、対応する基本行列は、リフティングファクタZに基づいて判断され、基本行列は、LDPC行列を取得するためにリフティングファクタZに基づいて交換される。
【0158】
1つの実装形態において、LDPC行列Hは、リフティングファクタと基本行列との間の対応関係に基づいて取得されることが可能である。例えば、対応する基本行列は、ブロック601において取得されたリフティングファクタZに基づいて判断される。
【0159】
例えば、Zが26に等しく、13に等しい場合、基本行列は、図3b-7において示された行列における行0から行6および列0から列16を含むことができ、または基本行列は、図3b-7において示された行列における行0から行6、および列0から列16のうちのいくつかの列を含む。さらに代替として、基本行列は、行列における行0から行m-1および列0から列n-1をさらに含み、ここで、7≦m≦42であり、mは整数であり、17≦n≦52であり、nは整数であり、または基本行列は、図3b-7において示された行列における行0から行m-1および列0から列n-1を含み、ここで、7≦m≦42であり、mは整数であり、17≦n≦52であり、nは整数である。基本行列は、LDPC行列を取得するためにリフティングファクタZに基づいて交換される。本明細書において、Z=26、a=13、および図3b-7において示された行列は、説明のための例として使用されるにすぎないということに留意されたい。これは、本明細書における例にすぎず、本出願はこれに限定されない。種々のリフティングファクタが種々の基本行列に結びつくということが理解されよう。
【0160】
可能な実装形態において、リフティングファクタと基本行列との間の対応関係は、表4において掲載されることが可能であり、リフティングファクタに対応する基本行列インデックスは、表4に基づいて判断される。可能な設計において、PCM1は、図3b-1において示された行列であることが可能であり、PCM2は、図3b-2において示された行列であることが可能であり、PCM3は、図3b-3において示された行列であることが可能であり、PCM4は、図3b-4において示された行列であることが可能であり、PCM5は、図3b-5において示された行列であることが可能であり、PCM6は、図3b-6において示された行列であり、PCM7は、図3b-7において示された行列であることが可能であり、PCM8は、図3b-8において示された行列であることが可能である。これは、本明細書における例にすぎず、これに限定されない。
【0161】
【表4】
【0162】
別の設計において、以下の手法が代替として使用されることが可能である。
【0163】
【表4A】
【0164】
さらに、可能な設計において、リフティングファクタZについて、基本行列における行iおよび列jにおける要素のPi,jは、以下の関係を満たすことが可能である。
【0165】
【数5】
【0166】
ここで、Vi,jは、リフティングファクタZが属すセットのための基本行列における行iおよび列jにおける要素のシフト値、またはリフティングファクタZが属すセットにおける最大リフティングファクタに対応する基本行列における行iおよび列jにおける非ゼロの要素のシフト値であることが可能である。
【0167】
例えば、Zは、13に等しい。Zに対応する基本行列における行iおよび列jにおける要素のPi,jは、以下を満たし、
【0168】
【数6】
【0169】
ここで、Vi,jは、PCM7、すなわち、図3b-7において示された行列における行iおよび列jにおける非ゼロの要素のシフト値である。Z=13について、13を法としてVi,jのモジュロ演算を行い、ここで、Vi,jは、図3b-7において示された行列における行iおよび列jにおける非ゼロの要素のシフト値である。これは、本明細書における例にすぎず、本出願はこれに限定されないということに留意されたい。
【0170】
ブロック603:LDPC行列に基づいて入力シーケンスをエンコード/デコードする。
【0171】
1つの実装形態において、エンコードのための入力シーケンスは、情報ビットシーケンスであることが可能である。別の実装形態において、デコードのための入力シーケンスは、LDPC符号の軟値シーケンスであることが可能であり、図5における関連説明に対して参照が行われることが可能である。入力シーケンスをエンコード/デコードするとき、LDPC行列Hは、Zに基づいて基本行列をリフティングすることによって取得されることが可能である。基本行列におけるPi,jを有する各非ゼロの要素について、サイズZ×Zの巡回置換行列hi,jを判断し、ここで、hi,jは、単位行列をPi,j回、円形シフトすることによって取得された巡回置換行列である。Pi,jを有する当該非ゼロの要素はhi,jで置き替えられ、基本行列HBにおけるゼロの要素は、パリティチェック行列Hを取得するためにサイズZ×Zの全てゼロの行列で置き替えられる。
【0172】
可能な実装形態において、LDPC符号の基本行列は、メモリに格納されることが可能である。通信装置は、入力シーケンスをエンコード/デコードするために、リフティングファクタZに対応するLDPC行列を取得する。
【0173】
可能な実装形態において、LDPC符号の複数の基本行列があるので、行列構造に基づいて基本行列が格納される場合、比較的大きいストレージ空間が占有される。代替として、LDPC符号の基本グラフは、メモリに格納されることが可能であり、各基本行列における非ゼロの要素のシフト値は、行毎にまたは列毎に格納され、その後、LDPC行列は、基本グラフ、およびリフティングファクタZと関連付けられた基本行列におけるシフト値に基づいて取得される。
【0174】
可能な実装形態において、各基本行列における非ゼロの要素のシフト値は、表2および表3b-1から表3b-8に応じて格納されることが可能である。LDPC行列のパラメータのように、LDPC行列のパラメータ「行重み」は任意選択であってよい。言い換えれば、パラメータ「行重み」は格納されても格納されなくてもよい。行における非ゼロの要素の数は、行における非ゼロの要素がある列に基づいて知られる。したがって、行重みも知られる。可能な実装形態において、表2および表3b-1から表3b-8における「非ゼロの要素の列インデックス」におけるパラメータ値は、代替として、非ゼロの要素がある列インデックスに対してパラメータ値がインデックスをつけられる限り、昇順に配置されなくてよい。その上、表2および表3b-1から表3b-8における「非ゼロの要素のシフト値」におけるパラメータ値は、代替として、「非ゼロの要素のシフト値」におけるパラメータ値が、「非ゼロの要素の列インデックス」におけるパラメータ値と1対1の対応関係にある限り、列インデックス順に配置されなくてよく、通信装置は、その行およびその列における非ゼロの要素のシフト値を知ることができる。例えば、1つの実装形態において、非ゼロの要素のシフト値は、列インデックスのパラメータ値、列重み、および非ゼロの要素の行インデックスか、ゼロの要素の行インデックスに応じて知られることが可能である。これは、表2および表3b-1から表3b-8における形式に類似しており、詳細は本明細書において再び説明されない。
【0175】
可能な実装形態において、LDPC行列の関連パラメータは、図5における関連説明を参照しながら格納されることが可能である。
【0176】
可能な実装形態において、LDPC行列の関連パラメータが格納されるとき、図3aおよび図3b-1から図3b-8における行列における全ての行が格納されるわけではなく、また表2および表3b-1から表3b-8における行列における全ての行が格納されるわけではなく、テーブルにおける対応する行によって示されるパラメータが、基本行列に含まれる行に基づいて格納されることが可能である。例えば、前述の実施形態において説明されたLDPC行列の基本行列に含まれる行および列によって占められる行列、または行および列によって占められる行列の関連パラメータが格納されることが可能である。
【0177】
例えば、図3b-1から図3b-8におけるいずれかの行列における行0から行6および列0から列16について、行0から行6および列0から列16によって占められる行列、ならびに/または行0から行6および列0から列16によって占められる行列の関連パラメータが格納されることが可能である。詳細については、表3b-1から表3b-8において掲載されたパラメータ、および前述の説明のうちのいくつかに対して参照が行われることが可能である。
【0178】
図3b-1から図3b-8におけるいずれかの行列における行0から行m-1および列0から列n-1について、ここで、7≦m≦42であり、mは整数であり、17≦n≦52であり、nは整数であり、行0から行m-1および列0から列n-1によって占められる行列、ならびに/または行0から行m-1および列0から列n-1によって占められる行列の関連パラメータが格納されることが可能である。詳細については、表3b-1から表3b-8において掲載されたパラメータおよび前述の説明のうちのいくつかに対して参照が行われることが可能である。
【0179】
可能な実装形態において、補償値Offsetsは、表2および表3b-1から表3b-8のうちのいずれか1つにおける「非ゼロの要素の列インデックス」によって示される、少なくとも1つの位置における0以上の各シフト値に加算されること、または各シフト値から減算されることが可能である。これは、本明細書における例にすぎず、これに限定されないということに留意されたい。
【0180】
図1を例として使用すると、1つの実装形態において、基本行列HBが判断された後、入力シーケンス、ならびに基本行列における行0から行3および列0から列9、すなわちHcore-dualに基づいて、列10から列15に対応するパリティビットが最初に取得されることが可能である。次に、列16、すなわち列重みが1の列に対応するパリティビットが、入力シーケンス、およびHcore-dualに対応するパリティビットに基づいて取得される。次に、エンコードを完了させるために、入力シーケンス、および列10から列16に対応するパリティビットに基づいて部分行列Dをエンコードすることによって、部分行列Eに対応するパリティビットが取得される。LDPC符号のエンコード処理について、前述の実装形態における説明に対して参照が行われることが可能である。詳細は本明細書において再び説明されない。
【0181】
1つの設計において、前述の部分502および部分603において、LDPC行列に基づいて入力シーケンスがエンコード/デコードされるとき、入力シーケンスは、リフティングファクタZに対応するLDPC行列Hを使用することによってエンコードされることが可能である。
【0182】
可能な実装形態において、LDPCエンコーディングは、以下の手法で実行されることが可能である。
【0183】
(1)エンコードされることになる入力シーケンスは、c={c0,c1,c2, ..., cK-1}と表され、入力シーケンスの長さcはKであり、エンコーダによって入力シーケンスcをエンコードすることによって取得される出力シーケンスは、d={d0,d1,d2, ..., dN-1}と表され、ここで、Kは、0より大きい整数であり、Kは、リフティングファクタZの整数倍であることが可能であり、入力シーケンスcのリフティングファクタは、ZまたはZcと表されることがあり、下付き文字cは、リフティングファクタが入力シーケンスcに関連付けられることを示す。任意選択として、本実装形態における他のパラメータは、下付き文字インデックスをつけられても、つけられなくてもよい。これは、パラメータの本質的な意味に影響を及ぼさない。当業者は、この意味を理解することができ、ここで、N=50Z、またはN=(40+Kb)・Zである。入力シーケンスの長さcはKであり、出力シーケンスdの長さはNであり、N個のビットの出力シーケンスは、入力シーケンスcにK0個のビット、およびパリティシーケンスwにN-K0個のパリティビットを含むことができ、ここで、K0は整数であり、0<K0≦Kである。パリティシーケンスwは、{w0,w1,w2, ..., wN-K0-1}と表されることが可能であり、パリティシーケンスwの長さはN-K0である。1つの設計において、p個のビルトインパンクチャ列をLDPC行列Hが含み、ここで、pは0以上の整数であり、p個のビルトインパンクチャ列は、エンコードに関与し/せず、例えば、p=2である場合、パリティシーケンスwの長さはN+2Zc-Kであり、パリティシーケンスwは、{w0,w1,w2, ..., wN+2Zc-K-1}と表されることが可能である。p個のビルトインパンクチャ列がエンコードに関与する場合、パリティシーケンスwの長さはN-Kであり、パリティシーケンスwは、{w0,w1,w2, ..., wN-K-1}と表されることが可能である。
【0184】
Kbの値については、前述の設計に対して参照が行われることが可能である。例えば、以下の通りである。
if(K>640), Kb=10;
else if(K>560), Kb=9;
else if(K>192), Kb=8;
else Kb=6;
end
【0185】
(2)PCMインデックス、またはビットセグメントの長さKに対応するリフティングファクタセットインデックスは、Zc=K/Kbに基づいて判断される。例えば、リフティングファクタZcは、表1および表2を参照しながら判断されることが可能である。
【0186】
(3)エンコードされたビットシーケンスd={d0,d1,d2, ..., dN-1}における最初のK-2Zc個のビットに値が割り当てられる。本明細書において、エンコードされることになるビットセグメントにおける最初の2Zc個のフィラービットはスキップされる必要があり、エンコードされることになるビットセグメントがフィラービットを含むことが考慮される必要がある。
【0187】
1つの実装形態において、値の割当ては、以下の手法で行われることが可能である。
for K=2Zc to K-1,
if ck≠<NULL>
dk-2Zc=ck;
else
ck=0;
dk-2Zc=<NULL>;
end if
end for
ここで、kはインデックス値であり、kは整数であり、<NULL>は、フィラービットを表し、この値は、0または他の所定の値であることが可能である。任意選択として、フィラービットは、送信されなくてよい。
【0188】
(4)パリティビットwは、パリティビットが以下の公式を満たすように生成される。
【0189】
【数7】
【0190】
公式(1)において、c=[c0,c1,c2、...,cK-1]Tであり、ここで、0は列ベクトルを表し、0における全ての要素の値はゼロである。行列Hは、LDPCチェック行列を表し、例えば、H=[H1 H2]といった、表現のための2つの部分H1およびH2に分割されることが可能である。c=[c0,c1,c2, ...,cK-1]Tは、入力シーケンスにおけるビットによって形成されたベクトルの転置ベクトルである。公式(1)におけるパリティビットwは、パリティシーケンスwにおけるビットによって形成されたベクトルの転置ベクトルである。例えば、N+2Zc-K個のパリティビットについて、w=[W0, W1, W2, ..., WN+2Zc-K-1]Tは、パリティシーケンス{W0, W1, W2, ..., WN+2Zc-K-1}におけるビットによって形成されたベクトルの転置ベクトルである。別の例として、N-K-1個のパリティビットについて、w=[W0, W1, W2, ..., WN-K-1]Tは、パリティシーケンス{W0, W1, W2, ..., WN-K-1}におけるビットによって形成されたベクトルの転置ベクトルである。公式(1)におけるHは、前述の実施形態において掲載されたLDPC行列のうちのいずれか1つである。
【0191】
1つの実装形態において、Hは、前述の実施形態において掲載されたいずれかの基本グラフ、およびZc×Zcの拡散行列に基づいて取得されることが可能である。基本グラフにおける各ゼロの要素は、サイズZc×Zcの全てゼロの行列で置き替えられる。基本グラフにおける値が1の要素(非ゼロの要素)は、要素のシフト値Pi,jに対応するZ*Zの巡回順列行列I(Pi,j)で置き替えられ、ここで、iおよびjは、要素の行インデックスおよび列インデックスを表す。巡回置換行列I(Pi,j)は、Pi,j回、右にまたは左にサイズZc×Zcの行列を円形シフトすることによって取得され、ここで、Pi,j=mod(Vi,j,Zc)であり、Vi,jは、基本行列内にあり、基本グラフにおける非ゼロの要素に対応しているシフト値である。
【0192】
1つの実装形態において、H1は、前述の実施形態において掲載された基本グラフまたは基本行列の部分A、B、およびD、すなわち、図3aおよび図3b-1から図3b-8における行10から行41および列0から列16であることが可能である。
【0193】
1つの実装形態において、H1は、前述の実施形態において掲載された基本グラフまたは基本行列の部分A、B、およびDにおけるいくつかの行およびいくつかの列、例えば、行0から行41および列0から列13、または行0から行41および列0から列14、または行0から行41および列0から列15、または行1から行41および列0から列13であることが可能である。
【0194】
1つの実装形態において、H1は、代替として、前述の実施形態において掲載された基本グラフまたは基本行列におけるm行およびn列、例えば、m=7およびn=35、またはm=4およびn=38、またはm=5およびn=37、またはm=6およびn=36であることが可能である。
【0195】
1つの実装形態において、Kbの値に基づいて、エンコーダの入力シーケンス長はKb×Zである。Kb<9である場合、行列H1における列{Kb,Kb+1、...,9}は除去され、その後、エンコードが行われる。
【0196】
1つの実装形態において、行列Hは、M行および(N+p・Z)列またはM行およびN列を含むことができ、Hの基本行列のサイズは、m=M/Z行、およびn=(N+p・Z)/Z列またはn=N/Z列である。
【0197】
1つの実装形態において、H2は、以下のように表されることが可能であり、
【0198】
【数8】
【0199】
ここで、0m×nは、m×nの全てゼロの行列(m行およびn列)を表し、例えば、7行および35列、または4行および38列、または5行および37列、または6行および36列を有することが可能であり、In×nは、n×n(n行およびn列)の行列を表し、例えば、35行および35列、または36行および36列、または37行および37列、または38行および38列を有することが可能である。
【0200】
1つの実装形態において、エンコードのために行列Hが使用されるとき、エンコードは、前述の説明された基本グラフまたは基本行列のうちのいずれか1つに基づいて行われることが可能であり、例えば、図3aまたは図3b-1から図3b-8における行列のうちのいずれか1つにおける行0から行41および列0から列16の行列に基づいて行われることが可能であり、または図3aまたは図3b-1から図3b-8における行列のうちのいずれか1つにおける行0から行41および列0から列13の行列に基づいて行われることが可能である。
【0201】
1つの設計において、Kb∈{6,8,9}について、行列Hは、上述のいずれかの基本的な行列または基本的な行列から列{Kb,Kb+1,...,9}が除去(removing)された後に取得された行列であることが可能であり、Kb=10について、行列Hは、上述のいずれかの基本グラフまたは基本行列であることが可能である。
【0202】
行列Hにおけるシフト値Vi,jは、図3b-1から図3b-8、または表3b-1から表3b-8および表3b-2'、または上述のいずれかの手法に基づいて取得されることが可能である。時にはリフティングファクタセットインデックスとみなされるチェック行列のインデックスに基づいて、対応するチェック行列が判断されることが可能であり、このことにより、対応するシフト値Vi,jが取得される。
【0203】
1つの設計において、Hは、p個のビルトインパンクチャ列を含み、ここで、pは、0以上の整数であり、p個のビルトインパンクチャ列は、エンコードに関与する/しない。例えば、pは2に等しく、パリティシーケンスwの長さは、N+2Zc-Kである。p個のビルトインパンクチャ列がエンコードに関与する場合、パリティシーケンスwの長さはN-Kである。
【0204】
1つの設計において、0m×nは、前述の実施形態における、部分行列C、部分行列Cに部分行列Bにおける最終列を加えたもの、部分行列Cに部分行列Bの最後の2列を加えたもの、または部分行列Cに部分行列Bの最後の3列を加えたものであることが可能である。
【0205】
In×nは、前述の実施形態における、部分行列E、部分行列Eに部分行列Bおよび部分行列Dのそれぞれにおける最終列を加えたもの、部分行列Eに部分行列Bおよび部分行列Dのそれぞれの最後の2列を加えたもの、または部分行列Eに部分行列Bおよび部分行列Dのそれぞれの最後の3列を加えたものであることが可能である。
【0206】
(5)任意選択として、k=KからN+2Zc-1について、dk-2Zc=wk-Kである。
【0207】
前述の実装形態において、エンコーダは、複数の手法でエンコードおよび出力を行うことができる。前述の実施形態において掲載された図3aおよび図3b-1から図3b-8において示された基本グラフまたは基本行列のうちのいずれか1つが、下記において説明のために例として使用される。基本グラフは、最大42行および最大52列を有し、2つのビルトインパンクチャ列を含む。説明を容易にするために、本出願において、最大数の行および最大数の列を有する基本グラフ/基本行列は、時には完全基本グラフまたは完全基本行列と呼ばれる。完全基本グラフ/完全基本行列から2つのビルトインパンクチャ列を除去することによって取得された基本グラフ/基本行列は、ビルトインパンクチャ列を含まない完全基本グラフ/完全基本行列と呼ばれる。
【0208】
手法1
エンコードは、できるだけ多くのパリティビットを取得するために、完全基本グラフ/完全基本行列、またはビルトインパンクチャ列を含まない完全基本グラフ/完全基本行列、に基づいて行われる。この場合、mは42に等しい。ビルトインパンクチャ列がエンコードに関与する場合、nは52に等しく、すなわち、図3aおよび図3b-1から図3b-8における行列のうちのいずれか1つにおける行0から行41および列0から列51である。ビルトインパンクチャ列がエンコードに関与しない場合、nは51に等しく、すなわち、行0から行41および列2から列51である。それに対応して、LDPC行列Hについて、Mは41Zに等しく、Nは52Zまたは51Zに等しい。その後の処理プロセスにおいて、送信される必要がある情報ビットおよびパリティビットは、エンコーダによって生成された出力シーケンスから判断されることが可能である。
【0209】
手法2
エンコードは、完全基本グラフのいくつかの行および列に基づいて行われる。行および列は、完全基本グラフ、またはビルトインパンクチャ列を含まない完全基本グラフから、ならびにエンコードのために情報ビットおよびパリティビット、または同様のものを送信するために使用される必要がある符号レートに基づいて、選択されることが可能である。例えば、符号レートは2/3であり、mは7に等しい。ビルトインパンクチャ列がエンコードに関与する場合、nは17に等しい。具体的には、エンコードは、図3aおよび図3b-1から図3b-8におけるいずれかの行列における行0から行6および列0から列16のうちのいくつかに基づいて行われる。ビルトインパンクチャ列がエンコードに関与する場合、nは15に等しく、すなわち、図3aおよび図3b-1から図3b-8におけるいずれかの行列における行0から行6および列2から列16である。
【0210】
可能な設計において、上記において掲載された図3aおよび図3b-1から図3b-8におけるいずれかの行列における列14から列51は、列重みが1の列であり、コア行列における列重みが1の列の1つまたは複数はパンクチャされることが可能である。コア行列における1つまたは複数の対応する列は、図3aおよび図3b-1から図3b-8におけるいずれかの行列における行0から行6および列0から列15のうちのいくつかに基づいてエンコードされることが可能であり、ここで、例えば、mは6であり、nは16であり、ビルトインパンクチャ列はエンコードに関与する。1つの実装形態において、ビルトインパンクチャ列は、代替として、より高い符号レートが取得されることが可能になるように、エンコードに関与しなくてよい。
【0211】
前述は、行列Hの原理を説明しているということに留意されたい。本出願の本実施形態において提供される解決策は、生成されたパリティビットが公式(1)を満たす場合、行列Hの様々な変換に基づいて実行されることが可能である。
【0212】
可能な実装形態は、使用される前に準巡回(QC)拡張が行列Hに対して行われるというものである。別の可能な実装形態において、行列Hの使用処理において、現在の処理されることになる要素に対応する部分に対して準巡回(QC)拡張が行われる。
【0213】
可能な実装形態は、(シフト値を計算すると)、使用処理において行列Hはリフティングされないが、行列の行と列との間の接続関係を計算するために、展開可能な等価公式のための方法が使用されるというものである。
【0214】
可能な実装形態は、行列Hがリフティングされなくてよいというものである。エンコード処理において、処理されることになる各要素について、要素のシフト値に基づいて、要素に対応するエンコードされることになるビットセグメントに対してシフト演算が行われる。次に、シフト演算が行われる全てのビットセグメントに対してエンコード演算が行われる。
【0215】
可能な実装形態において、基本行列は、基本グラフを使用することなく、基本行列PCMを予め定義すること、またはシステムによって基本行列PCMを定義することによって取得されることが可能である。例えば、LDPC行列は、図3b-1から図3b-8において示された基本行列に基づいて取得されることが可能であり、またLDPC行列は、対応する表3b-1から表3b-8に基づいて取得されることが可能である。
【0216】
1つの実行処理において、伝送エンドまたは受信エンドは、完全行列、すなわち、A、B、C、D、およびEの全てを格納することが可能である。代替として、完全行列は、ストレージ空間を節約するために格納されなくてよい。例えば、エンコード/デコードは、完全行列の一部だけを格納することによって実行されることが可能であり、または行列に対応するパラメータが格納される必要がある。完全行列が格納される方法と比較して、行列の一部だけを格納することは、コーデックにおけるストレージデバイスのオーバヘッドを低減することができる。詳細については、前述の実施形態における説明に対して参照が行われることが可能である。
【0217】
例えば、1つの実装形態において、行列における部分A、B、およびDが格納されるか、部分A、B、およびDは、列重みが1の部分を含まない。実際のエンコード/デコード処理において、部分CおよびEの値または列重みが1の部分の値は、公式を使用することによって計算される。具体的には、元の完全行列における最初の17列または最初の14列だけが格納される。部分Cは全てゼロの行列であり、取得されることが可能であるので、また部分Eは単位行列なので、部分Eにおける非ゼロの要素の位置について、現在処理されている行の番号に基づいて、対応する列インデックスが、計算を通じて取得されることが可能である。例えば、現在処理されている行が行18のとき、部分Eに対応する非ゼロの要素は列28にあり、現在処理されている行が行19のとき、部分Eに対応する非ゼロの要素は列29にある、などである。部分Eにおける全て非ゼロの要素の位置が計算を通じて取得される場合、計算結果は格納されてよく、または格納されなくてもよい。非ゼロの要素の位置は、対応する行および列が、エンコード処理またはデコード処理において計算されるときに取得されることが可能である。
【0218】
別の実装形態において、元の完全行列における最初の14列が格納される。行列の右側の格納されない部分において、格納されない部分における非ゼロの要素の位置は、計算を通じて取得されることが可能である。例えば、現在処理されている行が行4のとき、格納部分に対応する非ゼロの要素は列14にあり、現在処理されている行が行5のとき、格納部分に対応する非ゼロの要素は列15にある、などである。行列における格納されない部分における全て非ゼロの要素の位置が計算を通じて取得されるとき、計算結果は格納されてよく、また格納されなくてもよい。非ゼロの要素の位置は、対応する行および列がエンコード処理またはデコード処理において計算されるときに取得されることが可能である。
【0219】
別の実装形態において、元の完全行列における最初の14+x列が格納される。行列の右側の非格納部分において、最初の4行は全てゼロの行列であり、他の部分は単位行列であり、格納されない部分における非ゼロの要素の位置は、計算を通じて取得されることが可能である。例えば、現在処理されている行が行3+xのとき、格納されない部分に対応する非ゼロの要素は列(14+x)zにあり、現在処理されている行が行(3+x)+1のとき、部分Eに対応する非ゼロの要素は列(14+x)z+1にある、などである。行列における格納されない部分における全て非ゼロの要素の位置が計算を通じて取得されるとき、計算結果は格納されることが可能である。代替として、計算結果は格納されなくてよく、非ゼロの要素の位置は、対応する行および列をエンコードまたはデコードするときに計算されることが可能である。
【0220】
さらに別の実装形態において、シフト行列が格納されているとき、シフト行列に記録された値が格納されることが可能であり、または本出願において説明されたシフト行列における値に対して単純な数学変換が行われた後に取得された値が格納されることが可能である。
【0221】
1つの実装形態において、シフト行列における値は変換され、その後、格納される。変換中、変換は、現在のシフト行列における第1の行からスタートして行毎に行われる。全てゼロの行列を表す要素(例えば、-1)のケースにおいて、要素は、変換されずに格納される。非ゼロの行列を表し、列における非ゼロの行列を表す第1の要素(非負の要素)である、要素(非負の要素)のケースにおいて、要素は、変換されずに格納される。非ゼロの要素行列を表し、列における非ゼロの行列を表す第1の要素(非負の要素)ではない、要素(非負の要素)のケースにおいて、同じ列における非ゼロの行列を表す非負の要素と以前の要素との間の相違が格納される。相違が正である場合、これは、右にシフトすることを示す。相違が負の場合、これは、左にシフトすることを示す。
【0222】
類似の変換は、シフト行列における第1の行からスタートして行われなくてよく、任意の行からスタートして行われてよいということに留意されたい。行列における最終行に対して類似の変換が行われた後、変換は、第1の行からスタートして行われ続ける。さらに、このような相違格納手法は、種々のリフティングファクタZに基づいて変化することが可能である。実際のシフト値がPi,j=mod(Vi,j,Zc)に応じて計算され、その後、相違が計算される。
【0223】
エンコード/デコード処理において、変換前のシフト値は、同じ列における以前の要素の値に基づいて、回帰計算を通じて復元されることが可能である。代替として、エンコードおよびデコードを行うために、相対シフト値が使用されることが可能である。
【0224】
1つの実装形態において、シフト行列における値Vi,jは変換され、その後、格納されることが可能である。変換演算処理において、行列における全てゼロの行列を表す全ての要素の位置および値(例えば、-1)は変化しないままである。非ゼロの行列を表す要素(非負の要素)について、要素の元の値がVi,jであると仮定すると、変換された値は、(z-Vi,j) mod zである。実際のエンコード/デコード処理において、通常のエンコードおよびデコードを実行するために、変換されたシフト値に基づいて単位行列に対して(本来、右シフト演算である)左シフト演算が行われる。
【0225】
1つの実装形態において、シフト値の行列における値Vi,jは変換され、その後、格納される。変換演算処理において、元の10進法のシフト値は、2進法、8進法、または16進法などの別の基数における数字に変換される。エンコード/デコード処理において、変換されたシフト値の行列が復元のために選ばれることが可能であり、その後、エンコード/デコードされる。代替として、変換されたシフト値の行列は、エンコード/デコードのために直接使用されることが可能である。
【0226】
1つの実装形態において、エンコーダ側はチェック行列を格納しないが、エンコードのために、場合によっては必要な生成行列を格納する。エンコードされることになるビットセグメントは、c={c0,c1,c2,c3,...,cK-1}であり、エンコードされたビットセグメントは、d={d0,d1,d2,...,dN-1}であるということが想定される。生成行列Gは、d=c・Gを満たす。
生成行列は、行列Hを変換することによって取得されることが可能である。行列Hの右側は、行/列変換を通じて対角行列の形式に変換されることが可能であり、以下のように表されることが可能である。
H=[P I] (2)
この場合、対応する生成行列Gは以下を満たす。
G=[I PT] (3)
チェック行列Hは、前述の実施形態におけるパリティ行列もしくは基本行列のうちのいずれか1つ、またはLDPC行列であることが可能である。エンコード中、エンコードされたビットセグメントd={d0,d1,d2,...dN-1}は、格納された生成行列Gを使用することによってエンコードされることになるビットセグメントc={c0,c1,c2,c3,...,cK-1}に基づいて計算されることが可能である。
【0227】
1つの実装形態において、エンコード中、行列の2つの対角部分について、前述の手法のうちのいずれか1つで、または複数の重ね合わされた行を有する行列を格納するための方法を使用することによって、エンコードが行われることが可能である。
【0228】
1つの実装形態において、各リフティングファクタZに対応するシフト行列は、Pi,j=mod(Vi,j,Zc)に基づいて計算されることが可能であり、その後、51個のリフティングファクタに対応する行列が、エンコード/デコードのために全て格納される。
【0229】
任意選択として、通信システムにおいて、LDPC符号を取得するために、前述の方法を使用することによってエンコードが行われることが可能である。LDPC符号が取得された後、通信装置は、LDPC符号に対してレートマッチングを行うこと、インターリーブする解決策に応じて、レートマッチングが行われたLDPC符号をインターリーブすること、変調方式に応じて、インターリーブされたLDPC符号を変調し、ビットシーケンスXを取得すること、およびビットシーケンスXを送信すること、という1つまたは複数の動作をさらに行うことができる。
【0230】
デコードは、エンコードの反転処理である。デコード中に使用される基本行列、およびエンコード中に使用される基本行列は、同じ特性を有する。LDPC符号のエンコード処理について、前述の実装形態における説明に対して参照が行われることが可能である。詳細は本明細書において再び説明されない。1つの実装形態において、デコードの前に通信装置は、LDPCエンコーディングに基づく情報を含む信号を受信すること、信号を復調すること、デインターリーブおよびレートデマッチングを行い、LDPC符号の軟値シーケンスを取得すること、ならびにLDPC符号の軟値シーケンスをデコードすること、という1つまたは複数の動作をさらに行うことができる。代替として、完全基本グラフ、ビルトインパンクチャ列を含まない完全基本グラフ、または完全基本グラフのいくつかの行および列に基づいてデコードが行われることが可能である。
【0231】
本出願における「ストレージ」は、1つまたは複数のメモリにおけるストレージであることが可能である。1つもしくは複数のメモリは別々に配置されることが可能であり、またはエンコーダ、デコーダ、プロセッサ、チップ、通信装置、または端末に統合されることも可能である。代替として、1つもしくは複数のメモリのうちのいくつかは別々に配置されることが可能であり、またはデコーダ、プロセッサ、チップ、通信装置、または端末に統合されることも可能である。メモリは、任意の形式のストレージ媒体であることが可能である。これは、本出願において限定されない。
【0232】
図5および図6において説明されたデータ処理プロセスの設計に対応して、本出願の実施形態は、対応する通信装置をさらに提供する。通信装置は、図5または図6における各部分を行うように構成された対応するモジュールを含む。モジュールは、ソフトウェア、ハードウェア、またはソフトウェアとハードウェアの組合せであることが可能である。例えば、モジュールは、メモリ、電子デバイス、電子構成要素、ロジック回路、またはこれらの任意の組合せを含むことができる。図7は、通信装置700の概略構造図である。装置700は、前述の方法の実施形態において説明された方法を実行するように構成されることが可能である。詳細については、前述の方法の実施形態における説明に対して参照が行われることが可能である。通信装置700は、チップ、基地局、端末、または別のネットワークデバイスであることが可能である。
【0233】
通信装置700は、1つまたは複数のプロセッサ701を含む。プロセッサ701は、汎用プロセッサまたは専用プロセッサ、例えば、ベースバンドプロセッサまたは中央処理装置であることが可能である。ベースバンドプロセッサは、通信プロトコルおよび通信データを処理するように構成されることが可能である。中央処理装置は、ソフトウェアプログラムを実行して、ソフトウェアプログラムにおけるデータを処理するために、通信装置(例えば、基地局、端末、またはチップ)を制御するように構成されることが可能である。
【0234】
可能な設計において、図5および図6における1つまたは複数のモジュールは、1つもしくは複数のプロセッサによって、または1つもしくは複数のプロセッサおよびメモリによって実行されることが可能である。
【0235】
可能な設計において、通信装置700は、1つまたは複数のプロセッサ701を含む。1つまたは複数のプロセッサ701は、エンコード/デコード機能を実行することができる。例えば、通信装置は、エンコーダまたはデコーダであることが可能である。別の可能な設計において、プロセッサ701は、エンコード/デコード機能に加えて他の機能を実行することができる。
【0236】
通信装置700は、LDPC行列に基づいて入力シーケンスをエンコード/デコードする。LDPC行列の基本行列は、前述の例におけるいずれかの基本行列、上記において掲載されたいずれかの基本行列における行順、列順、もしくは行順かつ列順に従って変換を行うことによって取得された基本行列、上記において掲載されたいずれかの基本行列に基づいて短縮もしくはパンクチャすることによって取得された基本行列、または上記において掲載されたいずれかの基本行列の拡散を通じて取得された行列であることが可能である。エンコード/デコード処理については、図5および図6における関連部分の説明に対して参照が行われることが可能である。詳細は本明細書において再び説明されない。
【0237】
任意選択として、1つの設計において、プロセッサ701は、1つまたは複数の命令703(または時にはコードもしくはプログラムと呼ばれる)を含むことができる。命令は、前述の実施形態において説明された方法を通信装置700が行うように、プロセッサにおいて動かすことが可能である。別の可能な設計において、通信装置700は、回路をさらに含むことができる。回路は、前述の実施形態におけるエンコード/デコード機能を実行することができる。
【0238】
任意選択として、1つの設計において、通信装置700は、1つまたは複数のメモリ702を含むことができる。メモリ702は、1つまたは複数の命令704を格納する。命令は、前述の方法の実施形態において説明された方法を通信装置700が行うように、プロセッサにおいて動かすことが可能である。
【0239】
任意選択として、メモリは、データをさらに格納することができる。任意選択として、プロセッサは、1つまたは複数の命令および/またはデータをさらに格納することができる。プロセッサおよびメモリは別々に配置されることが可能であり、または互いに統合されることが可能である。
【0240】
任意選択として、前述の実施形態における「ストレージ」は、メモリ702におけるストレージであることが可能であり、または別の外部メモリまたはストレージデバイスおけるストレージであることが可能である。
【0241】
例えば、1つまたは複数のメモリ702は、例えば、シフト値、基本グラフ、基本グラフに基づく行列の拡散、基本行列における各行、リフティングファクタ、基本行列、または基本行列に基づく行列の拡散などの、基本行列に関するパラメータといった、上記において掲載されたLDPC行列に関するパラメータを格納することができる。詳細については、図5における部分における関連説明に対して参照が行われることが可能である。
【0242】
任意選択として、通信装置700は、トランシーバ705およびアンテナ706をさらに含むことができる。プロセッサ701は、処理ユニットと呼ばれることがあり、通信装置(端末または基地局)を制御する。トランシーバ505は、トランシーバユニット、トランシーバ回路、または同様のものと呼ばれることがあり、アンテナ506を使用することによって通信装置700の送信機能および受信機能を実行するように構成される。
【0243】
任意選択として、通信装置700は、トランスポートブロックCRCの生成のためのデバイス、符号ブロックセグメンテーションおよびCRCチェックのためのデバイス、インターリーブのためのインターリーバ、レートマッチングのためのデバイス、変調処理のためのモジュレータ、または同様のものをさらに含むことができる。これらのデバイスの機能は、1つまたは複数のプロセッサ701を使用することによって実行されることが可能である。
【0244】
任意選択として、通信装置700は、復調動作ためのデモジュレータ、デインターリーブのためのデインターリーバ、レートデマッチングのためのデバイス、符号ブロックコンケートネーションおよびCRCチェックのためのデバイス、または同様のものをさらに含むことができる。これらのデバイスの機能は、1つまたは複数のプロセッサ701を使用することによって実行されることが可能である。
【0245】
図8は、通信システム800の概略図である。通信システム800は、通信デバイス80および通信デバイス81を含む。情報データは、通信デバイス80と通信デバイス81との間で受信および送信される。通信デバイス80および通信デバイス81は、通信装置700であることが可能であり、または通信デバイス80および通信デバイス81はそれぞれ、通信装置700を含み、情報データを受信および/または送信する。例において、通信デバイス80は端末であることが可能であり、対応する通信デバイス81は基地局であることが可能である。別の例において、通信デバイス80は基地局であることが可能であり、対応する通信デバイス81は端末であることが可能である。
【0246】
電子ハードウェア、コンピュータソフトウェア、またはこれらの組合せによって、様々な例証的な論理ブロック(illustrative logical block)およびステップ(step)が実行されることが可能であるということが当業者によってさらに理解される。ハードウェアまたはソフトウェアによってこのような機能が実行されるかどうかは、システム全体の特定の用途および設計要件に依存する。それぞれの特定の用途について、機能を実行するために様々な方法が使用されることが可能である。しかし、このような実装形態は、本出願の実施形態の保護範囲を超えるものとして解釈されるべきではない。
【0247】
本出願において説明された技術は、様々な手法で実行されることが可能である。例えば、技術は、ハードウェア、ソフトウェア、またはこれらの組合せによって実行されることが可能である。ハードウェアによる実行について、通信装置(例えば、基地局、端末、ネットワークエンティティ、またはチップ)において技術を実行するように構成された処理ユニットは、1つまたは複数の汎用プロセッサ、デジタルシグナルプロセッサ(DSP)、デジタル信号処理デバイス(DSPD)、特定用途向け集積回路(ASIC)、プログラマブルロジックデバイス(PLD)、フィールドプログラマブルゲートアレイ(FPGA)、別のプログラマブルロジック装置、ディスクリートゲート、トランジスタロジック、ディスクリートハードウェア構成要素、またはこれらの任意の組合せにおいて実行されることが可能である。汎用プロセッサは、マイクロプロセッサであることが可能である。任意選択として、汎用プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、またはステータスマシンであることが可能である。プロセッサは、例えば、デジタルシグナルプロセッサおよびマイクロプロセッサ、複数のマイクロプロセッサ、デジタルシグナルプロセッサコアと組み合わされた1つもしくは複数のマイクロプロセッサ、または他の任意の類似の構成といった、計算装置の組合せを使用することによって実行されることが可能である。
【0248】
本出願の実施形態において説明された方法またはアルゴリズムのステップは、ハードウェア、プロセッサによって実行される1つもしくは複数の命令、またはこれらの組合せに直接組み込まれることが可能である。メモリは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、取外し可能ディスク、CD-ROM、または当技術分野におけるストレージ媒体の他のいずれかの形式であることが可能である。例えば、メモリは、プロセッサがメモリから情報を読み出し、メモリに情報を格納し、書き込めるように、プロセッサに接続されることが可能である。任意選択として、メモリは、プロセッサに統合されることが可能である。プロセッサおよびメモリはASICに配置されることが可能であり、ASICは、端末または基地局または他のネットワークデバイスに配置されることが可能である。任意選択として、プロセッサおよびメモリは、端末または基地局または他のネットワークデバイスの種々の構成要素に配置されることが可能である。
【0249】
前述の実装形態の説明により、本出願は、ハードウェア、ファームウェア、またはこれらの組合せによって実行されることが可能であるということを当業者は明確に理解できるであろう。ソフトウェアプログラムによって本出願が実行されるとき、本出願は、コンピュータプログラム製品の形式で完全にまたは部分的に実行されることが可能であり、ここで、コンピュータプログラム製品は、1つまたは複数のコンピュータ命令を含む。コンピュータ命令がロードされて実行されるとき、本出願の実施形態による手順または機能は全てまたは部分的に生成される。ソフトウェアプログラムによって本出願が実行されるとき、前述の機能は、代替として、コンピュータ可読媒体に格納されるか、コンピュータ可読媒体における1つまたは複数の命令またはコードとして伝送されることが可能である。コンピュータは、汎用コンピュータ、専用コンピュータ、コンピュータネットワーク、または別のプログラム可能装置であることが可能である。コンピュータ命令は、コンピュータ可読ストレージ媒体に格納されることが可能であり、またはコンピュータ可読ストレージ媒体から別のコンピュータ可読ストレージ媒体に伝送されることも可能である。コンピュータ可読媒体はコンピュータストレージ媒体および通信媒体を含み、ここで、通信媒体は、コンピュータプログラムが1つの場所から別の場所へ伝送されることを可能にする任意の媒体を含む。ストレージ媒体は、コンピュータによってアクセスされることが可能な任意の利用可能な媒体であることが可能である。以下は例を示すが、何らかの制限を課すものではない。コンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROM、または別の光ディスクストレージもしくはディスクストレージ媒体、別の磁気ストレージデバイス、または命令もしくはデータ構造の形式で、予期されるプログラムコードを搬送するか格納することができ、コンピュータによってアクセスされることが可能な他の任意の媒体を含むことができる。さらに、任意の接続が、コンピュータ可読媒体として適切に定義されることが可能である。例えば、同軸ケーブル、光ファイバ/ケーブル、ツイストペア、デジタル加入者線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用することによって、ウェブサイト、サーバ、または別のリモートのソースからソフトウェアが伝送される場合、同軸ケーブル、光ファイバ/ケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、これらの技術が属す媒体の定義に含まれる。例えば、本出願によって使用されるディスク(disk)およびディスク(disc)は、コンパクトディスク(CD)、レーザディスク、光ディスク、デジタル多用途ディスク(DVD)、フロッピーディスク、およびブルーレイディスクを含み、ここで、ディスク(disk)は一般に磁気的にデータを複製し、ディスク(disc)は、レーザを使用することによって光学的にデータを複製する。前述の組合せも、コンピュータ可読媒体の保護範囲に含まれるべきである。
【0250】
本出願における「/」は、および/またはを表すということに留意されたい。例えば、「エンコード/デコードすること(エンコードすることおよび/またはデコードすること)」は、エンコードすること、デコードすること、またはエンコードすることおよびデコードすることを意味する。
以下の実施形態が提供される。
実施形態1:低密度パリティチェック(LDPC)行列に基づいて入力シーケンスをエンコードするステップ
を含み、
LDPC行列が、リフティングファクタZおよび基本行列に基づいて取得され、基本行列が、図3b-1から図3b-8において示された行列のうちのいずれか1つにおける行0から行6および列0から列16を含み、または基本行列が、図3b-1から図3b-8において示された行列のうちのいずれか1つにおける行0から行6、および列0から列16のうちのいくつかの列を含む、
エンコード方法。
実施形態2:低密度パリティチェック(LDPC)行列に基づいて入力シーケンスをデコードするステップ
を含み、
LDPC行列が、リフティングファクタZおよび基本行列に基づいて取得され、基本行列が、図3b-1から図3b-8において示された行列のうちのいずれか1つにおける行0から行6および列0から列16を含み、または基本行列が、図3b-1から図3b-8において示された行列のうちのいずれか1つにおける行0から行6、および列0から列16のうちのいくつかの列を含む、
デコード方法。
実施形態3:リフティングファクタが、Z=a×2j、0≦j<7、および、a∈{2,3,5,7,9,11,13,15}であり、
a=2、もしくはリフティングファクタZの値が、2、4、8、16、32、64、128、および256のうちの1つである場合、基本行列が、図3b-1から図3b-8において示された行列のうちのいずれか1つにおける行0から行6および列0から列16を含み、もしくは基本行列が、図3b-1において示された行列における行0から行m-1および列0から列n-1を含み、7≦m≦42であり、mが整数であり、17≦n≦52であり、nが整数であり、もしくは基本行列が、図3b-1において示された行列における行0から行m-1、および列0から列n-1のいくつかの列を含み、7≦m≦42であり、mが整数であり、17≦n≦52であり、nが整数である、
a=3、もしくはリフティングファクタZの値が、3、6、12、24、48、96、192、および384のうちの1つである場合、基本行列が、図3b-2において示された行列における行0から行6および列0から列16を含むことができ、もしくは基本行列が、図3b-2において示された行列における行0から行m-1および列0から列n-1を含み、7≦m≦42であり、mが整数であり、17≦n≦52であり、nが整数であり、もしくは基本行列が、図3b-2において示された行列における行0から行m-1、および列0から列n-1のいくつかの列を含み、7≦m≦42であり、mが整数であり、17≦n≦52であり、nが整数である、
a=5、もしくはリフティングファクタZの値が、5、10、20、40、80、160、および320のうちの1つである場合、基本行列が、図3b-3において示された行列における行0から行6および列0から列16を含むことができ、もしくは基本行列が、図3b-3において示された行列における行0から行m-1および列0から列n-1を含み、7≦m≦42であり、mが整数であり、17≦n≦52であり、nが整数であり、もしくは基本行列が、図3b-3において示された行列における行0から行m-1、および列0から列n-1のいくつかの列を含み、7≦m≦42であり、mが整数であり、17≦n≦52であり、nが整数である、
a=7、もしくはリフティングファクタZの値が、7、14、28、56、112、および224のうちの1つである場合、基本行列が、図3b-4において示された行列における行0から行6および列0から列16を含むことができ、もしくは基本行列が、図3b-4において示された行列における行0から行m-1および列0から列n-1を含み、7≦m≦42であり、mが整数であり、17≦n≦52であり、nが整数であり、もしくは基本行列が、図3b-4において示された行列における行0から行m-1、および列0から列n-1のいくつかの列を含み、7≦m≦42であり、mが整数であり、17≦n≦52であり、nが整数である、
a=9、もしくはリフティングファクタZの値が、9、18、36、72、144、および288のうちの1つである場合、基本行列が、図3b-5において示された行列における行0から行6および列0から列16を含むことができ、もしくは基本行列が、図3b-5において示された行列における行0から行m-1および列0から列n-1を含み、7≦m≦42であり、mが整数であり、17≦n≦52であり、nが整数であり、もしくは基本行列が、図3b-5において示された行列における行0から行m-1、および列0から列n-1のいくつかの列を含み、7≦m≦42であり、mが整数であり、17≦n≦52であり、nが整数である、
a=11、もしくはリフティングファクタZの値が、11、22、44、88、176、および352のうちの1つである場合、基本行列が、図3b-6において示された行列における行0から行6および列0から列16を含むことができ、もしくは基本行列が、図3b-6において示された行列における行0から行m-1および列0から列n-1を含み、7≦m≦42であり、mが整数であり、17≦n≦52であり、nが整数であり、もしくは基本行列が、図3b-6において示された行列における行0から行m-1、および列0から列n-1のいくつかの列を含み、7≦m≦42であり、mが整数であり、17≦n≦52であり、nが整数である、
a=13、もしくはリフティングファクタZの値が、13、26、52、104、および208のうちの1つである場合、基本行列が、図3b-7において示された行列における行0から行6および列0から列16を含むことができ、もしくは基本行列が、図3b-7において示された行列における行0から行m-1および列0から列n-1を含み、7≦m≦42であり、mが整数であり、17≦n≦52であり、nが整数であり、もしくは基本行列が、図3b-7において示された行列における行0から行m-1、および列0から列n-1のいくつかの列を含み、7≦m≦42であり、mが整数であり、17≦n≦52であり、nが整数である、または
a=15、もしくはリフティングファクタZの値が、15、30、60、120、および240のうちの1つである場合、基本行列が、図3b-8において示された行列における行0から行6および列0から列16を含むことができ、もしくは基本行列が、図3b-8において示された行列における行0から行m-1および列0から列n-1を含み、7≦m≦42であり、mが整数であり、17≦n≦52であり、nが整数であり、もしくは基本行列が、図3b-8において示された行列における行0から行m-1、および列0から列n-1のいくつかの列を含み、7≦m≦42であり、mが整数であり、17≦n≦52であり、nが整数である、
実施形態1または2に記載の方法。
実施形態4:LDPC行列が、リフティングファクタZ、および基本行列を補償することによって取得された行列Hsに基づいて取得され、行列Hsが、基本行列における少なくとも1つの列sにおける0以上の各シフト値に、または各シフト値から、補償値Offsetsを加算または減算することによって取得され、補償値Offsetsが、0以上の整数であり、sが、0以上かつ11未満の整数である、実施形態1から3のいずれか1つに記載の方法。
実施形態5:LDPC行列が、リフティングファクタZ、および行変換、もしくは列変換によって取得された行列に基づいて取得され、または行交換および列交換が、基本行列もしくは基本行列の補償行列Hsに対して行われる、実施形態1から4のいずれか1つに記載の方法。
実施形態6:リフティングファクタZおよび低密度パリティチェック(LDPC)行列のパラメータに基づいて入力シーケンスをエンコードするステップ
を含み、
LDPC行列のパラメータが、表2および表3b-1から表3b-8のうちのいずれか1つにおける行0から行6に対応するパラメータを含む、
エンコード方法。
実施形態7:リフティングファクタZおよび低密度パリティチェック(LDPC)行列のパラメータに基づいて入力シーケンスをデコードするステップ
を含み、
LDPC行列のパラメータが、表2および表3b-1から表3b-8のうちのいずれか1つにおける行0から行6に対応するパラメータを含む、
デコード方法。
実施形態8:LDPC行列のパラメータが、表2および表3b-1から表3b-8のうちのいずれか1つにおける行7から行41に対応するパラメータをさらに含む、実施形態6または7に記載の方法。
実施形態9:リフティングファクタが、Z=a×2j、0≦j<7、および、a∈{2,3,5,7,9,11,13,15}であり、
a=2について、LDPC行列のパラメータが、表2もしくは表3b-1における行0から行6に対応するパラメータを含む、または
a=3について、LDPC行列のパラメータが、表2もしくは表3b-2における行0から行6に対応するパラメータを含む、または
a=5について、LDPC行列のパラメータが、表2もしくは表3b-3における行0から行6に対応するパラメータを含む、または
a=7について、LDPC行列のパラメータが、表2もしくは表3b-4における行0から行6に対応するパラメータを含む、または
a=9について、LDPC行列のパラメータが、表2もしくは表3b-5における行0から行6に対応するパラメータを含む、または
a=11について、LDPC行列のパラメータが、表2もしくは表3b-6における行0から行6に対応するパラメータを含む、または
a=13について、LDPC行列のパラメータが、表2もしくは表3b-7における行0から行6に対応するパラメータを含む、または
a=15について、LDPC行列のパラメータが、表2もしくは表3b-8における行0から行6に対応するパラメータを含む、
実施形態6から8のいずれか1つに記載の方法。
実施形態10:a=2について、LDPC行列のパラメータが、表2もしくは表3b-1における行7から行41に対応するパラメータを含む、または
a=3について、LDPC行列のパラメータが、表2もしくは表3b-2における行7から行41に対応するパラメータを含む、または
a=5について、LDPC行列のパラメータが、表2もしくは表3b-3における行7から行41に対応するパラメータを含む、または
a=7について、LDPC行列のパラメータが、表2もしくは表3b-4における行7から行41に対応するパラメータを含む、または
a=9について、LDPC行列のパラメータが、表2もしくは表3b-5における行7から行41に対応するパラメータを含む、または
a=11について、LDPC行列のパラメータが、表2もしくは表3b-6における行7から行41に対応するパラメータを含む、または
a=13について、LDPC行列のパラメータが、表2もしくは表3b-7における行7から行41に対応するパラメータを含む、または
a=15について、LDPC行列のパラメータが、表2もしくは表3b-8における行7から行41に対応するパラメータを含む、
実施形態9に記載の方法。
実施形態11:リフティングファクタZおよび低密度パリティチェック(LDPC)行列のパラメータに基づいて入力シーケンスをエンコード/デコードするステップが、
リフティングファクタZ、およびLDPC行列のパラメータを補償することによって取得されたパラメータに基づいて入力シーケンスをエンコード/デコードするステップ
を含み、
補償されたパラメータが、
0以上であり、LDPC行列のパラメータにおける少なくとも1つの列位置sにあり、補償値Offsetsによって増やされたまたは減らされた、シフト値であって、補償値Offsetsが、0以上の整数であり、sが、0以上かつ11未満の整数である、シフト値
を含む、
実施形態6から10のいずれか1つに記載の方法。
実施形態12:出力シーケンスd={d0,d1,d2,...,dN-1}を取得するために入力シーケンスc={c0,c1,c2,...,cK-1}をエンコードするステップであって、KおよびNが、0より大きい整数であり、出力シーケンスdが、入力シーケンスcにK0個のビット、およびパリティシーケンスwにパリティビットを含み、K0が、整数であり、0<K0≦Kである、ステップ
を含み、
パリティシーケンスwおよび入力シーケンスcが、以下の公式を満たし、
【数9】
cT=[c0,c1,c2,...,cK-1]Tが、入力シーケンスcにおけるビットによって形成されたベクトルの転置ベクトルであり、
【数10】
が、パリティシーケンスwにおけるビットによって形成されたベクトルの転置ベクトルであり、0Tが、列ベクトルであり、0Tにおける全ての要素の値が0であり、
Hが、低密度パリティチェック(LDPC)行列であり、Hの基本グラフが、HBGおよびHBG,EXTを含み、
【数11】
であり、
【数12】
が、mc×mcの全てゼロの行列を表し、
【数13】
が、nc×ncの単位行列を表し、HBGが、HBG2における情報ビットのKb列、およびHBG2における列10から列10+mA-1に対応する列を含み、HBG2における列の数が10+mAであり、4≦mA≦7であり、Kb={6,8,9,10}であり、
mc=7、および0≦nc≦35について、HBG2における列の数は、17に等しい、または
mc=6、および0≦nc≦36について、HBG2における列の数は、16に等しい、または
mc=5、および0≦nc≦37について、HBG2における列の数は、15に等しい、または
mc=4、および0≦nc≦38について、HBG2における列の数は、14に等しい、
情報処理方法。
実施形態13:HBG2における各行における非ゼロの要素がある列の位置が、表3aおよび表3b-1から表3b-8のうちのいずれか1つ、または表3a、表3b-1から表3b-8、および表3b-2'のうちのいずれか1つにおいて示される、
実施形態12に記載の方法。
実施形態14:入力シーケンスc={c0,c1,c2,...,cK-1}を取得するステップであって、入力シーケンスの長さcがKである、ステップと、
リフティングファクタZを判断するステップと、
リフティングファクタZに基づいて低密度パリティチェック(LDPC)行列Hを判断するステップと、
エンコードされたビットシーケンスd={d0,d1,d2,...,dN-1}を取得するために入力シーケンスcをエンコードするステップであって、dの長さがNであり、dがパリティビットwを含み、パリティビットが以下を満たし、
【数14】
c=[c0,c1,c2,...,cK-1]Tが、入力シーケンスcにおけるビットによって形成されたベクトルの転置ベクトルを表し、
【数15】
が、パリティシーケンスにおけるビットによって形成されたベクトルの転置ベクトルを表し、0が列ベクトルを表し、0における全ての要素の値が0であり、行列Hが、LDPC行列を表す、ステップと
を含む、情報処理方法。
実施形態15:行列Hが、H=[H1 H2]と表されることが可能であり、H1が、図3b-1から図3b-8において示されたいずれかの行列における部分A、B、およびDにおけるいくつかの行およびいくつかの列を含み、H2が、
【数16】
と表され、0m×nが、m×nの全てゼロの行列を表し、In×nが、n×nの行列表す、実施形態14に記載の方法。
実施形態16:パリティシーケンスwの長さが、N+2Z-Kであるか、パリティシーケンスの長さが、N-Kである、実施形態12から15のいずれか1つに記載の方法。
実施形態17:低密度パリティチェック(LDPC)行列Hに基づいて入力シーケンスcをエンコードするステップであって、LDPC行列の基本行列Hが、非ゼロの要素(i,j)を含み、iが行インデックスであり、jが列インデックスであり、非ゼロの要素(i,j)が、サイズZ×Zの巡回置換行列によって要素が置き替えられることになることを表し、巡回置換行列が、Pi,j回、右に円形シフトされたZ×Zの単位行列に対応し、Pi,j=mod(Vi,j,Z)であり、Zがリフティングファクタであり、非ゼロの要素(i,j)および非ゼロの要素(i,j)に対応する値Vi,jが、以下のようなものである、ステップ
【表5】
を含む、エンコード方法。
実施形態18:LDPC行列Hに基づいて入力シーケンスcをエンコードするステップが、
出力シーケンスd={d0,d1,d2,...,dN-1}を取得するために入力シーケンスc={c0,c1,c2,...,cK-1}をエンコードするステップであって、KとNの両方が、正の整数であり、Kが、Zの整数の倍数であり、N=50Zである、ステップ
を含む、実施形態17に記載の方法。
実施形態19:Zが、5、10、20、40、80、160、および320のうちの1つである、実施形態18に記載の方法。
実施形態20:Zが、Kb・Z≧Kを満たす最低値であり、Kbが、6、8、9、および10のうちの1つである、実施形態18または19に記載の方法。
実施形態21:Kbが、
【数17】
を満たす、実施形態19に記載の方法。
実施形態22:出力シーケンスdが、入力シーケンスcにK0個のビット、およびパリティシーケンスwにパリティビットを含み、K0が整数であり、0<K0≦Kであり、パリティシーケンスwの長さが、N-K0であり、
パリティシーケンスwおよび入力シーケンスcが、以下の公式を満たし、
【数18】
cT=[c0,c1,c2,...,cK-1]Tが、入力シーケンスcにおけるビットによって形成されたベクトルの転置ベクトルであり、
【数19】
が、パリティシーケンスwにおけるビットによって形成されたベクトルの転置ベクトルであり、0Tが列ベクトルであり、0Tにおける全ての要素の値がゼロである、
実施形態18から21のいずれか1つに記載の方法。
実施形態23:パリティシーケンスwの長さが、N+2Z-Kである、実施形態22に記載の方法。
実施形態24:LDPC行列Hに基づいて入力シーケンスcをエンコードするステップが、
k=2ZからK-1までの間、
ck≠<NULL>である場合、
【数20】
そうでなければ、ck=0
を含む、実施形態18から23のいずれか1つに記載の方法。
実施形態25:LDPC行列Hに基づいて入力シーケンスcをエンコードするステップが、k=KからN+2Z-1までの間、
【数21】
を含む、実施形態18から24のいずれか1つに記載の方法。
実施形態26:情報シーケンスを取得するために、LDPC行列Hに基づいて低密度パリティチェック(LDPC)コードの軟値シーケンスをデコードするステップ
を含み、
Hの基本行列が、非ゼロの要素(i,j)を含み、iが行インデックスであり、jが列インデックスであり、非ゼロの要素(i,j)が、Z×Zの巡回置換行列によって要素が置き替えられることになることを表し、巡回置換行列が、Pi,j回、右方向に円形シフトされたZ×Zの単位行列に対応し、Pi,j=mod(Vi,j,Z)であり、Zがリフティングファクタであり、非ゼロの要素(i,j)および非ゼロの要素(i,j)に対応する値Vi,jが、以下のようなものである、
【表6】
デコード方法。
実施形態27:Hの基本行列が、以下の非ゼロの要素(i,j)をさらに含み、非ゼロの要素(i,j)に対応する値Vi,jが、以下のようなものである、
【表7】
実施形態17から26のいずれか1つに記載の方法。
実施形態28:Hの基本行列が、以下の非ゼロの要素(i,j)をさらに含み、非ゼロの要素(i,j)に対応する値Vi,jが、以下のようなものである、
【表8】
実施形態17から27のいずれか1つに記載の方法。
実施形態29:Hの基本行列が、以下の非ゼロの要素(i,j)をさらに含み、非ゼロの要素(i,j)に対応する値Vi,jが、以下のようなものである、
【表9】
実施形態17から28のいずれか1つに記載の方法。
実施形態30:Hの基本行列が、以下の非ゼロの要素(i,j)をさらに含み、非ゼロの要素(i,j)に対応する値Vi,jが、以下のようなものである、
【表10】
実施形態17から29のいずれか1つに記載の方法。
実施形態31:Hの基本行列が、以下の非ゼロの要素(i,j)をさらに含み、非ゼロの要素(i,j)に対応する値Vi,jが、以下のようなものである、
【表11】
実施形態17から30のいずれか1つに記載の方法。
実施形態32:Hの基本行列が、第(i+1)の行における非ゼロの要素(i,j)をさらに含み、9≦i≦41であり、非ゼロの要素(i,j)に対応する値Vi,jが、以下のようなものである、
【表12A】
【表12B】
実施形態17から31のいずれか1つに記載の方法。
実施形態33:Hの基本行列が、m行およびn列の行列であり、m≦42であり、n≦52である、実施形態17から32のいずれか1つに記載の方法。
実施形態34:Zが、5、10、20、40、80、160、および320のうちの1つである、実施形態17から33のいずれか1つに記載の方法。
実施形態35:Kが、Zの整数倍である、実施形態12から34のいずれか1つに記載の方法。
実施形態36:実施形態1から35のいずれか1つに記載の方法を行うように構成された、装置。
実施形態37:1つまたは複数のプロセッサ、および1つまたは複数のメモリ備え、1つまたは複数のプロセッサによって実行されると、実施形態1から35のいずれか1つに記載の方法を通信装置に行わせる1つまたは複数の命令を1つまたは複数のメモリが格納する、通信装置。
実施形態38:実施形態36に記載の装置または実施形態37に記載の通信装置を備える、端末。
実施形態39:実施形態36に記載の装置または実施形態37に記載の通信装置を備える、基地局。
実施形態40:実施形態38に記載の端末および実施形態39に記載の基地局を備える、通信システム。
実施形態41:コンピュータによって実行されると、実施形態1から35のいずれか1つに記載の方法をコンピュータに行わせる1つまたは複数の命令を含む、コンピュータ可読ストレージ媒体。
実施形態42:コンピュータによってプログラムが実行されると、実施形態1から35のいずれか1つに記載の方法をコンピュータに行わせる命令を含む、コンピュータプログラム製品。
【0251】
結論として、上記において説明されたものは、本出願の技術的解決策の実施形態の例にすぎず、本出願の保護範囲を制限することを意図するものではない。本出願の原理から逸脱することなく行われる任意の修正、均等物の置換、または改良は、本出願の保護範囲に含まれる。
【符号の説明】
【0252】
10a 基本グラフの例、基本グラフ
10b 基本行列
11a 全てゼロの行列
11b 単位行列
11d 巡回置換行列、行列
200 基本グラフ
700 通信装置、装置
701 プロセッサ
702 メモリ
703 命令
704 命令
705 トランシーバ
706 アンテナ
80 通信デバイス
81 通信デバイス
800 通信システム
図1
図2
図3a
図3b-1】
図3b-2】
図3b-3】
図3b-4】
図3b-5】
図3b-6】
図3b-7】
図3b-8】
図4
図5
図6
図7
図8
【手続補正書】
【提出日】2022-10-07
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
入力シーケンスを取得するステップと
行列およびリフティングファクタZに基づいて入力シーケンスをデコードするステップと
を含み、
前記行列における要素が、これらの行インデックスiおよび列インデックスjによってそれぞれ表され記行列における要素が、ゼロの要素または非ゼロの要素であり、行iおよび列jにおける非ゼロの要素が、値Vi,jを有し、
記行列における各ゼロの要素が、前記行列HにおけるサイズZ×Zの全てゼロの行列を示し、
記行列における行iおよび列jにおける非ゼロの要素が、サイズZ×Zの巡回置換行列を示し、前記巡回置換行列が、Pi,j回、右に円形シフトされたZ×Zの単位行列に対応し、ここで、Pi,j=mod(Vi,j, Z)であり、
インデックス(i)、列インデックス(j)、および対応する値Vi,j の前記行列の非ゼロの要素は以下である
【表1】
システムのための方法。
【請求項2】
前記リフティングファクタZを判断するステップと、
前記リフティングファクタZのセットインデックスに基づいて前記行列を判断するステップと
をさらに含む、請求項1に記載の方法。
【請求項3】
デコードされたシーケンスを出力するステップであって、前記デコードされたシーケンスはKビットを含み、K=50×Zである、ステップをさらに含む、請求項1または2に記載の方法。
【請求項4】
Zが、K b ×Z≧Kを満たす最低値であり、K b が、{6、8、9、10}のうちの1つである、請求項1から3のいずれか一項に記載の方法。
【請求項5】
K>640である場合、K b が10に等しく、または
K>560であり、かつK≦640である場合、K b が9に等しく、または
K>192であり、かつK≦560である場合、K b が8に等しく、または
K≦192である場合、K b が6に等しい、
請求項4に記載の方法。
【請求項6】
前記リフティングファクタZが、5、10、20、40、80、160、および320のうちの1つである、請求項1から5のいずれか一項に記載の方法。
【請求項7】
前記行列Hは、前記行列の変換された行列に基づいて決定され、前記変換された行列は、前記行列に対して行変換または列変換のうちの1つまたは複数を実行することによって取得される、請求項1から6のいずれか一項に記載の方法。
【請求項8】
信号を受信するステップであって、前記信号は低密度パリティチェック(LDPC)エンコードに基づく前記入力シーケンスを含む、ステップをさらに含む、請求項1から7のいずれか一項に記載の方法。
【請求項9】
前記入力シーケンスを取得するために、前記信号に対して、復調、デインターリーブ、およびレートデマッチングのうちの1つまたは複数の操作を実行するステップをさらに含む、請求項1から8のいずれか一項に記載の方法。
【請求項10】
エンコードされたシーケンスを取得するために、前記行列と、5、10、20、40、80、160、または320のうちの1つからのリフティングファクタZとに基づいてエンコードされるシーケンスをエンコードするステップと、
前記エンコードされたシーケンスを出力するステップと
をさらに含む、請求項1から9のいずれか一項に記載の方法。
【請求項11】
前記行列、
前記行列に関するパラメータ、
前記リフティングファクタZ、または
前記行列の変換された行列、
の1つまたは複数を格納するステップをさらに含む、請求項1から10のいずれか一項に記載の方法。
【請求項12】
ワイヤレス通信のための装置であって、前記装置は、請求項1から10のいずれか一項に記載の方法を行うように構成された少なくとも1つのプロセッサを備える、装置。
【請求項13】
前記行列、
前記行列に関するパラメータ、
前記リフティングファクタZ、または
前記行列の変換された行列、
の1つまたは複数を格納するように構成された少なくとも1つのメモリをさらに備える、請求項12に記載の装置。
【請求項14】
前記入力シーケンスを受信するように構成されたトランシーバをさらに備える、請求項12または13に記載の装置。
【請求項15】
コンピュータによって実行されたとき、前記コンピュータに、請求項1から11のいずれか一項に記載の方法を行わせる、プログラム。
【請求項16】
コンピュータ可読ストレージ媒体であって、コンピュータによって実行されたとき、前記コンピュータに、請求項1から11のいずれか一項に記載の方法を行わせる命令を格納している、コンピュータ可読ストレージ媒体。
【外国語明細書】