(57)【特許請求の範囲】
【請求項１】
符号化方法であって、
行列Ｈを使用して入力シーケンスを符号化して、符号化シーケンスを取得するステップであって、前記入力シーケンスは、Ｋビットを備える、ステップを備え、
前記行列Ｈは、ベース行列およびリフティングファクタＺに従って決定され、Ｚは、正の整数であり、
前記ベース行列は、ｍ行およびｎ列を備え、前記ベース行列中の要素は、それらの行インデックスｉおよび列インデックスｊによってそれぞれ表され、０≦ｉ＜ｍ、０≦ｊ＜ｎであり、
前記ベース行列中の要素は、ゼロ要素または非ゼロ要素のいずれかであり、
前記ベース行列は、非ゼロ要素を有する１つまたは複数の以下の行を備え、前記非ゼロ要素の行インデックス（ｉ）、列インデックス（ｊ）は以下の
ｉ＝０、ｊ＝０、１、２、３、６、９、１０、１１、
ｉ＝１、ｊ＝０、３、４、５、６、７、８、９、１１、１２、
ｉ＝２、ｊ＝０、１、３、４、８、１０、１２、１３、
ｉ＝３、ｊ＝１、２、４、５、６、７、８、９、１０、１３、
ｉ＝４、ｊ＝０、１、１１、１４、
ｉ＝５、ｊ＝０、１、５、７、１１、１５、
ｉ＝６、ｊ＝０、５、７、９、１１、１６、
ｉ＝７、ｊ＝１、５、７、１１、１３、１７、
ｉ＝８、ｊ＝０、１、１２、１８、
ｉ＝９、ｊ＝１、８、１０、１１、１９、
ｉ＝１０、ｊ＝０、１、６、７、２０、
ｉ＝１１、ｊ＝０、７、９、１３、２１、
ｉ＝１２、ｊ＝１、３、１１、２２、
ｉ＝１３、ｊ＝０、１、８、１３、２３、
ｉ＝１４、ｊ＝１、６、１１、１３、２４、
ｉ＝１５、ｊ＝０、１０、１１、２５、
ｉ＝１６、ｊ＝１、９、１１、１２、２６、
ｉ＝１７、ｊ＝１、５、１１、１２、２７、
ｉ＝１８、ｊ＝０、６、７、２８、
ｉ＝１９、ｊ＝０、１、１０、２９、
ｉ＝２０、ｊ＝１、４、１１、３０、
ｉ＝２１、ｊ＝０、８、１３、３１、
ｉ＝２２、ｊ＝１、２、３２、
ｉ＝２３、ｊ＝０、３、５、３３、
ｉ＝２４、ｊ＝１、２、９、３４、
ｉ＝２５、ｊ＝０、５、３５、
ｉ＝２６、ｊ＝２、７、１２、１３、３６、
ｉ＝２７、ｊ＝０、６、３７、
ｉ＝２８、ｊ＝１、２、５、３８、
ｉ＝２９、ｊ＝０、４、３９、
ｉ＝３０、ｊ＝２、５、７、９、４０、
ｉ＝３１、ｊ＝１、１３、４１、
ｉ＝３２、ｊ＝０、５、１２、４２、
ｉ＝３３、ｊ＝２、７、１０、４３、
ｉ＝３４、ｊ＝０、１２、１３、４４、
ｉ＝３５、ｊ＝１、５、１１、４５、
ｉ＝３６、ｊ＝０、２、７、４６、
ｉ＝３７、ｊ＝１０、１３、４７、
ｉ＝３８、ｊ＝１、５、１１、４８、
ｉ＝３９、ｊ＝０、７、１２、４９、
ｉ＝４０、ｊ＝２、１０、１３、５０、
ｉ＝４１、ｊ＝１、５、１１、５１、
である、符号化方法。
【請求項２】
前記入力シーケンスは、ｃ＝｛ｃ０，ｃ１，ｃ２，・・・，ｃＫ−１｝として表され、前記符号化シーケンスは、ｄ＝｛ｄ０，ｄ１，ｄ２，・・・，ｄＮ−１｝として表され、Ｎは正の整数であり、Ｎ＝（４０＋Ｋｂ）×Ｚであり、Ｋｂは、｛６，８，９，１０｝のうちの１つである請求項１に記載の方法。
【請求項３】
前記符号化シーケンスｄは、
前記入力シーケンスｃ中のＫ０ビットと、
パリティシーケンス
【数１】
0006820438.tif 000026
中のＮ−Ｋ０パリティビットと、
を備え、Ｋ０は、０よりも大きく、かつ、Ｋ以下の整数であり、
前記行列Ｈ、前記パリティシーケンスｗおよび前記入力シーケンスｃは、
【数２】
0006820438.tif 000027
を満たし、
ｃＴ＝［ｃ０，ｃ１，ｃ２，・・・，ｃＫ−１］Ｔであり、
【数３】
0006820438.tif 000028
であり、０Ｔは列ベクトルであり、０Ｔのすべての要素の値は０である請求項２に記載の方法。
【請求項４】
Ｋ０＝Ｋ−２×Ｚである請求項３に記載の方法。
【請求項５】
前記リフティングファクタＺ＝Ｚ０であり、Ｚ０は、Ｋｂ×Ｚ０≧Ｋの関係を満たす複数のリフティングファクタの最小値である請求項２乃至４のいずれか一項に記載の方法。
【請求項６】
Ｋ＞６４０の場合、Ｋｂは１０に等しいか、または
Ｋ＞５６０かつＫ≦６４０の場合、Ｋｂは９に等しいか、または
Ｋ＞１９２かつＫ≦５６０の場合、Ｋｂは８に等しいか、または
Ｋ≦１９２の場合、Ｋｂは６に等しい
請求項２乃至５のいずれか一項に記載の方法。
【請求項７】
各ゼロ要素は、前記行列Ｈ中のサイズＺ×Ｚの全ゼロ行列に対応し、
行ｉおよび列ｊ中の各非ゼロ要素は、値Ｖｉ，ｊを有し、行列Ｈ中のサイズＺ×Ｚの循環置換行列Ｉ（Ｐｉ，ｊ）に対応し、
Ｐｉ，ｊは、０以上の整数シフト値であり、Ｐｉ，ｊ＝ｍｏｄ（Ｖｉ，ｊ，Ｚ）である
請求項１乃至６のいずれか一項に記載の方法。
【請求項８】
前記リフティングファクタＺは、１０×Ｚ≧Ｋの関係を満たす複数のリフティングファクタの最小値である請求項１に記載の方法。
【請求項９】
前記リフティングファクタは、Ｚ＝２×２ｊを満たすものであり、ｊ＝０、１、２、３、４、５、６、７である請求項１乃至８のいずれか一項に記載の方法。
【請求項１０】
前記ベース行列は、前記非ゼロ要素を有する行０から行（ｍ−１）の行を備え、４≦ｍ≦４２、１４≦ｎ≦５２である請求項１乃至９のいずれか一項に記載の方法。
【請求項１１】
前記行列Ｈは、前記ベース行列の置換された行列に従って決定され、前記置換された行列は、前記ベース行列に対して行置換、または列置換、または行置換および列置換を実施することによって取得される請求項１乃至１０のいずれか一項に記載の方法。
【請求項１２】
装置であって、
プログラム命令を記憶するように構成された１つまたは複数のメモリと、
前記１つまたは複数のメモリに結合され、前記プログラム命令を実行して、前記装置に、
行列Ｈを使用して入力シーケンスを符号化して、符号化シーケンスを取得させる１つまたは複数のプロセッサと、を備え、前記入力シーケンスはＫビットを備え、Ｋは正の整数であり、
前記行列Ｈは、ベース行列およびリフティングファクタＺに従って決定され、Ｚは、正の整数であり、
前記ベース行列は、ｍ行およびｎ列を備え、前記ベース行列中の要素は、それらの行インデックスｉおよび列インデックスｊによってそれぞれ表され、０≦ｉ＜ｍ、０≦ｊ＜ｎであり、
前記ベース行列中の要素は、ゼロ要素または非ゼロ要素のいずれかであり、
前記ベース行列は、非ゼロ要素を有する１つまたは複数の以下の行を備え、前記非ゼロ要素の行インデックス（ｉ）、列インデックス（ｊ）は以下の
ｉ＝０、ｊ＝０、１、２、３、６、９、１０、１１、
ｉ＝１、ｊ＝０、３、４、５、６、７、８、９、１１、１２、
ｉ＝２、ｊ＝０、１、３、４、８、１０、１２、１３、
ｉ＝３、ｊ＝１、２、４、５、６、７、８、９、１０、１３、
ｉ＝４、ｊ＝０、１、１１、１４、
ｉ＝５、ｊ＝０、１、５、７、１１、１５、
ｉ＝６、ｊ＝０、５、７、９、１１、１６、
ｉ＝７、ｊ＝１、５、７、１１、１３、１７、
ｉ＝８、ｊ＝０、１、１２、１８、
ｉ＝９、ｊ＝１、８、１０、１１、１９、
ｉ＝１０、ｊ＝０、１、６、７、２０、
ｉ＝１１、ｊ＝０、７、９、１３、２１、
ｉ＝１２、ｊ＝１、３、１１、２２、
ｉ＝１３、ｊ＝０、１、８、１３、２３、
ｉ＝１４、ｊ＝１、６、１１、１３、２４、
ｉ＝１５、ｊ＝０、１０、１１、２５、
ｉ＝１６、ｊ＝１、９、１１、１２、２６、
ｉ＝１７、ｊ＝１、５、１１、１２、２７、
ｉ＝１８、ｊ＝０、６、７、２８、
ｉ＝１９、ｊ＝０、１、１０、２９、
ｉ＝２０、ｊ＝１、４、１１、３０、
ｉ＝２１、ｊ＝０、８、１３、３１、
ｉ＝２２、ｊ＝１、２、３２、
ｉ＝２３、ｊ＝０、３、５、３３、
ｉ＝２４、ｊ＝１、２、９、３４、
ｉ＝２５、ｊ＝０、５、３５、
ｉ＝２６、ｊ＝２、７、１２、１３、３６、
ｉ＝２７、ｊ＝０、６、３７、
ｉ＝２８、ｊ＝１、２、５、３８、
ｉ＝２９、ｊ＝０、４、３９、
ｉ＝３０、ｊ＝２、５、７、９、４０、
ｉ＝３１、ｊ＝１、１３、４１、
ｉ＝３２、ｊ＝０、５、１２、４２、
ｉ＝３３、ｊ＝２、７、１０、４３、
ｉ＝３４、ｊ＝０、１２、１３、４４、
ｉ＝３５、ｊ＝１、５、１１、４５、
ｉ＝３６、ｊ＝０、２、７、４６、
ｉ＝３７、ｊ＝１０、１３、４７、
ｉ＝３８、ｊ＝１、５、１１、４８、
ｉ＝３９、ｊ＝０、７、１２、４９、
ｉ＝４０、ｊ＝２、１０、１３、５０、
ｉ＝４１、ｊ＝１、５、１１、５１、
である、装置。
【請求項１３】
前記入力シーケンスは、ｃ＝｛ｃ０，ｃ１，ｃ２，・・・，ｃＫ−１｝として表され、前記符号化シーケンスは、ｄ＝｛ｄ０，ｄ１，ｄ２，・・・，ｄＮ−１｝として表され、Ｎは正の整数であり、Ｎ＝（４０＋Ｋｂ）・Ｚであり、Ｋｂは、｛６，８，９，１０｝のうちの１つである請求項１２に記載の装置。
【請求項１４】
前記符号化シーケンスｄは、
前記入力シーケンスｃ中のＫ０ビットと、
パリティシーケンス
【数４】
0006820438.tif 000029
中のＮ−Ｋ０パリティビットと
を備え、Ｋ０は、０よりも大きく、かつＫ以下の整数であり、
前記行列Ｈ、前記パリティシーケンスｗおよび前記入力シーケンスは、
【数５】
0006820438.tif 000030
を満たし、
ｃＴ＝［ｃ０，ｃ１，ｃ２，・・・，ｃＫ−１］Ｔであり、
【数６】
0006820438.tif 000031
であり、０Ｔは列ベクトルであり、０Ｔのすべての要素の値は０である請求項１３に記載の装置。
【請求項１５】
Ｋ０＝Ｋ−２×Ｚである請求項１４に記載の装置。
【請求項１６】
前記リフティングファクタＺ＝Ｚ０であり、Ｚ０は、Ｋｂ×Ｚ０≧Ｋの関係を満たす複数のリフティングファクタの最小値である請求項１３乃至１５のいずれか一項に記載の装置。
【請求項１７】
Ｋ＞６４０の場合、Ｋｂは１０に等しいか、または
Ｋ＞５６０かつＫ≦６４０の場合、Ｋｂは９に等しいか、または
Ｋ＞１９２かつＫ≦５６０の場合、Ｋｂは８に等しいか、または
Ｋ≦１９２の場合、Ｋｂは６に等しい
請求項１３乃至１６のいずれか一項に記載の装置。
【請求項１８】
各ゼロ要素は、前記行列Ｈ中のサイズＺ×Ｚの全ゼロ行列に対応し、
行ｉおよび列ｊ中の各非ゼロ要素は、値Ｖｉ，ｊを有し、前記行列Ｈ中のサイズＺ×Ｚの循環置換行列Ｉ（Ｐｉ，ｊ）に対応し、
Ｐｉ，ｊは、０以上の整数シフト値であり、Ｐｉ，ｊ＝ｍｏｄ（Ｖｉ，ｊ，Ｚ）である
請求項１２乃至１７のいずれか一項に記載の装置。
【請求項１９】
前記リフティングファクタＺは、１０×Ｚ≧Ｋの関係を満たす複数のリフティングファクタの最小値である請求項１２に記載の装置。
【請求項２０】
前記リフティングファクタは、Ｚ＝２×２ｊを満たすものであり、ｊ＝０、１、２、３、４、５、６、７である請求項１２乃至１９のいずれか一項に記載の装置。
【請求項２１】
前記ベース行列は、前記非ゼロ要素を有する行０から行（ｍ−１）の行を備え、４≦ｍ≦４２、１４≦ｎ≦５２である請求項１２乃至２０のいずれか一項に記載の装置。
【請求項２２】
前記行列Ｈは、前記ベース行列の置換された行列に従って決定され、前記置換された行列は、前記ベース行列に対して行置換、または列置換、または行置換および列置換を実施することによって取得される請求項１２乃至２１のいずれか一項に記載の装置。
【請求項２３】
前記ベース行列、置換された行列、１つもしくは複数のリフティングファクタＺ、または１つもしくは複数の循環置換行列を記憶するように構成された１つまたは複数のメモリをさらに備える請求項１２乃至２２のいずれか一項に記載の装置。
【請求項２４】
前記行列Ｈに関連するパラメータを記憶するように構成された１つまたは複数のメモリをさらに備える請求項１３乃至２３のいずれか一項に記載の装置。
【請求項２５】
コンピュータプログラムであって、前記コンピュータプログラムがコンピュータ上で実行されたとき、前記コンピュータに、請求項１乃至１１のいずれか一項に記載の方法を実施させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願の実施形態は、通信分野に関し、特に、情報処理方法および通信装置に関する。
【背景技術】
【０００２】
低密度パリティチェック（ｌｏｗ  ｄｅｎｓｉｔｙ  ｐａｒｉｔｙ  ｃｈｅｃｋ、ＬＤＰＣ）コードは、スパースチェック行列を含む線形ブロックコードのタイプであり、柔軟な構造および低い復号複雑さによって特徴づけられる。ＬＤＰＣコードを復号することは、部分的に並列な反復復号アルゴリズムを使用するので、ＬＤＰＣコードは、従来のターボコードよりも高いスループットを有する。ＬＤＰＣコードは、チャネル送信信頼性および電力利用率を高めるために、通信システムにおいて誤り訂正コードとして使用され得る。ＬＤＰＣコードは、さらに、空間通信、光ファイバー通信、パーソナル通信システム、ＡＤＳＬ、磁気記録デバイスなどに広く適用され得る。ＬＤＰＣコード方式は、現在、第５世代モバイル通信システムにおけるチャネルコーディング方式のうちの１つとして見なされている。
【０００３】
実際的な適用では、様々な特殊構造によって特徴づけられるＬＤＰＣ行列が使用され得る。特殊構造を有するＬＤＰＣ行列Ｈは、擬似サイクリック（ｑｕａｓｉ  ｃｙｃｌｅ、ＱＣ）構造を有するＬＤＰＣベース行列を拡張することによって取得され得る。
【０００４】
概して、符号化されるべき情報ビットシーケンスの長さは、数十ビットから数百ビットまで変動し、通信システムによって必要とされるコードレートも柔軟に可変である。システムのコードレート要件を満たすために、様々な長さの情報ビットシーケンスの符号化をどのようにサポートするかは、解決される必要がある問題となる。
【発明の概要】
【０００５】
本出願の実施形態は、様々な長さの情報ビットシーケンスの符号化および復号をサポートし、通信システムの柔軟なコード長およびコードレート要件を満たすための、情報処理方法、通信装置、および通信システムを提供する。
【０００６】
第１の態様によれば、符号化方法およびエンコーダが提供される。エンコーダは、低密度パリティチェックＬＤＰＣ行列を使用することによって入力シーケンスを符号化する。
【０００７】
第２の態様によれば、復号方法およびデコーダが提供される。デコーダは、低密度パリティチェックＬＤＰＣ行列を使用することによって入力シーケンスを復号する。
【０００８】
第１の態様または第２の態様の第１の実装では、ＬＤＰＣ行列は、ベースグラフに基づいて取得され、ベースグラフは、部分行列Ａ、部分行列Ｂ、部分行列Ｃ、部分行列Ｄ、および部分行列Ｅを含み、
部分行列Ａは、ｍＡ行およびｎＡ列を含む行列であり、ｍＡおよびｎＡは正の整数であり、４≦ｍＡ≦７、かつｎＡ＝１０であり、
部分行列Ｂは、ｍＡ行およびｍＡ列を含む行列であり、部分行列Ｂは、重みが３である列、および二重対角構造を有する部分行列Ｂ’を含み、
部分行列Ｄは、行列Ｆ中のｍＤ行を含み、行列Ｆは、ｍＦ行および（ｍＡ＋ｎＡ）列を含む行列であり、ｍＤおよびｍＦは正の整数であり、０≦ｍＤ≦ｍＦ、かつ３５≦ｍＦ≦３８であり、
部分行列Ｃは、ｍＡ行およびｍＤ列を含む全ゼロ行列であり、
部分行列Ｅは、ｍＤ行およびｍＤ列を含む単位行列である。
【０００９】
上記の実装に基づいて、可能な実装では、ベースグラフ中の最後の１０個の行のうちの任意の２つの隣接する行は相互に直交する。
【００１０】
上記の実装に基づいて、可能な実装では、ベースグラフ中の最後の１０個の行は、少なくとも５つのグループを含み、少なくとも５つのグループの各々は、少なくとも２つの行を含み、少なくとも２つの行は相互に直交する。
【００１１】
上記の実装のいずれかに基づいて、可能な実装では、行列Ｆにおいて、９つの行の重みは３であり、１つの行の重みは２である。
【００１２】
設計では、行列Ｆにおいて、１つの列の重みは１６であり、１つの列の重みは１８であり、１つの列の重みは１１であり、２つの列の重みは１０であり、１つの列の重みは９であり、１つの列の重みは８であり、１つの列の重みは７であり、１つの列の重みは６であり、２つの列の重みは４であり、１つの列の重みは３であり、２つの列の重みは２である。
【００１３】
第１の実装に基づいて、別の可能な実装では、行列Ｆにおいて直交構造を有する行の行カウントは１０以上であり、行列Ｆにおいて、１つの列の重みは１６であり、１つの列の重みは１８であり、１つの列の重みは１１であり、２つの列の重みは１０であり、１つの列の重みは９であり、１つの列の重みは８であり、１つの列の重みは７であり、１つの列の重みは６であり、２つの列の重みは４であり、１つの列の重みは３であり、２つの列の重みは２である。
【００１４】
別の設計では、行列Ｆにおいて、９つの行の重みは３であり、１つの行の重みは２である。
【００１５】
別の設計では、行列Ｆは、少なくとも１０個の行を含み、少なくとも１０個の行のうちの任意の２つの隣接する行は相互に直交する。
【００１６】
別の設計では、行列Ｆは、少なくとも５つのグループを含み、少なくとも５つのグループの各々は、少なくとも２つの行を含み、少なくとも２つの行は相互に直交する。任意選択で、少なくとも２つの行は、連続する行であり得る。たとえば、少なくとも１０個の行は、ベースグラフ３０ａ中の最後の１０個の行であり得る。
【００１７】
上記の実装のいずれかにおいて、ｍＡ＞４である場合、行列Ｆ中のｍＡ個の列以外の列の重みは０である。
【００１８】
たとえば、行列Ｆにおいて直交構造を有する１０個の行は、たとえば、ベースグラフ３０ａ中の行２５から行３４および列０から列１３を含む行列ブロックの行もしくは列を含み得るか、または行列Ｆにおいて直交構造を有する１０個の行は、たとえば、ベースグラフ３０ａ中の行２５から行３４および列０から列１６を含む行列ブロックの行もしくは列を含み得る。行列Ｆにおいて、行は互いに取り替えられてよく、列も互いに取り替えられてよい。
【００１９】
上記の実装に基づいて、ベースグラフ３０ａのベース行列は、たとえば、ベース行列３０ｂ−１、３０ｂ−２、３０ｂ−３、３０ｂ−４、３０ｂ−５、３０ｂ−６、３０ｂ−７、および３０ｂ−８のいずれか１つ、またはベース行列３０ｂ−１、３０ｂ−２、３０ｂ−３、３０ｂ−４、３０ｂ−５、３０ｂ−６、３０ｂ−７、および３０ｂ−８のいずれか１つに対して行／列置換を実施することによって取得される行列であり得る。
【００２０】
上記の実装に基づいて、行列Ｆのシフト行列は、３０ｂ−１から３０ｂ−８のいずれかの行列中の行７から行４１および列０から列１６を含む行列、もしくは３０ｂ−１から３０ｂ−８のいずれかの行列中の行７から行４１および列０から列１６を含む行列に対して行／列置換を実施することによって取得される行列であり得るか、または行列Ｆのシフト行列は、３０ｂ−１から３０ｂ−８のいずれかの行列中の行４から行４１および列０から列１４を含む行列、もしくは３０ｂ−１から３０ｂ−８のいずれかの行列中の行４から行４１および列０から列１４を含む行列に対して行／列置換を実施することによって取得される行列を含み得る。
【００２１】
異なるコードブロック長をサポートするために、ＬＤＰＣコードは、異なるリフティングファクタＺを必要とする。上記の実装に基づいて、可能な実装では、異なるリフティングファクタＺに基づいて、その異なるリフティングファクタＺに対応するベース行列が使用される。たとえば、Ｚ＝ａ×２ｊであり、ａ∈｛２，３，５，７，９，１１，１３，１５｝である。
【００２２】
リフティングファクタが、Ｚ＝２×２ｊを満たすリフティングファクタであり、ｊ＝０、１、２、３、４、５、６、７である場合、行列Ｆのシフト行列は、３０ｂ−１中の行７から行４１および列０から列１６を含む行列、もしくは３０ｂ−１中の行７から行４１および列０から列１６を含む行列に対して行／列置換を実施することによって取得される行列であり得るか、または行列Ｆのシフト行列は、３０ｂ−１中の行４から行４１および列０から列１４を含む行列、もしくは３０ｂ−１中の行４から行４１および列０から列１４を含む行列に対して行／列置換を実施することによって取得される行列であり得る。対応して、ベースグラフ３０ａのベース行列は、３０ｂ−１に示される行列、または３０ｂ−１に示される行列に対して行／列置換を実施することによって取得される行列であり得る。
【００２３】
リフティングファクタが、Ｚ＝３×２ｊを満たすリフティングファクタであり、ｊ＝０、１、２、３、４、５、６、７である場合、行列Ｆのシフト行列は、３０ｂ−２中の行７から行４１および列０から列１６を含む行列、もしくは３０ｂ−２中の行７から行４１および列０から列１６を含む行列に対して行／列置換を実施することによって取得される行列であり得るか、または行列Ｆのシフト行列は、３０ｂ−２中の行４から行４１および列０から列１４を含む行列、もしくは３０ｂ−２中の行４から行４１および列０から列１４を含む行列に対して行／列置換を実施することによって取得される行列であり得る。対応して、ベースグラフ３０ａのベース行列は、３０ｂ−２に示される行列、または３０ｂ−２に示される行列に対して行／列置換を実施することによって取得される行列であり得る。
【００２４】
リフティングファクタが、Ｚ＝５×２ｊを満たすリフティングファクタであり、ｊ＝０、１、２、３、４、５、６である場合、行列Ｆのシフト行列は、３０ｂ−３中の行７から行４１および列０から列１６を含む行列、もしくは３０ｂ−３中の行７から行４１および列０から列１６を含む行列に対して行／列置換を実施することによって取得される行列であり得るか、または行列Ｆのシフト行列は、３０ｂ−３中の行４から行４１および列０から列１４を含む行列、もしくは３０ｂ−３中の行４から行４１および列０から列１４を含む行列に対して行／列置換を実施することによって取得される行列であり得る。対応して、ベースグラフ３０ａのベース行列は、３０ｂ−３に示される行列、または３０ｂ−３に示される行列に対して行／列置換を実施することによって取得される行列であり得る。
【００２５】
リフティングファクタが、Ｚ＝７×２ｊを満たすものであり、ｊ＝０、１、２、３、４、５である場合、行列Ｆのシフト行列は、３０ｂ−４中の行７から行４１および列０から列１６を含む行列、もしくは３０ｂ−４中の行７から行４１および列０から列１６を含む行列に対して行／列置換を実施することによって取得される行列であり得るか、または行列Ｆのシフト行列は、３０ｂ−４中の行４から行４１および列０から列１４を含む行列、もしくは３０ｂ−４中の行４から行４１および列０から列１４を含む行列に対して行／列置換を実施することによって取得される行列であり得る。対応して、ベースグラフ３０ａのベース行列は、３０ｂ−４に示される行列、または３０ｂ−４に示される行列に対して行／列置換を実施することによって取得される行列であり得る。
【００２６】
リフティングファクタが、Ｚ＝９×２ｊを満たすリフティングファクタであり、ｊ＝０、１、２、３、４、５である場合、行列Ｆのシフト行列は、３０ｂ−５中の行７から行４１および列０から列１６を含む行列、もしくは３０ｂ−５中の行７から行４１および列０から列１６を含む行列に対して行／列置換を実施することによって取得される行列であり得るか、または行列Ｆのシフト行列は、３０ｂ−５中の行４から行４１および列０から列１４を含む行列、もしくは３０ｂ−５中の行４から行４１および列０から列１４を含む行列に対して行／列置換を実施することによって取得される行列であり得る。対応して、ベースグラフ３０ａのベース行列は、３０ｂ−５に示される行列、または３０ｂ−５に示される行列に対して行／列置換を実施することによって取得される行列であり得る。
【００２７】
リフティングファクタが、Ｚ＝１１×２ｊを満たすリフティングファクタであり、ｊ＝０、１、２、３、４、５である場合、行列Ｆのシフト行列は、３０ｂ−６中の行７から行４１および列０から列１６を含む行列、もしくは３０ｂ−６中の行７から行４１および列０から列１６を含む行列に対して行／列置換を実施することによって取得される行列であり得るか、または行列Ｆのシフト行列は、３０ｂ−６中の行４から行４１および列０から列１４を含む行列、もしくは３０ｂ−６中の行４から行４１および列０から列１４を含む行列に対して行／列置換を実施することによって取得される行列であり得る。対応して、ベースグラフ３０ａのベース行列は、３０ｂ−６に示される行列、または３０ｂ−６に示される行列に対して行／列置換を実施することによって取得される行列であり得る。
【００２８】
リフティングファクタが、Ｚ＝１３×２ｊを満たすリフティングファクタであり、ｊ＝０、１、２、３、４である場合、行列Ｆのシフト行列は、３０ｂ−７中の行７から行４１および列０から列１６を含む行列、もしくは３０ｂ−７中の行７から行４１および列０から列１６を含む行列に対して行／列置換を実施することによって取得される行列であり得るか、または行列Ｆのシフト行列は、３０ｂ−７中の行４から行４１および列０から列１４を含む行列、もしくは３０ｂ−７中の行４から行４１および列０から列１４を含む行列に対して行／列置換を実施することによって取得される行列であり得る。対応して、ベースグラフ３０ａのベース行列は、３０ｂ−７に示される行列、または３０ｂ−７に示される行列に対して行／列置換を実施することによって取得される行列であり得る。
【００２９】
リフティングファクタが、Ｚ＝１５×２ｊを満たすリフティングファクタであり、ｊ＝０、１、２、３、４である場合、行列Ｆのシフト行列は、３０ｂ−８中の行７から行４１および列０から列１６を含む行列、もしくは３０ｂ−８中の行７から行４１および列０から列１６を含む行列に対して行／列置換を実施することによって取得される行列であり得るか、または行列Ｆのシフト行列は、３０ｂ−８中の行４から行４１および列０から列１４を含む行列、もしくは３０ｂ−８中の行４から行４１および列０から列１４を含む行列に対して行／列置換を実施することによって取得される行列であり得る。対応して、ベースグラフ３０ａのベース行列は、３０ｂ−８に示される行列、または３０ｂ−８に示される行列に対して行／列置換を実施することによって取得される行列であり得る。
【００３０】
さらに、任意選択で、上記の実装に基づいて、リフティングファクタＺについて、Ｚのベース行列中の行ｉおよび列ｊ中の要素Ｐｉ，ｊ＝ｆ（Ｖｉ，ｊ，Ｚ）が、上記のセットのベース行列に従ってさらに取得されてよく、Ｖｉ，ｊは、リフティングファクタＺが属するセットのベース行列中の行ｉおよび列ｊ中の要素である。
【００３１】
たとえば、
【００３２】
【数７】
0006820438.tif 000002
【００３３】
である。
【００３４】
別の可能な実装では、ベースグラフまたはベース行列は、ビルトインパンクチャビットに対応する少なくとも１つの列をさらに含み得る。
【００３５】
上記の実装では、ＬＤＰＣ行列のベースグラフおよびベース行列は、ブロック長が２０ビットから２５６０ビットであるコードブロックの性能要件を満たし得る。
【００３６】
上記の態様または態様のいずれかの可能な実装に基づいて、別の可能な実装では、本方法は、リフティングファクタＺを決定することをさらに含む。たとえば、リフティングファクタＺの値は、入力シーケンスの長さＫに従って決定される。たとえば、入力シーケンスの長さがＫである場合、システムにおいて定義されている複数のリフティングファクタから、１０×Ｚ≧Ｋを満たす最小値が決定され得る。
【００３７】
任意選択で、ＬＤＰＣ行列は、Ｚに対応するベース行列に基づいて、またはＺに対応するシフト行列に基づいて取得され得る。
【００３８】
送信端における通信デバイスについて、ＬＤＰＣ行列を使用することによって入力シーケンスを符号化することは、
リフティングファクタＺに対応するＬＤＰＣ行列を使用することによって入力シーケンスを符号化すること、または行列を使用することによって入力シーケンスを符号化することであって、行列はリフティングファクタＺに対応するＬＤＰＣ行列に対して行／列置換を実施することによって取得されることを含む。本出願では、行／列置換は、行置換、列置換、または行置換および列置換を指す。
【００３９】
受信端における通信デバイスについて、ＬＤＰＣ行列を使用することによって入力シーケンスを復号することは、
リフティングファクタＺに対応するＬＤＰＣ行列を使用することによって入力シーケンスを復号するステップ、またはリフティングファクタＺに対応するＬＤＰＣ行列に対して行／列置換を実施し、リフティングファクタＺに対応するＬＤＰＣ行列に対して行／列置換を実施することによって取得される行列を使用することによって入力シーケンスを復号するステップを含む。本出願では、行／列置換は、行置換、列置換、または行置換および列置換を指す。
【００４０】
可能な実装では、ＬＤＰＣ行列はメモリに記憶されることがあり、入力シーケンスはＬＤＰＣ行列を使用することによって符号化されるか、または符号化のために使用され得るＬＤＰＣ行列が、ＬＤＰＣ行列に基づいて置換（行／列置換）もしくはリフティングを実施することによって取得される。
【００４１】
別の可能な実装では、パラメータがメモリに記憶されることがあり、符号化または復号のために使用されるＬＤＰＣ行列は、パラメータに従って取得されることがあり、それにより、入力シーケンスは、ＬＤＰＣ行列に基づいて符号化または復号され得る。パラメータは、ベースグラフ、ベース行列、ベースグラフもしくはベース行列に対して行／列置換を実施することによって取得される置換された行列、ベースグラフもしくはベース行列に基づくリフティングされた行列、ベース行列中の非ゼロ要素のシフト値、またはＬＤＰＣ行列を取得することに関係する何らかのパラメータのうちの少なくとも１つを含む。
【００４２】
さらに別の可能な実装では、ＬＤＰＣ行列のベース行列は、メモリに記憶され得る。
【００４３】
さらに別の可能な実装では、ＬＤＰＣ行列のベースグラフはメモリに記憶され、ＬＤＰＣ行列のベース行列中の非ゼロ要素のシフト値がメモリに記憶され得る。
【００４４】
上記の可能な実装に基づいて、可能な設計では、ＬＤＰＣ符号化または復号のために使用されるベースグラフおよびベース行列のうちの少なくとも１つは、ＬＤＰＣ行列のベースグラフおよびベース行列のうちの少なくとも１つに対して行置換、列置換、または行置換および列置換を実施することによって取得される。
【００４５】
第３の態様によれば、通信装置が提供される。通信装置は、上記の方法設計を実施するように構成された対応するモジュールを含み得る。モジュールは、ソフトウェアおよび／またはハードウェアであり得る。
【００４６】
可能な設計では、第３の態様において提供される通信装置は、プロセッサおよびトランシーバ構成要素を含み、プロセッサおよびトランシーバ構成要素は、上記の符号化または復号方法における機能を実装するように構成され得る。この設計では、通信装置が端末、基地局、または別のネットワークデバイスである場合、通信装置のトランシーバ構成要素は、トランシーバであり得る。通信装置がベースバンドチップまたはベースバンド処理ボードである場合、通信装置のトランシーバ構成要素は、ベースバンドチップまたはベースバンド処理ボードの入出力回路であってよく、入出力信号を受信する／送信するように構成される。通信装置は、データおよび／または命令を記憶するように構成されたメモリを任意選択で含み得る。
【００４７】
ある実装では、プロセッサは、上記の第１の態様によるエンコーダおよび決定ユニットを含み得る。決定ユニットは、入力シーケンスを符号化するために必要とされるリフティングファクタＺを決定するように構成される。エンコーダは、リフティングファクタＺに対応するＬＤＰＣ行列を使用することによって入力シーケンスを符号化するように構成される。
【００４８】
別の実装では、プロセッサは、上記の第２の態様によるデコーダおよび取得ユニットを含み得る。取得ユニットは、ＬＤＰＣコードの軟値およびリフティングファクタＺを取得するように構成される。デコーダは、情報ビットシーケンスを取得するために、リフティングファクタＺに対応するベース行列ＨＢに基づいてＬＤＰＣコードの軟値を復号するように構成される。
【００４９】
第４の態様によれば、通信装置が提供される。通信装置は１つまたは複数のプロセッサを含む。
【００５０】
可能な設計では、１つまたは複数のプロセッサは、第１の態様におけるエンコーダの機能を実装し得る。別の可能な設計では、第１の態様におけるエンコーダは、プロセッサの一部であり得る。第１の態様におけるエンコーダの機能に加えて、プロセッサは、他の機能をさらに実装し得る。
【００５１】
可能な設計では、１つまたは複数のプロセッサは、第２の態様におけるデコーダの機能を実装し得る。別の可能な設計では、第２の態様におけるデコーダは、プロセッサの一部であり得る。
【００５２】
任意選択で、通信装置は、トランシーバおよびアンテナをさらに含み得る。
【００５３】
任意選択で、通信装置は、トランスポートブロックＣＲＣを発生するように構成された構成要素、コードブロックセグメント化およびＣＲＣ付加のために使用される構成要素、インターリーブのために使用されるインターリーバ、変調処理のために使用される変調器などをさらに含み得る。
【００５４】
任意選択で、通信装置は、復調動作のために使用される復調器、デインターリーブのために使用されるデインターリーバ、デレートマッチングのために使用される構成要素などをさらに含み得る。構成要素の機能は、１つまたは複数のプロセッサを使用することによって実装され得る。
【００５５】
可能な設計では、構成要素の機能は、１つまたは複数のプロセッサを使用することによって実装され得る。
【図面の簡単な説明】
【００５６】
【図１】ＬＤＰＣコードのベースグラフおよびベース行列、ならびにＬＤＰＣコード方式におけるベース行列の循環置換行列の概略図である。
【図２】ＬＤＰＣコードのベースグラフの概略構造図である。
【図３ａ】本出願の一実施形態によるＬＤＰＣコードのベースグラフの概略図である。
【図３ｂ−１】図３ａに示されているベースグラフのベース行列の概略図である。
【図３ｂ−２】図３ａに示されているベースグラフのベース行列の概略図である。
【図３ｂ−３】図３ａに示されているベースグラフのベース行列の概略図である。
【図３ｂ−４】図３ａに示されているベースグラフのベース行列の概略図である。
【図３ｂ−５】図３ａに示されているベースグラフのベース行列の概略図である。
【図３ｂ−６】図３ａに示されているベースグラフのベース行列の概略図である。
【図３ｂ−７】図３ａに示されているベースグラフのベース行列の概略図である。
【図３ｂ−８】図３ａに示されているベースグラフのベース行列の概略図である。
【図４】本出願の一実施形態による概略性能図である。
【図５】本出願の一実施形態による情報処理装置の概略構造図である。
【図６】本出願の一実施形態による通信システムの概略図である。
【発明を実施するための形態】
【００５７】
理解を促進するために、本出願におけるいくつかの用語について以下で説明される。
【００５８】
本出願では、「ネットワーク」および「システム」という用語は通常入れ替えられ、「装置」および「デバイス」という用語も通常入れ替えられる。しかしながら、当業者はそれらの意味を理解されよう。「通信装置」は、（ベースバンドチップ、もしくはデジタル信号処理チップ、もしくは汎用チップなどの）チップ、端末、基地局、または別のネットワークデバイスであり得る。端末は、通信機能を有するデバイスである。端末は、ワイヤレス通信機能を有するハンドヘルドデバイス、車載デバイス、ウェアラブルデバイス、およびコンピューティングデバイス、またはワイヤレスモデムに接続された別の処理デバイスなどを含み得る。端末は、異なるネットワークでは異なる名前を有することがあり、たとえば、ユーザ機器、移動局、ユーザユニット、局、セルラーフォン、携帯情報端末、ワイヤレスモデム、ワイヤレス通信デバイス、ハンドヘルドデバイス、ラップトップコンピュータ、コードレス電話機、およびワイヤレスローカルループ局を有する。説明しやすいように、本出願では、デバイスは略して端末と呼ばれる。基地局デバイスとも呼ばれる基地局（ｂａｓｅ  ｓｔａｔｉｏｎ、ＢＳ）は、ワイヤレス通信機能を提供するために無線アクセスネットワーク中に展開されるデバイスである。異なる無線アクセスシステムでは、基地局の名前は異なることがある。たとえば、ユニバーサルモバイル電気通信システム（Ｕｎｉｖｅｒｓａｌ  Ｍｏｂｉｌｅ  Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｓｙｓｔｅｍ、ＵＭＴＳ）ネットワークにおける基地局はノードＢ（ＮｏｄｅＢ）と呼ばれるか、ＬＴＥネットワークにおける基地局は発展型ノードＢ（ｅｖｏｌｖｅｄ  ＮｏｄｅＢ、ｅＮＢ、もしくはｅＮｏｄｅＢ）と呼ばれるか、新無線（ｎｅｗ  ｒａｄｉｏ、ＮＲ）ネットワークにおける基地局は送受信ポイント（ｔｒａｎｓｍｉｓｓｉｏｎ  ｒｅｃｅｐｔｉｏｎ  ｐｏｉｎｔ、ＴＲＰ）もしくは次世代ノードＢ（ｇｅｎｅｒａｔｉｏｎ  ｎｏｄｅＢ、ｇＮＢ）と呼ばれるか、または様々な他のネットワークにおける基地局は他の名前で呼ばれることもある。本出願はそれに限定されない。
【００５９】
以下で、本出願の実施形態における添付の図面を参照しながら、本出願の実施形態における技術的解決策について説明する。
【００６０】
通常、ＬＤＰＣコードは、パリティチェック行列Ｈを使用することによって定義されることが可能である。ＬＤＰＣコードのパリティチェック行列Ｈは、ベースグラフ（ｂａｓｅ  ｇｒａｐｈ）およびシフト（ｓｈｉｆｔ）値を使用することによって取得され得る。通常、ベースグラフは、ｍ×ｎ個の行列要素（ｅｎｔｒｙ）を含み得る。ベースグラフは、ｍ行およびｎ列を含む行列を使用することによって表され得る。各行列要素の値は０または１のいずれかである。値が０である要素はゼロ要素とも時々呼ばれ、これはサイズＺ×Ｚの全ゼロ行列（ゼロ行列）と交換され得る。値が１である要素は非ゼロ要素とも時々呼ばれ、これはサイズＺ×Ｚの循環置換行列（ｃｉｒｃｕｌａｎｔ  ｐｅｒｍｕｔａｔｉｏｎ  ｍａｔｒｉｘ）と交換され得る。すなわち、各行列要素は全ゼロ行列または循環置換行列を表す。図１は、ｍ＝４およびｎ＝２０であり、ＱＣ構造を有するＬＤＰＣコードのベースグラフの例１０ａを示す。本明細書では、ベースグラフおよび行列の行インデックスおよび列インデックスはすべて０から開始して番号を付けられることに留意されたい。これは理解しやすくするためにすぎない。行インデックスおよび列インデックスは、代替として１から開始して番号を付けられてよく、対応する行インデックスおよび列インデックスは、本明細書に示されている行インデックスおよび列インデックスに基づいて１だけ増加されることが理解されよう。
【００６１】
ベースグラフ中の行ｉおよび列ｊ中の要素の値が１である場合、それはシフト値Ｐｉ，ｊを割り当てられる。Ｐｉ，ｊは０以上の整数であり、それは、行ｉおよび列ｊ中の１の要素（非ゼロ要素）が、Ｐｉ，ｊに対応するサイズＺ×Ｚの循環置換行列と交換され得ることを示す。循環置換行列は、サイズＺ×Ｚの単位行列をＰｉ，ｊ回右側に循環シフトすることによって取得され得る。ベースグラフにおいて、値が０である各要素はサイズＺ×Ｚの全ゼロ行列と交換され、値が１である各要素は、その要素のシフト値に対応するサイズＺ×Ｚの循環置換行列と交換され、それにより、ＬＤＰＣコードのパリティチェック行列が取得されることが可能であることがわかるであろう。ベースグラフは、シフト値の位置を示すために使用されることがあり、ベースグラフ中の各非ゼロ要素はシフト値に対応する。Ｚは正の整数であり、リフティング（ｌｉｆｔｉｎｇ）ファクタと呼ばれることもあり、リフティングサイズ、リフティングファクタなどと呼ばれることも時々ある。Ｚは、システムによってサポートされるコードブロックサイズおよび情報データのサイズに従って決定され得る。パリティチェック行列Ｈは（ｍ×Ｚ）×（ｎ×Ｚ）のサイズを有することがわかるであろう。たとえば、リフティングファクタＺ＝４である場合、各ゼロ要素は４×４全ゼロ行列１１ａと交換される。Ｐ２，３＝２である場合、行２および列３中の非ゼロ要素は４×４循環置換行列１１ｄと交換される。この行列は、４×４単位行列１１ｂを２回右側に循環シフトすることによって取得される。Ｐ２，４＝０である場合、行２および列４中の非ゼロ要素は単位行列１１ｂと交換される。本明細書では例のみについて説明され、例は限定とならないことに留意されたい。
【００６２】
Ｐｉ，ｊの値はリフティングファクタＺに依存し得る。したがって、ベースグラフの行ｉおよび列ｊ中の１の要素（非ゼロ要素）について、Ｐｉ，ｊは、異なるリフティングファクタＺでは異なり得る。実装しやすくするために、通常、システムにおいてｍ×ｎベース行列（ｂａｓｅ  ｍａｔｒｉｘ）が定義される。ベース行列中の各要素は、ベースグラフ中の各要素との１対１の対応にある。ベースグラフ中のゼロ要素は、ベース行列中で同じ位置を有し、その要素は−１によって示される。ベースグラフ中の行ｉおよび列ｊ中で１によって示される非ゼロ要素は、ベース行列中で同じ位置を有し、その非ゼロ要素は値Ｖｉ，ｊによって示され、Ｖｉ，ｊは、プリセットされるかまたは特定のリフティングファクタＺに対して定義されるシフト値、たとえば、リフティングファクタＺが属するセット中の最大リフティングファクタＺｍａｘに対するシフト値であり得る。このようにして、Ｖｉ，ｊは、Ｚが属するセット中の最大リフティングファクタＺｍａｘが使用されるときの、行ｉおよび列ｊ中の非ゼロ要素のシフト値であり得る。本出願のこの実施形態では、ベース行列は、時々、ベースグラフの行列のシフト行列とも呼ばれる。
【００６３】
Ｐｉ，ｊは、Ｖｉ，ｊおよびＺに基づいて取得され得る。たとえば、それはＰｉ，ｊ＝ｆ（Ｖｉ，ｊ，Ｚ）として表されてよく、ｆ（Ｖｉ，ｊ，Ｚ）は、パラメータとしてＶｉ，ｊおよびＺを使用する関数である。たとえば、
【００６４】
【数８】
0006820438.tif 000003
【００６５】
である。
【００６６】
図１に示されているように、１０ｂは、ベースグラフ１０ａに対応するベース行列である。
【００６７】
通常、ＬＤＰＣコードのベースグラフまたはベース行列は、ビルトインパンクチャ（ｂｕｉｌｔ−ｉｎ  ｐｕｎｃｔｕｒｅ）ビットに対応するｐ個の列を含むことがあり、ｐは０から２の整数であり得る。これらの列は符号化において使用され得るが、ビルトインパンクチャビットに対応するシステマティックビットは送られない。ＬＤＰＣコードのベース行列のコードレートはＲ＝（ｎ−ｍ）／（ｎ−ｐ）を満たす。４行および２０列（４×２０）を含むベース行列では、ビルトインパンクチャビットに対応する２つの列がある場合、コードレートは（２０−４）／（２０−２）＝８／９である。
【００６８】
ワイヤレス通信システムにおいて使用されるＬＤＰＣコードでは、ＬＤＰＣコードのベースグラフの行列はｍ×ｎのサイズを有し、ベースグラフは、Ａ、Ｂ、Ｃ、Ｄ、およびＥという５つの部分行列を含み得る。行列の重みは非ゼロ要素の量によって決定され、行の行重み（ｒｏｗ  ｗｅｉｇｈｔ）は行中の非ゼロ要素の量を指し、列の列重み（ｃｏｌｕｍｎ  ｗｅｉｇｈｔ）は列中の非ゼロ要素の量を指す。
【００６９】
図２の２００に示されているように、部分行列Ａは、ｍＡ行およびｎＡ列を含む行列であり、部分行列ＡはｍＡ×ｎＡのサイズを有する。各列は、ＬＤＰＣコード中のＺ個のシステマティックビットに対応し、システマティックビットは情報ビットと時々呼ばれる。
【００７０】
部分行列Ｂは、ｍＡ行およびｍＡ列の正方行列であり、部分行列ＢはｍＡ×ｍＡのサイズを有する。各列は、ＬＤＰＣコード中のＺ個のパリティビットに対応する。図２の２０ａに示されているように、部分行列Ｂは、二重対角構造を有する部分行列Ｂ’、および重みが３である行列の列（略して、重み３の列）を含み、重み３の列は部分行列Ｂ’の左側に位置し得る。部分行列Ｂは、列重みが１である１つまたは複数の行列の列（略して、重み１の列）をさらに含み得る。たとえば、可能な実装は図２の２０ｂまたは２０ｃに示されている。
【００７１】
概して、部分行列Ａおよび部分行列Ｂに基づいて生成される行列は、高コードレート符号化をサポートするために使用され得るコア行列である。
【００７２】
図２において続けると、部分行列Ｃは全ゼロ行列であり、部分行列ＣはｍＡ×ｍＤのサイズを有する。部分行列Ｅは単位行列であり、部分行列ＥはｍＤ×ｍＤのサイズを有する。
【００７３】
部分行列ＤはｍＤ×（ｎＡ＋ｍＡ）のサイズを有し、部分行列Ｄは、低コードレートでパリティビットを生成するために使用され得る。
【００７４】
ベースグラフは、数学的定義の観点から、および部分行列Ｃが全ゼロ行列であり、部分行列Ｅが単位行列であることから上記で説明されていることが理解されよう。したがって、可能な実装では、部分行列Ａおよび部分行列Ｂを含む行列、または部分行列Ａ、部分行列Ｂ、および部分行列Ｄを含む行列は、符号化または復号において行列のベースグラフを表すために使用され得る。
【００７５】
部分行列Ｃおよび部分行列Ｅの構造は比較的固定されているので、部分行列Ａ、部分行列Ｂ、および部分行列Ｄの構造が、ＬＤＰＣコードの符号化および復号性能に影響を及ぼす決定ファクタである。
【００７６】
ラプター様の構造を有するＬＤＰＣ行列が符号化のために使用されるとき、可能な実装では、部分行列Ａおよび部分行列Ｂを含む行列の一部、すなわち、コア行列が符号化のために最初に使用されて、部分行列Ｂに対応する１つまたは複数のパリティビットが取得され得る。次いで、行列全体が符号化のために使用されて、部分行列Ｅに対応する１つまたは複数のパリティビットが取得される。部分行列Ｂは、二重対角構造を有する部分行列Ｂ’、および重み１の列を含み得るからである。したがって、符号化中に、二重対角構造に対応する１つまたは複数のパリティビットが最初に取得されることがあり、次いで、重み１の列に対応する１つまたは複数のパリティビットが取得される。
【００７７】
以下で、符号化方法の一例を提供する。部分行列Ａおよび部分行列Ｂを含むコア行列がＨｃｏｒｅであると仮定すると、重み１の列、および重み１の列中の非ゼロ要素が位置する行がＨｃｏｒｅから削除されて、行列Ｈｃｏｒｅ−ｄｕａｌが取得される。パリティビットに対応するＨｃｏｒｅ−ｄｕａｌ中の行列ブロックは、Ｈｅ＝［Ｈｅ１  Ｈｅ２］によって表され、Ｈｅ１は重み３の列であり、Ｈｅ２は二重対角構造を有する。ＬＤＰＣコード行列の定義に従って、Ｈｃｏｒｅ−ｄｕａｌ・［Ｓ  Ｐｅ］Ｔ＝０であり、Ｓは、入力シーケンスであり、情報ビットを含むベクトルであり、Ｐｅは、パリティビットを含むベクトルであり、［Ｓ  Ｐｅ］Ｔは、入力シーケンスＳおよびＰｅを含む転置行列を示す。したがって、Ｈｃｏｒｅ−ｄｕａｌに対応するパリティビットが、入力シーケンスＳおよびＨｃｏｒｅ−ｄｕａｌに従って最初に計算され得る。入力シーケンスＳはすべての情報ビットを含む。次いで、部分行列Ｂ中の重み１の列に対応するパリティビットが、Ｈｃｏｒｅ−ｄｕａｌおよび入力シーケンスＳに対応する取得されたパリティビットに従って計算される。この場合、部分行列Ｂに対応するすべてのパリティビットが取得され得る。次いで、部分行列Ｅに対応するパリティビットが、部分行列Ｄを使用して、ならびに入力シーケンスＳ、および部分行列Ｂに対応する取得されたパリティビットに基づいて符号化することによって取得される。このようにして、すべての情報ビットおよびすべてのパリティビットが取得される。これらのビットは、符号化シーケンス、すなわち、ＬＤＰＣコードワードを形成する。
【００７８】
任意選択で、ＬＤＰＣ符号化は、短縮（ｓｈｏｒｔｅｎｉｎｇ）およびパンクチャ（ｐｕｎｃｔｕｒｉｎｇ）動作をさらに含み得る。短縮されたビットおよびパンクチャされたビットは送られない。
【００７９】
短縮は、通常、情報ビットの最後のビットから開始して実施され、様々な方式で実施され得る。たとえば、短縮されたビットの量がｓ０であるので、入力シーケンスＳ中の最後のｓ０ビットは、０もしくはヌルまたは他の値に設定されるなど、既知のビットとして設定されて、入力シーケンスＳ’が取得されることがあり、次いで、入力シーケンスＳ’は、ＬＤＰＣ行列を使用することによって符号化される。別の例では、入力シーケンスＳ中の最後の（ｓ０  ｍｏｄ  Ｚ）ビットが、０もしくはヌルまたは他の値に設定されるなど、既知のビットとして設定されて、入力シーケンスＳ’が取得されることがあり、部分行列Ａ中の最後の
【００８０】
【数９】
0006820438.tif 000004
【００８１】
個の列が削除されてＬＤＰＣ行列Ｈ’が取得され、入力シーケンスＳ’は、ＬＤＰＣ行列Ｈ’を使用することによって符号化されるか、または部分行列Ａ中の最後の
【００８２】
【数１０】
0006820438.tif 000005
【００８３】
個の列は入力シーケンスＳ’の符号化に関与しない。符号化が完了した後に、短縮されたビットは送られない。
【００８４】
パンクチャは、ビルトインパンクチャビットに対応する１つもしくは複数の列、または入力シーケンス中の１つもしくは複数のパリティビットに対して実施され得る。通常、１つまたは複数のパリティビットをパンクチャすることも、パリティビット中の最後の１ビットからである。代替として、パリティビットをパンクチャすることは、システム中のプリセットされたパンクチャパターンに従って実施され得る。可能な実装では、入力シーケンスが最初に符号化され、次いで、パンクチャされる必要があるビットの量ｐに基づいて、パリティビット中の最後のｐビットが選択されるか、またはシステム中のプリセットされたパンクチャパターンに従ってｐビットが選択され、このｐビットは送られない。別の可能な実装では、パンクチャされたビットに対応する行列のｐ個の列、およびこれらの列中の非ゼロ要素が位置するｐ個の行が決定されることがあり、これらの行および列は符号化に関与せず、したがって、対応するパリティビットは生成されない。
【００８５】
本明細書で説明される符号化実装は例として使用されるにすぎないことに留意されたい。本出願において提供されるベースグラフおよび／またはベース行列に基づいて、他の知られている符号化実装が代替として使用されてよい。また、符号化実装は本出願では限定されない。本出願における復号は、様々な復号方法、たとえば、最小和（ＭＳ）復号方法、または確率伝搬復号方法において実施され得る。ＭＳ復号方法はフラッドＭＳ復号方法と呼ばれることも時々ある。たとえば、入力シーケンスが初期化され、反復が実施される。反復の後に硬判定検出が実施され、硬判定結果がチェックされる。復号結果がチェック式を満たす場合、復号は成功し、反復は終了し、判定結果が出力される。復号結果がチェック式を満たさない場合、反復回数の最大量内で反復が再び実施される。反復回数の最大量に達したときにチェックが依然として失敗する場合、復号は失敗する。ＭＳ復号の原理が従来知られていることを理解するであろうことが理解され得、詳細について本明細書で再び説明されない。
【００８６】
復号方法は本明細書において例として使用されるにすぎず、本出願において提供されるベースグラフおよび／またはベース行列に基づいて、知られている他の復号方法が代替として使用されてよく、復号方式は本出願では限定されないことに留意されたい。
【００８７】
ベースグラフおよびベース行列に基づいてＬＤＰＣコードが取得されることがあり、ＬＤＰＣコードの性能の上限は、ベースグラフまたはベース行列に対して密度発展を実施することによって決定され得る。ＬＤＰＣコードのエラーフロアは、ベース行列中のシフト値に基づいて決定される。符号化性能および復号性能を改善し、エラーフロアを低下させることは、ベースグラフおよびベース行列を設計する目的の一部である。ワイヤレス通信システムにおいて、コード長は広く変動する。たとえば、コード長は、４０ビット、１２８０ビットなどであり得る。図３ａおよび図３ｂ−１乃至図３ｂ−８は、ＬＤＰＣコードのコア行列のベースグラフおよびベース行列の例である。これらの例は、２０ビットから２５６０ビットのブロック長を有するコードブロックの性能要件を満たし得る。説明および理解しやすいように、列インデックスおよび行インデックスは、図３ａおよび図３ｂ−１乃至図３ｂ−８の最上側および最左側にそれぞれ示されている。
【００８８】
図４は、図３ａおよび図３ｂ−１乃至図３ｂ−８に示されているＬＤＰＣコードに基づく性能図である。ＬＤＰＣ１は、ベースグラフ３０ａに対応するベース行列に基づいて符号化することによって取得されるＬＤＰＣコードを示し、ＬＤＰＣ２は、比較のために使用される、通常使用されるＬＤＰＣコードを示す。水平座標は情報ビットシーケンスの長さを示し、長さの単位はビットである。垂直座標はシンボル信号対雑音比（Ｅｓ／Ｎ０）を示す。性能曲線は、ＢＬＥＲが０．０００１であるとき、異なる情報ビットシーケンス長の場合のＬＤＰＣ１およびＬＤＰＣ２についてのシンボル信号対雑音比の性能を示す。同じＢＬＥＲでは、異なる情報ビットシーケンス長の場合、ＬＤＰＣ１のシンボル信号対雑音比はＬＤＰＣ２のそれよりも小さい、すなわち、ＬＤＰＣ１の性能はＬＤＰＣ２の性能よりも良好であることがわかるであろう。
【００８９】
図３ａは、ＬＤＰＣコードのベースグラフ３０ａの例を示す。ベースグラフ３０ａの行列は４２行および５２列を有する。図において、最上行中の０から５１は列インデックスを示し、最左列中の０から４１は行インデックスを示す。
【００９０】
ベースグラフ３０ａにおいて、部分行列Ａは、システマティックビットに対応し、ｍＡ行および１０列を有し、４≦ｍＡ≦７である。たとえば、ｍＡ＝４である場合、部分行列Ａは、ベースグラフ３０ａ中の行０から行３および列０から列９中の要素を含む。別の例では、ｍＡ＞４である場合、例としてｍＡ＝７を使用すると、部分行列Ａは、ベースグラフ３０ａ中の行０から行６および列０から列９中の要素を含む。
【００９１】
部分行列Ｂは、パリティビットに対応し、ｍＡ行およびｍＡ列を有し、ベースグラフ３０ａ中の行０から行（ｍＡ−１）および列１０から列（１０＋ｍＡ−１）中の要素を含む。
【００９２】
部分行列Ａおよび部分行列Ｂは、ＬＤＰＣコードのベースグラフのコア行列、すなわち、ｍＡ行および（ｍＡ＋ｎＡ）列を含む行列を形成する。この行列は高コードレート符号化のために使用され得る。説明しやすいように、以下では例としてｍＡ＝７を使用して、ＬＤＰＣコードのベースグラフのコア行列は７行および１７列である。
【００９３】
部分行列Ａは、ビルトインパンクチャビットに対応する２つの列を含み得る。パンクチャした後に、コア行列によってサポートされることが可能であるコードレートは１０／（１７−２）＝２／３である。
【００９４】
部分行列Ｂは１つの重み３の列を含み、すなわち、部分行列Ｂの列０（コア行列の列１０）の列重みは３である。部分行列Ｂ中の列１から列３（コア行列中の列１１から列１３）および行０から行３を含む行列は二重対角構造である。部分行列Ｂは３つの重み１の列をさらに含む。
【００９５】
例としてｍＡ＝７を使用すると、ベースグラフ３０ａのコア行列は、重みが１０である２つの行、重みが８である２つの行、重みが６である２つの行、および重みが４である１つの行を含む。すなわち、部分行列Ａおよび部分行列Ｂを含むコア行列中の行の行重みは、それぞれ８、１０、８、１０、４、６、および６である。コア行列中の行は、たとえば、行０が行２と取り替えられ、行１が行３と取り替えられるなど、取り替えられてよいことに留意されたい。コア行列中の行の各々は、ベースグラフ３０ａのコア行列中の行０から行６および列０から列１６に示されている行のうちの１つであり得る。行は互いに取り替えられてよく、列も互いに取り替えられてよい。たとえば、コア行列において列８は列１４と取り替えられてよい。本明細書では例のみが提供されることに留意されたい。実際の適用では、システム要件に基づいて列置換および行置換がフレキシブルに設計され得る。
【００９６】
行列において、行は互いに取り替えられてよく、列も互いに取り替えられてよく、行置換は列の重みを変化させず、列置換は行の重みを変化させないので、行列中の非ゼロ要素の量は変化しないことが理解されよう。行置換および列置換の後に、ベースグラフ中の行の重みは変化しない。行置換、列置換、または行置換および列置換の後に取得されるベースグラフの使用は性能に影響を及ぼさない。
【００９７】
本出願では、性能が影響を受けないことは、全体的に、影響が許容でき、許容差範囲内に収まることを意味することに留意されたい。たとえば、いくつかのシナリオではまたはいくつかの範囲では、性能は許容できる範囲内で低下される。しかしながら、いくつかのシナリオまたはいくつかの範囲では、性能は改善される。全体的に、性能への影響はほとんどない。
【００９８】
通常、ＬＤＰＣコードの所与のベースグラフまたは所与のベース行列について、行列要素への少しの変更によって引き起こされる性能への影響は許容できる。たとえば、実装では、ベースグラフ３０ａのコア行列に基づいて少しの変更が行われることがある。たとえば、１つの行の重みは２以上および５以下であり、他の６つの行の重みは６以上および１２以下である。本出願において提供される解決策を参照すると、いくつかの行の重みは１または２だけ増加または減少され得ることが理解されよう。これは本出願では限定されない。
【００９９】
フレキシブルなコードレートを取得するために、コア行列に基づいて、対応するサイズの部分行列Ｃ、部分行列Ｄ、および部分行列Ｅが追加される。部分行列Ｃは全ゼロ行列であり、部分行列Ｅは単位行列であるので、行列のサイズはコードレートに従って決定され、行列の構造は比較的固定されている。符号化性能および復号性能は、主にコア行列および部分行列Ｄによって影響を受ける。コア行列に基づいて行および列を追加することによって、異なるコードレートが取得されて、対応する部分行列Ｃ、Ｄ、およびＥが形成され得る。たとえば、ベースグラフ３０ａのコア行列がコア行列として使用されることがあり、対応する部分行列Ｃ、Ｄ、およびＥが追加されて、異なるコードレートについて符号化または復号の要件が満たされる。
【０１００】
部分行列Ｄの列カウントｍＤは、部分行列Ａの列カウントおよび部分行列Ｂの列カウントの和であり、部分行列Ｄの行カウントは主にコードレートに関係する。例としてベースグラフ３０ａを使用すると、ｍＡ＝４である場合、部分行列Ｄの対応する列カウントは（ｎＡ＋ｍＡ）＝１４であるか、またはｍＡ＝７である場合、部分行列Ｄの対応する列カウントは（ｎＡ＋ｍＡ）＝１７である。ＬＤＰＣコードによってサポートされるコードレートがＲｍである場合、ＬＤＰＣコードのベースグラフまたはベース行列はｍ×ｎのサイズを有し、ｎ＝ｎＡ／Ｒｍ＋ｐおよびｍ＝ｎ−ｎＡ＝ｎＡ／Ｒｍ＋ｐ−ｎＡである。最小コードレートＲｍ＝１／５であり、ビルトインパンクチャビットに対応する量ｐ列が２である場合、例としてベースグラフ３０ａを使用すると、ｎ＝５２およびｍ＝４２である。部分行列Ｄの行カウントｍＤは最高ｍ−ｍＡ＝４２−ｍＡであることがあり、ｍＡ＝４の場合、０≦ｍＤ≦３８であるか、またはｍＡ＝７の場合、０≦ｍＤ≦３５である。
【０１０１】
説明しやすいように、部分行列Ｄが行列Ｆ中のｍＤ行を含み得るように、ｍＦ行および（ｍＡ＋ｎＡ）列の行列Ｆが定義されてよく、０≦ｍＤ≦ｍＦ、および３５≦ｍＦ≦３８である。例としてｍＡ＝７をなお使用すると、ベースグラフ３０ａにおいて、ｍＡ＋ｍＤ＝４２である。ｍＤ＝３５である場合、対応して、部分行列Ｄは３５行および１７列を含む。具体的には、部分行列Ｄは行列Ｆであり、対応するＬＤＰＣコードによってサポートされるコードレートは１０／５０＝１／５である。ｍＡ＝７では、ベースグラフ３０ａ中の行７から行４１および列０から列１７を含む行列が行列Ｆであることがわかるであろう。ｍＡ＝４では、ベースグラフ３０ａ中の行４から行４１および列０から列１３を含む行列が行列Ｆである。本明細書では例のみが提供され、本出願はそれに限定されないことに留意されたい。ｍＡは、代替として４から７の任意の整数値であってよく、行列Ｆの列カウントも対応して変化する。
【０１０２】
本出願では、ベースグラフ中の２つの隣接する行中の同じ列中に多くとも１つの非ゼロ要素がある場合、それらの２つの行は相互に直交する。ベースグラフ中の２つの隣接する行についてのいくつかの列とは異なる他の列では、ベースグラフ中の２つの隣接する行についての他の列のうちの同じ列中に多くとも１つの非ゼロ要素がある場合、それらの２つの行は擬似直交する。
【０１０３】
行列Ｆは、擬似直交構造を有する複数の行、および直交構造を有する少なくとも２つの行を含み得る。たとえば、行列Ｆは、擬似直交構造を満たす少なくとも１５個の行を含む。それらの１５個の行のうちのいずれか２つの隣接する行中のビルトインパンクチャビットに対応するｆ個の列以外の列では、同じ列中に多くとも１つの非ゼロ要素があり、すなわち、行列Ｆ中のそれらの少なくとも１５個の行のうちのビルトインパンクチャビットに対応する列以外の列を含む行列ブロックは直交構造を有する。行列Ｆは、直交構造を満たす１０から２０個の行をさらに含み得る。これらの行では、いずれか２つの隣接する行中の同じ列中に多くとも１つの非ゼロ要素がある。具体的には、ビルトインパンクチャ列中に同じく多くとも１つの非ゼロ要素がある。
【０１０４】
たとえば、例としてベースグラフ３０ａを使用すると、行列Ｆ中の最後の１０個の行は直交構造を有し、９つの行の重みは３であり、１つの行の重みは２である。行列Ｆの列重み分布は以下であり得る。すなわち、１つの列の重みが１６であり、１つの列の重みが１８であり、１つの列の重みが１１であり、２つの列の重みが１０であり、１つの列の重みが９であり、１つの列の重みが８であり、１つの列の重みが７であり、１つの列の重みが６であり、２つの列の重みが４であり、１つの列の重みが３であり、２つの列の重みが２である、であり得る。ｍＡ＞４である場合、行列Ｆ中の他の列の重みは０である。
【０１０５】
例としてｍＡ＝７を使用すると、ベースグラフ３０ａ中の行列Ｆの例では、行列Ｆの行重みは、順に５、３、４、４、４、３、４、４、３、４、４、３、３、３、３、２、３、３、２、４、２、３、２、４、２、３、３、３、３、３、２、３、３、３、および３である。
【０１０６】
部分行列Ｅが単位行列であるので、ベースグラフ３０ａ中の行の重みは、それぞれ８、１０、８、１０、４、６、６、６、４、５、５、５、４、５、５、４、５、５、４、４、４、４、３、４、４、３、５、３、４、３、５、３、４、４、４、４、４、３、４、４、４、および４である。
【０１０７】
例としてｍＡ＝７をなお使用すると、ｍＤ＝１５である場合、ＬＤＰＣコードのベースグラフ中の部分行列Ｄは、１５行および１７列を含み得る。部分行列Ｄは、ベースグラフ３０ａ中の行列Ｆ中の行０から行１４、すなわち、ベースグラフ３０ａ中の行７から行２１、および列０から列１６を含む行列であり得る。対応するＬＤＰＣコードによってサポートされるコードレートは１０／３０＝１／３である。すなわち、このコードレートにおいて、ＬＤＰＣコードのベースグラフは、ベースグラフ３０ａ中の行０から行２１および列０から列３１を含む行列に対応する。部分行列Ｅは、１５行および１５列を含む単位行列であり、部分行列Ｃは、７行および１５列を含む全ゼロ行列である。
【０１０８】
ｍＤ＝２５である場合、ＬＤＰＣコードのベースグラフ中の部分行列Ｄは、２５行および１７列を有する。部分行列Ｄは、ベースグラフ３０ａ中の行列Ｆ中の行０から行２４、すなわち、ベースグラフ３０ａ中の行７から行３１、および列０から列１６を含む行列であり得る。対応するＬＤＰＣコードによってサポートされるコードレートは１０／４０＝１／４である。すなわち、このコードレートにおいて、ＬＤＰＣコードのベースグラフは、ベースグラフ３０ａ中の行０から行３１および列０から列４１を含む行列に対応する。部分行列Ｅは、２５行および２５列を含む単位行列であり、部分行列Ｃは、７行および２５列を含む全ゼロ行列である。
【０１０９】
残りはアナロジーによって推論されることが可能であり、詳細について１つずつ説明されない。
【０１１０】
ＬＤＰＣコードのベースグラフおよびベース行列において、行は互いに取り替えられてよく、列も互いに取り替えられてよいことに留意されたい。たとえば、ベースグラフ３０ａでは、行３４は行３６と取り替えられてよく、列４４は列４５と取り替えられよい。別の例では、部分行列Ｄは行列Ｆ中のｍＤ行を含み、これらのｍＤ行は取り替えられないことがあるか、またはこれらのｍＤ行の１つもしくは複数が取り替えられてよく、部分行列Ｅはやはり対角構造であり、部分行列Ｅに対して行置換も列置換も実施されない。たとえば、行列Ｆにおいて行２７は行２９と取り替えられ、部分行列Ｄは行列Ｆ中のｍＤ行を含み、部分行列Ｅはやはり対角構造である。行列Ｆは、行置換の前に擬似直交行列であり、行置換を実施することによって依然として擬似直交行列である。ベースグラフまたはベース行列が部分行列Ｄを含む場合、コア行列中の列が取り替えられるとき、部分行列Ｄ中の対応する列も取り替えられる必要があることが理解されよう。
【０１１１】
図３ｂ−１乃至図３ｂ−８に示されているように、ベース行列３０ｂ−１から３０ｂ−８は、ベースグラフ３０ａの複数のベース行列の例である。ベースグラフ３０ａ中の行ｉおよび列ｊ中の非ゼロ要素は、ベース行列３０ｂ−１から３０ｂ−８の各々中の同じ位置を有し、非ゼロ要素の値はシフト値Ｖｉ，ｊである。シフト行列中のゼロ要素は、−１またはヌルを使用することによって表される。ベース行列中の部分行列Ｄに対応する部分は、行列Ｆのシフト行列中のｍＤ個の行を含むことがあり、ｍＤの値は、異なるコードレートに従って選択され得る。部分行列Ｄに対応するシフト行列は、行列Ｆのシフト行列中のｍＤ個の行を含む。
【０１１２】
可能な実装では、行列Ｆのシフト行列は、行列３０ｂ−１から３０ｂ−８のいずれか１つの行７から行４１および列０から列１６を含む行列、もしくは行列３０ｂ−１から３０ｂ−８のいずれか１つの中の行７から行４１および列０から列１６を含む行列に対して行／列置換を実施することによって取得される行列であり得るか、または行列Ｆのシフト行列は、行列３０ｂ−１から３０ｂ−８のいずれか１つの中の行４から行４１および列０から列１４を含む行列、もしくは行列３０ｂ−１から３０ｂ−８のいずれか１つの中の行４から行４１および列０から列１４を含む行列に対して行／列置換を実施することによって取得される行列を含み得る。
【０１１３】
異なるブロック長をサポートするために、ＬＤＰＣコードは、異なるリフティングファクタＺを必要とする。たとえば、リフティングファクタＺ＝ａ×２ｊであり、ａ∈｛２，３，５，７，９，１１，１３，１５｝は、表１に示されている８つのセットに分割され得る。
【０１１４】
【表１】
0006820438.tif 000006
【０１１５】
異なるリフティングファクタＺのセットに基づいて、異なるブロック長におけるＬＤＰＣコード性能を保証するために、異なるリフティングファクタＺのセットに対応するベース行列が別々に使用され得る。
【０１１６】
可能な実装では、
リフティングファクタＺが、セット１中の１つのリフティングファクタである場合、行列Ｆのシフト行列は、３０ｂ−１中の行７から行４１および列０から列１６を含む行列、もしくは３０ｂ−１中の行７から行４１および列０から列１６を含む行列に対して行／列置換を実施することによって取得される行列であり得るか、または行列Ｆのシフト行列は、３０ｂ−１中の行４から行４１および列０から列１４を含む行列、もしくは３０ｂ−１中の行４から行４１および列０から列１４を含む行列に対して行／列置換を実施することによって取得される行列であり得る。対応して、ベースグラフ３０ａのベース行列は、３０ｂ−１に示される行列、または３０ｂ−１に示される行列に対して行／列置換を実施することによって取得される行列であり得る。
【０１１７】
リフティングファクタＺが、セット２中の１つのリフティングファクタである場合、行列Ｆのシフト行列は、３０ｂ−２中の行７から行４１および列０から列１６を含む行列、もしくは３０ｂ−２中の行７から行４１および列０から列１６を含む行列に対して行／列置換を実施することによって取得される行列であり得るか、または行列Ｆのシフト行列は、３０ｂ−２中の行４から行４１および列０から列１４を含む行列、もしくは３０ｂ−２中の行４から行４１および列０から列１４を含む行列に対して行／列置換を実施することによって取得される行列であり得る。対応して、ベースグラフ３０ａのベース行列は、３０ｂ−２に示される行列、または３０ｂ−２に示される行列に対して行／列置換を実施することによって取得される行列であり得る。
【０１１８】
リフティングファクタＺが、セット３中の１つのリフティングファクタである場合、行列Ｆのシフト行列は、３０ｂ−３中の行７から行４１および列０から列１６を含む行列、もしくは３０ｂ−３中の行７から行４１および列０から列１６を含む行列に対して行／列置換を実施することによって取得される行列であり得るか、または行列Ｆのシフト行列は、３０ｂ−３中の行４から行４１および列０から列１４を含む行列、もしくは３０ｂ−３中の行４から行４１および列０から列１４を含む行列に対して行／列置換を実施することによって取得される行列であり得る。対応して、ベースグラフ３０ａのベース行列は、３０ｂ−３に示される行列、または３０ｂ−３に示される行列に対して行／列置換を実施することによって取得される行列であり得る。
【０１１９】
リフティングファクタＺが、セット４中の１つのリフティングファクタである場合、行列Ｆのシフト行列は、３０ｂ−４中の行７から行４１および列０から列１６を含む行列、もしくは３０ｂ−４中の行７から行４１および列０から列１６を含む行列に対して行／列置換を実施することによって取得される行列であり得るか、または行列Ｆのシフト行列は、３０ｂ−４中の行４から行４１および列０から列１４を含む行列、もしくは３０ｂ−４中の行４から行４１および列０から列１４を含む行列に対して行／列置換を実施することによって取得される行列であり得る。対応して、ベースグラフ３０ａのベース行列は、３０ｂ−４に示される行列、または３０ｂ−４に示される行列に対して行／列置換を実施することによって取得される行列であり得る。
【０１２０】
リフティングファクタＺが、セット５中の１つのリフティングファクタである場合、行列Ｆのシフト行列は、３０ｂ−５中の行７から行４１および列０から列１６を含む行列、もしくは３０ｂ−５中の行７から行４１および列０から列１６を含む行列に対して行／列置換を実施することによって取得される行列であり得るか、または行列Ｆのシフト行列は、３０ｂ−５中の行４から行４１および列０から列１４を含む行列、もしくは３０ｂ−５中の行４から行４１および列０から列１４を含む行列に対して行／列置換を実施することによって取得される行列であり得る。対応して、ベースグラフ３０ａのベース行列は、３０ｂ−５に示される行列、または３０ｂ−５に示される行列に対して行／列置換を実施することによって取得される行列であり得る。
【０１２１】
リフティングファクタＺが、セット６中の１つのリフティングファクタである場合、行列Ｆのシフト行列は、３０ｂ−６中の行７から行４１および列０から列１６を含む行列、もしくは３０ｂ−６中の行７から行４１および列０から列１６を含む行列に対して行／列置換を実施することによって取得される行列であり得るか、または行列Ｆのシフト行列は、３０ｂ−６中の行４から行４１および列０から列１４を含む行列、もしくは３０ｂ−６中の行４から行４１および列０から列１４を含む行列に対して行／列置換を実施することによって取得される行列であり得る。対応して、ベースグラフ３０ａのベース行列は、３０ｂ−６に示される行列、または３０ｂ−６に示される行列に対して行／列置換を実施することによって取得される行列であり得る。
【０１２２】
リフティングファクタＺが、セット７中の１つのリフティングファクタである場合、行列Ｆのシフト行列は、３０ｂ−７中の行７から行４１および列０から列１６を含む行列、もしくは３０ｂ−７中の行７から行４１および列０から列１６を含む行列に対して行／列置換を実施することによって取得される行列であり得るか、または行列Ｆのシフト行列は、３０ｂ−７中の行４から行４１および列０から列１４を含む行列、もしくは３０ｂ−７中の行４から行４１および列０から列１４を含む行列に対して行／列置換を実施することによって取得される行列であり得る。対応して、ベースグラフ３０ａのベース行列は、３０ｂ−７に示される行列、または３０ｂ−７に示される行列に対して行／列置換を実施することによって取得される行列であり得る。
【０１２３】
リフティングファクタＺが、セット８中の１つのリフティングファクタである場合、行列Ｆのシフト行列は、３０ｂ−８中の行７から行４１および列０から列１６を含む行列、もしくは３０ｂ−８中の行７から行４１および列０から列１６を含む行列に対して行／列置換を実施することによって取得される行列であり得るか、または行列Ｆのシフト行列は、３０ｂ−８中の行４から行４１および列０から列１４を含む行列、もしくは３０ｂ−８中の行４から行４１および列０から列１４を含む行列に対して行／列置換を実施することによって取得される行列であり得る。対応して、ベースグラフ３０ａのベース行列は、３０ｂ−８に示される行列、または３０ｂ−８に示される行列に対して行／列置換を実施することによって取得される行列であり得る。
【０１２４】
たとえば、リフティングファクタＺの値は、入力シーケンスの長さＫに基づいて決定される。たとえば、入力シーケンスの長さがＫである場合、システムにおいて定義されている複数のリフティングファクタから、１０×Ｚ≧Ｋを満たす最小値が決定され、行列のリフティングファクタの値として使用され得る。さらに、決定されたリフティングファクタに従って、対応するベース行列が選択され得る。
【０１２５】
同様に、ベース行列中の行が互いに取り替えられてもよく、ベース行列中の列が互いに取り替えられてもよい。ベースグラフに対して行置換または列置換のうちの少なくとも１つが実施される場合、ベース行列中の対応する行または列に対しても同じ置換が実施される。
【０１２６】
本出願では、擬似直交構造は、２つの隣接する行のみに限定されないことが理解されよう。擬似直交構造を含む行列は、代替として複数のグループを含むように設計されてよく、各グループは、少なくとも２つの行、たとえば、３つの行または４つの行を含み、各グループ中に含まれる行は擬似直交する。
【０１２７】
図４に示されている性能曲線図では、ＬＤＰＣ１は、ベースグラフ３０ａに対応するベース行列に基づいて符号化することによってＬＤＰＣコードが取得されることを示し、ＬＤＰＣ２は、比較のために使用される、通常使用されるＬＤＰＣコードを示す。水平座標は情報ビットシーケンスの長さを示し、長さの単位はビットである。垂直座標はシンボル信号対雑音比（Ｅｓ／Ｎ０）である。性能曲線は、ＢＬＥＲが０．０００１であるとき、異なる情報ビットシーケンス長の場合のＬＤＰＣ１およびＬＤＰＣ２についてのシンボル信号対雑音比の性能を示す。同じＢＬＥＲでは、異なる情報ビットシーケンス長の場合、ＬＤＰＣ１のシンボル信号対雑音比はＬＤＰＣ２のそれよりも小さい、すなわち、ＬＤＰＣ１の性能はＬＤＰＣ２の性能よりも良好であることがわかるであろう。
【０１２８】
本出願の実施形態において提供される符号化方法では、エンコーダが、ＬＤＰＣ行列を使用することによって入力シーケンスを符号化する。ＬＤＰＣ行列のベースグラフは、上記の例におけるどのようなベースグラフであってもよく、ＬＤＰＣ行列のベース行列は、上記の例におけるどのようなベース行列であってもよい。エンコーダの入力シーケンスは、情報ビットシーケンスであり得るか、または次の処理、すなわち、ＣＲＣビットアタッチメントもしくはフィラービット挿入の少なくとも１つのタイプを通して取得される情報ビットシーケンスであり得る。
【０１２９】
さらに、本方法は、リフティングファクタＺを決定するステップを含む。リフティングファクタＺの値は、入力シーケンスの長さＫに基づいて決定され得る。情報ビットシーケンスは、コードブロック（ｃｏｄｅ  ｂｌｏｃｋ）と呼ばれることも時々あり、トランスポートブロック上のコードブロックセグメント化を通して取得され得る。情報ビットシーケンスの長さがＫである場合、リフティングファクタＺの値として、システムにおいて定義されている複数のリフティングファクタから１０×Ｚ≧Ｋを満たす最小値が決定され得る。たとえば、Ｋ＝１２８であり、システムにおいて定義されているリフティングファクタが、表１のセット中のリフティングファクタ、たとえば、２、３、４、５、６、７、８、９、１０、１１、１２、１３、１４、１５、１６、１８、２０、２２、２４、２６、２８、３０、３２、３６、４０、４４、４８、５２、５６、６０、６４、７２、８０、８８、９６、１０４、１１２、１２０、１２８、１４４、１６０、１７６、１９２、２０８、２２４、２４０、および２５６を含む場合、Ｚは１３であり、セット７中にあると決定され得る。本明細書では例のみが提供され、例は限定とならないことに留意されたい。
【０１３０】
別の可能な設計では、Ｋｂが、ＬＤＰＣコードのベース行列中の情報ビットに対応する列の列カウントであり得る。サポートされるリフティングファクタセットにおいて、Ｋｂ・Ｚ０≧Ｋを満たす最小値Ｚ０がリフティングファクタＺの値として決定され得る。ベースグラフ３０ａにおいて、情報ビットに対応する列の列カウントＫｂｍａｘは１０であり、ベースグラフ３０ａによってサポートされるリフティングファクタセットは｛２４，２６，２８，３０，３２，３６，４０，４４，４８，５２，５６，６０，６４，７２，８０，８８，９６，１０４，１１２，１２０，１２８，１４４，１６０，１７６，１９２，２０８，２２４，２４０，２５６，２８８，３２０，３５２，３８４｝であると仮定される。
【０１３１】
入力シーケンスの長さＫが５２９ビットである場合、Ｚは２６である。入力シーケンスの長さＫが５０００ビットである場合、Ｚは２４０である。本明細書では例のみが提供され、例は限定とならないことに留意されたい。
【０１３２】
別の例では、Ｋｂの値は、Ｋの値とともに変動することもあるが、Ｋｂの値は、ＬＤＰＣコードのベース行列中の情報ビットに対応する列の列カウントを超えない。たとえば、Ｋｂのために異なるしきい値が設定され得る。
【０１３３】
可能な設計は以下の通りである。本明細書におけるしきい値６４０、５６０、または１９２は例にすぎないことに留意されたい。システム設計要件に従って他の値が設計されてよい。
【０１３４】
if (K>640), Kb =10;
elseif (K>560), Kb=9;
elseif (K>192), Kb =8;
else Kb= 6; end
【０１３５】
ここで、リフティングファクタＺは、入力シーケンスの長さＫに従ってエンコーダによって決定され得るか、または（プロセッサなどの）他のエンティティからエンコーダによって取得され得る。
【０１３６】
可能な設計では、フィラービットの値は、ヌル、もしくは０、またはシステムにおいて定義されている他の値であり得る。符号化の後に、フィラービットは識別されることが可能であり、送られない。本出願はそれに限定されない。
【０１３７】
エンコーダによって、ＬＤＰＣ行列Ｈを使用することによって入力シーケンスを符号化することは、リフティングファクタＺに対応するＬＤＰＣ行列Ｈを使用することによって入力シーケンスを符号化することであり得る。
【０１３８】
可能な実装では、入力シーケンスは、ｃ＝｛ｃ０，ｃ１，ｃ２，・・・，ｃＫ−１｝であり、入力シーケンスｃの長さはＫであり、入力シーケンスｃがエンコーダによって符号化された後に取得される出力シーケンスは、ｄ＝｛ｄ０，ｄ１，ｄ２，・・・，ｄＮ−１｝であり、Ｋは０よりも大きい整数であり、ＫはリフティングファクタＺの整数倍であり得る。
【０１３９】
出力シーケンスｄは、入力シーケンスｃ中のＫ０ビットおよびパリティビットシーケンスｗ中のパリティビットを含み、Ｋ０は、０よりも大きくてＫ以下の整数である。パリティビットシーケンスｗの長さはＮ−Ｋ０であり、
【０１４０】
【数１１】
0006820438.tif 000007
【０１４１】
である。
【０１４２】
パリティビットシーケンスｗおよび入力シーケンスｃは式（１）
【０１４３】
【数１２】
0006820438.tif 000008
【０１４４】
を満たし、ｃＴ＝［ｃ０，ｃ１，ｃ２，・・・，ｃＫ−１］Ｔであり、ｃＴは、入力シーケンス中のビットを含むベクトルの転置ベクトルであり、
【０１４５】
【数１３】
0006820438.tif 000009
【０１４６】
であり、ｗＴは、パリティビットシーケンス中のビットを含むベクトルの転置ベクトルであり、０Ｔは列ベクトルであり、０Ｔのすべての要素の値は０である。
【０１４７】
Ｈは、上記の実施形態において説明されたいずれかのベースグラフに基づいて取得されるＬＤＰＣ行列であり、Ｈのベースグラフは、ｍ行およびｎ列を有し、上記の実施形態において述べられたベースグラフ３０ａであり得る。
【０１４８】
設計では、Ｈのベースグラフはｐ個のビルトインパンクチャ列を含み、ｐは０以上の整数であり、ｐ個のビルトインパンクチャ列に対応する情報ビットは出力されず、出力シーケンスは、ｐ個のビルトインパンクチャ列に対応する情報ビットを含まない。この場合、Ｋ０＝Ｋ−ｐ・Ｚである。たとえば、ｐ＝２の場合、Ｋ０＝Ｋ−２・Ｚであり、パリティビットシーケンスｗの長さはＮ＋２・Ｚ−Ｋである。ｐ個のビルトインパンクチャ列が符号化に関与する場合、Ｋ０＝Ｋであり、パリティビットシーケンスｗの長さはＮ−Ｋである。
【０１４９】
対応して、Ｈは、Ｍ行および（Ｎ＋ｐ・Ｚ）列またはＭ行およびＮ列を有することがあり、Ｈのベースグラフのサイズは、ｍ＝Ｍ／Ｚ行および
【０１５０】
【数１４】
0006820438.tif 000010
【０１５１】
列である。
【０１５２】
ＬＤＰＣ行列Ｈのベースグラフは［ＨＢＧ  ＨＢＧ，ＥＸＴ］として表されてよく、
【０１５３】
【数１５】
0006820438.tif 000011
【０１５４】
であり、
【０１５５】
【数１６】
0006820438.tif 000012
【０１５６】
はサイズｍｃ×ｎｃの全ゼロ行列を表し、
【０１５７】
【数１７】
0006820438.tif 000013
【０１５８】
はサイズｎｃ×ｎｃの単位行列を表す。ＫｂはＫとともに変動し得るので、ＨＢＧは、ＨＢＧ２中の情報ビットに対応するＫｂ個の列を含み、ＨＢＧ２中の列１０から列（１０＋ｍＡ−１）を含み、ＨＢＧ２中の列カウントは１０＋ｍＡであり、４≦ｍＡ≦７である。たとえば、Ｋｂ∈｛６，８，９｝である場合、ＨＢＧは、ＨＢＧ２から列Ｋｂから列９が削除された後に取得され得る。Ｋｂ＝１０である場合、ＨＢＧ＝ＨＢＧ２である。
【０１５９】
可能な設計では、
【０１６０】
【数１８】
0006820438.tif 000014
【０１６１】
は、上記の実施形態におけるベースグラフ中の部分行列Ｃであり、
【０１６２】
【数１９】
0006820438.tif 000015
【０１６３】
は、上記の実施形態における部分行列Ｅであり、したがって、
【０１６４】
【数２０】
0006820438.tif 000016
【０１６５】
であり、Ａ、Ｂ、およびＤは、それぞれ上記の実施形態におけるベースグラフ中の部分行列Ａ、Ｂ、およびＤである。したがって、ｍｃ＝７、０≦ｎｃ≦３５であり、ＨＢＧ２中の行カウントは４２以下であり、４以上であり、ＨＢＧ２中の列カウントは１７に等しい。
【０１６６】
別の可能な設計では、列１４から列１６が重み１の列であり、これらの列中の非ゼロ要素が行４から行６中にあるので、したがって、ｍｃ＝６、０≦ｎｃ≦３６であり、ＨＢＧ２中の列カウントは１６であるか、またはｍｃ＝５、０≦ｎｃ≦３７であり、ＨＢＧ２中の列カウントは１５であるか、またはｍｃ＝４、０≦ｎｃ≦３８であり、ＨＢＧ２中の列カウントは１４である。
【０１６７】
対応して、ＬＤＰＣ行列Ｈは、Ｈ＝［Ｈ１  Ｈ２］によって表され得る。
【０１６８】
Ｈ１は、ＨＢＧ中の各ゼロ要素をサイズＺ×Ｚの全ゼロ行列と交換し、各非ゼロ要素をサイズＺ×Ｚの循環置換行列ｈｉ，ｊと交換することによって取得されてよく、循環置換行列ｈｉ，ｊは、サイズＺ×Ｚの単位行列をＰｉ，ｊ回右側に循環シフトすることによって取得され、ｈｉ，ｊはＩ（Ｐｉ，ｊ）によって表されることもあり、ｉは行インデックスであり、ｊは列インデックスである。可能な設計では、Ｐｉ，ｊ＝ｍｏｄ（Ｖｉ，ｊ，Ｚ）であり、Ｖｉ，ｊは、Ｚに対応するリフティングファクタセットインデックスに対応するベース行列中の行ｉおよび列ｊ中の非ゼロ要素である。
【０１６９】
Ｈ２は、ＨＢＧ，ＥＸＴ中の各ゼロ要素をサイズＺ×Ｚの全ゼロ行列と交換し、各非ゼロ要素をサイズＺ×Ｚの単位行列と交換することによって取得され得る。
【０１７０】
エンコーダは、複数の方式で符号化および出力を実施し得る。上記の実施形態において述べられたベースグラフ３０ａが、下記の説明のための例として使用される。ベースグラフは、最高４２行および最高５２列を有し、２つのビルトインパンクチャ列を含む。説明しやすいように、本出願では、最も多くの行を有し、そして最も多くの列のベースグラフは完全ベースグラフと時々呼ばれる。
【０１７１】
方式１
【０１７２】
符号化は、できる限り多くのパリティビットが取得されることが可能になるように、完全ベースグラフに基づいて実施される。この場合、ｍ＝４２およびｎ＝５２であり、上記のベースグラフにおける行０から行４１および列０から列５１に対応する。
【０１７３】
対応して、ＬＤＰＣ行列Ｈについて、Ｍは４２×Ｚであり、出力シーケンスが、ビルトインパンクチャビットに対応する列に対応する情報ビットを含む場合、Ｎ＝（４２＋Ｋｂ）×Ｚであるか、または出力シーケンスが、ビルトインパンクチャビットに対応する２×Ｚ個の情報ビットを含まない場合、Ｎ＝（４０＋Ｋｂ）・Ｚである。
【０１７４】
送られる必要がある情報ビットおよびパリティビットは、後続の処理中にエンコーダによって生成される出力シーケンスから決定され得る。
【０１７５】
方式２
【０１７６】
符号化は、完全ベースグラフ中のいくつかの行およびいくつかの列に基づいて実施される。行および列は、符号化のために完全ベースグラフから、送られる必要があるコードレート、または送られる必要がある情報ビットの量およびパリティビットの量などに基づいて選択され得る。
【０１７７】
たとえば、コードレートは２／３であり、ｍ＝７、およびｎ＝１７であり、すなわち、符号化は、上記のベースグラフ３０ａ中の行０から行６および列０から列１６に基づいて実施される。
【０１７８】
対応して、ＬＤＰＣ行列Ｈについて、Ｍ＝７×Ｚであり、出力シーケンスが、ビルトインパンクチャ列に対応する情報ビットを含む場合、Ｎ＝１７×Ｚであるか、または出力シーケンスが、ビルトインパンクチャ列に対応する情報ビットを含まない場合、Ｎ＝１５×Ｚである。
【０１７９】
別の例では、コードレートは５／６であり、ｍ＝４、およびｎ＝１４である。
【０１８０】
別の例では、コードレートは１／５であり、ｍ＝４２、およびｎ＝５２である。
【０１８１】
Ｈのベースグラフのサイズは４≦ｍ≦４２および１４≦ｎ≦５２であることがわかり得る。対応して、ＬＤＰＣ行列Ｈについて、４×Ｚ≦Ｍ≦４２×Ｚおよび（４＋Ｋｂ）×Ｚ≦Ｎ≦（４２＋Ｋｂ）×Ｚである。
【０１８２】
たとえば、Ｚが１３であり、セット７中にある場合、符号化は、セット７に対応するベース行列３ｂ−７に基づいて取得されるＬＤＰＣ行列を使用することによって入力シーケンス上で実施される。
【０１８３】
別の設計では、リフティングファクタＺのベース行列の行ｉおよび列ｊ中の要素Ｐｉ，ｊが以下の関係を満たしてもよい。
【０１８４】
【数２１】
0006820438.tif 000017
【０１８５】
Ｖｉ，ｊは、Ｚが属するセットのベース行列中の行ｉおよび列ｊ中の要素のシフト値、すなわち、Ｚが属するセット中の最大リフティングファクタのベース行列中の行ｉおよび列ｊ中の非ゼロ要素のシフト値であり得る。
【０１８６】
たとえば、Ｚが１３である例を使用すると、Ｚのベース行列中の行ｉおよび列ｊ中の要素Ｐｉ，ｊは、
【０１８７】
【数２２】
0006820438.tif 000018
【０１８８】
を満たし、Ｖｉ，ｊは、ベース行列３ｂ−７中の行ｉおよび列ｊ中の非ゼロ要素のシフト値である。
【０１８９】
本明細書では例のみが提供され、例は本出願において限定とならないことに留意されたい。
【０１９０】
上記の実装では、ＬＤＰＣ行列Ｈのベース行列ＨＢは、上記の実施形態において述べられた任意のベース行列、または上記で説明された任意のベース行列に対して行置換、もしくは列置換、もしくは行置換および列置換を実施することによって取得されるベース行列であり得る。ＬＤＰＣ行列のベースグラフは、少なくとも部分行列Ａおよび部分行列Ｂを含み、部分行列Ｃ、部分行列Ｄ、および部分行列Ｅをさらに含み得る。各部分行列については、上記の実施形態における説明を参照されたく、詳細について本明細書で再び説明されない。もちろん、ベース行列ＨＢは、代替として、ベースグラフがベースグラフ３０ａと同じであるベース行列であり得る。本出願はそれに限定されない。
【０１９１】
可能な実装では、ＬＤＰＣコードのベース行列ＨＢがメモリに記憶されてよく、エンコーダは、リフティングファクタＺに対応するＬＤＰＣ行列を取得して、入力シーケンスを符号化する。別の可能な実装では、ＬＤＰＣコードの複数のベース行列ＨＢがあるので、行列構造に従ってベース行列が記憶されたとき、比較的大きい記憶スペースが占有される。代替として、ＬＤＰＣコードのベースグラフがメモリに記憶されてよく、ベース行列中の非ゼロ要素のシフト値が行ごとにまたは列ごとに記憶されてよく、その場合、ＬＤＰＣ行列は、ベースグラフ、およびリフティングファクタＺに対応するベース行列のシフト値に基づいて取得され得る。
【０１９２】
ベースグラフは、各ベース行列中の非ゼロ要素の位置を示し得る。別の可能な実装では、ベースグラフを記憶することは、ベースグラフ中の非ゼロ要素の位置を記憶することであり得る。非ゼロ要素の位置は、非ゼロ要素が位置する行および列、たとえば、行中の非ゼロ要素の列位置、または列中の非ゼロ要素の行位置によって示され得る。別の可能な実装では、ベースグラフを記憶することは、ベースグラフ中のゼロ要素の位置を記憶することでもあり得る。同様に、ゼロ要素の位置は、ゼロ要素が位置する行および列、たとえば、行中のゼロ要素の列位置、または列中のゼロ要素の行位置が位置する行および列によっても示され得る。したがって、非ゼロ要素の位置は、ゼロ要素の位置を除外することによって取得され得る。本明細書では例のみが提供され、例は本出願において限定とならないことに留意されたい。
【０１９３】
設計では、ベースグラフまたはベース行列に関係するパラメータが表で表され得る。たとえば、関係するパラメータまたは表が１つまたは複数のメモリに記憶され得る。ベースグラフまたはベース行列を取得するために、ベースグラフまたはベース行列中の行インデックス、および非ゼロ要素が位置する列インデックスなどの関係するパラメータがメモリから読み取られる。任意選択で、各行の行重み、および各行中の非ゼロ要素のシフト値が記憶され得る。
【０１９４】
以下で、説明のための例として図３ａを使用する。本出願において提供される別のベースグラフまたはベース行列については、同様の設計を参照されたい。
【０１９５】
たとえば、ベースグラフ３０ａ中のパラメータは表２で表され得る。
【０１９６】
【表２−１】
0006820438.tif 000019
【０１９７】
【表２−２】
0006820438.tif 000020
【０１９８】
本明細書では例のみが提供され、例は限定とならないことに留意されたい。本出願において提供される他のベースグラフまたはベース行列の関係するパラメータも同様の表で表され得る。上記のベースグラフ３０ａおよび表２は、ベースグラフおよびベース行列の設計を理解するのを助けることを意図されることが理解され得る。ベースグラフおよびベース行列の表現形式は、上記のベースグラフ３０ａおよび表２の表現形式のみに限定されない。他の可能な変形形態が含まれ得る。
【０１９９】
ある実装では、関係するパラメータは、列インデックス、列重み、および非ゼロ要素が位置する行インデックス、または列インデックス、列重み、およびゼロ要素が位置する行インデックスであり得る。例として表３の形式を使用すると、表３は、ベースグラフのただ２つの列の例を示す。他の列はアナロジーによって推論されることが可能であり、詳細について１つずつ説明されない。列１４から列５１は重み１の列であってよく、代替として記憶されなくてよい。非ゼロ要素の行インデックスは列インデックスに従って計算される。
【０２００】
【表３】
0006820438.tif 000021
【０２０１】
ある実装では、表２または表３中のパラメータ「行重み」または「列重み」は、代替として省略されてよい。行または列の非ゼロ要素が位置する列または行に従って、行または列の中の非ゼロ要素の量が知られる。したがって、行重みまたは列重みも知られる。
【０２０２】
ある実装では、表２中の「非ゼロ要素の列インデックス」中のパラメータ値、および表３中の「非ゼロ要素の行インデックス」中のパラメータ値は、パラメータ値が非ゼロ要素の列にインデックス付けされるかまたは非ゼロ要素の行にインデックス付けされるとすれば、昇順ではなく他の順序でソートされてよい。
【０２０３】
ある実装では、表２または表３は、「非ゼロ要素のシフト値」という列をさらに含み得る。「非ゼロ要素のシフト値」という列中のパラメータ値は、「非ゼロ要素の列インデックス」中のパラメータ値との１対１の対応にある。表５は、「非ゼロ要素のシフト値」という列をさらに含み得る。「非ゼロ要素のシフト値」という列中のパラメータ値は、「非ゼロ要素の行インデックス」中のパラメータ値との１対１の対応にある。
【０２０４】
設計では、記憶スペースを節約するために、ベースグラフ中の比較的明確な構造を有する部分中の非ゼロ要素の位置は、行位置および列インデックスに従って計算されてよく、記憶されなくてよい。たとえば、部分行列Ｅは対角行列であり、行列の対角線上にのみ非ゼロ要素を含む。非ゼロ要素の列インデックスが行インデックスに従って計算されてよいか、または非ゼロ要素の行インデックスが列インデックスに従って計算されてもよい。例としてベースグラフ３０ａを使用すると、ｍｅ≧４である、行ｍｅ中の重み１の列について、非ゼロ要素の列インデックスは列（ｍｅ＋Ｋｂ）であり、この場合、Ｋｂ＝１０である。たとえば、行４中の非ゼロ要素の列インデックスは列１４である。別の例では、部分行列Ｂ中の二重対角構造Ｂ’は、ベースグラフ３０ａ中の行０から行３および列１１から列１３に位置する。非ゼロ要素の列位置が行インデックスに従って計算されてよいか、または非ゼロ要素の行インデックスが列インデックスに従って計算されてもよい。行ｍＢについて、０＜ｍＢ＜３である場合、行中の非ゼロ要素の列インデックスは、列（ｍＢ＋Ｋｂ）および列（ｍＢ＋Ｋｂ＋１）を含み、ｍＢ＝０またはｍＢ＝３である場合、行中の非ゼロ要素の列インデックスは、列（ｍＢ＋Ｋｂ）を含む。
【０２０５】
表４に示されているように、表４は、ベースグラフ３０ａ中の行中のパラメータを示す。列０から列１３中の非ゼロ要素の列インデックスが記憶され得る。しかしながら、列１４から列５２中の非ゼロ要素の列インデックスは記憶されず、すなわち、重み１の列中の非ゼロ要素の列インデックスは記憶されない。表４は、１４個の列を含むＨＢＧ２を示すために使用され得る。
【０２０６】
【表４−１】
0006820438.tif 000022
【０２０７】
【表４−２】
0006820438.tif 000023
【０２０８】
もちろん、１５個の列を含むＨＢＧ２に記憶されたパラメータについて、行０から行３および列５から列４１のパラメータは、表４のそれと同じである。行４の行重みは、表４の行４の行重み＋１、すなわち、４である。行４中の非ゼロ要素の列位置は、表４の行４中の非ゼロ要素の列インデックスおよび列インデックス４、すなわち、０、１、１１、および１４を含む。１６個の列を含むＨＢＧ２に記憶されたパラメータについて、行０から行３および列６から列４１のパラメータは、表４のそれと同じである。行４の行重みは、表４の行４の行重み＋１、すなわち、４である。行４中の非ゼロ要素の列位置は、表４の行４中の非ゼロ要素の列インデックスおよび列インデックス１４、すなわち、０、１、１１、および１４を含む。行５の行重みは、表４の行５の行重み＋１、すなわち、６である。行５中の非ゼロ要素の列位置は、表４の行５中の非ゼロ要素の列位置、および列インデックスが１５である位置、すなわち、０、１、５、７、１１、および１５を含む。
【０２０９】
１７個の列を含むＨＢＧ２に記憶されたパラメータについて、行０から行３および列７から列４１のパラメータは、表４のそれと同じである。行４の行重みは、表４の行４の行重み＋１、すなわち、４である。行４中の非ゼロ要素の列位置は、表４の行４中の非ゼロ要素の列インデックスおよび列インデックス１４、すなわち、０、１、１１、および１４を含む。行５の行重みは、表４の行５の行重み＋１、すなわち、６である。行５中の非ゼロ要素の列位置は、表４の行５中の非ゼロ要素の列インデックスおよび列インデックス１５、すなわち、０、１、５、７、１１、および１５を含む。行６の行重みは、表４の行６の行重み＋１、すなわち、６である。行６中の非ゼロ要素の列位置は、表４の行６中の非ゼロ要素の列インデックスおよび列インデックス１６、すなわち、表５に示されているように、０、５、７、９、１１、および１６を含む。
【０２１０】
【表５−１】
0006820438.tif 000024
【０２１１】
【表５−２】
0006820438.tif 000025
【０２１２】
上記の設計において、各「行重み」という列は任意選択である。可能な設計では、ベースグラフにおいて、各行または各列中の１および０は２進数字と見なされ得る。記憶スペースは、２進数字を１０進数字または１６進数字として記憶することによって節約され得る。例として上記のベースグラフのいずれかを使用すると、各行について、先の２６個の列または先の２７個の列中の非ゼロ要素の位置は、４つの１６進数字を使用することによって記憶され得る。たとえば、行０中の先の１４個の列が１１１１００１００１１１００である場合、行０中の非ゼロ要素の位置は０ｘＦ２および０ｘ７０として示されてよく、すなわち、各８列が１６進数字を形成する。行０中の最後の２つの列について、８ビットの整数倍に達するために０を充填することによって、対応する１６進数字が取得され得る。もちろん、対応する１６進数字は、代替として、８ビットの整数倍に達するために１１１１００１００１１１００の前に０を充填することによって取得され得る。他の行はアナロジーによって推論されることが可能であり、詳細について本明細書で再び説明されない。
【０２１３】
本明細書では例のみが提供され、例は本出願において限定とならないことに留意されたい。
【０２１４】
情報ビットシーケンスが符号化されるとき、符号化のために使用されるＬＤＰＣ行列Ｈは、Ｚに従ってベース行列ＨＢを拡張することによって取得され得る。ベース行列ＨＢ中の各非ゼロ要素Ｐｉ，ｊについて、サイズＺ×Ｚの循環置換行列ｈｉ，ｊが決定され、ｈｉ，ｊは、単位行列をＰｉ，ｊ回循環シフトすることによって取得される循環置換行列である。パリティチェック行列Ｈは、各非ゼロ要素Ｐｉ，ｊをｈｉ，ｊと交換し、ベース行列ＨＢ中の各ゼロ要素をサイズＺ×Ｚの全ゼロ行列と交換することによって取得される。
【０２１５】
通信システムにおいて、ＬＤＰＣコードは、上記の方法を使用することによる符号化によって取得され得る。ＬＤＰＣコードを取得した後に、通信装置は、以下の１つまたは複数の動作、すなわち、ＬＤＰＣコードに対してレートマッチングを実施すること、レートマッチングを実施することによって取得されたＬＤＰＣコードをインターリーブ方式に従ってインターリーブすること、インターリーブされたＬＤＰＣコードを変調方式に従って変調してビットシーケンスＢを取得すること、およびビットシーケンスＢを送ることをさらに実施し得る。
【０２１６】
本出願の別の実施形態において提供される復号方法では、デコーダが、ＬＤＰＣ行列を使用することによって入力シーケンスを復号する。ＬＤＰＣ行列のベースグラフは、上記の例におけるどのようなベースグラフであってもよい。ＬＤＰＣ行列のベース行列ＨＢは、上記の例におけるどのようなベース行列であってもよい。デコーダの入力シーケンスはＬＤＰＣコードの軟値シーケンスであり得る。
【０２１７】
さらに、本方法は、リフティングファクタＺを決定するステップを含む。受信端における通信デバイスは、ＬＤＰＣコードを含む信号を受信し、信号中のＬＤＰＣコードの軟値シーケンスを取得し、対応するリフティングファクタＺを決定し得る。
【０２１８】
デコーダによって、ＬＤＰＣ行列を使用することによって入力シーケンスを復号することは、リフティングファクタＺに対応するＬＤＰＣ行列を使用することによってＬＤＰＣコードの軟値シーケンスを復号することであり得る。
【０２１９】
復号は符号化の逆の処理である。したがって、ＬＤＰＣ行列ＨおよびＬＤＰＣ行列のベースグラフの説明については、上記の符号化実施形態を参照されたい。復号中に、復号は、代替として、完全ベースグラフに基づいて、または完全ベースグラフのいくつかの行および列に基づいて実施され得る。ＬＤＰＣ行列のベース行列ＨＢは、上記の実施形態において述べられた任意のベース行列、または上記で説明された任意のベース行列に対して行置換、もしくは列置換、もしくは行置換と列置換の両方を実施することによって取得されるベース行列であり得る。ＬＤＰＣ行列のベースグラフは、少なくとも部分行列Ａおよび部分行列Ｂを含み、部分行列Ｃ、部分行列Ｄ、および部分行列Ｅをさらに含み得る。各部分については、上記の実施形態における説明を参照されたく、詳細について本明細書で再び説明されない。
【０２２０】
可能な設計では、ＬＤＰＣコードのベース行列ＨＢがメモリに記憶されてよく、リフティングファクタＺに対応するＬＤＰＣ行列を取得することによってＬＤＰＣコードの軟値が復号され得る。
【０２２１】
別の可能な実装では、ＬＤＰＣコードの複数のベース行列があるので、行列構造に従ってベース行列が記憶されたとき、比較的大きい記憶スペースが占有される。代替として、ＬＤＰＣコードのベースグラフがメモリに記憶されてよく、ベース行列中の非ゼロ要素のシフト値が行ごとにまたは列ごとに記憶されてよく、その場合、ＬＤＰＣ行列は、ベースグラフ、およびリフティングファクタＺに対応するベース行列のシフト値に基づいて取得され得る。
【０２２２】
ベースグラフを記憶する方式について、ベースグラフは、上記の符号化実施形態において説明された様々な方式で記憶され得る。本明細書では例のみが提供され、例は限定とならないことに留意されたい。
【０２２３】
復号は符号化と逆の処理であり、復号中に使用されるベース行列ＨＢは、符号化方法実施形態におけるベース行列と同じ特性を有する。ベース行列ＨＢをリフティングすることによってＬＤＰＣ行列Ｈを取得することについては、符号化方法実施形態を参照されたい。
【０２２４】
通信システムにおいて、復号方法の前に、通信装置は、以下の１つまたは複数の動作、すなわち、ＬＤＰＣコードを含む信号を受信すること、および復調を実施すること、デインターリーブすること、ならびに信号に対してデレートマッチングを実施して、ＬＤＰＣコードの軟値を取得することをさらに実施し得る。
【０２２５】
可能な実装では、以下のうちの１つまたは複数のパラメータが記憶され得る。
【０２２６】
（ａ）上記の実装において説明されたいずれかのベース行列ＨＢを取得するために使用されるパラメータ。ベース行列ＨＢはパラメータに基づいて取得されてよく、たとえば、パラメータは、以下のもの、すなわち、ベース行列中のシフト値、リフティングファクタ、ベース行列のベースグラフ、コードレートなど、の１つまたは複数を含むことがあり、
（ｂ）上記の実装において説明されたいずれかのベース行列のうちの１つである、ベース行列ＨＢ、
（ｃ）ベース行列ＨＢに基づいてリフティングを実施した後に取得される行列、
（ｄ）上記の実装において説明されたいずれかのベース行列ＨＢに基づいて行／列置換を実施することによって取得されるベース行列、ここで、本出願では、行／列置換は、行置換、列置換、または行置換および列置換を指し、ならびに
（ｅ）行／列置換を実施することによって取得されたベース行列に基づいてリフティングを実施することによって取得される行列。
【０２２７】
可能な実装では、符号化処理または復号処理において、低密度パリティチェックＬＤＰＣ行列を使用することによって入力シーケンスを符号化することは、以下の方式のうちの１つまたは複数で実施され得る。
【０２２８】
ｉ  上記の（ａ）に基づいてベース行列ＨＢを取得し、取得されたベース行列ＨＢに基づいて符号化もしくは復号を実施すること、または取得されたベース行列ＨＢに基づいて行／列置換を実施し、行／列置換を実施することによって取得されたベース行列に基づいて符号化もしくは復号を実施すること、ここで、ベース行列に基づいて符号化もしくは復号を実施することは、ベース行列のリフティングされた行列に基づいて符号化もしくは復号を実施することを任意選択でさらに含んでよく、
ｉｉ  （ｂ）もしくは（ｄ）における記憶されたベース行列（記憶されたベース行列ＨＢ、もしくはベース行列ＨＢに基づいて行／列置換を実施することによって取得された記憶されたベース行列）に基づいて符号化もしくは復号を実施すること、または記憶されたベース行列に基づいて行／列置換を実施し、行／列置換を実施することによって取得されたベース行列に基づいて符号化もしくは復号を実施すること、ここで、ベース行列に基づいて符号化もしくは復号を実施することは、ベース行列のリフティングされた行列に基づいて符号化もしくは復号を実施することを任意選択でさらに含んでよく、ならびに
ｉｉｉ  （ｃ）もしくは（ｅ）に基づいて符号化もしくは復号を実施すること。
【０２２９】
本出願において記憶することは、１つまたは複数のメモリに記憶することであり得る。１つまたは複数のメモリは、別々に配設され得るか、またはエンコーダ、デコーダ、プロセッサ、チップ、通信装置、もしくは端末に組み込まれ得る。代替として、１つまたは複数のメモリのうちのいくつかが別々に配設されることがあり、他のものはエンコーダ、デコーダ、プロセッサ、チップ、通信装置、または端末に組み込まれる。メモリのタイプは任意の形態の記憶媒体であり得る。これは本出願では限定されない。
【０２３０】
図５は、通信装置５００の概略構造図である。装置５００は、上記の方法実施形態において説明された方法を実装するように構成され得る。上記の方法実施形態における説明への参照が行われ得る。通信装置５００は、チップ、基地局、端末、または他のネットワークデバイスであり得る。
【０２３１】
通信装置５００は、１つまたは複数のプロセッサ５０１を含む。プロセッサ５０１は、汎用プロセッサ、特定用途向けプロセッサなどであり得る。たとえば、プロセッサ５０１はベースバンドプロセッサまたは中央処理ユニットであり得る。ベースバンドプロセッサは、通信プロトコルおよび通信データを処理するように構成され得る。中央処理ユニットは、（基地局、端末、またはチップなどの）通信装置を制御し、ソフトウェアプログラムを実行し、ソフトウェアプログラムのデータを処理するように構成され得る。
【０２３２】
可能な設計では、通信装置５００は、１つまたは複数のプロセッサ５０１を含む。１つまたは複数のプロセッサ５０１は、上記のエンコーダの機能を実装し得る。別の可能な設計では、上記のエンコーダはプロセッサ５０１の一部であり得る。エンコーダの機能に加えて、プロセッサ５０１は別の機能をさらに実装し得る。
【０２３３】
通信装置５００は、ＬＤＰＣ行列を使用することによって入力シーケンスを符号化する。ＬＤＰＣ行列のベースグラフは、上記の例における任意のベースグラフ、または上記で説明された任意のベースグラフに対して行置換、列置換、もしくは行置換と列置換の両方を実施することによって取得されるベースグラフであり得る。ＬＤＰＣ行列のベース行列ＨＢは、上記の実施形態における任意のベース行列、または上記で説明された任意のベース行列に対して行置換、列置換、もしくは行置換と列置換の両方を実施することによって取得されるベース行列であり得る。エンコーダの入力シーケンスは情報ビットシーケンスであり得る。
【０２３４】
可能な設計では、１つまたは複数のプロセッサ５０１は、上記のデコーダの機能を実装し得る。別の可能な設計では、上記のデコーダはプロセッサ５０１の一部であり得る。
【０２３５】
通信装置５００は、ＬＤＰＣ行列を使用することによって入力シーケンスを復号するように構成され得る。ＬＤＰＣ行列のベースグラフは、上記の例における任意のベースグラフ、または上記で説明された任意のベースグラフに対して行置換、列置換、もしくは行置換と列置換の両方を実施することによって取得されるベースグラフであり得る。ＬＤＰＣ行列のベース行列ＨＢは、上記の例における任意のベース行列、または上記で説明された任意のベース行列に対して行置換、列置換、もしくは行置換と列置換の両方を実施することによって取得されるベース行列であり得る。デコーダの入力シーケンスは軟値シーケンスであり得る。
【０２３６】
任意選択の可能な設計では、プロセッサ５０１は命令５０３をさらに含み得る。命令は、通信装置５００が上記の方法実施形態において説明された方法を実施するように、プロセッサ上で実行され得る。
【０２３７】
別の可能な設計では、通信装置５００は回路をさらに含み得る。回路は、上記の方法実施形態におけるエンコーダの機能、デコーダの機能、またはエンコーダおよびデコーダの機能を実装し得る。
【０２３８】
任意選択で、通信装置５００は、１つまたは複数のメモリ５０２を含み得る。メモリは命令５０４を記憶し、命令は、通信装置５００が上記の方法実施形態において説明された方法を実施するように、プロセッサ上で実行され得る。任意選択で、メモリはデータをさらに記憶し得る。任意選択で、プロセッサは、命令および／またはデータをさらに記憶し得る。プロセッサとメモリは、別々に配設され得るか、または互いに一体化され得る。任意選択で、１つまたは複数のメモリ５０２は、ベース行列に関係するパラメータ、たとえば、シフト値、ベースグラフ、ベースグラフに基づくリフティングを通して取得された行列、ベース行列中の各行、およびリフティングファクタを記憶し得る。任意選択で、１つまたは複数のメモリ５０２は、ベース行列、またはベース行列に基づくリフティングを通して取得された行列を記憶し得る。
【０２３９】
任意選択で、通信装置５００は、トランシーバ５０５およびアンテナ５０６をさらに含み得る。プロセッサ５０１は処理ユニットと呼ばれることがある。プロセッサ５０１は通信装置（端末または基地局）を制御する。トランシーバ５０５は、トランシーバユニット、トランシーバ回路、トランシーバなどと呼ばれることがあり、アンテナ５０６を使用することによって通信装置の送信および受信機能を実装するように構成される。
【０２４０】
任意選択で、通信装置５００は、トランスポートブロックＣＲＣを生成するように構成された構成要素、コードブロックセグメント化およびＣＲＣアタッチメントのために使用される構成要素、インターリーブのために使用されるインターリーバ、変調処理のために使用される変調器などをさらに含み得る。構成要素の機能は、１つまたは複数のプロセッサ５０１を使用することによって実装され得る。
【０２４１】
任意選択で、通信装置５００は、復調動作のために使用される復調器、デインターリーブのために使用されるデインターリーバ、デレートマッチングのために使用される構成要素などをさらに含み得る。構成要素の機能は、１つまたは複数のプロセッサ５０１を使用することによって実装され得る。
【０２４２】
図６は、通信システム６００の概略図である。通信システム６００は、通信デバイス６０および通信デバイス６１を含む。通信デバイス６０と通信デバイス６１との間で情報データが受信され、送られる。通信デバイス６０および通信デバイス６１は通信装置５００であり得るか、または通信デバイス６０および通信デバイス６１は、情報データを受信すること、および送信することのための通信装置５００をそれぞれ含む。一例では、通信デバイス６０は端末であることがあり、対応して、通信デバイス６１は基地局であることがある。別の例では、通信デバイス６０は基地局であり、対応して、通信デバイス６１は端末であることがある。
【０２４３】
当業者は、本出願の実施形態に列記されている様々な例示的な論理ブロック（ｉｌｌｕｓｔｒａｔｉｖｅ  ｌｏｇｉｃ  ｂｌｏｃｋ）およびステップ（ｓｔｅｐ）が、電子ハードウェア、コンピュータソフトウェア、またはそれらの組合せを使用することによって実装され得ることをさらに理解されよう。機能がハードウェアを使用することによって実装されるかソフトウェアを使用することによって実装されるかは、完全なシステムの特定の適用および設計要件に依存する。特定の適用ごとに、当業者は、機能を実装するために様々な方法を使用してよい。しかしながら、この実装は、本出願の実施形態の保護範囲を越えると理解されるべきではない。
【０２４４】
本出願の実施形態において説明される様々な例示的な論理ユニットおよび回路は、汎用プロセッサ、デジタル信号プロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）もしくは別のプログラマブル論理装置、個別ゲートもしくはトランジスタ論理、個別ハードウェア構成要素、またはそれらの任意の組合せの設計を使用することによって、説明される機能を実装するかまたは動作させ得る。汎用プロセッサはマイクロプロセッサであり得る。任意選択で、汎用プロセッサは、いずれかの従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であってもよい。プロセッサはまた、デジタル信号プロセッサとマイクロプロセッサ、複数のマイクロプロセッサ、デジタル信号プロセッサコアを有する１つもしくは複数のマイクロプロセッサ、または任意の他の同様の構成など、コンピューティング装置の組合せによって実装され得る。
【０２４５】
本出願の実施形態において説明される方法またはアルゴリズムのステップは、ハードウェアに直接埋め込まれるか、プロセッサによって実行される命令であるか、またはそれらの組合せであり得る。メモリは、ＲＡＭメモリ、フラッシュメモリ、ＲＯＭメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭメモリ、レジスタ、ハードディスク、リムーバブル磁気ディスク、ＣＤ−ＲＯＭ、または当技術分野における任意の他の形態の記憶媒体であり得る。たとえば、メモリは、プロセッサがメモリから情報を読み取り、メモリに情報を書き込み得るように、プロセッサに接続し得る。代替として、メモリは、プロセッサにさらに組み込まれ得る。プロセッサおよびメモリはＡＳＩＣ中に配設されてよく、ＡＳＩＣはＵＥ中に配設されることがある。代替として、プロセッサおよびメモリは、ＵＥの異なる構成要素中に配設され得る。
【０２４６】
上記の実施形態の説明とともに、当業者は、本出願がハードウェア、ファームウェアまたはそれらの組合せによって実装され得ることを明らかに理解されよう。ソフトウェアプログラムを使用することによって本出願が実装されるとき、本出願の全部または一部は、コンピュータプログラム製品の形態で実装され得る。コンピュータプログラム製品は１つまたは複数のコンピュータ命令を含む。コンピュータ命令がコンピュータ上にロードされ、実行されるとき、本出願の実施形態による手順または機能がすべてまたは部分的に生成される。本出願がソフトウェアプログラムによって実装されるとき、上記の機能は、コンピュータ可読媒体に記憶されるか、またはコンピュータ可読媒体中で１つもしくは複数の命令もしくはコードとして送信され得る。コンピュータは、汎用コンピュータ、専用コンピュータ、コンピュータネットワーク、または別のプログラマブル装置であり得る。コンピュータ命令は、コンピュータ可読記憶媒体に記憶され得るか、またはコンピュータ可読記憶媒体から別のコンピュータ可読記憶媒体に送信され得る。コンピュータ可読媒体はコンピュータ記憶媒体および通信媒体を含み、通信媒体は、コンピュータプログラムがある場所から別の場所に送信されることを可能にする任意の媒体を含む。記憶媒体は、コンピュータにとってアクセス可能な任意の利用可能な媒体であり得る。以下で例を提供するが、限定を課さない。すなわち、コンピュータ可読媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ、または別の光ディスク記憶装置もしくはディスク記憶媒体、または別の磁気記憶デバイス、または命令もしくはデータ構造の形態で期待されるプログラムコードを搬送もしくは記憶することができ、コンピュータによってアクセスされることが可能な任意の他の媒体を含み得る。加えて、どのような接続も、コンピュータ可読媒体として適切に定義され得る。たとえば、ソフトウェアが、同軸ケーブル、光ファイバー／ケーブル、ツイストペア、デジタル加入者線（ＤＳＬ）、または赤外線、無線およびマイクロ波などのワイヤレス技術を使用することによってウェブサイト、サーバまたは別のリモートソースから送信される場合、同軸ケーブル、光ファイバー／ケーブル、ツイストペア、ＤＳＬ、または赤外線、無線およびマイクロ波などのワイヤレス技術は、それらが属する媒体のフィクセーションの中に含まれる。たとえば、本出願によって使用されるディスク（Ｄｉｓｋ）およびディスク（ｄｉｓｃ）は、コンパクトディスク（ＣＤ）、レーザーディスク、光ディスク、デジタル多用途ディスク（ＤＶＤ）、フロッピーディスクおよびブルーレイディスクを含み、ディスクは、概して磁気的手段によってデータをコピーし、ディスクは、レーザー手段によって光学的にデータをコピーする。上記の組合せもコンピュータ可読媒体の保護範囲内に含まれるべきである。
【０２４７】
結論として、上記で説明されたものは、本出願の技術的解決策の実施形態の例にすぎず、本出願の保護範囲を限定することを意図されない。本出願の原理から逸脱することなく行われたいかなる変更、等価な交換、または改善も、本出願の保護範囲内に入るものである。
【図１】
0006820438.tif 000032
【図２】
0006820438.tif 000033
【図３ａ】
0006820438.tif 000034
【図３ｂ−１】
0006820438.tif 000035
【図３ｂ−２】
0006820438.tif 000036
【図３ｂ−３】
0006820438.tif 000037
【図３ｂ−４】
0006820438.tif 000038
【図３ｂ−５】
0006820438.tif 000039
【図３ｂ−６】
0006820438.tif 000040
【図３ｂ−７】
0006820438.tif 000041
【図３ｂ−８】
0006820438.tif 000042
【図４】
0006820438.tif 000043
【図５】
0006820438.tif 000044
【図６】
0006820438.tif 000045